# Pull unpatched live-build
catred@canonical:~/code/live-build$ git status
On branch applied/ubuntu/jammy
Your branch is up to date with 'origin/applied/ubuntu/jammy'.
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/jammy$ export LIVECD_ROOTFS_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ export LIVECD_ROOTFS_LOCAL_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ export LIVE_BUILD_DIR="/home/catred/code/live-build"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ ubuntu-bartender --build-provider aws --livecd-rootfs-branch ubuntu/jammymaster -- --series jammy --project ubuntu-cpc --image-target disk-image --subproject minimized
Sourcing configuration file: /home/catred/.ubuntu-bartender.rc
Creating noted-bream-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.YZoZUnxwKb
LIVECD_ROOTFS_DIR is set, copying /home/catred/code/livecd-rootfs to /home/catred/ubuntu-bartender-multipass.YZoZUnxwKb/livecd-rootfs ...
LIVE_BUILD_DIR is set, copying /home/catred/code/live-build to /home/catred/ubuntu-bartender-multipass.YZoZUnxwKb/live-build ...
UBUNTU_OLD_FASHIONED_DIR is set, copying /home/catred/code/ubuntu-old-fashioned to /home/catred/ubuntu-bartender-multipass.YZoZUnxwKb/ubuntu-old-fashioned ...
uploading ingredients.tar.gz to noted-bream-ubuntu-bartender ...
extracting ingredients.tar.gz in noted-bream-ubuntu-bartender ...
remove ingredients.tar.gz in noted-bream-ubuntu-bartender as it is no longer required ...
removed 'ingredients.tar.gz'
Mixing drink...
(See progress in noted-bream-ubuntu-bartender.log)
Pouring noted-bream-ubuntu-on-the-rocks.tar.gz...
Cleaning up...
Destroying noted-bream-ubuntu-bartender on AWS...
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ grep 'Creating dummy preferences' noted-bream-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/jammy/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/jammy/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/jammy$ export LIVECD_ROOTFS_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ export LIVECD_ROOTFS_LOCAL_DIR="/home/catred/code/livecd-rootfs"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ export LIVE_BUILD_DIR="/home/catred/packaging/cpc3057backport/jammy/live-build"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ ubuntu-bartender --build-provider aws --livecd-rootfs-branch ubuntu/jammymaster -- --series jammy --project ubuntu-cpc --image-target disk-image --subproject minimized
Sourcing configuration file: /home/catred/.ubuntu-bartender.rc
Creating trusty-ox-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.PWO0vVlcT8
LIVECD_ROOTFS_DIR is set, copying /home/catred/code/livecd-rootfs to /home/catred/ubuntu-bartender-multipass.PWO0vVlcT8/livecd-rootfs ...
LIVE_BUILD_DIR is set, copying /home/catred/packaging/cpc3057backport/jammy/live-build to /home/catred/ubuntu-bartender-multipass.PWO0vVlcT8/live-build ...
UBUNTU_OLD_FASHIONED_DIR is set, copying /home/catred/code/ubuntu-old-fashioned to /home/catred/ubuntu-bartender-multipass.PWO0vVlcT8/ubuntu-old-fashioned ...
uploading ingredients.tar.gz to trusty-ox-ubuntu-bartender ...
extracting ingredients.tar.gz in trusty-ox-ubuntu-bartender ...
remove ingredients.tar.gz in trusty-ox-ubuntu-bartender as it is no longer required ...
removed 'ingredients.tar.gz'
Mixing drink...
(See progress in trusty-ox-ubuntu-bartender.log)
Pouring trusty-ox-ubuntu-on-the-rocks.tar.gz...
Cleaning up...
Destroying trusty-ox-ubuntu-bartender on AWS...
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ grep 'Creating dummy preferences' trusty-ox-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/jammy$ tar xvzf noted-bream-ubuntu-on-the-rocks.tar.gz
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ mv build.output build.output-unpatched
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ tar xvzf trusty-ox-ubuntu-on-the-rocks.tar.gz
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ mv build.output build.output-patched
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ mkdir --parents --verbose ./mount-unpatched && sudo mount ./build.output-unpatched/livecd.ubuntu-cpc.ext4 ./mount-unpatched
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ 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/jammy$ 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/jammy$ (cd "./mount-unpatched" && sudo find -xdev) > "unpatched.filelist"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ sort unpatched.filelist > unpatched.filelist.sorted
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ (cd "./mount-patched" && sudo find -xdev) > "patched.filelist"
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ sort patched.filelist > patched.filelist.sorted
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ diff patched.filelist.sorted unpatched.filelist.sorted
247d246
< ./etc/apt/preferences.d/99dummy
JAMMY
# Pull unpatched live-build canonical: ~/code/ live-build$ git status ubuntu/ jammy applied/ ubuntu/ jammy'.
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/ jammy$ export LIVECD_ ROOTFS_ DIR="/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ export LIVECD_ ROOTFS_ LOCAL_DIR= "/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ export LIVE_BUILD_ DIR="/home/ catred/ code/live- build" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ ubuntu-bartender --build-provider aws --livecd- rootfs- branch ubuntu/jammymaster -- --series jammy --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. YZoZUnxwKb code/livecd- rootfs to /home/catred/ ubuntu- bartender- multipass. YZoZUnxwKb/ livecd- rootfs ... code/live- build to /home/catred/ ubuntu- bartender- multipass. YZoZUnxwKb/ live-build ... OLD_FASHIONED_ DIR is set, copying /home/catred/ code/ubuntu- old-fashioned to /home/catred/ ubuntu- bartender- multipass. YZoZUnxwKb/ 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/ jammy$ grep 'Creating dummy preferences' noted-bream- ubuntu- bartender. log
catred@
catred@
catred@
catred@
Sourcing configuration file: /home/catred/
Creating noted-bream-
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 noted-bream-
extracting ingredients.tar.gz in noted-bream-
remove ingredients.tar.gz in noted-bream-
removed 'ingredients.
Mixing drink...
(See progress in noted-bream-
Pouring noted-bream-
Cleaning up...
Destroying noted-bream-
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 /jammy/ 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 /jammy/ 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/ jammy$ export LIVECD_ ROOTFS_ DIR="/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ export LIVECD_ ROOTFS_ LOCAL_DIR= "/home/ catred/ code/livecd- rootfs" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ export LIVE_BUILD_ DIR="/home/ catred/ packaging/ cpc3057backport /jammy/ live-build" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ ubuntu-bartender --build-provider aws --livecd- rootfs- branch ubuntu/jammymaster -- --series jammy --project ubuntu-cpc --image-target disk-image --subproject minimized .ubuntu- bartender. rc ox-ubuntu- bartender on AWS... with profile default in region us-east-1 using catred-cpc-jenkins keypair ubuntu- bartender- multipass. PWO0vVlcT8 code/livecd- rootfs to /home/catred/ ubuntu- bartender- multipass. PWO0vVlcT8/ livecd- rootfs ... packaging/ cpc3057backport /jammy/ live-build to /home/catred/ ubuntu- bartender- multipass. PWO0vVlcT8/ live-build ... OLD_FASHIONED_ DIR is set, copying /home/catred/ code/ubuntu- old-fashioned to /home/catred/ ubuntu- bartender- multipass. PWO0vVlcT8/ ubuntu- old-fashioned ... ox-ubuntu- bartender ... ox-ubuntu- bartender ... ox-ubuntu- bartender as it is no longer required ... tar.gz' ox-ubuntu- bartender. log) ox-ubuntu- on-the- rocks.tar. gz... ox-ubuntu- bartender on AWS... canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ grep 'Creating dummy preferences' trusty- ox-ubuntu- bartender. log
catred@
catred@
catred@
catred@
Sourcing configuration file: /home/catred/
Creating trusty-
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 trusty-
extracting ingredients.tar.gz in trusty-
remove ingredients.tar.gz in trusty-
removed 'ingredients.
Mixing drink...
(See progress in trusty-
Pouring trusty-
Cleaning up...
Destroying trusty-
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/ jammy$ tar xvzf noted-bream- ubuntu- on-the- rocks.tar. gz canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ mv build.output build.output- unpatched canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ tar xvzf trusty- ox-ubuntu- on-the- rocks.tar. gz canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ mv build.output build.output- patched canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ mkdir --parents --verbose ./mount-unpatched && sudo mount ./build. output- unpatched/ livecd. ubuntu- cpc.ext4 ./mount-unpatched canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ 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/ jammy$ 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/ jammy$ (cd "./mount-unpatched" && sudo find -xdev) > "unpatched. filelist" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ sort unpatched.filelist > unpatched. filelist. sorted canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ (cd "./mount-patched" && sudo find -xdev) > "patched.filelist" canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ sort patched.filelist > patched. filelist. sorted canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ diff patched. filelist. sorted unpatched. filelist. sorted preferences. d/99dummy
catred@
catred@
catred@
catred@
catred@
247d246
< ./etc/apt/
# Collect artifacts canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ sudo umount ./mount-unpatched canonical: ~/builds/ live-build- 3057/patch_ validation/ jammy$ sudo umount ./mount-patched canonical: ~/builds/ live-build- 3057/patch_ validation$ tar czf lp2033308- jammy-validatio n.tar.gz jammy
catred@
catred@
catred@