Re: Status of gfxboot
On Thu, Sep 03, 2009 at 09:58:21PM +0200, Daniel Baumann wrote: > gfxboot-theme-ubuntu needs a small patch (attached) to adjust to the > renaming of the userland executables. Thanks, I've applied a similar patch in gfxboot-theme-ubuntu 0.8.4. > I'll look into creating a gfxboot-theme-debian using a newer version of > the bootsplash graphic redesigned[3] by pixelgirl. When there's > something to show off, I'll post again an update so others can express > their opinions. As I mentioned on IRC, if gfxboot-theme-debian is based on gfxboot-theme-ubuntu (and, given the amount of effort required to write a theme from scratch, I'd be surprised if it weren't), please make sure that you share gfxboot-theme-ubuntu's revision control history. I can provide you with a git mirror of the bzr branch; just let me know where I should put it. -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#588306: live-initramfs: Unreachable code in do_netmount
Package: live-initramfs Version: 1.236.2-1 Severity: normal User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu maverick do_netmount is called in exactly one place: if [ ! -z "${NETBOOT}" ] || [ ! -z "${FETCH}" ] || [ ! -z "${HTTPFS}" ] || [ ! -z "${FTPFS}" ] then if do_netmount That function then contains code guarded by this conditional: if [ -z "${NETBOOT}" ] && [ -z "${FETCH}" ] && \ [ -z "${HTTPFS}" ] && [ -z "${FTPFS}" ] then That code can therefore never be called. When is it supposed to be run? -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100707084906.gs21...@riva.ucam.org
Bug#588307: live-initramfs: Unreachable code in Arguments
Package: live-initramfs Version: 1.236.2-1 Severity: normal User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu maverick The Arguments function contains this code: ethdevice=*) DEVICE="${ARGUMENT#ethdevice=}" export DEVICE ;; ethdevice=*) ETHDEVICE="${ARGUMENT#ethdevice=}" export ETHDEVICE ;; Only the first pattern will be matched. The second is therefore unreachable code. -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100707085156.gt21...@riva.ucam.org
Bug#603974: Info provided, help needed!
On Tue, Jan 25, 2011 at 12:11:53PM +0100, Marco Amadori wrote: > This bug seems to rely on two missing bits on two packages (patches included). > > the package "live-build" does not include console-setup-udeb in the cdrom > "pool/" directory and live-installer do not "Depends:" on console-setup-udeb. > > So the "/target" system have default "/etc/default/keyboard" file instead of > a > proper one. Here's an alternative approach which I think is neater, because it follows along with Daniel's previous attempt to fix this bug. The attached patch series reconfigures keyboard-configuration as well as console-setup, and rearranges things a bit so that it actually reconfigures effectively based on the information kbd-chooser provides to /target in its post-base-installer hook. So far I've only done a single test of this with a British English keymap, but it worked fine for that case. I plan to also test some scenario where console-setup would normally use a different codeset to see if that works. Please review and comment. I can go ahead and push these patches to master if people like them. > Fixing those two above mentioned quirks is not enough it seems, because the > resulting target, although having a proper configuration file, still needs a > "setupcon" after reboot in order to have things working. I did not have this problem in my test. (I don't think it would be release-critical even if I did; this sort of problem is often a boot race and likely only affects the console, not X.) Cheers, -- Colin Watson [cjwat...@debian.org] >From 8fd2fdf36ca109c85ed9f5113a497e9cec91e910 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Wed, 26 Jan 2011 01:31:21 + Subject: [PATCH 1/3] Move console-setup hook from live-installer.d to post-base-installer.d, so that it can pick up the value of debian-installer/keymap set by kbd-chooser's post-base-installer hook. --- debian/changelog |8 ++ debian/live-installer.install |1 + live-installer.d/console-setup | 24 .../25live-installer-console-setup | 24 4 files changed, 33 insertions(+), 24 deletions(-) delete mode 100755 live-installer.d/console-setup create mode 100755 post-base-installer.d/25live-installer-console-setup diff --git a/debian/changelog b/debian/changelog index 01e8ea4..bc38ffd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +live-installer (30) UNRELEASED; urgency=low + + * Move console-setup hook from live-installer.d to post-base-installer.d, + so that it can pick up the value of debian-installer/keymap set by +kbd-chooser's post-base-installer hook. + + -- Colin Watson Wed, 26 Jan 2011 01:30:15 + + live-installer (29) unstable; urgency=low [ Otavio Salvador ] diff --git a/debian/live-installer.install b/debian/live-installer.install index d96b1cd..6f6a5ba 100644 --- a/debian/live-installer.install +++ b/debian/live-installer.install @@ -1,3 +1,4 @@ live-installer.d /usr/lib +post-base-installer.d /usr/lib finish-install.d /usr/lib support/* /lib/live-installer diff --git a/live-installer.d/console-setup b/live-installer.d/console-setup deleted file mode 100755 index 0ab0b5b..000 --- a/live-installer.d/console-setup +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -e - -# Unfortunately, we can't use in-target here as this doesn't allow to set the -# debconf frontend to noninteractive. - -. /lib/chroot-setup.sh - -if ! chroot_setup; then - logger -t live-installer -- "Unexpected error; command not executed: '$@'" - exit 1 -fi - -DEBIAN_FRONTEND=noninteractive -export DEBIAN_FRONTEND - -# Reconfigure console-setup -if [ -e /target/var/lib/dpkg/info/console-setup.postinst ]; then - log-output -t live-installer chroot /target \ - dpkg-reconfigure --no-reload console-setup - - chroot /target setupcon --save-only -fi - -chroot_cleanup diff --git a/post-base-installer.d/25live-installer-console-setup b/post-base-installer.d/25live-installer-console-setup new file mode 100755 index 000..0ab0b5b --- /dev/null +++ b/post-base-installer.d/25live-installer-console-setup @@ -0,0 +1,24 @@ +#!/bin/sh -e + +# Unfortunately, we can't use in-target here as this doesn't allow to set the +# debconf frontend to noninteractive. + +. /lib/chroot-setup.sh + +if ! chroot_setup; then + logger -t live-installer -- "Unexpected error; command not executed: '$@'" + exit 1 +fi + +DEBIAN_FRONTEND=noninteractive +export DEBIAN_FRONTEND + +# Reconfigure console-setup +if [ -e /target/var/lib/dpkg/info/console-setup.postinst ]; then + log-output -t live-installer chroot /target \ + dpkg-reconfigure --no-reload console-setup + + chroot /target setupco
Re: Bug#603974: Info provided, help needed!
On Wed, Jan 26, 2011 at 09:36:58AM +0100, Marco Amadori wrote: > In data Wednesday 26 January 2011 02:43:12, Colin Watson ha scritto: > > Please review and comment. I can go ahead and push these patches to > > master if people like them. > > Your patches are working on my test environment too. I like them and yes, > please push them. > > They are fixing this bug, many thanks for that quick and neat job. No problem. I hope this covers everything ... for the record, I've tested British English and Russian, and Marco's tested Italian (and Arabic?). > If I understand also what I read on IRC, this imply that "console-setup-udeb" > is not required to be available on pool/ directory at all, or maybe just for > the GTK+ installer, right? It shouldn't be needed in pool/ at all, as far as I know. For the GTK+ installer, console-setup-udeb is built into the initrd so it isn't needed in pool/. -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110126110556.gh29...@riva.ucam.org
Bug#604783: needs to have entries for regular installer
On Tue, Jan 25, 2011 at 06:52:17PM +0100, Daniel Baumann wrote: > On 01/25/2011 10:01 AM, Julien Cristau wrote: > > - live-installer is not removed yet, I was still hoping you'd want it in > > squeeze so you would do something about the serious bugs you filed > > recently i realized that for some particular things in debian, it's > better not to argue, so i stop trying. > > > - if this bug is wishlist for 3.x, why is it serious for 2.x? > > it was our own release goal for 2.x to have proper installers. as this > apparently isn't going to happen, i'll might try again for 3.x. As Philip pointed out, I fixed live-installer's RC bug (the one not tagged squeeze-ignore, anyway) in unstable in consultation with Marco Amadori, along with the progress bar issue. I don't know of anything else that would require live-installer to be dropped from squeeze. What needs to change to make sure live-installer is still included on the images? Is it just a matter of not uploading a change you've made, or does something need to be reverted? -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110126124548.ga7...@master.debian.org
Bug#604783: needs to have entries for regular installer
On Wed, Jan 26, 2011 at 02:09:45PM +0100, joseangon wrote: > Another thing I was talking to Octavio, is the theme that creates and fstab > for usb-hdd means: Surely this should be a separate bug report, instead of you piggybacking on this one ... In any case, is this RC for squeeze? It's not clear that we have time to change this, particularly since your proposed patch is against partman-target and thus would affect (and need to be tested with) installation modes other than live-installer. -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110126132018.gi29...@riva.ucam.org
Bug#626900: live-build: add support for Ubuntu oneiric
Package: live-build Version: 3.0~a16-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric The obvious six-monthly release bump. Patch attached. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 16163c8945af9873cd40989568acfbeb0136c7a5 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 16 May 2011 10:04:54 +0100 Subject: [PATCH] Add support for Ubuntu oneiric. --- functions/releases.sh |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/functions/releases.sh b/functions/releases.sh index 1911359..cdddf95 100755 --- a/functions/releases.sh +++ b/functions/releases.sh @@ -26,3 +26,4 @@ RELEASE_karmic="9.10" RELEASE_lucid="10.04" # LTS RELEASE_maverick="10.10" RELEASE_natty="11.04" +RELEASE_oneiric="11.10" -- 1.7.4.1
Bug#626905: live-build: incorrectly documents that -m == --mirror-bootstrap
Package: live-build Version: 3.0~a16-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric Part of lb_config(1) incorrectly documents that -m is synonymous with both --parent-mirror-bootstrap and --mirror-bootstrap. Only the first is true. The attached patch corrects this. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 68e7bb22ecb1b76d3a84c9ad0cc4587a10ab9f2c Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 16 May 2011 10:50:13 +0100 Subject: [PATCH] Fix documentation of -m in lb_config(1). --- manpages/de/lb_config.de.1|2 +- manpages/en/lb_config.1 |2 +- manpages/po/de/lb_config.1.po |2 +- manpages/pot/lb_config.1.pot |2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/manpages/de/lb_config.de.1 b/manpages/de/lb_config.de.1 index 3212dae..869f364 100644 --- a/manpages/de/lb_config.de.1 +++ b/manpages/de/lb_config.de.1 @@ -618,7 +618,7 @@ configured in the final image. By default, sets the location of the mirror that will be used to fetch the debian installer images. By default, this points to the same mirror used to build the live system, i.e. the value of \-\-parent\-mirror\-bootstrap. -.IP "\-m|\fB\-\-mirror\-bootstrap\fP \fIURL\fP" 4 +.IP "\fB\-\-mirror\-bootstrap\fP \fIURL\fP" 4 sets the location of the debian package mirror that should be used to bootstrap the derivative from. This defaults to http://ftp.de.debian.org/debian/ which may not be a good default if you live diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index badbfa1..7d781d7 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -403,7 +403,7 @@ sets the location of the debian volatile package mirror that should end up confi sets the location of the debian backports package mirror that should end up configured in the final image. By default, 'http://backports.debian.org/debian-backports/' is used. .IP "\fB\-\-parent\-mirror\-debian\-installer\fR \fIURL\fR" 4 sets the location of the mirror that will be used to fetch the debian installer images. By default, this points to the same mirror used to build the live system, i.e. the value of \-\-parent\-mirror\-bootstrap. -.IP "\-m|\fB\-\-mirror\-bootstrap\fR \fIURL\fR" 4 +.IP "\fB\-\-mirror\-bootstrap\fR \fIURL\fR" 4 sets the location of the debian package mirror that should be used to bootstrap the derivative from. This defaults to http://ftp.de.debian.org/debian/ which may not be a good default if you live outside of Europe. .IP "\fB\-\-mirror\-chroot\fR \fIURL\fR" 4 sets the location of the debian package mirror that will be used to fetch the packages of the derivative in order to build the live system. By default, this is set to the value of \-\-mirror\-bootstrap. diff --git a/manpages/po/de/lb_config.1.po b/manpages/po/de/lb_config.1.po index f828ec7..681035b 100644 --- a/manpages/po/de/lb_config.1.po +++ b/manpages/po/de/lb_config.1.po @@ -2374,7 +2374,7 @@ msgstr "" #. type: IP #: en/lb_config.1:406 #, no-wrap -msgid "-m|B<--mirror-bootstrap> I" +msgid "B<--mirror-bootstrap> I" msgstr "" #. type: Plain text diff --git a/manpages/pot/lb_config.1.pot b/manpages/pot/lb_config.1.pot index 13ff952..e26e6aa 100644 --- a/manpages/pot/lb_config.1.pot +++ b/manpages/pot/lb_config.1.pot @@ -2374,7 +2374,7 @@ msgstr "" #. type: IP #: en/lb_config.1:406 #, no-wrap -msgid "-m|B<--mirror-bootstrap> I" +msgid "B<--mirror-bootstrap> I" msgstr "" #. type: Plain text -- 1.7.4.1
Bug#626900: live-build: add support for Ubuntu oneiric
On Mon, May 16, 2011 at 12:00:18PM +0200, Daniel Baumann wrote: > On 05/16/2011 11:34 AM, Colin Watson wrote: > >The obvious six-monthly release bump. > > this was already done in git some time ago, uploading today or tomorrow. > > http://live.debian.net/gitweb?p=live-build.git;a=commitdiff;h=efc490377260699c8b31770bf4913c96d930e34e Oh, I checked out from git and didn't notice the debian-next branch. Thanks. The comments in that commit are wrong, though. LTS means "Long Term Support", and only applies to dapper, hardy, and lucid so far, not maverick or natty. Perhaps you meant to write EOL? Those releases will also be more likely to reach end of life at the relevant number of months from the release date, rather than at the start of the month. Cheers, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110516112634.gf23...@riva.ucam.org
Bug#626940: live-build: support installing tasks using apt-get
Package: live-build Version: 3.0~a16-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric apt-get has had the ability to install tasks itself for a few years now. We use this in Ubuntu since it means we only need aptitude or tasksel if we need more interactivity; for simply installing packages that contain a given entry in their Task field, apt-get is more lightweight. The attached patch adds support for this to live-build, and makes it the default for Ubuntu. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 04a63bfd70861dc6399a93a6b2f5c9c72729561c Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 16 May 2011 15:03:56 +0100 Subject: [PATCH] Allow installing tasks using apt-get, and do so by default for Ubuntu. --- functions/defaults.sh | 10 +- manpages/en/lb_config.1 |4 ++-- scripts/build/lb_chroot_tasks | 13 + scripts/build/lb_config |2 +- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 4c0518a..cbdf1af 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -214,7 +214,15 @@ Set_defaults () fi # Setting tasksel - LB_TASKSEL="${LB_TASKSEL:-tasksel}" + case "${LB_MODE}" in + ubuntu) + LB_TASKSEL="${LB_TASKSEL:-apt}" + ;; + + *) + LB_TASKSEL="${LB_TASKSEL:-tasksel}" + ;; + esac # Setting root directory case "${LB_MODE}" in diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index 8e82782..07d7ab6 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -223,7 +223,7 @@ .br [\fB\-\-syslinux\-menu\fR true|false] .br - [\fB\-\-tasksel\fR aptitude|tasksel] + [\fB\-\-tasksel\fR apt|aptitude|tasksel] .br [\fB\-\-tasks\fR \fITASK\fR|"\fITASKS\fR"] .br @@ -476,7 +476,7 @@ defines the file of the syslinux splash graphic that should be used instead of t defines the timeout the syslinux bootloader should wait for input from the user at the bootprompt prior booting the default kernel. This defaults to 0 which means it will wait forever. .IP "\fB\-\-syslinux\-menu\fR true|false" 4 defines if syslinux should be make use of the vgamenu capabilities or not. -.IP "\fB\-\-tasksel\fR aptitude|tasksel" 4 +.IP "\fB\-\-tasksel\fR apt|aptitude|tasksel" 4 selects which program is used to install tasks. By default, this is set to tasksel. .IP "\fB\-\-tasks\fR \fITASK\fR|""\fITASKS\fR""" 4 defines one or more package tasks to be installed in the live system. This is a quick and convenient way to get a reasonable default selection of packages suitable for most users when building an image, but it results in quite big images. If you want to have finer grained package selections, local package lists should be used instead. diff --git a/scripts/build/lb_chroot_tasks b/scripts/build/lb_chroot_tasks index 72db9f6..477d755 100755 --- a/scripts/build/lb_chroot_tasks +++ b/scripts/build/lb_chroot_tasks @@ -45,6 +45,10 @@ then # Checking depends case "${LB_TASKSEL}" in + apt) + Check_package chroot/usr/bin/apt-get apt + ;; + aptitude) Check_package chroot/usr/bin/aptitude aptitude ;; @@ -59,6 +63,15 @@ then # Installing tasks case "${LB_TASKSEL}" in + apt) + APT_TASKS= + for TASK in ${LB_TASKS} + do +APT_TASKS="${APT_TASKS:+$APT_TASKS }$TASK^" + done + Chroot chroot "apt-get ${APT_OPTIONS} install ${APT_TASKS}" + ;; + aptitude) Chroot chroot "aptitude ${APTITUDE_OPTIONS} install ${LB_TASKS}" ;; diff --git a/scripts/build/lb_config b/scripts/build/lb_config index c3ae0eb..0e36240 100755 --- a/scripts/build/lb_config +++ b/scripts/build/lb_config @@ -135,7 +135,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\ \t[--source true|false]\n\ \t[-s|--source-images iso|net|tar|usb-hdd]\n\ \t[--syslinux-theme THEME_SUFFIX]\n\ -\t[--tasksel aptitude|tasksel]\n\ +\t[--tasksel apt|aptitude|tasksel]\n\ \t[--tasks TASK|\"TASKS\"]\n\ \t[--templates PATH]\n\ \t[--virtual-root-size MB]\n\ -- 1.7.4.1
Bug#627183: live-build: minimal hook doesn't seem appropriate for Ubuntu
Package: live-build Version: 3.0~a16-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric In Ubuntu, we have a task called "minimal" which is what debootstrap installs, and our old live filesystem builder passes 'minimal^' as one of the arguments to 'apt-get install'. I'd like to keep doing this after we switch to live-build - it's organisationally useful for us to have this as a task. However, live-build wants to run the minimal hook if you ask it to install the minimal task, which strips out several things that we consider should be installed. In Debian I assume this isn't a problem because there's no task called "minimal", but it would be quite a hassle for us to rename our existing task now. There doesn't seem to be any way to exclude a hook that happens to match a task name, and since hooks get a stripped environment I wasn't able to check LB_MODE in the hook itself either. Would something like the attached patch be agreeable to you, or would you prefer some different approach? Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 1274f14611533d72b09c4a52c4ad4daeac765de6 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Wed, 18 May 2011 14:37:14 +0100 Subject: [PATCH] Don't run minimal hook for Ubuntu. --- functions/defaults.sh |6 ++ scripts/build/lb_chroot_hooks |6 ++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 2aa677f..8526335 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -575,6 +575,12 @@ Set_defaults () # LB_HOOKS + case "${LB_MODE}" in + ubuntu) + LB_EXCLUDE_HOOKS="${LB_EXCLUDE_HOOKS:-minimal}" + ;; + esac + # Setting interactive shell/X11/Xnest LB_INTERACTIVE="${LB_INTERACTIVE:-false}" diff --git a/scripts/build/lb_chroot_hooks b/scripts/build/lb_chroot_hooks index 3a15956..cb5296f 100755 --- a/scripts/build/lb_chroot_hooks +++ b/scripts/build/lb_chroot_hooks @@ -43,6 +43,12 @@ HOOKS="$(echo ${LB_HOOKS} ${LB_PACKAGE_LISTS} ${LB_TASKS} | sed -e 's| |\n|g' | for HOOK in ${HOOKS} do + case " ${LB_EXCLUDE_HOOKS} " in + *" ${HOOK} "*) + continue + ;; + esac + if [ -f ${LB_BASE:-/usr/share/live/build}/hooks/"${HOOK}" ] then # Copying hook -- 1.7.4.1
Bug#627183: live-build: minimal hook doesn't seem appropriate for Ubuntu
On Wed, May 18, 2011 at 07:47:51PM +0200, Daniel Baumann wrote: > On 05/18/2011 03:43 PM, Colin Watson wrote: > >it would be quite a hassle for us to rename our existing task now. > > it's not nice to rename it for debian too; however.. > > >There doesn't seem to be any way to exclude a hook that happens to match > >a task name, and since hooks get a stripped environment I wasn't able to > >check LB_MODE in the hook itself either. Would something like the > >attached patch be agreeable to you, or would you prefer some different > >approach? > > ..i think it's worse to have l-b behave differently in that aspect > depending on if its building debian or ubuntu. Hmm. OK, perhaps ... > any suggestion for a new name for 'minimal'? There's substantial overlap with 'stripped'. Maybe 'reduced' or 'cleaned' or something. Another approach would be to note that since there's no equivalent of #include in package lists for tasks, it's more reasonable to use a 'minimal' task directly, and so 'minimal' could be excluded from LB_HOOKS if it came from LB_TASKS. That wouldn't need to be distribution-specific since there's no 'minimal' task for Debian. Alternatively: we really only install the 'minimal' task as a safety net, since debootstrap should already install all the same packages. If you think that all of these options are too nasty, then we could just drop the safety net and not bother to tell live-build to install the 'minimal' task, in which case we could close this bug. Let me know what you prefer? -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110519152616.gx23...@riva.ucam.org
Bug#627332: update mlocate database?
Package: live-build Version: 3.0~a17-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric Our current Ubuntu live filesystem builder updates the mlocate database in the squashfs. This is convenient because you get to use locate in the live session without having to wait for updatedb, and because after you install the system it doesn't have to do very much work to update the locate database (particularly true with mlocate versus previous versions of locate). The trade-off is that the database takes a bit of space; it's about half a megabyte compressed here for a 700 megabyte squashfs. However, this should scale with the size of the image, so I think it's reasonably tolerable. Do you think that it would be OK to do this by default (see attached patch), or do you want it to be more configurable? I'd appreciate some guidance on this, as I haven't quite got a feel yet for what you consider to be good practice in live-build. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From bca7bc8bf750ed00b85edfa228405dde89cbaee8 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Thu, 19 May 2011 14:42:43 +0100 Subject: [PATCH] Update the mlocate database. --- scripts/build/lb_chroot_hacks |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/scripts/build/lb_chroot_hacks b/scripts/build/lb_chroot_hacks index 2a58c0f..194d667 100755 --- a/scripts/build/lb_chroot_hacks +++ b/scripts/build/lb_chroot_hacks @@ -189,6 +189,14 @@ Chroot chroot "${UPDATE_INITRAMFS_OPTIONS} update-initramfs -k all -t -u" # people might do in local hooks, and there might be no initrds at all. find chroot/boot -name 'initrd*' -print0 | xargs -r -0 chmod go+r +# Update the mlocate database. It's convenient for this to be already up to +# date on the live system, and it means that if the live system is later +# installed to a hard disk then less work will be required after +# installation. +if [ -x chroot/usr/bin/updatedb.mlocate ]; then + Chroot chroot updatedb.mlocate +fi + # Remove build systems clock drift echo "0.0 0 0.0" > chroot/etc/adjtime -- 1.7.4.1
Bug#627332: update mlocate database?
On Thu, May 19, 2011 at 10:01:22PM +0200, intrigeri wrote: > Colin Watson wrote (19 May 2011 16:04:17 GMT) : > > Do you think that it would be OK to do this by default (see attached > > patch), or do you want it to be more configurable? > > I'm no live-build maintainer, but any proposal of adding more to > lb_chroot_hacks makes me a bit nervous and think of other ways to > achieve the same result. Sure, I understand the caution; I'm also willing to consider local hooks, but given that what I'm doing is attempting to convert the official Ubuntu live CD builds to live-build, I'd really rather get to the point where 'lb config --mode ubuntu ' is as close as possible to the output we have with our previous system, without the need for custom hooks. Thus, I'm going through the differences between filesystems generated by the two systems and trying to resolve them. > E.g. wouldn't it be nicer to add a (low-priority, disabled by default) > debconf option to mlocate, that would update the mlocate db in > mlocate.postinst when it is enabled? This way, everyone (rather than > Debian Live users only) would get a way to opt-in for the > "ready-to-work mlocate once installed" functionality by preseeding the > package. Some Debian Derivatives might want to enable it. There's no particular guarantee that mlocate.postinst runs sufficiently late in the process for the locate database to be reasonably complete (it would probably be after the bulk of files have been unpacked, but it would really be better if this were done as close to the end as possible). Triggers don't really offer the right interface either, and in any case doing something like 'interest /' in a triggers file would likely slow the whole process down unreasonably. Cheers, -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110519203953.gz23...@riva.ucam.org
Bug#627406: duplicate deconfiguration in lb_binary if build-with-chroot is false
Package: live-build Version: 3.0~a17-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric The conditions for installing and removing various things at the start and end of lb_binary don't quite match up in the case where build-with-chroot is false. The effect of this in my build, which I noticed when diffing the chroot left behind by livecd-rootfs with that left behind by live-build, is that /sbin/initctl gets entirely removed from the chroot. It seems to me that the install/remove conditions should match. The attached patch fixes this. (The builder that builds Ubuntu live filesystems always does so in a current chroot matching the release it's building, so there's no point in using another nested chroot in our case.) Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 7ecd0f223115cd51d8880564b6371681574c3dd5 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 20 May 2011 12:39:59 +0100 Subject: [PATCH] Fix duplicate deconfiguration of apt, upstart, and sysv-rc if build-with-chroot is false. --- scripts/build/lb_binary |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/build/lb_binary b/scripts/build/lb_binary index 0b48941..738363d 100755 --- a/scripts/build/lb_binary +++ b/scripts/build/lb_binary @@ -93,15 +93,15 @@ if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] then # Deconfiguring chroot rm -f .stage/chroot_sources + lb chroot_apt remove ${*} + lb chroot_upstart remove ${*} + lb chroot_sysv-rc remove ${*} lb chroot_hostname remove ${*} lb chroot_resolv remove ${*} lb chroot_hosts remove ${*} fi -lb chroot_apt remove ${*} -lb chroot_sysv-rc remove ${*} lb chroot_sysfs remove ${*} -lb chroot_upstart remove ${*} lb chroot_selinuxfs remove ${*} lb chroot_proc remove ${*} lb chroot_devpts remove ${*} -- 1.7.4.1
Bug#627439: handling Ubuntu's multiple manifest scheme
Package: live-build Version: 3.0~a17-1 Severity: wishlist User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu oneiric I'm looking for some guidance on one of the remaining major pieces involved in making live-build usable for official Ubuntu live filesystem builds. Most package installation in our current live filesystem builds is done in two stages. The first corresponds to the packages that should be copied to an installed system when installing from the live CD, and the second corresponds to the packages that may need to be removed from the installed system: this includes live CD boot infrastructure, the installer itself, and other bits and pieces such as language packs. At the end of the first stage, we write out filesystem.manifest-desktop; at the end of the second stage, we write out filesystem.manifest. After copying files to disk, the installer takes the set of packages in filesystem.manifest but not in filesystem.manifest-desktop, eliminates any packages from that set that some bit of the installer explicitly asked to keep (for example, we might as well keep the language packs corresponding to the user's language rather than making them reinstall them from the network), and removes that set of packages from disk. live-build doesn't currently support this kind of two-stage installation except by means of local hooks, and as explained in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627332#25 I would like to find a way to do this without local hooks. I'm happy to do the implementation work, but do you have any ideas on a nice way to do this within the structure of live-build? There is of course the possibility of not bothering with a two-stage installation, and instead computing filesystem.manifest-desktop independently. I'm reluctant to take this approach because it would carry risk of archive skew and/or simple coding errors resulting in filesystem.manifest-desktop not matching what apt would have installed at that point in a hypothetical two-stage installation; but it's an option if you think this just won't fit. Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110520162545.gp23...@riva.ucam.org
Bug#627665: option to remove kernel+initrd from compressed filesystem
Package: live-build Version: 3.0~a17-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric On the Ubuntu live CDs, we have a hack to save some space: rather than shipping the kernel and initrd both in the ISO9660 filesystem (for booting) and in the squashfs (for installing), we remove the duplicate copies from the squashfs, and our installer is smart enough to copy those files from the ISO9660 filesystem if it needs to. This saves us 17MiB or so of CD space at the cost of a small amount of code complexity. We'll be able to get rid of this hack once we switch to GRUB as our CD boot loader, since it can read files out of the squashfs directly; but even so it seems like something other folks might find useful, particularly if they're creating a live CD that isn't intended to be installable. The attached patch adds 'lb config --binary-remove-linux true'. Feel free to rename the option if some other name would fit better, though. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From dfaac39fe91755c5cfc7e34b85d52633df5bfd0c Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 23 May 2011 13:12:01 +0100 Subject: [PATCH] Add an option to remove the kernel and initrd from the compressed filesystem. --- functions/defaults.sh |2 ++ manpages/en/lb_config.1 |4 scripts/build/lb_binary_linux-image |6 ++ scripts/build/lb_config | 12 +++- 4 files changed, 23 insertions(+), 1 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 8526335..a1e5c83 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -826,6 +826,8 @@ Set_defaults () ;; esac + LB_BINARY_REMOVE_LINUX="${LB_BINARY_REMOVE_LINUX:-false}" + # Setting apt indices case "${LB_MODE}" in progress) diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index 88fcc9b..5e247b4 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -33,6 +33,8 @@ .br [\fB\-\-binary\-filesystem\fR fat16|fat32|ext2] .br + [\fB\-\-binary\-remove\-linux\fR true|false] +.br [\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] .br [\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] @@ -281,6 +283,8 @@ defines the architecture of the to be build image. By default, this is set to th defines the image type to build. By default, for images using syslinux this is set to iso\-hybrid to build CD/DVD images that may also be used like usb\-hdd images, for non\-syslinux images, it defaults to iso. .IP "\fB\-\-binary\-filesystem\fR fat16|fat32|ext2" 4 defines the filesystem to be used in the image type. This only has an effect if the selected binary image type does allow to choose a filesystem. For example, when selection iso the resulting CD/DVD has always the filesystem ISO9660. When building usb\-hdd images for usb sticks, this is active. Note that it defaults to fat16 on all architectures except sparc where it defaults to ext2. Also note that if you choose fat16 and your resulting binary image gets bigger than 2GB, the binary filesystem automatically gets switched to fat32. +.IP "\fB\-\-binary\-remove\-linux\fR true|false" 4 +defines if the Linux kernel and initrd should be removed from the filesystem (they will still be published in the binary output directory). This is useful to reduce image size if the image is not meant to be installable, or if the installer is intelligent enough to copy the kernel and initrd from the top-level image rather than from the compressed filesystem. Default is false. .IP "\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 sets boot parameters specific to debian\-installer, if included. .IP "\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 diff --git a/scripts/build/lb_binary_linux-image b/scripts/build/lb_binary_linux-image index cac19d8..c5a8cc6 100755 --- a/scripts/build/lb_binary_linux-image +++ b/scripts/build/lb_binary_linux-image @@ -76,6 +76,12 @@ mkdir -p "${DESTDIR}" cp chroot/boot/"${LINUX}"-* "${DESTDIR}" cp chroot/boot/initrd.img-* "${DESTDIR}" +if [ "${LB_BINARY_REMOVE_LINUX}" = true ] +then + rm -f chroot/boot/"${LINUX}"-* + rm -f chroot/boot/initrd.img-* +fi + case "${LB_INITRAMFS}" in live-boot) if [ -e chroot/usr/share/doc/live-boot/parameters.txt ] diff --git a/scripts/build/lb_config b/scripts/build/lb_config index 0e36240..a2f90eb 100755 --- a/scripts/build/lb_config +++ b/scripts/build/lb_config @@ -41,6 +41,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\ \t[-a|--architectures ARCHITECTURE]\n\ \t[-b|--binary-images iso|iso-hybrid|net|tar|usb-hdd]\n\ \t[--binary-filesystem
Bug#627677: alternative initramfs compressor
Package: live-build Version: 3.0~a17-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric We compress the initramfs on the Ubuntu live CD with LZMA to save a bit of space. Here's a patch to allow live-build to do this. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 71d20b7f5a057c0e234fc1080d61a8840d9e0ad6 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 23 May 2011 15:43:59 +0100 Subject: [PATCH] Add --initramfs-compression option. --- functions/defaults.sh |4 manpages/en/lb_config.1 |4 scripts/build/lb_chroot_hacks | 25 + scripts/build/lb_config | 12 +++- 4 files changed, 44 insertions(+), 1 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index a1e5c83..b6824b7 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -84,6 +84,8 @@ Set_defaults () LZIP_OPTIONS="${LZIP_OPTIONS:---best}" + LZMA_OPTIONS="${LZMA_OPTIONS:---best}" + # Setting apt recommends case "${LB_MODE}" in emdebian|progress) @@ -153,6 +155,8 @@ Set_defaults () ;; esac + LB_INITRAMFS_COMPRESSION="${LB_INITRAMFS_COMPRESSION:-gzip}" + # Setting initsystem case "${LB_MODE}" in ubuntu) diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index 5e247b4..a8a9c6f 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -111,6 +111,8 @@ .br [\fB\-\-initramfs\fR auto|none|live\-boot|casper] .br + [\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] +.br [\fB\-\-initsystem\fR sysvinit|runit|systemd|upstart|none] .br [\fB\-\-interactive\fR shell] @@ -361,6 +363,8 @@ sets the hostname of the live system. sets the path to the includes that live\-build is going to use, e.g. additional minimal documentation that you want to have on all live systems. By default, this is set to /usr/share/live/build/includes/. Choose none to disable inclusion of documentation. .IP "\fB\-\-initramfs\fR auto|none|live\-boot|casper" 4 sets the name of package that contains the live system specific initramfs modification. By default, auto is used, which means that at build time of the image rather than on configuration time, the value will be expanded to casper when building ubuntu systems, to live\-boot for all other systems. Using 'none' is useful if the resulting system image should not be a live image (experimental). +.IP "\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] +defines the compression program to be used to compress the initramfs. Defaults to gzip. .IP "\fB\-\-interactive\fR shell" 4 defines if after the chroot stage and before the beginning of the binary stage, a interactive shell login should be spawned in the chroot in order to allow you to do manual customizations. Once you close the shell with logout or exit, the build will continue as usual. Note that it's strongly discouraged to use this for anything else than testing. Modifications that should be present in all builds of a live system should be properly made through hooks. Everything else destroys the beauty of being able to completely automatise the build process and making it non interactive. By default, this is of course false. .IP "\fB\-\-isohybrid\-options\fR \fIOPTION\fR|""\fIOPTIONS\fR""" 4 diff --git a/scripts/build/lb_chroot_hacks b/scripts/build/lb_chroot_hacks index 194d667..12279fd 100755 --- a/scripts/build/lb_chroot_hacks +++ b/scripts/build/lb_chroot_hacks @@ -183,6 +183,31 @@ esac Chroot chroot "${UPDATE_INITRAMFS_OPTIONS} update-initramfs -k all -t -u" +# We probably ought to use COMPRESS= in a temporary file in +# /etc/initramfs-tools/conf.d/ instead, but it's hard to pass options that +# way. +case "${LB_INITRAMFS_COMPRESSION}" in + gzip) + ;; + + bzip2) + for INITRAMFS in $(find chroot/boot -name 'initrd*'); do + zcat "${INITRAMFS}" | bzip2 -c ${BZIP2_OPTIONS} > "${INITRAMFS}.new" + mv "${INITRAMFS}.new" "${INITRAMFS}" + done + ;; + + lzma) + # We probably ought to use COMPRESS= in a temporary file in + # /etc/initramfs-tools/conf.d/ instead, but it's hard to + # pass options that way. + for INITRAMFS in $(find chroot/boot -name 'initrd*'); do + zcat "${INITRAMFS}" | lzma -c ${LZMA_OPTIONS} > "${INITRAMFS}.new" + mv "${INITRAMFS}.new" "${INITRAMFS}" + done + ;; +esac + # Ensure readable permissions on initramfs. loop-aes-utils sets umask to # protect GPG keys, which live-build does not support. # Note: Use find rather than chmod on the wildcard, one never knows what diff --git a/scripts/build/lb_config b/scripts/build/lb_config index a2f90eb..f2c6bdc 100755 --- a/scripts/build/lb_config +++ b/scripts/build/l
Bug#627665: option to remove kernel+initrd from compressed filesystem
On Mon, May 23, 2011 at 01:19:20PM +0100, Colin Watson wrote: > The attached patch adds 'lb config --binary-remove-linux true'. Feel > free to rename the option if some other name would fit better, though. I realised that making this work involved moving lb_binary_linux-image before lb_binary_rootfs. This doesn't seem to have any ill effects that I can detect from reading the code, so I've attached an updated patch that does this too. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 2acebebb81869948ca302a9bd5a75a0e13730f4d Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 23 May 2011 13:12:01 +0100 Subject: [PATCH] Add an option to remove the kernel and initrd from the compressed filesystem. --- functions/defaults.sh |2 ++ manpages/en/lb_config.1 |4 scripts/build/lb_binary |2 +- scripts/build/lb_binary_linux-image |6 ++ scripts/build/lb_config | 12 +++- 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 8526335..a1e5c83 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -826,6 +826,8 @@ Set_defaults () ;; esac + LB_BINARY_REMOVE_LINUX="${LB_BINARY_REMOVE_LINUX:-false}" + # Setting apt indices case "${LB_MODE}" in progress) diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index 88fcc9b..5e247b4 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -33,6 +33,8 @@ .br [\fB\-\-binary\-filesystem\fR fat16|fat32|ext2] .br + [\fB\-\-binary\-remove\-linux\fR true|false] +.br [\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] .br [\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|\fI"PARAMETERS"\fR] @@ -281,6 +283,8 @@ defines the architecture of the to be build image. By default, this is set to th defines the image type to build. By default, for images using syslinux this is set to iso\-hybrid to build CD/DVD images that may also be used like usb\-hdd images, for non\-syslinux images, it defaults to iso. .IP "\fB\-\-binary\-filesystem\fR fat16|fat32|ext2" 4 defines the filesystem to be used in the image type. This only has an effect if the selected binary image type does allow to choose a filesystem. For example, when selection iso the resulting CD/DVD has always the filesystem ISO9660. When building usb\-hdd images for usb sticks, this is active. Note that it defaults to fat16 on all architectures except sparc where it defaults to ext2. Also note that if you choose fat16 and your resulting binary image gets bigger than 2GB, the binary filesystem automatically gets switched to fat32. +.IP "\fB\-\-binary\-remove\-linux\fR true|false" 4 +defines if the Linux kernel and initrd should be removed from the filesystem (they will still be published in the binary output directory). This is useful to reduce image size if the image is not meant to be installable, or if the installer is intelligent enough to copy the kernel and initrd from the top-level image rather than from the compressed filesystem. Default is false. .IP "\fB\-\-bootappend\-install\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 sets boot parameters specific to debian\-installer, if included. .IP "\fB\-\-bootappend\-live\fR \fIPARAMETER\fR|""\fIPARAMETERS\fR""" 4 diff --git a/scripts/build/lb_binary b/scripts/build/lb_binary index 738363d..fb10ed0 100755 --- a/scripts/build/lb_binary +++ b/scripts/build/lb_binary @@ -54,12 +54,12 @@ then fi # Building root filesystem +lb binary_linux-image ${*} lb binary_rootfs ${*} lb binary_manifest ${*} # Prepare images lb binary_local-packagelists ${*} -lb binary_linux-image ${*} lb binary_debian-installer ${*} lb binary_memtest ${*} lb binary_grub ${*} diff --git a/scripts/build/lb_binary_linux-image b/scripts/build/lb_binary_linux-image index cac19d8..c5a8cc6 100755 --- a/scripts/build/lb_binary_linux-image +++ b/scripts/build/lb_binary_linux-image @@ -76,6 +76,12 @@ mkdir -p "${DESTDIR}" cp chroot/boot/"${LINUX}"-* "${DESTDIR}" cp chroot/boot/initrd.img-* "${DESTDIR}" +if [ "${LB_BINARY_REMOVE_LINUX}" = true ] +then + rm -f chroot/boot/"${LINUX}"-* + rm -f chroot/boot/initrd.img-* +fi + case "${LB_INITRAMFS}" in live-boot) if [ -e chroot/usr/share/doc/live-boot/parameters.txt ] diff --git a/scripts/build/lb_config b/scripts/build/lb_config index 0e36240..a2f90eb 100755 --- a/scripts/build/lb_config +++ b/scripts/build/lb_config @@ -41,6 +41,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\ \t[-a|--architectures ARCHITECTURE]\n\ \t[-b|--binary-images iso|iso-hybrid|net|tar|usb-hdd]\n\ \t[--binary-filesystem fat16|fat32|ext2]\n\ +\t[--binary-remove-linux true|false]\n\
Bug#627716: update apt-xapian-index
Package: live-build Version: 3.0~a17-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric apt-xapian-index.postinst (in Debian, and in Ubuntu with minor modifications) contains the following code: case "$1" in configure) # Just checking the main directory with -d should prevent the indexing # to be started while an indexing is already going on, as the first # thing that update-apt-xapian-index does is to create the directory if # it is missing if [ ! -d /var/lib/apt-xapian-index ] then if [ ! -x /usr/sbin/policy-rc.d ] || /usr/sbin/policy-rc.d apt-xapian-index start then echo "apt-xapian-index: Building new index in background..." # Ensure that we can use our module. See #537376 update-python-modules -p nice /usr/sbin/update-apt-xapian-index --quiet & fi fi ;; esac This is of course effectively disabled in live-build due to policy-rc.d. Extending live-build's policy-rc.d to allow 'apt-xapian-index start' doesn't look like a great idea either, as that would run update-apt-xapian-index in the background which will race with package installation completing and mksquashfs (or whatever) starting. I care about this because Ubuntu's Software Center uses apt-xapian-index, and that's quite prominent in our UI these days so it'll be fairly obvious if the index isn't up to date. Could we just update this as a hack, along the lines of the attached patch? Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 8aa53bce90f42e203321f68fa5f87233c32b36be Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 23 May 2011 20:51:18 +0100 Subject: [PATCH] Update the Apt Xapian index. --- scripts/build/lb_chroot_hacks |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/scripts/build/lb_chroot_hacks b/scripts/build/lb_chroot_hacks index 12279fd..4c26deb 100755 --- a/scripts/build/lb_chroot_hacks +++ b/scripts/build/lb_chroot_hacks @@ -222,6 +222,14 @@ if [ -x chroot/usr/bin/updatedb.mlocate ]; then Chroot chroot updatedb.mlocate fi +# Update the Apt Xapian index. The package would do this itself, but (a) it +# checks policy-rc.d which says it isn't allowed to, and (b) it wants to +# build the index in the background which will be racy in the context of +# live-build. +if [ -x chroot/usr/sbin/update-apt-xapian-index ]; then + Chroot chroot /usr/sbin/update-apt-xapian-index --force --quiet +fi + # Remove build systems clock drift echo "0.0 0 0.0" > chroot/etc/adjtime -- 1.7.4.1
Bug#627677: alternative initramfs compressor
On Tue, May 24, 2011 at 05:41:44PM +0200, intrigeri wrote: > Colin Watson wrote (23 May 2011 14:47:18 GMT) : > > + # We probably ought to use COMPRESS= in a temporary file in > > + # /etc/initramfs-tools/conf.d/ instead, but it's hard to > > + # pass options that way. > > If this is your only reason to decompress / recompress the ramdisks > (implicitly depending on those being compressed using gzip in the > first place), wouldn't it be better to make initramfs-tools support a > COMPRESS_OPTIONS option + indeed use its conf.d/ to set COMPRESS=, > rather than adding the same options to live-build? It probably would, which is why I added a comment; but live-build will need it at least for a while anyway, to support older distributions. (And there isn't much difference in code size.) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=592519 has been filed for a while requesting the change you suggest. I've CCed that bug to indicate the link. -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110524163851.ge23...@riva.ucam.org
Bug#627887: add support for jasper initramfs system
Package: live-build Version: 3.0~a17-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric The Ubuntu ARM team wrote a system called jasper whose job is to help with booting preinstalled ext2/ext3 ARM images: Description: Configure a preinstalled ext2/3 system image Jasper is a tool to configure preinstalled ext2/3 images that were created using the ubuntu infrastructure from the initramfs. Such as armel omap3/4 images in Ubuntu 10.10 and beyond. . It grows the system partition of a preinstalled ext2/3 image to the full size of the SD card, configures fstab, loopback networking, adds the UUID to the kernel cmdline and properly sets up flash-kernel for the kernel package post installation scripts. It's supported by livecd-rootfs, so I needed to add support for it to live-build as well. From live-build's point of view, I think it basically counts as a new initramfs system, with the wrinkles that there shouldn't be a boot=jasper parameter (it extends the default boot=local instead) and I don't think it needs to do the user creation bits. Patch attached. What do you think? Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 7ed79bd4b34c58919c22e3fc502022a12b1a0b63 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Wed, 25 May 2011 09:55:29 +0100 Subject: [PATCH] Add support for jasper initramfs system. --- manpages/en/lb_config.1 |4 ++-- scripts/build/lb_binary_grub| 10 +- scripts/build/lb_binary_grub2 | 10 +- scripts/build/lb_binary_linux-image |4 scripts/build/lb_binary_manifest|5 + scripts/build/lb_binary_memtest |4 scripts/build/lb_binary_net |4 scripts/build/lb_binary_rootfs |4 scripts/build/lb_binary_silo|7 ++- scripts/build/lb_binary_yaboot | 10 +- scripts/build/lb_chroot_hacks |6 +- scripts/build/lb_config |2 +- 12 files changed, 62 insertions(+), 8 deletions(-) diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index a8a9c6f..a579ff6 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -109,7 +109,7 @@ .br [\fB\-\-includes\fR \fIPATH\fR] .br - [\fB\-\-initramfs\fR auto|none|live\-boot|casper] + [\fB\-\-initramfs\fR auto|none|live\-boot|casper|jasper] .br [\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] .br @@ -361,7 +361,7 @@ sets the hostname of the live system. \fBlb config\fR by default reads system defaults from /etc/live/build.conf and /etc/live/build.d when generating a new live system config directory. This is useful if you want to set global settings, such as mirror locations, and don't want to specify them all of the time. .IP "\fB\-\-includes\fR \fIPATH|none\fR" 4 sets the path to the includes that live\-build is going to use, e.g. additional minimal documentation that you want to have on all live systems. By default, this is set to /usr/share/live/build/includes/. Choose none to disable inclusion of documentation. -.IP "\fB\-\-initramfs\fR auto|none|live\-boot|casper" 4 +.IP "\fB\-\-initramfs\fR auto|none|live\-boot|casper|jasper" 4 sets the name of package that contains the live system specific initramfs modification. By default, auto is used, which means that at build time of the image rather than on configuration time, the value will be expanded to casper when building ubuntu systems, to live\-boot for all other systems. Using 'none' is useful if the resulting system image should not be a live image (experimental). .IP "\fB\-\-initramfs\-compression\fR bzip2|gzip|lzma] defines the compression program to be used to compress the initramfs. Defaults to gzip. diff --git a/scripts/build/lb_binary_grub b/scripts/build/lb_binary_grub index d796750..7f70090 100755 --- a/scripts/build/lb_binary_grub +++ b/scripts/build/lb_binary_grub @@ -68,7 +68,7 @@ Grub_live_entry () APPEND="${4}" LINUX_LIVE="${LINUX_LIVE}\ntitle\t\tDebian GNU/Linux - ${LABEL}" - LINUX_LIVE="${LINUX_LIVE}\nkernel\t\t/${KERNEL} boot=${INITFS} config LB_BOOTAPPEND_LIVE ${APPEND}" + LINUX_LIVE="${LINUX_LIVE}\nkernel\t\t/${KERNEL} ${INITFS:+boot=${INITFS} }config LB_BOOTAPPEND_LIVE ${APPEND}" LINUX_LIVE="${LINUX_LIVE}\ninitrd\t\t/${INITRD}" } @@ -125,6 +125,10 @@ case "${LB_INITRAMFS}" in live-boot) INITFS="live" ;; + + *) + INITFS="" + ;; esac # Setting destination directory @@ -135,6 +139,10 @@ case "${LB_BINARY_IMAGES}" in DESTDIR_LIVE="binary/casper" ;; + jasper) +DESTDIR_LIVE="binary/jasper" +;; + live-boot) DESTDIR_LIVE="binary/live" ;; diff --git a/scripts/build/lb_binary_grub2 b/scripts/build/lb_binary_grub2 index 8f076b2..
Bug#627887: add support for jasper initramfs system
On Wed, May 25, 2011 at 10:01:10AM +0100, Colin Watson wrote: > The Ubuntu ARM team wrote a system called jasper whose job is to help > with booting preinstalled ext2/ext3 ARM images: > > Description: Configure a preinstalled ext2/3 system image > Jasper is a tool to configure preinstalled ext2/3 images that were > created using the ubuntu infrastructure from the initramfs. > Such as armel omap3/4 images in Ubuntu 10.10 and beyond. > . > It grows the system partition of a preinstalled ext2/3 image to the > full size of the SD card, configures fstab, loopback networking, adds > the UUID to the kernel cmdline and properly sets up flash-kernel for > the kernel package post installation scripts. > > It's supported by livecd-rootfs, so I needed to add support for it to > live-build as well. From live-build's point of view, I think it > basically counts as a new initramfs system, with the wrinkles that there > shouldn't be a boot=jasper parameter (it extends the default boot=local > instead) and I don't think it needs to do the user creation bits. > > Patch attached. What do you think? Oliver suggested that it would be better to use '--initramfs none --packages jasper', or similar. This still needs parts of this patch, though, as there are too many places that only ever expect LB_INITRAMFS to be casper or live-boot, e.g. the output directory calculation in lb_binary_rootfs. Let me know how you'd prefer to proceed here, and I can send an updated patch. -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110525103212.ga5...@riva.ucam.org
Bug#627902: ext2/ext3 case in lb_binary_rootfs fails with --build-with-chroot false
Package: live-build Version: 3.0~a17-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric If you try to use '--chroot-filesystem ext3 --build-with-chroot false', then the build fails with: du: cannot access `chroot/chroot': No such file or directory expr: non-integer argument genext2fs: too few blocks. Note: options have changed, see --help or the man page. Patch attached to make it run du on the right path. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 98aacab652dad1a7115f340e16560a3d04c3db4e Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Wed, 25 May 2011 11:32:52 +0100 Subject: [PATCH] Fix ext2/ext3 case in lb_binary_rootfs to work with --build-with-chroot false. --- scripts/build/lb_binary_rootfs | 11 ++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/scripts/build/lb_binary_rootfs b/scripts/build/lb_binary_rootfs index 2e3e34e..ce007e3 100755 --- a/scripts/build/lb_binary_rootfs +++ b/scripts/build/lb_binary_rootfs @@ -100,7 +100,16 @@ case "${LB_CHROOT_FILESYSTEM}" in rm -f binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} fi - DU_DIM="$(du -ks chroot/chroot | cut -f1)" + case "${LB_BUILD_WITH_CHROOT}" in + true) +DU_DIM="$(du -ks chroot/chroot | cut -f1)" +;; + + false) +DU_DIM="$(du -ks chroot | cut -f1)" +;; + esac + REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_CHROOT_FILESYSTEM})" RESERVED_PERCENTAGE="--reserved-percentage" -- 1.7.4.1
Bug#627887: add support for jasper initramfs system
On Wed, May 25, 2011 at 11:32:12AM +0100, Colin Watson wrote: > Oliver suggested that it would be better to use '--initramfs none > --packages jasper', or similar. This still needs parts of this patch, > though, as there are too many places that only ever expect LB_INITRAMFS > to be casper or live-boot, e.g. the output directory calculation in > lb_binary_rootfs. > > Let me know how you'd prefer to proceed here, and I can send an updated > patch. How about this patch? This should make '--initramfs none' generally work more consistently, mostly by filling in a few entries in case statements. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 448eddbbc3eef31b8b368ec04e100ae1b42f7769 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 6 Jun 2011 13:58:44 +0100 Subject: [PATCH] Make --initramfs none work more consistently. --- scripts/build/lb_binary_grub | 10 +- scripts/build/lb_binary_grub2| 10 +- scripts/build/lb_binary_manifest |5 + scripts/build/lb_binary_memtest |4 scripts/build/lb_binary_net |4 scripts/build/lb_binary_rootfs |4 scripts/build/lb_binary_silo |7 ++- scripts/build/lb_binary_yaboot | 10 +- scripts/build/lb_chroot_hacks|6 +- 9 files changed, 55 insertions(+), 5 deletions(-) diff --git a/scripts/build/lb_binary_grub b/scripts/build/lb_binary_grub index ee14bd9..39aca30 100755 --- a/scripts/build/lb_binary_grub +++ b/scripts/build/lb_binary_grub @@ -68,7 +68,7 @@ Grub_live_entry () APPEND="${4}" LINUX_LIVE="${LINUX_LIVE}\ntitle\t\tDebian GNU/Linux - ${LABEL}" - LINUX_LIVE="${LINUX_LIVE}\nkernel\t\t/${KERNEL} boot=${INITFS} config LB_BOOTAPPEND_LIVE ${APPEND}" + LINUX_LIVE="${LINUX_LIVE}\nkernel\t\t/${KERNEL} ${INITFS:+boot=${INITFS} }config LB_BOOTAPPEND_LIVE ${APPEND}" LINUX_LIVE="${LINUX_LIVE}\ninitrd\t\t/${INITRD}" } @@ -125,6 +125,10 @@ case "${LB_INITRAMFS}" in live-boot) INITFS="live" ;; + + *) + INITFS="" + ;; esac # Setting destination directory @@ -138,6 +142,10 @@ case "${LB_BINARY_IMAGES}" in live-boot) DESTDIR_LIVE="binary/live" ;; + + *) +DESTDIR_LIVE="binary/boot" +;; esac DESTDIR_INSTALL="binary/install" diff --git a/scripts/build/lb_binary_grub2 b/scripts/build/lb_binary_grub2 index 8f076b2..b029891 100755 --- a/scripts/build/lb_binary_grub2 +++ b/scripts/build/lb_binary_grub2 @@ -68,7 +68,7 @@ Grub_live_entry () APPEND="${4}" LINUX_LIVE="${LINUX_LIVE}\nmenuentry \"Debian GNU/Linux - ${LABEL}\" {" - LINUX_LIVE="${LINUX_LIVE}\nlinux\t\t/${KERNEL} boot=${INITFS} config LB_BOOTAPPEND_LIVE ${APPEND}" + LINUX_LIVE="${LINUX_LIVE}\nlinux\t\t/${KERNEL} ${INITFS:+boot=${INITFS} }config LB_BOOTAPPEND_LIVE ${APPEND}" LINUX_LIVE="${LINUX_LIVE}\ninitrd\t\t/${INITRD}" LINUX_LIVE="${LINUX_LIVE}\n}" } @@ -99,6 +99,10 @@ case "${LB_INITRAMFS}" in live-boot) INITFS="live" ;; + + *) + INITFS="" + ;; esac # Setting destination directory @@ -112,6 +116,10 @@ case "${LB_BINARY_IMAGES}" in live-boot) DESTDIR_LIVE="binary/live" ;; + + *) +DESTDIR_LIVE="binary/live" +;; esac DESTDIR_INSTALL="binary/install" diff --git a/scripts/build/lb_binary_manifest b/scripts/build/lb_binary_manifest index 4b49133..0ae9051 100755 --- a/scripts/build/lb_binary_manifest +++ b/scripts/build/lb_binary_manifest @@ -53,6 +53,11 @@ case "${LB_INITRAMFS}" in INITFS="live" SUFFIX="packages" ;; + + *) + INITFS="boot" + SUFFIX="packages" + ;; esac # Add filesystem.packages diff --git a/scripts/build/lb_binary_memtest b/scripts/build/lb_binary_memtest index a539ee6..8155b14 100755 --- a/scripts/build/lb_binary_memtest +++ b/scripts/build/lb_binary_memtest @@ -87,6 +87,10 @@ case "${LB_INITRAMFS}" in live-boot) DESTDIR="binary/live" ;; + + *) + DESTDIR="binary/boot" + ;; esac Check_multiarchitectures diff --git a/scripts/build/lb_binary_net b/scripts/build/lb_binary_net index 9cac050..133a203 100755 --- a/scripts/build/lb_binary_net +++ b/scripts/build/lb_binary_net @@ -69,6 +69,10 @@ then live-boot) ORIGDIR="binary/live" ;; + + *) + ORIGDIR="binary/boot" + ;; esac # Find defaults diff --git a/scripts/build/lb_binary_rootfs b/scripts/build/lb_binary_rootfs index 85785fc..417c381 100755 --- a/scripts/build/lb_binary_rootfs +++ b/scripts/build/lb_binary_rootfs @@ -56,6 +56,10 @@ case "${LB_INITRAMFS}" in live-boot) INITFS="live" ;; + + *) + INITFS="boot" + ;
Bug#629533: use mkfs.ext2/mkfs.ext3 instead of genext2fs
Package: live-build Version: 3.0~a18-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric genext2fs doesn't work very well with even moderately large filesystems. It wants to allocate memory roughly equivalent to the size of the filesystem it's creating. On my 2GB test filesystem, it runs out of memory even on my fairly well-provisioned laptop; on an ARM build machine, I expect that using it would be thoroughly infeasible. The attached patch converts live-build to use mkfs.ext2/mkfs.ext3 instead. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 0d598fbff7f17f87a19450686c2e514ec03a4992 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Tue, 7 Jun 2011 14:46:25 +0100 Subject: [PATCH] Use mkfs.ext2/mkfs.ext2 instead of genext2fs. --- debian/control |2 +- debian/live-build.bug-script |2 +- scripts/build/lb_binary_rootfs | 31 --- scripts/build/lb_source_debian |1 - 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/debian/control b/debian/control index 57d60e6..3d00d98 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,7 @@ Depends: ${misc:Depends}, debootstrap | cdebootstrap | cdebootstrap-static Recommends: cpio, gettext-base, gnu-fdisk Suggests: dosfstools, genisoimage, memtest86+ | memtest86, mtools, parted, - squashfs-tools | genext2fs | mtd-tools, sudo | fakeroot, syslinux | grub, + squashfs-tools | mtd-tools, sudo | fakeroot, syslinux | grub, uuid-runtime, win32-loader Description: Debian Live - System Build Scripts live-build contains the scripts that build a Debian Live system image from a diff --git a/debian/live-build.bug-script b/debian/live-build.bug-script index c0e56f0..0cf407a 100644 --- a/debian/live-build.bug-script +++ b/debian/live-build.bug-script @@ -6,7 +6,7 @@ DEFAULT_SETTINGS="/etc/live/build.conf" dpkg -l debootstrap cdebootstrap # Checking suggests -dpkg -l dosfstools genisoimage memtest86+ memtest86 mtools parted squashfs-tools genext2fs mtd-tools sudo fakeroot syslinux grub uuid-runtime win32-loader +dpkg -l dosfstools genisoimage memtest86+ memtest86 mtools parted squashfs-tools mtd-tools sudo fakeroot syslinux grub uuid-runtime win32-loader if [ -e "${DEFAULT_SETTINGS}" ]; then echo "Contents of ${DEFAULT_SETTINGS}:" diff --git a/scripts/build/lb_binary_rootfs b/scripts/build/lb_binary_rootfs index 417c381..70a6dc7 100755 --- a/scripts/build/lb_binary_rootfs +++ b/scripts/build/lb_binary_rootfs @@ -90,7 +90,7 @@ done case "${LB_CHROOT_FILESYSTEM}" in ext2|ext3) # Checking depends - Check_package chroot/usr/bin/genext2fs genext2fs + Check_package chroot/sbin/mkfs.ext2 e2fsprogs # Restoring cache Restore_cache cache/packages_binary @@ -106,21 +106,30 @@ case "${LB_CHROOT_FILESYSTEM}" in case "${LB_BUILD_WITH_CHROOT}" in true) -DU_DIM="$(du -ks chroot/chroot | cut -f1)" +DU_DIM="$(du -ms chroot/chroot | cut -f1)" +INODES="$(find chroot/chroot | wc -l)" ;; false) -DU_DIM="$(du -ks chroot | cut -f1)" +DU_DIM="$(du -ms chroot | cut -f1)" +INODES="$(find chroot | wc -l)" ;; esac REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_CHROOT_FILESYSTEM})" - - RESERVED_PERCENTAGE="--reserved-percentage" + REAL_INODES="$(Calculate_partition_size ${INODES} ${LB_CHROOT_FILESYSTEM})" case "${LB_BUILD_WITH_CHROOT}" in true) -Chroot chroot "genext2fs --size-in-blocks=${REAL_DIM} ${RESERVED_PERCENTAGE}=0 --root=chroot filesystem.${LB_CHROOT_FILESYSTEM}" +dd if=/dev/zero of=chroot/filesystem.${LB_CHROOT_FILESYSTEM} bs=1024k count=0 seek=${REAL_DIM} +Chroot chroot "mkfs.${LB_CHROOT_FILESYSTEM} -F -b 1024 -N ${REAL_INODES} -m 0 filesystem.${LB_CHROOT_FILESYSTEM}" + +mkdir -p filesystem.tmp +${LB_ROOT_COMMAND} mount -o loop chroot/filesystem.${LB_CHROOT_FILESYSTEM} filesystem.tmp +cp -a chroot/chroot/* filesystem.tmp + +${LB_ROOT_COMMAND} umount filesystem.tmp +rmdir filesystem.tmp # Move image mv chroot/filesystem.${LB_CHROOT_FILESYSTEM} binary/${INITFS} @@ -177,7 +186,15 @@ case "${LB_CHROOT_FILESYSTEM}" in ;; false) -genext2fs --size-in-blocks=${REAL_DIM} ${RESERVED_PERCENTAGE}=0 --root=chroot binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} +dd if=/dev/zero of=binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} bs=1024k count=0 seek=${REAL_DIM} +mkfs.${LB_CHROOT_FILESYSTEM} -F -b 1024 -N ${REAL_INODES} -m 0 binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} + +mkdir -p filesystem.tmp +${LB_ROOT_COMMAND} mount -o loop binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} filesystem.tmp +cp -a chroot/* filesystem.tmp + +${
Bug#627887: add support for jasper initramfs system
On Wed, Jun 08, 2011 at 10:10:18AM +0200, Daniel Baumann wrote: > On 06/07/2011 03:39 PM, Colin Watson wrote: > > This should make '--initramfs none' generally > > work more consistently, mostly by filling in a few entries in case > > statements. > > applied, thanks. > > for the case of jasper, does it require any special treatment, or is all > that lb is doing with '--initramfs none' already enough? I'm still verifying (and probably won't be *entirely* certain until we make the switch in production ...), but at this point I think that '--initramfs none --packages jasper' is enough to make it work. Thanks. -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110608095054.gl23...@riva.ucam.org
Bug#629637: add option to create swap file in image
Package: live-build Version: 3.0~a18-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric livecd-rootfs has a facility to create an empty swap file on ext2/ext3 images, which Ubuntu's boot scripts then deal with using or deleting as appropriate at the first boot. Apparently this cuts three minutes off the boot time of our preinstalled (jasper-based) images on ARM. This seems like a sufficiently useful facility (at least relative to ext2/ext3 images) that it would be nice to have it as options rather than hooks. Patch attached. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 5ae2040d7c8470d7488993e0069d827e56aa8be5 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Wed, 8 Jun 2011 11:30:29 +0100 Subject: [PATCH] Add --swap-file-path and --swap-file-size options. --- functions/defaults.sh |3 +++ manpages/en/lb_config.1 |4 scripts/build/lb_chroot_hacks |5 + scripts/build/lb_config | 22 +- 4 files changed, 33 insertions(+), 1 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index e26f1ac..7c9d288 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -1102,6 +1102,9 @@ Set_defaults () ;; esac + # Setting swap file + LB_SWAP_FILE_SIZE="${LB_SWAP_FILE_SIZE:-512}" + ## config/source # Setting source option diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index f1204b0..9e2f858 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -474,6 +474,10 @@ defines if the security repositories specified in the security mirror options sh defines if a corresponding source image to the binary image should be build. By default this is false because most people do not require this and would require to download quite a few source packages. However, once you start distributing your live image, you should make sure you build it with a source image alongside. .IP "\-s|\fB\-\-source\-images\fR iso|net|tar|usb\-hdd" 4 defines the image type for the source image. Default is tar. +.IP "\fB\-\-swap\-file\-path\fR \fIPATH\fR" 4 +defines the path to a swap file to create in the binary image. Default is not to create a swap file. +.IP "\fB\-\-swap\-file\-size\fR \fIMB\fR" 4 +defines what size in megabytes the swap file should be, if one is to be created. Default is 512MB. .IP "\fB\-\-syslinux\-splash\fR \fIFILE\fR" 4 defines the file of the syslinux splash graphic that should be used instead of the default one. .IP "\fB\-\-syslinux\-timeout\fR \fISECONDS\fR" 4 diff --git a/scripts/build/lb_chroot_hacks b/scripts/build/lb_chroot_hacks index bbb39ce..f9e11dd 100755 --- a/scripts/build/lb_chroot_hacks +++ b/scripts/build/lb_chroot_hacks @@ -314,6 +314,11 @@ then ln -s /proc/mounts chroot/etc/mtab fi +if [ "${LB_SWAP_FILE_PATH}" ]; then + dd if=/dev/zero of="chroot/${LB_SWAP_FILE_PATH}" bs=1024k count="${LB_SWAP_FILE_SIZE}" + mkswap "chroot/${LB_SWAP_FILE_PATH}" +fi + # Show popular warnings if [ -e chroot/etc/init.d/resolvconf ] then diff --git a/scripts/build/lb_config b/scripts/build/lb_config index 2f49557..f129255 100755 --- a/scripts/build/lb_config +++ b/scripts/build/lb_config @@ -135,6 +135,8 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\ \t[--security true|false]\n\ \t[--source true|false]\n\ \t[-s|--source-images iso|net|tar|usb-hdd]\n\ +\t[--swap-file-path PATH]\n\ +\t[--swap-file-size MB]\n\ \t[--syslinux-theme THEME_SUFFIX]\n\ \t[--tasksel apt|aptitude|tasksel]\n\ \t[--tasks TASK|\"TASKS\"]\n\ @@ -166,7 +168,7 @@ Local_arguments () grub-splash:,hostname:,isohybrid-options:,iso-application:,iso-preparer:,iso-publisher:, iso-volume:,jffs2-eraseblock:,memtest:,net-root-filesystem:,net-root-mountoptions:, net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:, - net-cow-server:,net-tarball:,syslinux-theme:, + net-cow-server:,net-tarball:,swap-file-path:,swap-file-size:,syslinux-theme:, username:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, help,ignore-system-defaults,quiet,usage,verbose,version" # Remove spaces added by indentation @@ -754,6 +756,16 @@ Local_arguments () shift 2 ;; + --swap-file-path) +LB_SWAP_FILE_PATH="${2}" +shift 2 +;; + + --swap-file-size) +LB_SWAP_FILE_SIZE="${2}" +shift 2 +;; + --syslinux-theme) LB_SYSLINUX_THEME="${2}" shift 2 @@ -1375,6 +1387,14 @@ LB_NET_COW_SERVER="${LB_NET_COW_SERVER}" # (Default: ${LB_NET_TARBALL}) LB_NET_TARBALL="${LB_NET_TARBALL}" +# \$LB_SWAP_FILE_PATH: set swap file path +# (Default: ${LB_SWAP_FILE_PATH}) +LB_SWAP_FILE_PATH="${LB_SWAP_FILE_PATH}"
Bug#627439: handling Ubuntu's multiple manifest scheme
On Fri, May 20, 2011 at 05:25:45PM +0100, Colin Watson wrote: > live-build doesn't currently support this kind of two-stage installation > except by means of local hooks, and as explained in > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627332#25 I would like > to find a way to do this without local hooks. I'm happy to do the > implementation work, but do you have any ideas on a nice way to do this > within the structure of live-build? I've ended up with the attached patch for now. How does this look? As discussed on IRC, I guess you'll want a different way to handle package lists; I'm only using tasks and a couple of individual packages, so I'm not really well-placed to judge how package lists might work here. -- Colin Watson [cjwat...@ubuntu.com] >From e8c24f24dcce3828875736995b1b5d2ed86b62f5 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 10 Jun 2011 11:59:51 +0100 Subject: [PATCH] Add --live-package-lists, --live-packages, and --live-tasks options for Ubuntu. --- manpages/en/lb_config.1| 12 + scripts/build/lb_chroot| 18 +++ scripts/build/lb_chroot_initramfs | 52 scripts/build/lb_chroot_install-packages | 22 +++- scripts/build/lb_chroot_linux-image| 12 - scripts/build/lb_chroot_local-packagelists | 26 -- scripts/build/lb_chroot_local-packages | 24 +++-- scripts/build/lb_chroot_manifest | 73 scripts/build/lb_chroot_packagelists | 26 -- scripts/build/lb_chroot_packages | 26 -- scripts/build/lb_chroot_tasks | 30 +--- scripts/build/lb_clean |2 +- scripts/build/lb_config| 33 - 13 files changed, 311 insertions(+), 45 deletions(-) create mode 100755 scripts/build/lb_chroot_initramfs create mode 100755 scripts/build/lb_chroot_manifest diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1 index 9e2f858..542ebfa 100644 --- a/manpages/en/lb_config.1 +++ b/manpages/en/lb_config.1 @@ -135,6 +135,12 @@ .br [\fB\-\-linux\-packages\fR \fI"PACKAGES"\fR] .br + [\fB\-\-live\-package\-lists\fR \fILIST\fR|\fI"LISTS"\fR] +.br + [\fB\-\-live\-packages\fR \fIPACKAGE\fR|\fI"PACKAGES"\fR] +.br + [\fB\-\-live\-tasks\fR \fITASK\fR|"\fITASKS\fR"] +.br [\fB\-\-losetup\fR losetup|losetup.orig] .br [\fB\-\-memtest\fR memtest86+|memtest86|none] @@ -383,6 +389,12 @@ sets the language of a live system by installing l10n related packages. It doesn sets the kernel flavours to be installed. Note that in case you specify more than that the first will be configured the default kernel that gets booted. .IP "\fB\-\-linux\-packages\fR ""\fIPACKAGES\fR""" 4 sets the internal name of the kernel packages naming scheme. If you use debian kernel packages, you will not have to adjust it. If you decide to use custom kernel packages that do not follow the debian naming scheme, remember to set this option to the stub of the packages only (for debian this is linux\-image\-2.6), so that \fISTUB\fR-\fIFLAVOUR\fR results in a valid package name (for debian e.g. linux\-image\-2.6\-486). Preferably you use the meta package name, if any, for the stub, so that your configuration is ABI independent. Also don't forget that you have to include stubs of the binary modules packages for unionfs or aufs, and squashfs if you built them out-of-tree. +.IP "\fB\-\-live\-package\-lists\fR \fILIST\fR|""\fILISTS\fR""" 4 +defines which lists available in /usr/share/live/build/lists should be used for the second installation pass. By default, no lists are used. Note that in case you have local package lists, you don't need to list them here. Putting them into config/chroot_local-packagelists is enough (the filename needs to have the .list suffix though). Packages installed in the first pass rather than the second will be listed in a separate manifest file (ending in "\-desktop"); an installer which is aware of this can arrange for only packages from the first pass to end up on an installed system. +.IP "\fB\-\-live\-packages\fR \fIPACKAGE\fR|""\fIPACKAGES\fR""" 4 +defines one or more packages to be installed in the live system for the second installation pass. This is a quick and convenient place to add a few packages when building an image (limited by the max length of shell). Packages that should be permanently installed should be put into a local packages list. +.IP "\fB\-\-live\-tasks\fR \fITASK\fR|""\fITASKS\fR""" 4 +defines one or more package tasks to be installed in the live system for the second installation pass. This is a quick and convenient way to get a r
Bug#630032: correct default powerpc kernel flavours for Ubuntu
Package: live-build Version: 3.0~a18-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric live-build defaults to using the powerpc and powerpc64 kernel flavours. However, there's no powerpc64 kernel flavour in Ubuntu, only powerpc, powerpc-smp, and powerpc64-smp. livecd-rootfs uses powerpc and powerpc64-smp by default, which I think is reasonable. Patch attached. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 8039e96eca5429d18811acec25e91d3fce8b572a Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 10 Jun 2011 14:34:00 +0100 Subject: [PATCH] Use powerpc and powerpc64-smp kernel flavours by default for Ubuntu, as there is no powerpc64 flavour. --- functions/defaults.sh | 12 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 7c9d288..5375475 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -673,6 +673,18 @@ Set_defaults () exit 1 ;; +ubuntu) + case "${LIST}" in + stripped|minimal) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc}" + ;; + + *) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc powerpc64-smp}" + ;; + esac + ;; + *) case "${LIST}" in stripped|minimal) -- 1.7.5.3
Bug#630043: use dpkg --force-unsafe-io if available
Package: live-build Version: 3.0~a18-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric The --force-unsafe-io option was introduced in dpkg 1.15.8.6 (see #584254). It's useful for cases where it doesn't matter if unpacked files are properly preserved across power failures, and live image builds were one of the main use cases we were thinking about: in the case of an interrupted live image build, you'd just 'lb clean' and start again. Thus, it seems sensible to use it across the board if it's available. Patch attached. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From b94c12fdc9a2a19b52317181316c5fe0f5b7584e Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 10 Jun 2011 15:57:32 +0100 Subject: [PATCH] Use dpkg --force-unsafe-io if available. --- scripts/build/lb_chroot_dpkg | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/scripts/build/lb_chroot_dpkg b/scripts/build/lb_chroot_dpkg index 64c8085..819dbda 100755 --- a/scripts/build/lb_chroot_dpkg +++ b/scripts/build/lb_chroot_dpkg @@ -53,6 +53,14 @@ EOF chmod 755 chroot/sbin/start-stop-daemon + # Disable dpkg syncing + if echo 'dpkg --compare-versions "$(dpkg-query -W --showformat="\${Version}" dpkg)" ge 1.15.8.6' | Chroot chroot sh + then + cat > chroot/etc/dpkg/dpkg.cfg.d/live-build << EOF +force-unsafe-io +EOF + fi + # Manual hacks for special packages # samhain @@ -95,6 +103,9 @@ EOF mv chroot/sbin/start-stop-daemon.orig chroot/sbin/start-stop-daemon fi + # Remove dpkg sync configuration + rm -f chroot/etc/dpkg/dpkg.cfg.d/live-build + # Removing stage file rm -f .stage/chroot_dpkg ;; -- 1.7.5.3
Bug#630080: some Ubuntu mirror defaults are incorrect
Package: live-build Version: 3.0~a18-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric Standard practice in Ubuntu is to use security.ubuntu.com for *-security and archive.ubuntu.com for *-updates (the latter of which is "volatile" in live-build terms, although that's really a pretty inaccurate mapping). However, live-build has the defaults the wrong way round in a few places, leading to this sources.list in the binary image: deb http://archive.ubuntu.com/ubuntu/ natty main restricted deb http://archive.ubuntu.com/ubuntu/ natty-security main restricted deb http://security.ubuntu.com/ubuntu/ natty-updates main restricted That's just weird. I would expect: deb http://archive.ubuntu.com/ubuntu/ natty main restricted deb http://security.ubuntu.com/ubuntu/ natty-security main restricted deb http://archive.ubuntu.com/ubuntu/ natty-updates main restricted The attached patch fixes the defaults. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 179b4f3635e9922783773b3e378fd61a28efbb0f Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 10 Jun 2011 17:41:07 +0100 Subject: [PATCH] Fix incorrect Ubuntu defaults for security and volatile mirrors. --- functions/defaults.sh |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 5375475..0e6a34c 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -385,7 +385,7 @@ Set_defaults () ubuntu) case "${LB_ARCHITECTURES}" in amd64|i386) - LB_PARENT_MIRROR_CHROOT_VOLATILE="${LB_PARENT_MIRROR_CHROOT_VOLATILE:-http://security.ubuntu.com/ubuntu/}"; + LB_PARENT_MIRROR_CHROOT_VOLATILE="${LB_PARENT_MIRROR_CHROOT_VOLATILE:-http://archive.ubuntu.com/ubuntu/}"; ;; *) @@ -471,7 +471,7 @@ Set_defaults () ubuntu) case "${LB_ARCHITECTURES}" in amd64|i386) - LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-http://archive.ubuntu.com/ubuntu/}"; + LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-http://security.ubuntu.com/ubuntu/}"; ;; *) @@ -498,7 +498,7 @@ Set_defaults () ubuntu) case "${LB_ARCHITECTURES}" in amd64|i386) - LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-http://security.ubuntu.com/ubuntu/}"; + LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-http://archive.ubuntu.com/ubuntu/}"; ;; *) -- 1.7.5.3
Bug#630088: hook to remove GNOME icon cache
Package: live-build Version: 3.0~a18-1 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric The Kubuntu developers don't want to ship icon-theme.cache files; apparently they're mainly GNOME-specific and can be rather large. The attached hook can be set up to remove them. Feel free to rename it - I wasn't sure what kind of namespacing you wanted to use. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 82775076288542fa9258b079fdc75479b3a735ee Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 10 Jun 2011 18:17:57 +0100 Subject: [PATCH] Add Kubuntu hook to remove GNOME icon cache. --- examples/hooks/kubuntu_chroot_icon-theme.sh |8 1 files changed, 8 insertions(+), 0 deletions(-) create mode 100755 examples/hooks/kubuntu_chroot_icon-theme.sh diff --git a/examples/hooks/kubuntu_chroot_icon-theme.sh b/examples/hooks/kubuntu_chroot_icon-theme.sh new file mode 100755 index 000..0aaa653 --- /dev/null +++ b/examples/hooks/kubuntu_chroot_icon-theme.sh @@ -0,0 +1,8 @@ +#! /bin/sh + +# This is a hook for live-build(7) to remove the GNOME icon cache for +# Kubuntu builds. +# To enable it, copy or symlink this hook into your config/chroot_local-hooks +# directory. + +rm -f /usr/share/icons/*/icon-theme.cache -- 1.7.5.3
Bug#630089: timestamped build logs?
Package: live-build Version: 3.0~a18-1 Severity: wishlist User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu oneiric It might be nice to have timestamped build logs. That would make it easy to see which parts of a build were taking a long time and thus work out targets for optimisation. We did this in livecd-rootfs a while back and it was quite helpful. For example, perhaps the lb wrapper script could (be configured to) print the current time before starting a command? Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110610172700.gz23...@riva.ucam.org
Bug#630043: use dpkg --force-unsafe-io if available
On Sat, Jun 11, 2011 at 01:36:18PM +0200, Daniel Baumann wrote: > On 06/10/2011 05:02 PM, Colin Watson wrote: > >The --force-unsafe-io option was introduced in dpkg 1.15.8.6 (see > >#584254). It's useful for cases where it doesn't matter if unpacked > >files are properly preserved across power failures, and live image > >builds were one of the main use cases we were thinking about: in the > >case of an interrupted live image build, you'd just 'lb clean' and start > >again. Thus, it seems sensible to use it across the board if it's > >available. Patch attached. > > applied but without the version check, we're supporting >=squeeze > only anyway. That will break Ubuntu maverick and earlier; not that I'm going to be using live-build for those, but I believe Cody Somerville does. -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/2011064553.gb23...@riva.ucam.org
Bug#630043: use dpkg --force-unsafe-io if available
On Sat, Jun 11, 2011 at 01:51:33PM +0200, Daniel Baumann wrote: > On 06/11/2011 01:45 PM, Colin Watson wrote: > >That will break Ubuntu maverick and earlier; not that I'm going to be > >using live-build for those, but I believe Cody Somerville does. > > cody doesn't use live-build directly, he's hand-picking to his own > bzr branch somewhere. shouldn't be a problem to skip 01a5160. Fair enough, then. -- Colin Watson [cjwat...@debian.org] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110611120410.gc23...@riva.ucam.org
Bug#630350: divert flash-kernel aside while building the chroot
Package: live-build Version: 3.0~a20-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric On ARM systems with flash-kernel installed, update-initramfs (at least; possibly the kernel too) will try to install the new kernel and initramfs into flash. While this is fine for normal systems, it's not a sane thing to do when building a live filesystem for another machine. The simplest way to avoid this seems to be to divert flash-kernel aside while building the chroot. Patch attached. (livecd-rootfs did this by setting a FLASH_KERNEL_SKIP=1 environment variable, but that's difficult to support in live-build because of the way the Chroot function cleans the environment, and in any case a diversion is much neater.) Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 8d0ba280480ac80928633fe631dfa6c87dc791d7 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 13 Jun 2011 10:24:37 +0100 Subject: [PATCH] Divert flash-kernel aside while building the chroot. --- scripts/build/lb_chroot_dpkg |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/scripts/build/lb_chroot_dpkg b/scripts/build/lb_chroot_dpkg index 25795a3..3194c04 100755 --- a/scripts/build/lb_chroot_dpkg +++ b/scripts/build/lb_chroot_dpkg @@ -70,6 +70,10 @@ EOF touch /var/state/samhain/samhain_file fi + # flash-kernel + Chroot chroot dpkg-divert --rename --add /usr/sbin/flash-kernel + ln -s /bin/true chroot/usr/sbin/flash-kernel + # Creating stage file Create_stagefile .stage/chroot_dpkg ;; @@ -85,6 +89,10 @@ EOF # Manual hacks for special packages + # flash-kernel + rm -f chroot/usr/sbin/flash-kernel + Chroot chroot dpkg-divert --rename --remove /usr/sbin/flash-kernel + # samhain if [ -e /var/state/samhain/samhain_file.orig ] then -- 1.7.5.3
Bug#627665: option to remove kernel+initrd from compressed filesystem
On Mon, Jun 13, 2011 at 08:21:52PM +0200, Daniel Baumann wrote: > Adding an own option just for excluding the kernel and initrd seems like > not worth it; rather, the already existing config/chroot_rootfs/excludes > should be used. that solves the task of excluding files in a generic way. That would work better if lb_rootfs passed -wildcards to mksquashfs. As it is, the excludes file is a poor fit for this because it doesn't support wildcards when building a squashfs; the exact kernel/initrd filenames change often. (Note that the excludes file *does* support wildcards if squashfs isn't being used.) -- Colin Watson [cjwat...@ubuntu.com] >From a6a3be14ab3238f515af2928006a446e14d44fdb Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Mon, 13 Jun 2011 19:36:30 +0100 Subject: [PATCH] Pass -wildcards to mksquashfs if using an excludes file. --- scripts/build/lb_binary_rootfs |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/lb_binary_rootfs b/scripts/build/lb_binary_rootfs index 70a6dc7..754a7c2 100755 --- a/scripts/build/lb_binary_rootfs +++ b/scripts/build/lb_binary_rootfs @@ -357,7 +357,7 @@ case "${LB_CHROOT_FILESYSTEM}" in then cp config/binary_rootfs/excludes chroot/excludes - MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -ef /excludes" + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -wildcards -ef /excludes" fi # Create image @@ -425,7 +425,7 @@ case "${LB_CHROOT_FILESYSTEM}" in false) if [ -e config/binary_rootfs/excludes ] then - MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -ef config/binary_rootfs/excludes" + MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -wildcards -ef config/binary_rootfs/excludes" fi mksquashfs chroot binary/${INITFS}/filesystem.squashfs ${MKSQUASHFS_OPTIONS} -- 1.7.5.4
Ubuntu live filesystem builds moved to live-build
I've moved Ubuntu's live filesystem build process over from our original custom shell script in livecd-rootfs to the newer live-build system from Debian (formerly called live-helper). Thanks in particular to Daniel Baumann for guidance and for speedy upstream patch integration, and to LaMont Jones for deployment assistance. This only affects Oneiric and later releases. Live filesystem builds for previous releases will continue to use livecd-rootfs. Developers who have not needed to modify livecd-rootfs in the past should have no more need to modify it now than before; it still uses tasks in much the same way to decide which packages should be installed. However, people working on Ubuntu live filesystems will need to know how the new build process is laid out. I needed to have somewhere to put configuration anyway, so I repurposed the livecd-rootfs package for that, using auto/* files along the lines of http://live.debian.net/manual/en/html/managing-a-configuration.html. I expect that the exact details may change here as we gain more experience with live-build. Briefly, the current way to reproduce an Ubuntu live filesystem build is to do this in a scratch directory: Once only: $ mkdir -p auto $ ln -sf /usr/share/livecd-rootfs/live-build/auto/* auto/ Each time: $ export PROJECT=ubuntu SUITE=oneiric ARCH=i386 $ sudo lb clean $ lb config $ sudo lb build There were a handful of changes in ubiquity 2.7.6 to cope with slight differences in manifest files and sources.list generation. These only make a difference if you're producing installable live CDs. If you are modifying the live build process for Ubuntu, please remember that we are now working with an upstream codebase: the days of hacking a couple of special-purpose lines into livecd-rootfs are over. While we do have three outstanding patches against upstream right now, they have all been submitted as Debian bug reports (if it's any guide, there were seven outstanding when I started drafting this mail!), and my goal is, if at all possible, to be using an unpatched version of live-build from Debian by the time we release Oneiric. Instead of perpetrating Ubuntu-specific hacks, please consider these alternatives: * live-build has lots and lots of options, and in many cases you can do what you need by tweaking those. * Patch live-build to do what you need, send your patch as a Debian bug, and engage in upstream discussion if necessary. Note that, if need be, you can guard your code with [ "${LB_MODE}" = ubuntu ]. * If necessary, there are various hook script facilities that you can use: for example, scripts in config/chroot_local-hooks/ are run in the chroot near the end of the chroot build process. Try to keep this to a minimum, though; I'm trying to avoid using hook scripts in builds for Ubuntu proper, as it would be better for live-build to do the right thing out of the box without the need for hooks. Right now, the only hook script I'm using is one to remove icon-theme.cache from Kubuntu images. If you have any questions about the Ubuntu integration here, please ask. Cheers, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110613223838.gl23...@riva.ucam.org
Bug#630464: --architectures armel fails unconditionally
Package: live-build Version: 3.0~a21-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric functions/defaults.sh exits 1 in the '--architectures armel' case, saying that you need to use -k/--linux-flavours. It should only do this if --linux-flavours wasn't passed. Patch attached. Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From 7a59a2f54831167f6b352cd616cf51ed4d652bd6 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Tue, 14 Jun 2011 09:02:30 +0100 Subject: [PATCH] Make --architectures armel only fail if --linux-flavours was not passed. --- functions/defaults.sh |8 +--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 4379704..915c90f 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -593,9 +593,11 @@ Set_defaults () # Setting linux flavour string case "${LB_ARCHITECTURES}" in armel) - Echo_error "There is no default kernel flavour defined for your architecture." - Echo_error "Please configure it manually with 'lb config -k FLAVOUR'." - exit 1 + if [ -z "$LB_LINUX_FLAVOURS" ]; then +Echo_error "There is no default kernel flavour defined for your architecture." +Echo_error "Please configure it manually with 'lb config -k FLAVOUR'." +exit 1 + fi ;; amd64) -- 1.7.5.4
Re: Ubuntu live filesystem builds moved to live-build
On Tue, Jun 14, 2011 at 08:52:19AM +0200, Daniel Baumann wrote: > On 06/14/2011 12:38 AM, Colin Watson wrote: > > I've moved Ubuntu's live filesystem build process over from our original > > custom shell script in livecd-rootfs to the newer live-build system from > > Debian (formerly called live-helper). > > nice; would you mind having ubuntu listed on > live.debian.net/project/downstream ? That would be lovely, thanks. Here's a patch, with text from http://www.debian.org/misc/children-distros: diff --git a/project/downstream.mdwn b/project/downstream.mdwn index af589d1..db5ce5d 100644 --- a/project/downstream.mdwn +++ b/project/downstream.mdwn @@ -246,6 +246,16 @@ More information: * [Homepage](http://www.supergrubdisk.org/rescatux/) +## Ubuntu + +[Ubuntu](http://www.ubuntu.com/) is a Linux distribution that starts with the breadth of Debian and adds regular releases (every six months), a clear focus on the user and usability (it should "Just Work", TM) and a commitment to security updates with 18 months of support for every release. Ubuntu ships with the latest GNOME and KDE releases as well as a selection of server and desktop software that makes for a comfortable desktop experience off a single installation CD. + +Ubuntu is sponsored by [Canonical Ltd.](http://www.canonical.com/) + +More information: + + * [Homepage](http://www.ubuntu.com/) + ## Voyage [Voyage](http://linux.voyage.hk/) is best run on a x86 embedded platforms such as PC Engines ALIX/WRAP and Soekris 45xx/48xx boards. > > * If necessary, there are various hook script facilities that you can > >use: for example, scripts in config/chroot_local-hooks/ are run in > >the chroot near the end of the chroot build process. Try to keep > >this to a minimum, though; I'm trying to avoid using hook scripts in > >builds for Ubuntu proper, as it would be better for live-build to do > >the right thing out of the box without the need for hooks. > > let me reaffirm: we'll include any ubuntu modification happily, hooks > really should only be used for specific private modification, any > 'generic' image (like debian or ubuntu; in contrast to a specific image > for a specific institution with hardcoded local defaults) should be > buildable by using live-builds defaults for that distribution. that way, > we can make sure that it's as easy and simple as possible for people to > build customized images on top of debian or ubuntu. Right - in fact I was uncomfortable with even the Kubuntu hook. I'm not sure how to represent that well; it doesn't fit nicely into the --parent-distribution/--distribution scheme, because it's not a full-archive derivative but more a different package selection out of the same archive. > >now, the only hook script I'm using is one to remove icon-theme.cache > >from Kubuntu images. > > this, and the other two outstanding additions (apt-xapian, mlocate) are > blocked until the internals are a bit updated in live-build to scale > nicer for more distributions and more distro specific hooks (adding it > right now would just clutter it some more). anyhow, that should happen > within the next 1 or at latest 2 weeks (#630395). Yes, I noticed the blocking bug you added. Thanks. -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110614084626.gc11...@riva.ucam.org
Bug#630604: LB_PARENT_ARCHIVE_AREAS default handling is wrong
Package: live-build Version: 3.0~a21-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch oneiric --parent-archive-areas seems to be broken, because the default for LB_PARENT_ARCHIVE_AREAS checks whether LB_ARCHIVE_AREAS is already set, not whether LB_PARENT_ARCHIVE_AREAS is already set. Patch attached. (Or is --parent-archive-areas deprecated? I notice that it isn't documented. But then, why does the LB_MODE=progress case do LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-main}"?) Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From c9a8f67ca04635069263ff735ff6e69897e8380b Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Wed, 15 Jun 2011 15:15:34 +0100 Subject: [PATCH] Fix default for LB_PARENT_ARCHIVE_AREAS. --- functions/defaults.sh |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 67b34e4..d026996 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -550,12 +550,12 @@ Set_defaults () ;; ubuntu) - LB_PARENT_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-main restricted}" + LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-main restricted}" LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-${LB_PARENT_ARCHIVE_AREAS}}" ;; *) - LB_PARENT_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-main}" + LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-main}" LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-${LB_PARENT_ARCHIVE_AREAS}}" ;; esac -- 1.7.5.4
Bug#631281: add hook to remove .pyc files
n/runtime.d/*.rtupdate', 'post-rtupdate', python, python) if osextras.find_on_path_root(self.target, 'py3versions'): supported = subprocess.Popen( ['chroot', self.target, 'py3versions', '-s'], stdout=subprocess.PIPE).communicate()[0].rstrip('\n') for python in supported.split(): cachedpython = cache['%s-minimal' % python] if not cachedpython.is_installed: continue version = cachedpython.installed.version run_hooks('/usr/share/python3/runtime.d/*.rtinstall', 'rtinstall', python, '', version) run_hooks('/usr/share/python3/runtime.d/*.rtupdate', 'pre-rtupdate', python, python) run_hooks('/usr/share/python3/runtime.d/*.rtupdate', 'rtupdate', python, python) run_hooks('/usr/share/python3/runtime.d/*.rtupdate', 'post-rtupdate', python, python) finally: install_misc.chroot_cleanup(self.target) Thanks, -- Colin Watson [cjwat...@ubuntu.com] >From b9ed5879f2f293dbde9d4ee8af7a1c495028abcf Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Wed, 22 Jun 2011 15:20:17 +0100 Subject: [PATCH] Add hook to remove .pyc files. --- examples/hooks/all_chroot_pyc-purge.sh |7 +++ scripts/build/lb_chroot_hacks |2 +- 2 files changed, 8 insertions(+), 1 deletions(-) create mode 100755 examples/hooks/all_chroot_pyc-purge.sh diff --git a/examples/hooks/all_chroot_pyc-purge.sh b/examples/hooks/all_chroot_pyc-purge.sh new file mode 100755 index 000..e74820a --- /dev/null +++ b/examples/hooks/all_chroot_pyc-purge.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# This is a hook for live-build(7) to remove byte-compiled Python modules. +# To enable it, copy or symlink this hook into your config/chroot_local-hooks +# directory. + +find /usr -name \*.pyc -print0 | xargs -0r rm -f diff --git a/scripts/build/lb_chroot_hacks b/scripts/build/lb_chroot_hacks index f9e11dd..3f1e582 100755 --- a/scripts/build/lb_chroot_hacks +++ b/scripts/build/lb_chroot_hacks @@ -227,7 +227,7 @@ fi # build the index in the background which will be racy in the context of # live-build. if [ -x chroot/usr/sbin/update-apt-xapian-index ]; then - Chroot chroot /usr/sbin/update-apt-xapian-index --force --quiet + Chroot chroot PYTHONDONTWRITEBYTECODE=1 /usr/sbin/update-apt-xapian-index --force --quiet fi # Remove build systems clock drift -- 1.7.5.4
Bug#630089: timestamped build logs?
On Sat, Jun 11, 2011 at 01:39:44PM +0200, Daniel Baumann wrote: > On 06/10/2011 07:27 PM, Colin Watson wrote: > >For example, perhaps the lb wrapper script could (be configured to) > >print the current time before starting a command? > > patch welcome :) Sorry for the delay. How about this? You have to set _VERBOSE="true" by hand since 'lb config' comments it out, but I think that's OK, and it makes this patch about as minimally intrusive as I could manage. diff --git a/scripts/build/lb b/scripts/build/lb index 58c1d12..03b7b47 100755 --- a/scripts/build/lb +++ b/scripts/build/lb @@ -39,21 +39,26 @@ case "${1}" in ;; *) + Read_conffiles config/common + COMMAND="lb_${1}" shift if [ -x "${LB_BASE}/scripts/build/${COMMAND}" ] then - LB=1 exec "${LB_BASE}/scripts/build/${COMMAND}" "${@}" + SCRIPT="${LB_BASE}/scripts/build/${COMMAND}" elif [ -x /usr/share/live/build/scripts/build/${COMMAND} ] then - LB=1 exec /usr/share/live/build/scripts/build/"${COMMAND}" "${@}" + SCRIPT=/usr/share/live/build/scripts/build/"${COMMAND}" elif [ -x "$(which ${COMMAND} 2>/dev/null)" ] then - LB=1 exec "${COMMAND}" "${@}" + SCRIPT="${COMMAND}" else Echo_error "no such script" exit 1 fi + + Echo_verbose "%s: Running %s" "$(date -R)" "${COMMAND} ${@}" + LB=1 exec "${SCRIPT}" "${@}" ;; esac Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120112171404.gn9...@riva.dynamic.greenend.org.uk
Bug#630089: timestamped build logs?
On Thu, Jan 12, 2012 at 06:56:48PM +0100, Daniel Baumann wrote: > On 01/12/2012 06:14 PM, Colin Watson wrote: > > Echo_verbose "%s: Running %s" "$(date -R)" "${COMMAND} ${@}" > > this will produce rather longish-imho-not-eye-friendly messages in the > style of > > Thu, 12 Jan 2012 18:52:01 +0100 Running lb foo --verbose > > i'd prefere something shorter, like: > > [2012-01-12 18:51:35] lb foo --verbose Fair enough. > maybe we could even use that by default, what do you think? Oh, well that certainly simplifies things if you're happy with that, and I expect I'd find that useful. Updated patch follows. diff --git a/scripts/build/lb b/scripts/build/lb index 58c1d12..4bb76cb 100755 --- a/scripts/build/lb +++ b/scripts/build/lb @@ -44,16 +44,19 @@ case "${1}" in if [ -x "${LB_BASE}/scripts/build/${COMMAND}" ] then - LB=1 exec "${LB_BASE}/scripts/build/${COMMAND}" "${@}" + SCRIPT="${LB_BASE}/scripts/build/${COMMAND}" elif [ -x /usr/share/live/build/scripts/build/${COMMAND} ] then - LB=1 exec /usr/share/live/build/scripts/build/"${COMMAND}" "${@}" + SCRIPT=/usr/share/live/build/scripts/build/"${COMMAND}" elif [ -x "$(which ${COMMAND} 2>/dev/null)" ] then - LB=1 exec "${COMMAND}" "${@}" + SCRIPT="${COMMAND}" else Echo_error "no such script" exit 1 fi + + Echo "[%s] %s" "$(date +'%F %T')" "${COMMAND} ${*}" + LB=1 exec "${SCRIPT}" "${@}" ;; esac Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120112183657.go9...@riva.dynamic.greenend.org.uk
Re: Questions regarding diversion of flash-kernel while building chroot
On Fri, Mar 02, 2012 at 12:50:36AM -0500, Cody A.W. Somerville wrote: > I was curious why it is necessary to use dpkg-divert to temporarily > disable /usr/sbin/flash-kernel per your patch accepted to live-build > upstream but not start-stop-daemon which is instead just moved aside > with mv a few lines above. Is it to properly handle the case where > the file is updated via package upgrade? If so, I assume the other > instances like start-stop-daemon need to be fixed to use dpkg-divert > as well? start-stop-daemon is installed as part of the base system, before lb_chroot_dpkg runs. flash-kernel is not, and if it's going to be installed then it will be installed after flash-kernel. This means that the requirements are different. I'm not sure whether it's possible for dpkg to be upgraded in the context of a live-build run. If it is, then start-stop-daemon needs to be handled using dpkg-divert; otherwise, it isn't necessary. > Additionally, I see you symlink /bin/true from outside the chroot to > act as a dummy /usr/sbin/flash-kernel. No, symlinks don't work that way. The result of 'ln -s /bin/true chroot/usr/sbin/flash-kernel' is that chroot/usr/sbin/flash-kernel becomes a symlink inode with the text '/bin/true', which is resolved at the point when it's opened, not before. If you open /usr/sbin/flash-kernel inside the chroot, then you'll get /bin/true inside the chroot. It's not possible to create a symlink that will result in the contents of a file outside the chroot when opened inside the chroot. > This is problematic if the (E)ABI between the host system and chroot > system are incompatible (eg. armel host and armhf chroot) as the > binary will not be executable and thus most likely cause the build to > fail if flash-kernel is called. I've filed bug #661871 in Debian BTS > regarding this. IMO this bug should be closed as invalid. Cheers, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120302203834.gd5...@riva.dynamic.greenend.org.uk
Bug#685534: live-build: chroot hooks broken
Package: live-build Version: 3.0~a57-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch quantal LB_CHROOT_HOOKS doesn't work, because lb_chroot_hooks looks for the wrong file names. Here's a patch. diff --git a/scripts/build/lb_chroot_hooks b/scripts/build/lb_chroot_hooks index 0ccfe2b..9d781f4 100755 --- a/scripts/build/lb_chroot_hooks +++ b/scripts/build/lb_chroot_hooks @@ -54,7 +54,7 @@ for _HOOK in ${LB_CHROOT_HOOKS} do for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks do - if [ -e "${LOCATION}/hooks/???-${_HOOK}.binary" ] + if [ -e "${LOCATION}/hooks/???-${_HOOK}.chroot" ] then mkdir -p chroot/root/lb_chroot_hooks cp "${LOCATION}"/hooks/???-"${_HOOK}".chroot chroot/root/lb_chroot_hooks Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120821173330.gd8...@riva.dynamic.greenend.org.uk
Bug#685534: live-build: chroot hooks broken
On Tue, Aug 21, 2012 at 06:33:30PM +0100, Colin Watson wrote: > LB_CHROOT_HOOKS doesn't work, because lb_chroot_hooks looks for the > wrong file names. Here's a patch. It was actually more broken than I thought. Wildcard expansion inside quotes isn't going to work; it was looking inside an extra level of "hooks/" directories; and the "continue" effectively at the end of a for-loop body was entirely pointless, so I removed it (if you want to put it back, it probably ought to be something like "break 2" instead). Index: b/scripts/build/lb_chroot_hooks === --- a/scripts/build/lb_chroot_hooks +++ b/scripts/build/lb_chroot_hooks @@ -54,12 +54,14 @@ do for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks do - if [ -e "${LOCATION}/hooks/???-${_HOOK}.binary" ] - then - mkdir -p chroot/root/lb_chroot_hooks - cp "${LOCATION}"/hooks/???-"${_HOOK}".chroot chroot/root/lb_chroot_hooks - continue - fi + for FILE in "${LOCATION}"/???-"${_HOOK}".chroot + do + if [ -e "${FILE}" ] + then + mkdir -p chroot/root/lb_chroot_hooks + cp "${FILE}" chroot/root/lb_chroot_hooks + fi + done done done Index: b/scripts/build/lb_binary_hooks === --- a/scripts/build/lb_binary_hooks +++ b/scripts/build/lb_binary_hooks @@ -43,17 +43,18 @@ # Running hooks for _HOOK in ${LB_BINARY_HOOKS} do - for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks + for LOCATION in "${LIVE_BUILD}/hooks" /usr/share/live/build/hooks + do + for FILE in "${LOCATION}"/???-"${_HOOK}".binary do - if [ -e "${LOCATION}/hooks/???-${_HOOK}.binary" ] + if [ -e "${FILE}" ] then cd binary - ./"${LOCATION}/hooks/???-${_HOOK}.binary" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} + ./"${FILE}" || { Echo_error "${_HOOK} failed (exit non-zero). You should check for errors."; exit 1 ;} cd "${OLDPWD}" - - continue fi done + done done ## Processing local hooks Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120822123653.ga21...@riva.dynamic.greenend.org.uk
Bug#685669: live-build: wrong default for LB_PARENT_MIRROR_BINARY_VOLATILE with LB_MODE=ubuntu
Package: live-build Version: 3.0~a57-1ubuntu1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch quantal With LB_MODE=ubuntu, the final fallback setting for LB_PARENT_MIRROR_BINARY_VOLATILE is the value of LB_PARENT_MIRROR, which is mentioned nowhere else. I believe this ought to be LB_PARENT_MIRROR_BINARY instead. Index: b/functions/defaults.sh === --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -596,7 +596,7 @@ ;; esac - LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-${LB_PARENT_MIRROR}}" + LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-${LB_PARENT_MIRROR_BINARY}}" ;; *) Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120823081952.gh8...@riva.dynamic.greenend.org.uk
Bug#685675: live-build: minimal and standard are not valid debootstrap variants
Package: live-build Version: 3.0~a57-1 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu ubuntu-patch quantal As of commit 81fb4294538a7204232d3e76195a778df0ee3ee1, lb config --bootstrap-flavour=minimal causes debootstrap to be invoked with --variant=minimal, which produces "E: unsupported variant". This should be --variant=minbase instead. Index: b/scripts/build/lb_bootstrap_debootstrap === --- a/scripts/build/lb_bootstrap_debootstrap +++ b/scripts/build/lb_bootstrap_debootstrap @@ -84,7 +84,18 @@ false) if [ -n "${LB_BOOTSTRAP_FLAVOUR}" ] then - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=${LB_BOOTSTRAP_FLAVOUR}" + case "${LB_BOOTSTRAP_FLAVOUR}" in + minimal) + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=minbase" + ;; + + standard) + ;; + + *) + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=${LB_BOOTSTRAP_FLAVOUR}" + ;; + esac fi ;; esac Thanks, -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120823090734.gi8...@riva.dynamic.greenend.org.uk
Re: Livecd-rootfs
On Thu, Oct 24, 2013 at 10:01:25AM -0600, Sandeep G.R wrote: > I am using livecd-roofs to create a Ubuntu file system for powerpc > 64bit. i have untar the livecd-rootfs and run the command. > > root@Sandeep:/home/sda-14/Downloads/livecd-rootfs-precise#./livecd.sh -a > powerpc -i ext3 livecd.sh is no longer supported. Use the method outlined in https://lists.ubuntu.com/archives/ubuntu-devel/2011-June/033458.html. -- Colin Watson [cjwat...@ubuntu.com] -- To UNSUBSCRIBE, email to debian-live-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20131024163610.gl16...@riva.ucam.org
Re: Bug#1091366: debian-installer: No graphical mode in sid
On Tue, Dec 24, 2024 at 08:19:00PM +0100, Cyril Brulebois wrote: > With cdebconf udebs reverted to their testing version (changing only that, > feeding them via localudebs after deb-reversion), the problem goes away. Oops, very sorry about that! The test that Gioele added for whether debconf is installed looked correct, but on closer inspection I found that cdebconf installs /usr/share/debconf/frontend as a symlink to /usr/lib/cdebconf/debconf. (I'd like to remove that as I don't think it really makes a lot of sense, but there's a reference to it in installer/build/Makefile right now.) This patch makes things work again. I'll upload this, and the equivalent in debconf. diff --git a/debian/changelog b/debian/changelog index df5661a5..ef9d7720 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cdebconf (0.276) UNRELEASED; urgency=medium + + * Fix detection of whether debconf is installed (closes: #1091366). + + -- Colin Watson Wed, 25 Dec 2024 23:26:21 + + cdebconf (0.275) unstable; urgency=medium [ Gioele Barabucci ] diff --git a/src/client/confmodule.in b/src/client/confmodule.in index 3efc6a5a..26ef5a1a 100644 --- a/src/client/confmodule.in +++ b/src/client/confmodule.in @@ -9,8 +9,11 @@ _DEBCONF_IMPL= if [ "${DEBCONF_USE_CDEBCONF:-}" ]; then # Use cdebconf if explicitly requested. _DEBCONF_IMPL=cdebconf -elif [ -x /usr/share/debconf/frontend ]; then - # Fall back to debconf, but only if installed. +elif [ -x /usr/share/debconf/frontend ] && \ + [ ! -h /usr/share/debconf/frontend ]; then + # Fall back to debconf, but only if installed. (cdebconf currently + # installs /usr/share/debconf/frontend as a symlink to + # /usr/lib/cdebconf/debconf.) _DEBCONF_IMPL=debconf else # Last resort: use cdebconf although not explicitly requested. -- Colin Watson (he/him) [cjwat...@debian.org]