# Pull unpatched live-build
catred@canonical:~/code/live-build$ git status
On branch applied/ubuntu/focal
Your branch is up to date with 'origin/applied/ubuntu/focal'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
lb_chroot_archives-preferences_test.patch
nothing added to commit but untracked files present (use "git add" to track)
catred@canonical:~/code/live-build$ quilt import lb_chroot_archives-preferences_test.patch
Importing patch lb_chroot_archives-preferences_test.patch (stored as patches/lb_chroot_archives-preferences_test.patch)
catred@canonical:~/code/live-build$ quilt push
Applying patch patches/lb_chroot_archives-preferences_test.patch
patching file scripts/build/lb_chroot
patching file scripts/build/lb_chroot_create_preferences
Now at patch patches/lb_chroot_archives-preferences_test.patch
# Create an image using unpatched live-build
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ export LIVECD_ROOTFS_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ export LIVECD_ROOTFS_LOCAL_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ export LIVE_BUILD_DIR="/home/catred/code/live-build"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ ubuntu-bartender --build-provider aws --livecd-rootfs-branch ubuntu/focalmaster -- --series focal --project ubuntu-cpc --image-target disk-image --subproject minimized
Sourcing configuration file: /home/catred/.ubuntu-bartender.rc
Creating ruling-imp-ubuntu-bartender on AWS... with profile default in region us-east-1 using catred-cpc-jenkins keypair
Preparing ingredients... in /home/catred/ubuntu-bartender-multipass.ZG9BxVoBmL
LIVECD_ROOTFS_DIR is set, copying /home/catred/code/livecd-rootfs to /home/catred/ubuntu-bartender-multipass.ZG9BxVoBmL/livecd-rootfs ...
LIVE_BUILD_DIR is set, copying /home/catred/code/live-build to /home/catred/ubuntu-bartender-multipass.ZG9BxVoBmL/live-build ...
UBUNTU_OLD_FASHIONED_DIR is set, copying /home/catred/code/ubuntu-old-fashioned to /home/catred/ubuntu-bartender-multipass.ZG9BxVoBmL/ubuntu-old-fashioned ...
uploading ingredients.tar.gz to ruling-imp-ubuntu-bartender ...
extracting ingredients.tar.gz in ruling-imp-ubuntu-bartender ...
remove ingredients.tar.gz in ruling-imp-ubuntu-bartender as it is no longer required ...
removed 'ingredients.tar.gz'
Mixing drink...
(See progress in ruling-imp-ubuntu-bartender.log)
Pouring ruling-imp-ubuntu-on-the-rocks.tar.gz...
Cleaning up...
Destroying ruling-imp-ubuntu-bartender on AWS...
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ grep 'Creating dummy preferences' ruling-imp-ubuntu-bartender.log
+ Echo_message Creating dummy preferences.d files...
+ STRING=Creating dummy preferences.d files...
P:+ printf Creating dummy preferences.d files...\n
Creating dummy preferences.d files...
# Download and extract the patched live-build
# Add testing patch to live-build so behaviour is apparent
catred@canonical:~/packaging/cpc3057backport/focal/live-build$ quilt import ~/code/live-build/lb_chroot_archives-preferences_test.patch
Importing patch /home/catred/code/live-build/lb_chroot_archives-preferences_test.patch (stored as patches/lb_chroot_archives-preferences_test.patch)
catred@canonical:~/packaging/cpc3057backport/focal/live-build$ quilt push
Applying patch patches/lb_chroot_archives-preferences_test.patch
patching file scripts/build/lb_chroot
patching file scripts/build/lb_chroot_create_preferences
Now at patch patches/lb_chroot_archives-preferences_test.patch
# Create an image using unpatched live-build
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ export LIVECD_ROOTFS_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ export LIVECD_ROOTFS_LOCAL_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ export LIVE_BUILD_DIR="/home/catred/packaging/cpc3057backport/focal/live-build"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ ubuntu-bartender --build-provider aws --livecd-rootfs-branch ubuntu/focalmaster -- --series focal --project ubuntu-cpc --image-target disk-image --subproject minimized
Sourcing configuration file: /home/catred/.ubuntu-bartender.rc
Creating in-lamb-ubuntu-bartender on AWS... with profile default in region us-east-1 using catred-cpc-jenkins keypair
Preparing ingredients... in /home/catred/ubuntu-bartender-multipass.gUiLmIJ8iM
LIVECD_ROOTFS_DIR is set, copying /home/catred/code/livecd-rootfs to /home/catred/ubuntu-bartender-multipass.gUiLmIJ8iM/livecd-rootfs ...
LIVE_BUILD_DIR is set, copying /home/catred/packaging/cpc3057backport/focal/live-build to /home/catred/ubuntu-bartender-multipass.gUiLmIJ8iM/live-build ...
UBUNTU_OLD_FASHIONED_DIR is set, copying /home/catred/code/ubuntu-old-fashioned to /home/catred/ubuntu-bartender-multipass.gUiLmIJ8iM/ubuntu-old-fashioned ...
uploading ingredients.tar.gz to in-lamb-ubuntu-bartender ...
extracting ingredients.tar.gz in in-lamb-ubuntu-bartender ...
remove ingredients.tar.gz in in-lamb-ubuntu-bartender as it is no longer required ...
removed 'ingredients.tar.gz'
Mixing drink...
(See progress in in-lamb-ubuntu-bartender.log)
Pouring in-lamb-ubuntu-on-the-rocks.tar.gz...
Cleaning up...
Destroying in-lamb-ubuntu-bartender on AWS...
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ grep 'Creating dummy preferences' in-lamb-ubuntu-bartender.log
+ Echo_message Creating dummy preferences.d files...
+ STRING=Creating dummy preferences.d files...
P:+ printf Creating dummy preferences.d files...\n
Creating dummy preferences.d files...
# Mount the two images
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ tar xvzf ruling-imp-ubuntu-on-the-rocks.tar.gz
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ mv build.output build.output-unpatched
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ tar xvzf in-lamb-ubuntu-on-the-rocks.tar.gz
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ mv build.output build.output-patched
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ mkdir --parents --verbose ./mount-unpatched && sudo mount ./build.output-unpatched/livecd.ubuntu-cpc.ext4 ./mount-unpatched
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ mkdir --parents --verbose ./mount-patched && sudo mount ./build.output-patched/livecd.ubuntu-cpc.ext4 ./mount-patched
# Diff manifests (should be identical -- they were)
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ diff build.output-patched/livecd.ubuntu-cpc.manifest build.output-unpatched/livecd.ubuntu-cpc.manifest
# Create and diff filelists (patched version will have /etc/apt/preferences.d/99dummy; unpatched will not)
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ (cd "./mount-unpatched" && sudo find -xdev) > "unpatched.filelist"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ sort unpatched.filelist > unpatched.filelist.sorted
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ (cd "./mount-patched" && sudo find -xdev) > "patched.filelist"
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ sort patched.filelist > patched.filelist.sorted
catred@canonical:~/builds/live-build-3057/patch_validation/focal$ diff patched.filelist.sorted unpatched.filelist.sorted
230d229
< ./etc/apt/preferences.d/99dummy
FOCAL
# Pull unpatched live-build canonical: ~/code/ live-build$ git status ubuntu/ focal applied/ ubuntu/ focal'.
catred@
On branch applied/
Your branch is up to date with 'origin/
Untracked files: archives- preferences_ test.patch
(use "git add <file>..." to include in what will be committed)
lb_chroot_
nothing added to commit but untracked files present (use "git add" to track) canonical: ~/code/ live-build$ quilt import lb_chroot_ archives- preferences_ test.patch archives- preferences_ test.patch (stored as patches/ lb_chroot_ archives- preferences_ test.patch) canonical: ~/code/ live-build$ quilt push lb_chroot_ archives- preferences_ test.patch build/lb_ chroot build/lb_ chroot_ create_ preferences
catred@
Importing patch lb_chroot_
catred@
Applying patch patches/
patching file scripts/
patching file scripts/
Now at patch patches/ lb_chroot_ archives- preferences_ test.patch
# Create an image using unpatched live-build canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ export LIVECD_ ROOTFS_ DIR="/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ export LIVECD_ ROOTFS_ LOCAL_DIR= "/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ export LIVE_BUILD_ DIR="/home/ catred/ code/live- build" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ ubuntu-bartender --build-provider aws --livecd- rootfs- branch ubuntu/focalmaster -- --series focal --project ubuntu-cpc --image-target disk-image --subproject minimized .ubuntu- bartender. rc imp-ubuntu- bartender on AWS... with profile default in region us-east-1 using catred-cpc-jenkins keypair ubuntu- bartender- multipass. ZG9BxVoBmL code/livecd- rootfs to /home/catred/ ubuntu- bartender- multipass. ZG9BxVoBmL/ livecd- rootfs ... code/live- build to /home/catred/ ubuntu- bartender- multipass. ZG9BxVoBmL/ live-build ... OLD_FASHIONED_ DIR is set, copying /home/catred/ code/ubuntu- old-fashioned to /home/catred/ ubuntu- bartender- multipass. ZG9BxVoBmL/ ubuntu- old-fashioned ... imp-ubuntu- bartender ... imp-ubuntu- bartender ... imp-ubuntu- bartender as it is no longer required ... tar.gz' imp-ubuntu- bartender. log) imp-ubuntu- on-the- rocks.tar. gz... imp-ubuntu- bartender on AWS... canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ grep 'Creating dummy preferences' ruling- imp-ubuntu- bartender. log
catred@
catred@
catred@
catred@
Sourcing configuration file: /home/catred/
Creating ruling-
Preparing ingredients... in /home/catred/
LIVECD_ROOTFS_DIR is set, copying /home/catred/
LIVE_BUILD_DIR is set, copying /home/catred/
UBUNTU_
uploading ingredients.tar.gz to ruling-
extracting ingredients.tar.gz in ruling-
remove ingredients.tar.gz in ruling-
removed 'ingredients.
Mixing drink...
(See progress in ruling-
Pouring ruling-
Cleaning up...
Destroying ruling-
catred@
+ Echo_message Creating dummy preferences.d files...
+ STRING=Creating dummy preferences.d files...
P:+ printf Creating dummy preferences.d files...\n
Creating dummy preferences.d files...
# Download and extract the patched live-build canonical: ~/packaging/ cpc3057backport /focal/ live-build$ quilt import ~/code/ live-build/ lb_chroot_ archives- preferences_ test.patch code/live- build/lb_ chroot_ archives- preferences_ test.patch (stored as patches/ lb_chroot_ archives- preferences_ test.patch) canonical: ~/packaging/ cpc3057backport /focal/ live-build$ quilt push lb_chroot_ archives- preferences_ test.patch build/lb_ chroot build/lb_ chroot_ create_ preferences
# Add testing patch to live-build so behaviour is apparent
catred@
Importing patch /home/catred/
catred@
Applying patch patches/
patching file scripts/
patching file scripts/
Now at patch patches/ lb_chroot_ archives- preferences_ test.patch
# Create an image using unpatched live-build canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ export LIVECD_ ROOTFS_ DIR="/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ export LIVECD_ ROOTFS_ LOCAL_DIR= "/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ export LIVE_BUILD_ DIR="/home/ catred/ packaging/ cpc3057backport /focal/ live-build" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ ubuntu-bartender --build-provider aws --livecd- rootfs- branch ubuntu/focalmaster -- --series focal --project ubuntu-cpc --image-target disk-image --subproject minimized .ubuntu- bartender. rc ubuntu- bartender on AWS... with profile default in region us-east-1 using catred-cpc-jenkins keypair ubuntu- bartender- multipass. gUiLmIJ8iM code/livecd- rootfs to /home/catred/ ubuntu- bartender- multipass. gUiLmIJ8iM/ livecd- rootfs ... packaging/ cpc3057backport /focal/ live-build to /home/catred/ ubuntu- bartender- multipass. gUiLmIJ8iM/ live-build ... OLD_FASHIONED_ DIR is set, copying /home/catred/ code/ubuntu- old-fashioned to /home/catred/ ubuntu- bartender- multipass. gUiLmIJ8iM/ ubuntu- old-fashioned ... ubuntu- bartender ... ubuntu- bartender ... ubuntu- bartender as it is no longer required ... tar.gz' ubuntu- bartender. log) ubuntu- on-the- rocks.tar. gz... ubuntu- bartender on AWS... canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ grep 'Creating dummy preferences' in-lamb- ubuntu- bartender. log
catred@
catred@
catred@
catred@
Sourcing configuration file: /home/catred/
Creating in-lamb-
Preparing ingredients... in /home/catred/
LIVECD_ROOTFS_DIR is set, copying /home/catred/
LIVE_BUILD_DIR is set, copying /home/catred/
UBUNTU_
uploading ingredients.tar.gz to in-lamb-
extracting ingredients.tar.gz in in-lamb-
remove ingredients.tar.gz in in-lamb-
removed 'ingredients.
Mixing drink...
(See progress in in-lamb-
Pouring in-lamb-
Cleaning up...
Destroying in-lamb-
catred@
+ Echo_message Creating dummy preferences.d files...
+ STRING=Creating dummy preferences.d files...
P:+ printf Creating dummy preferences.d files...\n
Creating dummy preferences.d files...
# Mount the two images canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ tar xvzf ruling- imp-ubuntu- on-the- rocks.tar. gz canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ mv build.output build.output- unpatched canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ tar xvzf in-lamb- ubuntu- on-the- rocks.tar. gz canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ mv build.output build.output- patched canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ mkdir --parents --verbose ./mount-unpatched && sudo mount ./build. output- unpatched/ livecd. ubuntu- cpc.ext4 ./mount-unpatched canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ mkdir --parents --verbose ./mount-patched && sudo mount ./build. output- patched/ livecd. ubuntu- cpc.ext4 ./mount-patched
catred@
catred@
catred@
catred@
catred@
catred@
# Diff manifests (should be identical -- they were) canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ diff build.output- patched/ livecd. ubuntu- cpc.manifest build.output- unpatched/ livecd. ubuntu- cpc.manifest
catred@
# Create and diff filelists (patched version will have /etc/apt/ preferences. d/99dummy; unpatched will not) canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ (cd "./mount-unpatched" && sudo find -xdev) > "unpatched. filelist" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ sort unpatched.filelist > unpatched. filelist. sorted canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ (cd "./mount-patched" && sudo find -xdev) > "patched.filelist" canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ sort patched.filelist > patched. filelist. sorted canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ diff patched. filelist. sorted unpatched. filelist. sorted preferences. d/99dummy
catred@
catred@
catred@
catred@
catred@
230d229
< ./etc/apt/
# Collect artifacts canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ sudo umount ./mount-unpatched canonical: ~/builds/ live-build- 3057/patch_ validation/ focal$ sudo umount ./mount-patched canonical: ~/builds/ live-build- 3057/patch_ validation$ tar czf lp2033308- focal-validatio n.tar.gz focal
catred@
catred@
catred@