On Mon, Aug 25, 2008 at 11:54:57PM +0200, Francesco P. Lovergine wrote:
> severity 496158 normal
> tags 496158 unreproducible
> tags 496158 moreinfo
> thanks
> 
> This seems a corner case, not etch-to-lenny-upgrade related,
> so reducing severity.

The box was probably sarge when it was installed.  The only change to
the default config was to uncomment the anonymous section
and change the path for that.

> 
> On Sat, Aug 23, 2008 at 03:16:58AM +0200, Kurt Roeckx wrote:
> > Package: proftpd
> > Version: 1.3.1-13
> > Severity: grave
> > 
> > Hi,
> > 
> > I seem to have problems upgrading from proftpd 1.3.1-11 to proftpd-basic
> > 1.3.1-13.
> > 
> > I first only installed proftpd-basic, which removed (but not purged)
> > proftpd.  At that point proftpd doesn't want to start anymore.  I don't
> > know why.  It didn't give an error message, just that I needed to check
> > the config file.
> 
> This is wrong, you have to install proftpd-basic and possibly
> a proftpd-mod-* file if needed. You have to check that yourself
> on the basis of your configuration.

I know I don't want any of the mod-* packages, which is why I didn't
install them.

> Also do not checking why
> it did not start soon is a great way to be ignored by me.

It's not like I didn't try and find out what the problem is.  It wasn't
logging anything and just told me to check the config file.

It might be this one from the init script, but I'm not sure:
echo "ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd 
mode. Check your configuration."

> Your configuration
> was already broken at that point. Why?

I have no idea why it's broken.  As far as I know the only change I
ever did since the installation was changing DisplayFrstChdir to
DisplayChdir since it complained it was deprecated.  It never prompted
me that there were changes to the default configuration files.


> Your successive actions did more
> damages than benefits at that point, as explained below. You had to
> check your configuration and complete the installation of proftpd-basic.
> 

As far as dpkg was concerned, the packages was properly in installed
state.  This is from the dpkg.log file:
2008-08-23 00:40:10 startup packages remove
2008-08-23 00:40:10 status installed proftpd 1.3.1-11
2008-08-23 00:40:12 remove proftpd 1.3.1-11 1.3.1-11
2008-08-23 00:40:12 status half-configured proftpd 1.3.1-11
2008-08-23 00:40:12 status half-installed proftpd 1.3.1-11
2008-08-23 00:40:13 status triggers-pending man-db 2.5.2-1
2008-08-23 00:40:13 status half-installed proftpd 1.3.1-11
2008-08-23 00:40:14 status config-files proftpd 1.3.1-11
2008-08-23 00:40:14 status config-files proftpd 1.3.1-11
2008-08-23 00:40:14 trigproc man-db 2.5.2-1 2.5.2-1
2008-08-23 00:40:14 status half-configured man-db 2.5.2-1
2008-08-23 00:40:16 status installed man-db 2.5.2-1
2008-08-23 00:40:17 startup archives unpack
2008-08-23 00:40:17 install proftpd-basic <none> 1.3.1-13
2008-08-23 00:40:17 status half-installed proftpd-basic 1.3.1-13
2008-08-23 00:40:17 status triggers-pending man-db 2.5.2-1
2008-08-23 00:40:18 status half-installed proftpd-basic 1.3.1-13
2008-08-23 00:40:18 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:18 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:18 trigproc man-db 2.5.2-1 2.5.2-1
2008-08-23 00:40:18 status half-configured man-db 2.5.2-1
2008-08-23 00:40:18 status installed man-db 2.5.2-1
2008-08-23 00:40:19 startup packages configure
2008-08-23 00:40:19 configure proftpd-basic 1.3.1-13 1.3.1-13
2008-08-23 00:40:19 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:19 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:19 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:19 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:19 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:19 status unpacked proftpd-basic 1.3.1-13
2008-08-23 00:40:19 status half-configured proftpd-basic 1.3.1-13
2008-08-23 00:40:21 status installed proftpd-basic 1.3.1-13


It didn't see anything failed, and ended up with "proftpd" in
"config-files" state, and "proftpd-basic" in "installed" state as
epxected.

Also, none of those action should have broken anything.  The purge
removed my config files, but I restored them.  As far as the
package was concerned, it should just have seen the mod-* packages
getting installed and removed again which shouldn't have any
effect on the config files.


> > 
> > Then I tried to purge proftpd, which failed.  I think update-rc.d
> > complained that /etc/init.d/proftpd still exists or something like that.

dpkg.log shows:
2008-08-23 00:46:54 startup packages purge
2008-08-23 00:46:54 status config-files proftpd 1.3.1-11
2008-08-23 00:46:55 remove proftpd 1.3.1-11 1.3.1-11
2008-08-23 00:46:55 purge proftpd 1.3.1-11 1.3.1-11
2008-08-23 00:46:55 status config-files proftpd 1.3.1-11
2008-08-23 00:46:55 status config-files proftpd 1.3.1-11
2008-08-23 00:46:55 status config-files proftpd 1.3.1-11

It's still in config-files state, not purged. At this point it probably
removed my /etc/proftpd since that's why the postrm does during purge.


I know some packages have problems dealing with upgrades because the old
postrm will be called, which might not know about the changed packages
names and might be doing something wrong in that case, which is why I
decided to install the (transitional) profpd packages that also gave me
the mod-* packages.  I assume that the lastest version of proftpd will
not have any mainainter scripts, and should perfectly be removalble.

Anyway, I think you're still missing an Replaces, because you atleast
moved the /etc/init.d/proftpd from 1 packages to an other.  As far as I
know a Conflicts is not enough.


> > 
> > So I tried installing profptd which got me the -mod packages I didn't
> > want, and then purged those since I didn't need them:
> > # apt-get remove --purge proftpd-mod-mysql proftpd-mod-pgsql 
> > proftpd-mod-ldap proftpd
> > Reading package lists... Done
> > Building dependency tree
> > Reading state information... Done
> > The following packages will be REMOVED:
> >   proftpd* proftpd-mod-ldap* proftpd-mod-mysql* proftpd-mod-pgsql*
> > 0 upgraded, 0 newly installed, 4 to remove and 129 not upgraded.
> > After this operation, 1024kB disk space will be freed.
> > Do you want to continue [Y/n]? y
> > (Reading database ... 29952 files and directories currently installed.)
> > Removing proftpd ...
> > Removing proftpd-mod-ldap ...
> > Removing proftpd-mod-mysql ...
> > Removing proftpd-mod-pgsql ...
> > 
> > So I try to start it again:
> > # /etc/init.d/proftpd start
> > grep: /etc/proftpd/proftpd.conf: No such file or directory
> > egrep: /etc/proftpd/proftpd.conf: No such file or directory
> > egrep: /etc/proftpd/proftpd.conf: No such file or directory
> > Starting ftp server: proftpd - Fatal: unable to read configuration file 
> > '/etc/proftpd/proftpd.conf': No such file or directory
> >  failed!
> > 
> 
> I suspect your purging using the old proftpd binary still installed and 
> removed proftpd-basic configuration. Post -11 proftpd package
> is a pure pseudo-package, no purging/install/what-else scripts. So you used 
> an old version because the installation
> of -13 was not complete due to your broken configuration. Your successive 
> acts due the rest.

I used an old version to purge, because that's what still in
config-files state.  And that's a perfectly normal thing to do.

I'm currently not sure what the proper way to avoid this is.  You could
create a circular dependency between the proftpd-dfsg and transitional
proftpd, but then you wouldn't be able to remove the transitional
package.


Kurt


> > 
> > I restore my config files, and try to start it again:
> > # /etc/init.d/proftpd start
> > Starting ftp server: proftpd - Fatal: LoadModule: error loading module 
> > 'mod_ldap.c': Permission denied on line 18 of '/etc/proftpd/modules.conf'
> >  failed!
> > 
> > I had to disable 5 modules.  As far as I know, I never enabled them.
> > And my modules.conf doesn't seem to be the same as the default one I
> > get on a new installation.  I don't get any prompt on upgrades that
> > something changed in it.
> > 
> > 
> > It's currently segfaulting when someone tries to connect.
> > 
> > 
> > Kurt
> > 
> > 
> 
> -- 
> Francesco P. Lovergine



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to