Uploaded image for project: 'Insights Experiences'
  1. Insights Experiences
  2. HMS-9935

Include list of packages that have been used to build a given boot.iso on the image itself

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • Image Builder
    • 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 ? )

              rh-ee-sdevlieg Simon de Vlieger
              mkolman@redhat.com Martin Kolman
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: