Recommended update for build

Announcement ID: SUSE-RU-2022:2018-1
Rating: moderate
References:
Affected Products:
  • Development Tools Module 15-SP3
  • Development Tools Module 15-SP4
  • openSUSE Leap 15.4
  • SUSE Linux Enterprise Desktop 15 SP3
  • SUSE Linux Enterprise Desktop 15 SP4
  • SUSE Linux Enterprise High Performance Computing 15 SP3
  • SUSE Linux Enterprise High Performance Computing 15 SP4
  • SUSE Linux Enterprise Real Time 15 SP3
  • SUSE Linux Enterprise Real Time 15 SP4
  • SUSE Linux Enterprise Server 15 SP3
  • SUSE Linux Enterprise Server 15 SP3 Business Critical Linux 15-SP3
  • SUSE Linux Enterprise Server 15 SP4
  • SUSE Linux Enterprise Server for SAP Applications 15 SP3
  • SUSE Linux Enterprise Server for SAP Applications 15 SP4
  • SUSE Manager Proxy 4.2
  • SUSE Manager Proxy 4.3
  • SUSE Manager Retail Branch Server 4.2
  • SUSE Manager Retail Branch Server 4.3
  • SUSE Manager Server 4.2
  • SUSE Manager Server 4.3

An update that has three fixes can now be installed.

Description:

This update for build fixes the following issues:

  • Update SLE 15 SP4 and Leap 15.4 build config (bsc#1198740)
  • Use aio=io_uring if available (bsc#1197699) (build#814)
  • Add arm32 and loongarch definitions (build#808)
  • Add compatibility code to initvm
  • Use upstream way of binfmt argv0 preservation (bsc#1197298) (build#809)
  • Add template support for Build::SimpleJSON
  • minor documentation updates
  • docker: Add support for --root and --installroot global zypper options
  • debian cross build support via multi-arch (obsoleting cbinstall remnants)
  • Tumbleweed config synced
  • documentation updates
  • smaller bugfixes

  • regression fix from last release, avoid calling shutdown handler twice when building in vm

Changes:

  • pbuild: add --debug option for building debuginfo packages
  • rename --debug to --debuginfo to be more exact.
  • docu: add buildflags:ccachtype and OBS-DoNotAppendProfileToContainername

Fixes:

  • Avoid shutdown of host when using nspawn

Features:

  • download_assets: add --outdir --clean --show-dir-srcmd5 parameters support multiple --arch arguments
  • asset support for golang modules
  • add support for LXC 4.
  • new shortcuts for rpm building: --rpm-noprep, --rpm-build-in-place, --rpm-build-in-place-noprep for building directly from upstream git repositories without any tar ball.
  • mount securityfs if not mounted by kernel-obs-build
  • collect steal time during VM builds in statistics.
  • declare armv8 and armv7 compatible
  • support OBS Debuginfo build flag for Red Hat variants
  • setup rpmmacros for all build types and earlier
  • Kiwi builds
    • Always append the profile name to kiwi container names
  • Dockerfile build
    • improve registry handling
    • initial Dockerfile.dapper support
    • support 'curl' commands in docker builds
    • strip known domains from container name
    • support container alias names
  • introducing --verbose option, currently only showing kernel messages.
  • support cpio creation for special files
  • handle QEMU >= 6.0 on POWER9

Changes:

  • Use git+https instead of git-https as url schema
  • add oops=panic kernel parameter
  • Updated distribution configurations (esp. Leap 15.4 and Tumbleweed)
  • new preinstallimages are using zstd by default
  • source subdirectories are used in git managed sources

Minor improvements

  • change sccache default size limit
  • speed up improvements in
    • vm shutdown
    • rpm preinstall
    • avoid calling external commands in a loop
    • using zstd for preinstallimages
    • no more unpacking progress indicators to avoid slowdown
    • virtio handling
  • fixed vm-type=qemu
  • multiple smaller bugfixes and speed improvements

  • renamed tumbleweed config to tumbleweed

  • synced tumbleweed config changes
  • initial config for Leap 15.4
  • docker build environment
  • Use /.dockerenv as marker for docker environment
  • support privileged docker/nspawn mode
  • move --cap-add=SYS_ADMIN --cap-add=MKNOD to privileged mode
  • initvm: do not attempt to mount /proc and binfmt_misc handler if present
  • pbuild
  • rename --hide-timestamps to --no-timestamps
  • reuse options from older builds
  • revised --single build mode
  • support ccache
  • Unify ccache and sccache handling

Features:

  • deb zstd support (for Ubuntu 21.10)
  • support KVM builds with enabled network
  • modulemd support improvements
  • Support a "Distmacro" directive for recipe parser-only macros

Fixes:

  • Load selinux policy when using a preinstall image
  • Use the pax format for preinstall images if bsdtar is available
  • Add %riscv to std_macros
  • Fix combine_configs dropping newlines

pbuild:

  • Implement SCC calculation
  • Improve --shell-after-build and --single options
  • initial documentation of pbuild
  • Bugfixes
  • Fix unpacking of deb/arch archives without bsdtar
  • fixed regression in multiline macro evaluation from 20th August release

Features:

  • cross architecture build support (for rpm and kiwi)
  • modulemd meta data support
  • pbuild to build multiple source packages (initial release, can not be considered stable yet)
  • supporting external asset stores for source files
  • support multiple post build checks placed in the directory: /usr/lib/build/post-build-checks/
  • sccache support
  • New --shell-after-fail option
  • allow to disable squashfs in SimpleImage
  • supporting aarch64 kernel on armv?l distributions
  • kiwi: Add support for OBS-RemoteAsset and OBS-CopyToImage directives
  • container: FROM scratch build support

Improvements:

  • supporting kvm builds as non-root user
  • Extend stage selection support for rpm builds
  • various distribution config updates
  • Support "BuildFlags: cumulaterpms" (was done only via suse_version before)

Fixes:

  • container builds
  • support newer podman versions
  • supporting multiple containers for multi-stage builds
  • Supporting URL's in Flatpak manifests
  • epoch handling in debian builds
  • catch more cases where a failed build is marked as host error
  • fixing wrong status reporting when a job got killed
  • hugetlbfs handling fixes
  • try mounting selinuxfs in VM
  • Also create the /sys dir when preinstalling (to satisfy dracut)
  • various XML parser fixes
  • and many minor ones

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • openSUSE Leap 15.4
    zypper in -t patch openSUSE-SLE-15.4-2022-2018=1
  • Development Tools Module 15-SP3
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP3-2022-2018=1
  • Development Tools Module 15-SP4
    zypper in -t patch SUSE-SLE-Module-Development-Tools-15-SP4-2022-2018=1

Package List:

  • openSUSE Leap 15.4 (noarch)
    • build-20220422-150200.9.1
    • build-initvm-aarch64-20220422-150200.9.1
    • build-mkbaselibs-20220422-150200.9.1
    • build-initvm-powerpc64le-20220422-150200.9.1
    • build-initvm-x86_64-20220422-150200.9.1
    • build-initvm-s390x-20220422-150200.9.1
    • build-mkdrpms-20220422-150200.9.1
  • Development Tools Module 15-SP3 (noarch)
    • build-mkbaselibs-20220422-150200.9.1
    • build-20220422-150200.9.1
  • Development Tools Module 15-SP4 (noarch)
    • build-mkbaselibs-20220422-150200.9.1
    • build-20220422-150200.9.1

References: