Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2023-06-29 17:27:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new.13546 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Thu Jun 29 17:27:29 2023 rev:154 rq:1095759 version:20230628 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2023-05-28 19:22:04.784689709 +0200 +++ /work/SRC/openSUSE:Factory/.build.new.13546/build.changes 2023-06-29 17:27:38.426017537 +0200 @@ -2 +2 @@ -Sat May 27 05:41:05 UTC 2023 - Adrian Schröter <adr...@suse.de> +Wed Jun 28 07:50:46 UTC 2023 - Adrian Schröter <adr...@suse.de> @@ -4,6 +4,3 @@ -- sync tumbleweed config -- addition cross architecture build configs -- docker builds: create pkgsummaries files if requested -- kiwi builds: create pkgsummaries files if requested -- Delete bogus space when copying the .packages files -- container: fixes for startdocker in chroot +- --vm-type=podman added (supports also root-less builds) +- Also support build constraints in the Dockerfile +- minor fixes Old: ---- obs-build-20230527.tar.gz New: ---- obs-build-20230628.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.1wxS34/_old 2023-06-29 17:27:39.542024074 +0200 +++ /var/tmp/diff_new_pack.1wxS34/_new 2023-06-29 17:27:39.546024097 +0200 @@ -28,7 +28,7 @@ Summary: A Script to Build SUSE Linux RPMs License: GPL-2.0-only OR GPL-3.0-only Group: Development/Tools/Building -Version: 20230527 +Version: 20230628 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.1wxS34/_old 2023-06-29 17:27:39.586024331 +0200 +++ /var/tmp/diff_new_pack.1wxS34/_new 2023-06-29 17:27:39.590024355 +0200 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20230527 +pkgver=20230628 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ _service ++++++ --- /var/tmp/diff_new_pack.1wxS34/_old 2023-06-29 17:27:39.610024472 +0200 +++ /var/tmp/diff_new_pack.1wxS34/_new 2023-06-29 17:27:39.614024496 +0200 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="manual"> - <param name="revision">20230527</param> - <param name="version">20230527</param> + <param name="revision">20230628</param> + <param name="version">20230628</param> <param name="url">https://github.com/openSUSE/obs-build.git</param> <param name="scm">git</param> <param name="extract">dist/build.changes</param> ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.1wxS34/_old 2023-06-29 17:27:39.634024613 +0200 +++ /var/tmp/diff_new_pack.1wxS34/_new 2023-06-29 17:27:39.638024636 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20230527 +Version: 20230628 Binary: build Maintainer: Adrian Schroeter <adr...@suse.de> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.1wxS34/_old 2023-06-29 17:27:39.662024777 +0200 +++ /var/tmp/diff_new_pack.1wxS34/_new 2023-06-29 17:27:39.666024800 +0200 @@ -1,4 +1,4 @@ -build (20230527) unstable; urgency=low +build (20230628) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20230527.tar.gz -> obs-build-20230628.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/Build/Docker.pm new/obs-build-20230628/Build/Docker.pm --- old/obs-build-20230527/Build/Docker.pm 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/Build/Docker.pm 2023-06-28 09:52:29.000000000 +0200 @@ -255,6 +255,12 @@ if ($line =~ /^#!BuildVersion:\s*(\S+)\s*$/) { $ret->{'version'} = $1; } + if ($line =~ /^#!BuildRelease:\s*(\S+)\s*$/) { + $ret->{'release'} = $1; + } + if ($line =~ /^#!BuildConstraint:\s*(\S.+?)\s*$/) { + push @{$ret->{'buildconstraint'}}, $1; + } if ($line =~ /^#!UnorderedRepos\s*$/) { $unorderedrepos = 1; } @@ -383,7 +389,8 @@ } push @{$ret->{'deps'}}, '--unorderedimagerepos' if $unorderedrepos; my $version = $ret->{'version'}; - my $release = $cf->{'buildrelease'}; + my $release = $ret->{'release'}; + $release = $cf->{'buildrelease'} if defined $cf->{'buildrelease'}; for (@{$ret->{'containertags'} || []}) { s/<VERSION>/$version/g if defined $version; s/<RELEASE>/$release/g if defined $release; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/build-recipe new/obs-build-20230628/build-recipe --- old/obs-build-20230527/build-recipe 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/build-recipe 2023-06-28 09:52:29.000000000 +0200 @@ -25,6 +25,7 @@ BUILDTYPE= KIWI_PARAMETERS= BUILD_SKIP_BUNDLE= +BUILD_TOOL_OPTS=() RPM_BUILD_IN_PLACE= RPM_RECIPE_IN_SUBDIR= RPM_NOPREP= @@ -70,7 +71,7 @@ case ${PARAM/#--/-} in -buildtool-opt) needarg - BUILD_TOOL_OPT="$ARG" + BUILD_TOOL_OPTS[${#BUILD_TOOL_OPTS[@]}]=$ARG shift ;; -stage) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/build-recipe-spec new/obs-build-20230628/build-recipe-spec --- old/obs-build-20230527/build-recipe-spec 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/build-recipe-spec 2023-06-28 09:52:29.000000000 +0200 @@ -179,8 +179,10 @@ # XXX: move _srcdefattr to macro file? rpmbopts=("--define" "_srcdefattr (-,root,root)") - if test -n "$BUILD_TOOL_OPT" ; then - rpmbopts[${#rpmbopts[@]}]="$BUILD_TOOL_OPT" + if test -n "$BUILD_TOOL_OPTS" ; then + for opt in ${BUILD_TOOL_OPTS[@]}; do + rpmbopts[${#rpmbopts[@]}]=$opt + done fi if test "$DO_CHECKS" != true ; then if chroot "$BUILD_ROOT" "$rpmbuild" --nocheck --help >/dev/null 2>&1; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/build-vm new/obs-build-20230628/build-vm --- old/obs-build-20230527/build-vm 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/build-vm 2023-06-28 09:52:29.000000000 +0200 @@ -34,6 +34,7 @@ VM_TYPE= declare -a VM_ARGS VM_TYPE_PRIVILEGED= +VM_TYPE_CONTAINER= VM_ROOT= VM_SWAP= VM_ROOT_TYPE= @@ -73,7 +74,7 @@ # openstack specific VM_OPENSTACK_FLAVOR= -for i in ec2 emulator kvm lxc openstack qemu uml xen zvm docker pvm nspawn; do +for i in ec2 emulator kvm lxc openstack qemu uml xen zvm docker podman pvm nspawn; do . "$BUILD_DIR/build-vm-$i" done @@ -146,11 +147,14 @@ needarg VM_TYPE="$ARG" case "$VM_TYPE" in - docker:privileged|nspawn:privileged) + podman:privileged|docker:privileged|nspawn:privileged) VM_TYPE_PRIVILEGED=true + VM_TYPE_CONTAINER=true VM_TYPE=${VM_TYPE%:*} ;; - lxc|docker|nspawn) ;; + lxc|podman|docker|nspawn) + VM_TYPE_CONTAINER=true + ;; ec2|xen|kvm|uml|qemu|emulator|openstack|zvm|pvm) test -z "$VM_ROOT" && VM_ROOT=1 ;; @@ -338,7 +342,7 @@ vm_shutdown_halt() { # get rid of the exit handler trap EXIT - test "$VM_TYPE" = lxc -o "$VM_TYPE" = docker -o "$VM_TYPE" = nspawn && exit $1 + test -n "$VM_TYPE_CONTAINER" && exit $1 # shutdown from fresh shell to close out deleted inodes exec -a "build: halt" -- $BASH -c "$(declare -f vm_shutdown_halt_helper); vm_shutdown_halt_helper $1" echo "Warning: clean shut down of the VM didn't work" @@ -615,19 +619,22 @@ BUILD_DIR=/.build echo "machine type: `uname -m`" echo "Linux version: `uname -rv`" - echo "Increasing log level from now on..." - echo 4 > /proc/sysrq-trigger - echo "Enable sysrq operations" - echo 1 > /proc/sys/kernel/sysrq - if test "$PERSONALITY" != 0 -a -z "$PERSONALITY_SET" ; then - export PERSONALITY_SET=true - echo "switching personality to $PERSONALITY..." - # this is 32bit perl/glibc, thus the 32bit syscall number - exec perl -e 'syscall(136, '$PERSONALITY') == -1 && warn("personality: $!\n");exec "/.build/build" || die("/.build/build: $!\n")' + echo "Time: `date`" + if test -z "$VM_TYPE_CONTAINER"; then + echo "Increasing log level from now on..." + echo 4 > /proc/sysrq-trigger + echo "Enable sysrq operations" + echo 1 > /proc/sys/kernel/sysrq + if test "$PERSONALITY" != 0 -a -z "$PERSONALITY_SET" ; then + export PERSONALITY_SET=true + echo "switching personality to $PERSONALITY..." + # this is 32bit perl/glibc, thus the 32bit syscall number + exec perl -e 'syscall(136, '$PERSONALITY') == -1 && warn("personality: $!\n");exec "/.build/build" || die("/.build/build: $!\n")' + fi fi RUNNING_IN_VM=true test -e /proc/version || mount -orw -n -tproc none /proc - if test "$VM_TYPE" != lxc -a "$VM_TYPE" != docker -a "$VM_TYPE" != nspawn ; then + if test -z "$VM_TYPE_CONTAINER" ; then mount -n ${VMDISK_MOUNT_OPTIONS},remount,rw / fi umount /run >/dev/null 2>&1 @@ -703,20 +710,22 @@ test -e /etc/mtab || ln -sf /proc/mounts /etc/mtab fi - # set date to build start on broken systems (now < build start) - if test $(date '+%s') -lt $(date -r /.build/.date '+%s') ; then - echo -n "WARNING: system has a broken clock, setting it to a newer time: " - date -s $(</.build/.date) - fi + if test -z "$VM_TYPE_CONTAINER" ; then + # set date to build start on broken systems (now < build start) + if test $(date '+%s') -lt $(date -r /.build/.date '+%s') ; then + echo -n "WARNING: system has a broken clock, setting it to a newer time: " + date -s $(</.build/.date) + fi - # Enable Core dump generation - mkdir -p "$BUILD_ROOT/.build/cores" - echo "/.build/cores/%p" > /proc/sys/kernel/core_pattern - - # Load selinux policy (if a preinstall image is used) - if test -s /etc/selinux/config -a -x /usr/sbin/load_policy -a -e /sys/fs/selinux/status -a -e /installed-pkg ; then - echo "loading selinux policy" - /usr/sbin/load_policy + # Enable Core dump generation + mkdir -p "$BUILD_ROOT/.build/cores" + echo "/.build/cores/%p" > /proc/sys/kernel/core_pattern + + # Load selinux policy (if a preinstall image is used) + if test -s /etc/selinux/config -a -x /usr/sbin/load_policy -a -e /sys/fs/selinux/status -a -e /installed-pkg ; then + echo "loading selinux policy" + /usr/sbin/load_policy + fi fi return 0 } @@ -1013,7 +1022,6 @@ ppc|ppcle|s390) PERSONALITY=8 ;; # ppc/s390 kernel never tells us if a 32bit personality is active, assume we run on 64bit aarch64) test "$BUILD_ARCH" != "${BUILD_ARCH#armv[567]}" && PERSONALITY=8 ;; # workaround, to be removed esac - test "$VM_TYPE" = lxc -o "$VM_TYPE" = docker -o "$VM_TYPE" = nspawn && PERSONALITY=0 echo "PERSONALITY='$PERSONALITY'" >> $BUILD_ROOT/.build/build.data echo "VM_HOSTNAME='$HOST'" >> $BUILD_ROOT/.build/build.data echo -n "definesnstuff=(" >> $BUILD_ROOT/.build/build.data @@ -1023,6 +1031,7 @@ shellquote "${repos[@]}" >> $BUILD_ROOT/.build/build.data echo ")" >> $BUILD_ROOT/.build/build.data echo "VM_TYPE='$VM_TYPE'" >> $BUILD_ROOT/.build/build.data + echo "VM_TYPE_CONTAINER='$VM_TYPE_CONTAINER'" >> $BUILD_ROOT/.build/build.data echo "VM_NETWORK='$VM_NETWORK'" >> $BUILD_ROOT/.build/build.data echo "RUN_SHELL='$RUN_SHELL'" >> $BUILD_ROOT/.build/build.data echo "RUN_SHELL_AFTER_FAIL='$RUN_SHELL_AFTER_FAIL'" >> $BUILD_ROOT/.build/build.data @@ -1174,28 +1183,31 @@ echo "" >> $otherdir/_statistics rm /.build/_statistics.memory fi - if ! test -e /sys/block; then - mkdir -p /sys - mount -n sys /sys -t sysfs - sys_mounted=1 - fi - device="hda1" - test -e /dev/sda && device="sda" - test -e /dev/vda && device="vda" - test -e /dev/xvda && device="xvda" # in newer XEN setups - test -e /dev/dasda && device="dasda" # in z/VM - test -e /dev/nfhd0 && device="nfhd0" # in aranym - if test -e /sys/block/${device}/stat ; then - disk=(`cat /sys/block/${device}/stat`) - test "0${disk[0]}" -gt 0 && echo "IO_requests_read: ${disk[0]}" >> $otherdir/_statistics - test "0${disk[2]}" -gt 0 && echo "IO_sectors_read: ${disk[2]}" >> $otherdir/_statistics - test "0${disk[4]}" -gt 0 && echo "IO_requests_write: ${disk[4]}" >> $otherdir/_statistics - test "0${disk[6]}" -gt 0 && echo "IO_sectors_write: ${disk[6]}" >> $otherdir/_statistics - else - echo "ERROR: no root disk device found, yet another new device name?" - ls -l /sys/block/ + + if test -z "$VM_TYPE_CONTAINER"; then + if ! test -e /sys/block; then + mkdir -p /sys + mount -n sys /sys -t sysfs + sys_mounted=1 + fi + device="hda1" + test -e /dev/sda && device="sda" + test -e /dev/vda && device="vda" + test -e /dev/xvda && device="xvda" # in newer XEN setups + test -e /dev/dasda && device="dasda" # in z/VM + test -e /dev/nfhd0 && device="nfhd0" # in aranym + if test -e /sys/block/${device}/stat ; then + disk=(`cat /sys/block/${device}/stat`) + test "0${disk[0]}" -gt 0 && echo "IO_requests_read: ${disk[0]}" >> $otherdir/_statistics + test "0${disk[2]}" -gt 0 && echo "IO_sectors_read: ${disk[2]}" >> $otherdir/_statistics + test "0${disk[4]}" -gt 0 && echo "IO_requests_write: ${disk[4]}" >> $otherdir/_statistics + test "0${disk[6]}" -gt 0 && echo "IO_sectors_write: ${disk[6]}" >> $otherdir/_statistics + else + echo "ERROR: no root disk device found, yet another new device name?" + ls -l /sys/block/ + fi + test -n "$sys_mounted" && umount /sys fi - test -n "$sys_mounted" && umount /sys } # args: resultdirs @@ -1258,7 +1270,7 @@ cleanup_and_exit 1 "ERROR: neither /sbin/ifconfig nor /sbin/ip is installed, please specify correct package via -x option" fi fi - if test -n "$VM_HOSTNAME" ; then + if test -z "$VM_TYPE_CONTAINER" -a -n "$VM_HOSTNAME" ; then if test -e /bin/hostname -o -e /usr/bin/hostname -o -e /sbin/hostname -o -e /usr/sbin/hostname ; then hostname "$VM_HOSTNAME" elif test -e /proc/sys/kernel/hostname ; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/build-vm-podman new/obs-build-20230628/build-vm-podman --- old/obs-build-20230527/build-vm-podman 1970-01-01 01:00:00.000000000 +0100 +++ new/obs-build-20230628/build-vm-podman 2023-06-28 09:52:29.000000000 +0200 @@ -0,0 +1,88 @@ +# +# Podman specific functions +# +################################################################ +# +# Copyright (c) 2023 Dirk Mueller +# Copyright (c) 2023 SUSE, LLC +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 or 3 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program (see the file COPYING); if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# +################################################################ + +vm_verify_options_podman() { + VM_ROOT= + VM_SWAP= +} + +vm_startup_podman() { + local name="build_${RECIPEFILE}" + podman rm "$name" >/dev/null 2>&1 || true + local podman_opts= + test -n "$VM_TYPE_PRIVILEGED" && podman_opts="--privileged --cap-add=SYS_ADMIN --cap-add=MKNOD" + podman run \ + --rm --name "$name" --net=none $podman_opts \ + --mount "type=bind,source=$BUILD_ROOT,destination=/" \ + "$@" build-scratch:latest "$vm_init_script" + BUILDSTATUS="$?" + test "$BUILDSTATUS" != 255 || BUILDSTATUS=3 + cleanup_and_exit "$BUILDSTATUS" +} + +vm_kill_podman() { + local name="build_${RECIPEFILE}" + podman stop -t 2 "$name" || true +} + +vm_fixup_podman() { + + # create a scratch image for our build environment + if ! podman image exists build-scratch:latest ; then + echo "FROM scratch" | podman build -t build-scratch:latest - + fi + + # we need this as marker for handling container specific code. Docker is setting it as well + touch $BUILD_ROOT/.podmanenv + test -n "$VM_TYPE_PRIVILEGED" && touch $BUILD_ROOT/.podmanenv.privileged +} + +vm_attach_root_podman() { + : +} + +vm_attach_swap_podman() { + : +} + +vm_detach_root_podman() { + : +} + +vm_detach_swap_podman() { + : +} + +vm_cleanup_podman() { + : +} + +vm_sysrq_podman() { + : +} + +vm_wipe_podman() { + local name="build_${RECIPEFILE}" + podman rm "$name" >/dev/null 2>&1 || true +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/dist/build.changes new/obs-build-20230628/dist/build.changes --- old/obs-build-20230527/dist/build.changes 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/dist/build.changes 2023-06-28 09:52:29.000000000 +0200 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Wed Jun 28 07:50:46 UTC 2023 - Adrian Schröter <adr...@suse.de> + +- --vm-type=podman added (supports also root-less builds) +- Also support build constraints in the Dockerfile +- minor fixes + +------------------------------------------------------------------- Tue May 2 12:13:54 UTC 2023 - Adrian Schröter <adr...@suse.de> - Add SUSE ALP build config diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/docs/cross_arch_build.adoc new/obs-build-20230628/docs/cross_arch_build.adoc --- old/obs-build-20230527/docs/cross_arch_build.adoc 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/docs/cross_arch_build.adoc 2023-06-28 09:52:29.000000000 +0200 @@ -82,7 +82,3 @@ specify the host architecture via %target macro on most distributions: ./configure --build=%build --host=%target - -=== Repository setup - -=== Build Config diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/docs/pbuild.html new/obs-build-20230628/docs/pbuild.html --- old/obs-build-20230527/docs/pbuild.html 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/docs/pbuild.html 2023-06-28 09:52:29.000000000 +0200 @@ -4,7 +4,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> -<meta name="generator" content="AsciiDoc" /> +<meta name="generator" content="AsciiDoc 10.2.0" /> <title>pbuild Reference Guide</title> <style type="text/css"> /* Shared CSS for AsciiDoc xhtml11 and html5 backends */ @@ -1032,7 +1032,12 @@ </div> <div class="sect3"> <h4 id="_dockerfile_description">2.4.3. Dockerfile description</h4> -<div class="paragraph"><p>Has no support for assets yet.</p></div> +<div class="paragraph"><p>Remote assets that will be downloaded before the build can be added via the +comment <code>#!RemoteAssetUrl: https://my.url/asset.tar</code>. <code>pbuild</code> will fetch the +asset before the build and will make it available in the buildroot so that the +asset can copied into the container as follows:</p></div> +<div class="listingblock"> +<div class="content"></div></div> </div> <div class="sect3"> <h4 id="_arch_linux_pkgbuild">2.4.4. Arch Linux PKGBUILD</h4> @@ -1226,6 +1231,34 @@ will fail.</p></div> <div class="paragraph"><p>A common use case for obsgendiff is to run release-compare after the build.</p></div> +<div class="ulist"><ul> +<li> +<p> +setvcs +</p> +</li> +</ul></div> +<div class="paragraph"><p>Adds the SCM URL to binary results when the package sources are managed +via the scmsync mechanic. The url is written into the VCS tag of rpms +when enabling this functionality.</p></div> +<div class="ulist"><ul> +<li> +<p> +sbom:FORMAT +</p> +</li> +</ul></div> +<div class="paragraph"><p>Enables generation of SBOM (Software Bill Of Material) data. Supported +formats are spdx and cyclonedx.</p></div> +<div class="ulist"><ul> +<li> +<p> +container-compression-format:FORMAT +</p> +</li> +</ul></div> +<div class="paragraph"><p>Sets a compression format for container layers. Possible values are gzip, zstd, +zstd:chunked. The usage of values beside gzip is only supported by podman and buildah.</p></div> </div> <div class="sect3"> <h4 id="_constraint_selector_string">3.1.4. Constraint: SELECTOR STRING</h4> @@ -1682,12 +1715,6 @@ </div></div> </div> </div> -<div class="sect2"> -<h3 id="_repository_setup">4.5. Repository setup</h3> -</div> -<div class="sect2"> -<h3 id="_build_config">4.6. Build Config</h3> -</div> </div> </div> </div> @@ -1695,7 +1722,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2022-03-24 09:17:43 CET + 2023-04-26 15:27:12 CST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20230527/init_buildsystem new/obs-build-20230628/init_buildsystem --- old/obs-build-20230527/init_buildsystem 2023-05-27 07:39:11.000000000 +0200 +++ new/obs-build-20230628/init_buildsystem 2023-06-28 09:52:29.000000000 +0200 @@ -190,6 +190,10 @@ umount_stuff rm -rf -- "$BUILD_ROOT"/* 2> /dev/null || true chattr -a -A -i -R -- "$BUILD_ROOT" 2> /dev/null || true # does not follow symlinks + # For rootless podman switch to subuid root + if test "$UID" != 0 && unshare --map-auto true >/dev/null 2>&1; then + unshare --map-auto -r rm -rf -- "$BUILD_ROOT"/* 2> /dev/null || true + fi rm -rf -- "$BUILD_ROOT"/* rm -rf -- "$BUILD_ROOT/.build" rm -rf -- "$BUILD_ROOT"/.build.console.*