-
Task
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
image-builder-1
-
IB Upcoming Priorities
-
5
At the moment for boot.iso images built with Lorax there is the /root/lorax-packages.log file, that contains the list of all RPM packages that have been used to build the given boot.iso. The list is a simple plaintext file, with one package NEVRA per line, looking like this (shortened snippet):
quota-nls-4.09-5.el10.noarch publicsuffix-list-dafsa-20240107-3.el10.noarch ncurses-base-6.4-12.20240127.el10.noarch glibc-all-langpacks-2.39-2.el10.x86_64 glibc-gconv-extra-2.39-2.el10.x86_64 glibc-common-2.39-2.el10.x86_64 glibc-2.39-2.el10.x86_64 ncurses-libs-6.4-12.20240127.el10.x86_64 bash-5.2.26-3.el10.x86_64 zlib-ng-compat-2.1.6-2.el10.x86_64 libuuid-2.40-0.8.rc1.el10.x86_64 libstdc++-14.0.1-0.6.el10.x86_64 xz-libs-5.4.6-1.el10.x86_64 libblkid-2.40-0.8.rc1.el10.x86_64 libzstd-1.5.5-5.el10.x86_64 libxml2-2.12.5-1.el10.x86_64 popt-1.19-6.el10.x86_64 readline-8.2-8.el10.x86_64 json-c-0.17-3.el10.x86_64 libxkbcommon-1.6.0-2.el10.x86_64 elfutils-libelf-0.190-6.el10.x86_64 sqlite-libs-3.45.1-2.el10.x86_64 bzip2-libs-1.0.8-18.el10.x86_64 expat-2.5.0-5.el10.x86_64 libxcrypt-4.4.36-5.el10.x86_64 keyutils-libs-1.6.3-3.el10.x86_64 libffi-3.4.4-7.el10.x86_64 libwayland-client-1.22.0-3.el10.x86_64 nspr-4.35.0-20.el10.x86_64 gmp-6.2.1-8.el10.x86_64 libcom_err-1.47.0-5.el10.x86_64 pcre2-10.42-2.el10.2.x86_64 grep-3.11-7.el10.x86_64 nss-util-3.97.0-1.el10.x86_64 libpng-1.6.40-3.el10.x86_64
Having this listing easily available from the booted installation image is super important for many use cases:
- you can quickly check what packages are present on the boot.iso and their version
- the boot.iso lacks an RPM database for space saving reasons, so this is hard to check otherwise
- this is very important for example when an issue was recently fixed and you want to test the fix is effective - just check the package listing to see if the fixed package has been used to build the image & test if the issue is gone
- you can compare two or more boot isos
- just dump the package listing to you machine over scp and run a diff on it
- this is very useful when tracking down regressions over multiple boot.iso versions
- once you find an image where everything still works & the next image where it is broken, just compare their package version based on the package listing and it is clearly visible which packages have changed
- this is fully self contained & not dependent on data in a database or build logs
- while build system logs are also an important debugging tool, they might not be practical when working with less fresh images or images built locally
- for user and customer issues it might be hard to get the concrete information about image version being used from the other party
- in comparison it is much easier to tell them "please send us the package listing file from the image"
- we actually do this automatically & include the contents of /root/lorax-packages.log in the anaconda log output (we can of course adjust the code to account for a different file name)
Therefore it would be very nice to provide similar package listing also for images built with Image Builder, possibly with different name (/root/image-builder-packages.log ?
)