On 11/07/2024 9:23 pm, Andrew Cooper wrote:
> Existing as suse:opensuse-tumbleweed is a historical quirk, and adjusted for
> consistency with all the other containers.
>
> Make it non-root, use heredocs for legibility, and use the zypper long names
> for the benefit of those wondering what was being referenced or duplicated.
>
> Trim the dependencies substantially.  Testing docs isn't very interesting and
> saves a lot of space (pandoc pulls in all of Haskel).  Other savings come from
> removing a huge pile of optional QEMU dependencies (QEMU just needs to build
> the Xen parts to be useful here, not have a full GUI environment).
>
> Finally, there where some packages such as bc, libssh2-devel, libtasn1-devel
> and nasm that I'm not aware of any reason to have had, even historically.
>
> This shaves 1G off the size of the container:
>
>   registry.gitlab.com/xen-project/xen/opensuse  tumbleweed-x86_64      1.39GB
>   registry.gitlab.com/xen-project/xen/suse      opensuse-tumbleweed    2.35GB
>
> Furthermore, identify which components of the build use which dependencies,
> which will help managing them in the future.
>
> Thanks to Olaf Hering for dependency fixes that have been subsumed into this
> total overhaul.
>
> Signed-off-by: Andrew Cooper <[email protected]>
> ---
> CC: Anthony PERARD <[email protected]>
> CC: Juergen Gross <[email protected]>
> CC: Roger Pau Monné <[email protected]>
> CC: Jan Beulich <[email protected]>
> CC: Stefano Stabellini <[email protected]>
> CC: Julien Grall <[email protected]>
> CC: Oleksii Kurochko <[email protected]>
> CC: Shawn Anastasio <[email protected]>
> CC: Olaf Hering <[email protected]>
>
> This includes both of Olaf's recent changes, python3-packaging (now required
> for a rebuilt container), and findutils (not required yet; still gets pulled
> in transitively), but added for good measure.
>
> In terms of package delta, newly included are:
>
>   findutils            # As suggested
>   ocaml-findlib        # Replaces ocaml-findlib-devel
>   perl                 # Transitive previously
>   python3              # Transitive previously
>   python3-packaging    # As suggested
>
> while removed are:
>
>   bc                   # ?
>   cmake                # vtpm stubdom, optional
>   discount             # docs
>   ghostscript          # docs
>   glibc-devel          # Not really optional, given a toolchain
>   hostname             # Optional, not interesting
>   libaio-devel         # Xen < 4.13, perhaps Qemu still but optional
>   libext2fs-devel      # Libfsimage, off by default, optional
>   libgnutls-devel      # Qemu ?
>   libjpeg62-devel      # Qemu ?
>   libnl3-devel         # Libxl COLO(?), option
>   libnuma-devel        # ?
>   libpng16-devel       # Qemu ?
>   libssh2-devel        # ?
>   libtasn1-devel       # ?
>   nasm                 # ?
>   ocaml-findlib-devel  # Swapped for non-devel
>   ocaml-ocamlbuild     # ?
>   ocaml-ocamldoc       # ?
>   pandoc               # docs
>   'pkgconfig(libpci)'  # Qemu
>   'pkgconfig(sdl)'     # Qemu
>   'pkgconfig(sdl2)'    # Qemu
>   systemd-devel        # Xen < 4.19, optional
>   transfig             # docs
>   valgrind-devel       # really only for developers
>   which                # Xen < 4.17
>
> I've tested this on staging-4.17 and staging, both of which build fine.
> staging-4.16 does not, because of SeaBIOS which we've decided not to fix,
> hence it's safe to drop `which`.

For good measure, runs with this container:

  4.17: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7322567620
  4.19: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7322493465

and the expected failure:

  4.16: https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7322499885

~Andrew

Reply via email to