Merge lp:~semiosis/livecd-rootfs/fix-for-1565985 into lp:livecd-rootfs
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 1419 | ||||
Proposed branch: | lp:~semiosis/livecd-rootfs/fix-for-1565985 | ||||
Merge into: | lp:livecd-rootfs | ||||
Diff against target: |
165 lines (+51/-30) (has conflicts) 2 files modified
debian/changelog (+15/-0) live-build/ubuntu-cpc/hooks/042-vagrant.binary (+36/-30) Text conflict in debian/changelog |
||||
To merge this branch: | bzr merge lp:~semiosis/livecd-rootfs/fix-for-1565985 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Steve Langasek | Needs Fixing | ||
Dan Watkins (community) | Approve | ||
Review via email: mp+298305@code.launchpad.net |
Description of the change
Several problems with the official ubuntu vagrant boxes for Xenial:
- Standard packages were missing (virtualbox-guest stuff, config management stuff)
- Box name was statically assigned, limiting to only one instance per host
- Default synced folder was disabled
This change fixes all of the above issues, except for config management.
As per discussion in #ubuntu-devel we have opened a new bug for the missing config management packages: https:/
Also cleaned up some inconsistent indentation.
Last of all, had to change the shebang to not use -u. This is because clean_loops (from functions) gets called twice and the second time (by trap) has unset variables so the build would die.
As a side note, a solution to allow clean_loops to run twice under bash -u would be to use ${var_name-} instead of ${var_name} in the two variable test lines, but that was out of scope for my issues. Just FYI.
Thank you!
How to use/test:
I did all my development & testing on the official xenial vagrant box (dogfooding!)
The build will exceed the space available on / on the vagrant box so I had to disable some of the other hook scripts that were unrelated.
If you have about 10 GB free on / you should be able to build all of the images in ubuntu-cpc.
Here's how...
# First, set up the build tools and workspace.
# The scripts require that you work in /build
sudo -i livecd- rootfs/ live-build/ auto .
apt-get install -y livecd-rootfs
mkdir -p /build/chroot
cd /build
cp -a /usr/share/
# All the hard work is done with live-build (lb command)
# and we have to configure it with environment variables
export SUITE=xenial archive. ubuntu. com/ubuntu/
export ARCH=amd64
export PROJECT=ubuntu-cpc
export MIRROR=http://
# Now we can have live-build set up the workspace
lb config
# If you're short on time or disk space you can disable squashfs. binary 033-disk- image-uefi. binary image-ppc64el. binary 040-qcow2- image.binary image.binary 041-vmdk- ova-image. binary
# some of the builders. Go into /build/config/hooks and
# remove these scripts which are unrelated to vagrant:
# 032-root-
# 034-disk-
# 040-vmdk-
# And finally, start the build
lb build