[Vmdebootstrap-devel] Bug#801214: Unapplying (Debian Bug #801214)

Neil Williams codehelp at debian.org
Fri Nov 20 22:41:02 UTC 2015


On Fri, 20 Nov 2015 23:06:11 +0100
Christian Seiler <christian at iwakd.de> wrote:

> Hi,
> 
> (I did not get your original email for some reason I don't quite
> understand... I only saw your reply in the bugtracker just now.
> Therefore sorry for replying so late.)
> 
> > The change proposed is the wrong fix - it does nothing to help once
> > the system is running and needs to be updated.  
> 
> I don't understand what you are saying here. Is there any problem
> with the patch I've provided?

Yes, your patch is absolutely the wrong approach. It is inappropriate
for vmdebootstrap to call triggers directly, that's a job for dpkg and
the maintainer scripts of the packages being installed, not the tool
passing a list of packages to dpkg.

If the kernel is upgraded inside the VM, having the triggers in
vmdebootstrap does not help anyone - something *in a package* installed
into the VM (i.e. dracut or something related to dracut) *must* handle
kernel upgrades and therefore vmdebootstrap must rely on dracut doing
that correctly, not subvert the trigger mechanism.

Once I considered the implications of the proposed patch, the only
option I had was to consider the original problem to have been
misunderstood and therefore that the patch was built on that mistake.

Build tools must not call triggers in dpkg directly, that is just
setting the user up for a fall later. The execution of the trigger must
be dependent on a package installed inside the system and the
dependencies of the relevant packages must ensure that this support
exists. I will not accept any patch which breaks these rules.
 
> Note that if you run both commands I provided with either
> initramfs-tools or dracut installed, the initrds for all
> installed kernels will be regenerated (just tested it).
> 
> > The correct fix is as it was
> > originally - letting the call to /usr/sbin/update-initramfs use the
> > trigger support it already knows.  
> 
> What trigger support? /usr/sbin/update-initramfs-tools is owned
> by the initramfs-tools package and dracut doesn't provide that
> tool - currently, vmdebootstrap does nothing if dracut is used
> for the initramfs (update-initramfs doesn't exist, therefore
> vmdebootstrap won't call anything).

So dracut needs to be fixed to update the initramfs when any process
causes dpkg to run the relevant triggers - special snowflake support in
vmdebootstrap is unwarranted and counter-productive. Changes like that
would have to be applied to more than just vmdebootstrap and the whole
point of triggers is to not require tools to do that.

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/vmdebootstrap-devel/attachments/20151120/15166aa5/attachment.sig>


More information about the Vmdebootstrap-devel mailing list