(first-time poster to this list, fairly new to vmbuilder)

There appears to be a conflict between options --existing-chroot and --addpkg 
(and possibly others).  If I use --existing-chroot, it appears that all 
--addpkg options are ignored.  This is with the kvm hypervisor and ubuntu 
distribution.  It appears the behavior stems from this code around line 216 in 
cli.py:

   198              if self.options.existing_chroot:
   199                  distro.set_chroot_dir(self.options.existing_chroot)
   200                  distro.call_hooks('preflight_check')
   201              else:
...
   215                  distro.set_chroot_dir(chroot_dir)
   216                  distro.build_chroot()
   217
   218              if self.options.only_chroot:

If --existing-chroot is specified, no part of distro.build_chroot() is executed.

The discovery stems from a use case that needs to ensure that uids installed by 
packages (mysql, mongodb, graphite, landscape, etc.) are identical between all 
builds forever.  In order to do this, I had tried to create an initial chroot 
with vmbuilder, manually copy in /etc/passwd and friends from a baseline build, 
then use vmbuilder with --existing-chroot to add the packages and build the 
final image files.  Alternative implementations that do not require two 
separate vmbuilder runs could be considered.

Back to the above code, it would seem the solution to the --addpkg option being 
ignored would be to execute at least part of distro.build_chroot() in the 
branch that is executed when --existing-chroot is supplied.  Is there 
documentation on the distro.build_chroot() method and its pieces?

Thanks,

Robert Riches

_______________________________________________
Mailing list: https://launchpad.net/~vmbuilder
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~vmbuilder
More help   : https://help.launchpad.net/ListHelp

Reply via email to