Your message dated Sat, 05 Aug 2017 19:22:06 +0000
with message-id <>
and subject line Bug#861070: fixed in live-wrapper 0.7
has caused the Debian Bug report #861070,
regarding Tweaks for debian live builds
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact

Debian Bug Tracking System
Contact with problems
--- Begin Message ---
Package: live-wrapper
Version: 0.6
Severity: normal
Tags: patch

Hey folks,

I've got things working well with live-wrapper and I'm making live
images on pettersson again. Yay! Here's a patch with the changes I've
added. Sorry, it's all rolled into one at the moment...

* Add command-line config for the apt-mirror (the mirror to be
  configured inside the image), and change the default to use

* Add command-line config for the location of the customise script (so
  I can tweak this more sensibly at runtime)

* Add explicit support for firmware packages. These are treated like
  "extra" packages during image creation, but are also copied into
  /firmware in the cdroot. That's where d-i will look for them on
  firmware-included images.

* In the customise script, also generate two extra output files: a
  list of all the packages installed (contents) and a list of all the
  source packages to match those. I use those in our automated build
  setup - we publish the contents file and generate source tarballs
  using the source packages list.

--- ./usr/lib/python2.7/dist-packages/lwr/   2017-01-23 
00:56:18.000000000 +0000
+++ /./usr/lib/python2.7/dist-packages/lwr/  2017-04-23 
17:12:01.885823000 +0100
@@ -195,6 +195,6 @@
     apt_handler.mirror = mirror
     apt_handler.architecture = architecture
     apt_handler.codename = codename
-    apt_handler.components = ['main']
+    apt_handler.components = ['main', 'contrib', 'non-free']
     return apt_handler
--- ./usr/lib/python2.7/dist-packages/lwr/ 2017-01-07 23:44:10.000000000 
+++ /./usr/lib/python2.7/dist-packages/lwr/        2017-04-24 
11:39:58.337823000 +0100
@@ -30,7 +30,7 @@
 class VMDebootstrap(object):
-    def __init__(self, distribution, architecture, mirror, cdroot):
+    def __init__(self, distribution, architecture, mirror, cdroot, customise, 
         self.cdroot = cdroot
         self.args = ["vmdebootstrap",
                      "--sudo", "--lock-root-password",
@@ -42,18 +42,13 @@
                      "--log-level", "debug"]
         self.args.extend(["--distribution", distribution])
         self.args.extend(["--mirror", mirror])
-        # FIXME: apt-mirror is for what the booted image will use
-        # this needs to be accessible over http://, not just file://
-        # FIXME: this should be declared in the command line args for lwr
-        self.args.extend(["--apt-mirror", ''])
+        self.args.extend(["--apt-mirror", apt_mirror])
         # FIXME: Logging should happen here
-        if os.path.exists(os.path.join(".", "hooks", "")):
-            self.args.extend(["--customize", "hooks/"])
-        elif os.path.exists("/usr/share/live-wrapper/"):
-            self.args.extend(["--customize", 
+        if os.path.exists(customise):
+            self.args.extend(["--customize", customise])
-            raise cliapp.AppException("Could not locate")
+            raise cliapp.AppException("Could not read customise script at %s" 
% customise)
     def run(self):
         logging.debug("vmdebootstrap command: %s" % (' '.join(self.args),))
--- ./usr/lib/python2.7/dist-packages/lwr/        2017-01-23 
00:29:35.000000000 +0000
+++ /./usr/lib/python2.7/dist-packages/lwr/       2017-04-24 
11:39:07.605823000 +0100
@@ -27,7 +27,7 @@
 from lwr.disk import get_default_description
 from lwr.grub import install_grub
 from lwr.xorriso import Xorriso
-from lwr.apt_udeb import AptUdebDownloader
+from lwr.apt_udeb import AptUdebDownloader, get_apt_handler
 from lwr.utils import cdrom_image_url, KERNEL, RAMDISK
 from lwr.cdroot import CDRoot
@@ -62,6 +62,11 @@
             group='Base Settings',
+            ['apt-mirror'], 'Mirror to configure in the built image (default: 
+            metavar='APT-MIRROR',
+            group='Base Settings',
+            default='')
+        self.settings.string(
            ['description'], 'Description for the image to be created. A '
                             'description will be automatically generated based 
                             'on the distribution chosen if none is specified. '
@@ -77,6 +82,10 @@
             ['e', 'extra'], 'Extra packages to install',
             metavar='"PKG1 PKG2 ..."',
+        self.settings.string(
+            ['f', 'firmware'], 'Firmware packages to install',
+            metavar='"PKG1 PKG2 ..."',
+            group='Packages')
             ['isolinux'], 'Add isolinux bootloader to the image '
             '(default: %default)', default=True, group="Bootloaders")
@@ -93,6 +102,11 @@
             ['di-daily'], 'Use the daily Debian Installer builds not releases',
             default=False, group="Debian Installer")
+        self.settings.string(
+            ['customise'], 'Customisation script to run with vmdebootstrap 
(default: %default)',
+            metavar='CUSTOMISE',
+            group='Base Settings',
+            default='/usr/share/live-wrapper/')
         # Logging overrides
         for s in ['log']:
@@ -195,6 +209,7 @@
         os.environ['LWR_DISTRIBUTION'] = self.settings['distribution']
         os.environ['LWR_TASK_PACKAGES'] = self.settings['tasks']
         os.environ['LWR_EXTRA_PACKAGES'] = self.settings['extra']
+        os.environ['LWR_FIRMWARE_PACKAGES'] = self.settings['firmware']
         for envvar in os.environ.keys():
             if envvar.startswith('LWR_'):
@@ -208,7 +223,10 @@
   "Running vmdebootstrap...")
             vm = VMDebootstrap(self.settings['distribution'],
-                               self.settings['mirror'], self.cdroot.path)
+                               self.settings['mirror'],
+                               self.cdroot.path,
+                               self.settings['customise'],
+                               self.settings['apt-mirror'])
         # Initialise menu
@@ -250,6 +268,21 @@
             print("... completed udeb downloads")
   "... completed udeb downloads")
+        # Download the firmware debs if desired
+        if len(self.settings['firmware']) > 0:
+  "Downloading firmware debs...")
+            # FIXME: may need a change to the download location
+            fw_root = self.cdroot['firmware'].path
+            handler = get_apt_handler(fw_root,
+                                      self.settings['mirror'],
+                                      self.settings['distribution'],
+                                      self.settings['architecture'])
+            for pkg in self.settings['firmware'].split(' '):
+                filename = handler.download_package(pkg, fw_root)
+            handler.clean_up_apt()
+  "... firmware deb downloads")
         # Generate boot config
         bootconfig = BootloaderConfig(self.cdroot.path)
--- ./usr/share/live-wrapper/       2017-01-07 23:44:10.000000000 
+++ /./usr/share/live-wrapper/      2017-04-24 11:09:32.373823000 
@@ -17,11 +17,32 @@
 prepare_apt_source "${LWR_MIRROR}" "${LWR_DISTRIBUTION}"
-chroot ${rootdir} apt-get -y install initramfs-tools live-boot live-config 
${LWR_TASK_PACKAGES} ${LWR_EXTRA_PACKAGES} task-laptop task-english 
+for PKG in ${FIRMWARE_PKGS}; do
+    echo "$PKG        $PKG/license/accepted       boolean true" | \
+       chroot ${rootdir} debconf-set-selections
+chroot ${rootdir} apt-get -q -y install initramfs-tools live-boot live-config 
task-english libnss-myhostname >> vmdebootstrap.log 2>&1
 # Temporary fix for #843983
 chroot ${rootdir} chmod 755 /
+# Find all the packages included
+export COLUMNS=500
+chroot ${rootdir} dpkg -l | awk '/^ii/ {printf "%s %s\n",$2,$3}' > 
+# Grab source URLs for all the packages
+cat > ${rootdir}//list-sources <<EOF
+export COLUMNS=500
+for PKG in \$(dpkg -l | awk '/^ii/ {printf "%s ",\$2}'); do
+    apt-get source -qq --print-uris \$PKG
+chmod +x ${rootdir}/list-sources
+chroot ${rootdir} /list-sources > sources.list
+rm -f ${rootdir}/list-sources
 echo "blacklist bochs-drm" > $rootdir/etc/modprobe.d/qemu-blacklist.conf

-- System Information:
Debian Release: 8.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-0.bpo.1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

--- End Message ---
--- Begin Message ---
Source: live-wrapper
Source-Version: 0.7

We believe that the bug you reported is fixed in the latest version of
live-wrapper, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
Steve McIntyre <> (supplier of updated live-wrapper package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing

Hash: SHA256

Format: 1.8
Date: Sat, 05 Aug 2017 14:49:10 -0400
Source: live-wrapper
Binary: live-wrapper live-wrapper-doc
Architecture: source all
Version: 0.7
Distribution: unstable
Urgency: medium
Maintainer: Debian Live <>
Changed-By: Steve McIntyre <>
 live-wrapper - Wrapper for vmdebootstrap for creating live images
 live-wrapper-doc - Wrapper for vmdebootstrap for creating live images 
Closes: 861070 862000 863177 865384 865386 870845 870846
 live-wrapper (0.7) unstable; urgency=medium
   [ Steve McIntyre ]
   * Add contrib and non-free components to apt config. Needed to allow for
     building for images including firmware.
   * Add command-line config for the apt-mirror (the mirror to be
     configured inside the image), and change the default to use Also switch the default build apt source to use
   * Add command-line config for addition of firmware packages, and update
     the docs about Customising Packages
   * In the standard customise script, generate lists of the packages
     installed in the image, and their sources. This needs a newer version
     of vmdebootstrap, 1.7-1+nmu1 or higher, to add deb-src lines in
     sources.list. Closes: #861070
   * Change to how apt-ftparchive is called, so the installer will
     work. This was part of the cause of #865015
   * Tweak the size of the isolinux menu so long menus will display
     better. This was the cause of #861421
   * Add support for specifying the Volume ID of the output image.
     Closes: #865384
   * Set the mode of the ISO root dir to 0755 (rwxr-xr-x).
     Closes: #865386
   * Tweaks to the code for handling extra debs and udebs
     + Separate downloading and creating metadata files
     + Match the pool dir layout from the Debian archive more closely
     + Add support for "base" debs
     + Generate Packages and Release files separately for debs and udebs
   * Add extra metadata to make d-i happy to install without network
     This was part of the cause of #865015
   * Fix up the root password in /etc/shadow so that the live installer
     will set it properly. This is the cause of #866206
   * Add myself to Uploaders
   * Fix up usage of python-apt when there is more than one version of a
     package available.
   * When using base debs, add them to the sources list too.
   * Add extra packages needed for braille and speech support.
     Closes: #863177
   * Ask pycurl to follow redirects when downloading. Closes: #862000
   * Output the xorriso command line we're using into .disk/mkisofs, just
     like on Debian installer images
   [ Phil Wyett ]
   * Various fixes for coding standards etc. Closes: #870845
   * Update to standards version 4.0.0. Closes: #870846
   * Add Suggests: live-wrapper-doc
 ed1be2db56338b83f35c2fc27874e0c5f3c44122 1900 live-wrapper_0.7.dsc
 59dc727754e467fda195fd0487a32d465a23dfb2 164180 live-wrapper_0.7.tar.xz
 0a92927ad17034ac6bd84ee67e9408288b42aca6 29762 live-wrapper-doc_0.7_all.deb
 bf5aa3fa55a3f1f1638f18920a9c145eaf4ed53a 20784 live-wrapper_0.7_all.deb
 7a1d3e220c6d1b134586de6f9eadf0a8cdf633f7 9227 live-wrapper_0.7_amd64.buildinfo
 e9c4123caccc49604076cbc010dc4a36c5be8ce2ef91dbd5543d4d6278afafc1 1900 
 528ecc1e9de12fb92d223e4a2e9bf58f7532ae2e208323d6a39a99fff6abd26f 164180 
 e4e5a8eb350289bd74544ad0594520f5b63c1485d7fdf402397cc81ec2c2ed62 29762 
 04c8b13961fbd8ca88422a55fa6d7691e10962f473ca28447331bbac664866c0 20784 
 4b7b111c943d4a4dbce801241ce451662fba3d29d4381cd71aedfc460f2f4dcd 9227 
 49dac6eac07cd93934e25808c7fd2a6b 1900 misc optional live-wrapper_0.7.dsc
 7066592564aeff929321106c5a614d97 164180 misc optional live-wrapper_0.7.tar.xz
 7668535b997ae0ce1a3e799587903d23 29762 doc optional 
 f7f99521d09b7a4e49ce025f4c3e1790 20784 misc optional live-wrapper_0.7_all.deb
 6ac58e9c1a8973bc61034bdbd1ad84b0 9227 misc optional 



--- End Message ---

Reply via email to