Comment 49 for bug 2033308

Revision history for this message
Catherine Redfield (catred) wrote :

JAMMY

# 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

# Collect artifacts
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ sudo umount ./mount-unpatched
catred@canonical:~/builds/live-build-3057/patch_validation/jammy$ sudo umount ./mount-patched
catred@canonical:~/builds/live-build-3057/patch_validation$ tar czf lp2033308-jammy-validation.tar.gz jammy