[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#230857: libc6: remove /etc/default/{devpts,tmpfs} etc



severity 230857 critical
merge 230857 238963
thanks

On Fri, 2004-03-19 at 22:54, Miquel van Smoorenburg wrote:
> Because of that it includes /etc/default/devpts and /etc/default/tmpfs
> which are also in the libc6 package. initscript Replaces: libc6
> and libc6.1.
> 
> But that makes 2.3.2.ds1-11 uninstallable if initscripts was
> installed first, hence the severity of this bugreport.

If dpkg didn't have bug #184635 then there wouldn't be a problem.
But #184635 does exist, so ...


> So, please remove /etc/default/devpts, /etc/default/tmpfs and
> /etc/init.d/mountkernfs from the libc6 package.

This should be done.  However, this means that the new libc must
conflict with old versions of initscripts that don't mount the
virtual filesystems.  This means that the new libc must either
Conflict with initscripts < 2.85-10 or it must Depend on
initscripts >= 2.85-10.  Policy recommends the latter over the
former and the latter is what I suggested earlier in #230857.


> Because they are conffiles, they will remain on the system even if
> removed from the package - so even if libc6 is upgraded first and
> initscripts later, that will cause no problems.

This case won't occur if the new libc6 Depends on the new initscripts.


> I think initscripts should rm -f /etc/init.d/mountkernfs and
> /etc/init.d/devpts.sh in its postinst because it has proper
> replacements for that. Do you agree ?

If the new libc6 Depends on the new initscripts then libc6 itself
can put these old horses out to pasture.

On the other hand, if the new libc6 does not Depend on the new
initscripts but Conflicts with the old initscripts then disabling
of mountkernfs and devpts.sh will indeed have to be done by the
postinst of the new initscripts.


Nathanael Nerode wrote in #230857:
> These four lines will spew errors if the scripts have already
> been deleted by the local admin.  So, the following is better:

Yes, your code is better.  (Mine was intended as pseudo-code.)


> The correct line is
> Depends: initscripts (>= 2.85.10)

Agreed.  My mistake.


> This is an experimental patch (against CVS) which attempts to handle 
> upgrading from any libc version whether or not initscripts has been updated.
> It's a little hackish, and it's probably not quite the right thing,
> and I'm not really up to testing it, but I hope it helps.  :-)  It does
> depend on upgraded initscripts 'adopting' mountvirtfs; I'm not really
> sure whether it does that or not.
> 
> +    # Remove obsolete mountvirtfs conffile.

This comment should read:

       # Remove obsolete devpts.sh

Your patch shows the trouble you have to go to if you choose not
to Depend on the new initscripts.  Is there some reason why the
new libc6 should _not_ Depend on the new initscripts?

I don't think your patch does the right thing.  If devpts.sh exists
and mountvirtfs does not yet exist at the time libc6.preinst runs
then the former gets renamed to the latter.  Because mountvirtfs is
a conffile, when initscripts is upgraded, dpkg will ask the user
whether or not the new maintainer version of the file should be
installed.  I don't see the point of that; mountvirtfs should simply
be installed without asking and devpts.sh should be disabled and
renamed to *.dpkg-old or whatever.

-- 
Thomas Hood <jdthood@yahoo.co.uk>




Reply to: