Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package build for openSUSE:Factory checked 
in at 2022-04-01 21:35:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build (Old)
 and      /work/SRC/openSUSE:Factory/.build.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "build"

Fri Apr  1 21:35:28 2022 rev:141 rq:965580 version:20220329

Changes:
--------
--- /work/SRC/openSUSE:Factory/build/build.changes      2022-03-17 
17:01:26.677682890 +0100
+++ /work/SRC/openSUSE:Factory/.build.new.1900/build.changes    2022-04-01 
21:36:16.765382917 +0200
@@ -1,0 +2,9 @@
+Tue Mar 29 08:46:07 UTC 2022 - Adrian Schr??ter <adr...@suse.de>
+
+- 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
+
+-------------------------------------------------------------------

Old:
----
  obs-build-20220315.tar.gz

New:
----
  obs-build-20220329.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ build.spec ++++++
--- /var/tmp/diff_new_pack.M2AleM/_old  2022-04-01 21:36:17.577374011 +0200
+++ /var/tmp/diff_new_pack.M2AleM/_new  2022-04-01 21:36:17.581373967 +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:        20220315
+Version:        20220329
 Release:        0
 Source:         obs-build-%{version}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.M2AleM/_old  2022-04-01 21:36:17.621373528 +0200
+++ /var/tmp/diff_new_pack.M2AleM/_new  2022-04-01 21:36:17.625373484 +0200
@@ -1,5 +1,5 @@
 pkgname=build
-pkgver=20220315
+pkgver=20220329
 pkgrel=0
 pkgdesc="Build packages in sandbox"
 arch=('i686' 'x86_64')

++++++ _service ++++++
--- /var/tmp/diff_new_pack.M2AleM/_old  2022-04-01 21:36:17.645373265 +0200
+++ /var/tmp/diff_new_pack.M2AleM/_new  2022-04-01 21:36:17.649373221 +0200
@@ -1,7 +1,7 @@
 <services>
   <service name="tar_scm" mode="manual">
-    <param name="revision">20220315</param>
-    <param name="version">20220315</param>
+    <param name="revision">20220329</param>
+    <param name="version">20220329</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.M2AleM/_old  2022-04-01 21:36:17.669373002 +0200
+++ /var/tmp/diff_new_pack.M2AleM/_new  2022-04-01 21:36:17.685372826 +0200
@@ -1,6 +1,6 @@
 Format: 1.0
 Source: build
-Version: 20220315
+Version: 20220329
 Binary: build
 Maintainer: Adrian Schroeter <adr...@suse.de>
 Architecture: all

++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.M2AleM/_old  2022-04-01 21:36:17.733372300 +0200
+++ /var/tmp/diff_new_pack.M2AleM/_new  2022-04-01 21:36:17.737372256 +0200
@@ -1,4 +1,4 @@
-build (20220315) unstable; urgency=low
+build (20220329) unstable; urgency=low
 
   * Update to current git trunk
     - add sles11sp2 build config and adapt autodetection

++++++ obs-build-20220315.tar.gz -> obs-build-20220329.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/Build/Deb.pm 
new/obs-build-20220329/Build/Deb.pm
--- old/obs-build-20220315/Build/Deb.pm 2022-03-15 16:56:55.000000000 +0100
+++ new/obs-build-20220329/Build/Deb.pm 2022-03-29 10:52:43.000000000 +0200
@@ -366,6 +366,7 @@
     $data->{'version'} = $2;
     $data->{'release'} = $3 if defined $3;
     $data->{'arch'} = $res{'ARCHITECTURE'};
+    $data->{'multiarch'} = $res{'MULTI-ARCH'} if $res{'MULTI-ARCH'};
   }
   if ($opts{'description'}) {
     $data->{'description'} = $res{'DESCRIPTION'};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/Build/Debrepo.pm 
new/obs-build-20220329/Build/Debrepo.pm
--- old/obs-build-20220315/Build/Debrepo.pm     2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/Build/Debrepo.pm     2022-03-29 10:52:43.000000000 
+0200
@@ -77,6 +77,7 @@
   'enhances' => 'enhances',
   'filename' => 'location',
   'source' => 'source',
+  'multi-arch' => 'multiarch',
 );
 
 my %tmap_checksums = (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/Build/Docker.pm 
new/obs-build-20220329/Build/Docker.pm
--- old/obs-build-20220315/Build/Docker.pm      2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/Build/Docker.pm      2022-03-29 10:52:43.000000000 
+0200
@@ -111,7 +111,10 @@
 sub cmd_zypper {
   my ($ret, @args) = @_;
   # skip global options
-  shift @args while @args && $args[0] =~ /^-/;
+  while (@args && $args[0] =~ /^-/) {
+    shift @args if $args[0] eq '-R' || $args[0] eq '--root' || $args[0] eq 
'--installroot';
+    shift @args;
+  }
   return unless @args;
   if ($args[0] eq 'in' || $args[0] eq 'install') {
     shift @args;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/Build/Expand.pm 
new/obs-build-20220329/Build/Expand.pm
--- old/obs-build-20220315/Build/Expand.pm      2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/Build/Expand.pm      2022-03-29 10:52:43.000000000 
+0200
@@ -308,6 +308,19 @@
   return $ret;
 }
 
+sub extractnative {
+  my ($config, $r, $p, $foreign) = @_;
+  my $ma = $config->{'multiarchh'}->{$p} || '';
+  if ($ma eq 'foreign' || ($ma eq 'allowed' && $r =~ /:any/)) {
+    if ($expand_dbg && !grep {$r eq $_} @$foreign) {
+      print "added $r to foreign dependencies\n";
+    }
+    push @$foreign, $r;
+    return 1;
+  }
+  return 0;
+}
+
 sub expand {
   my ($config, @p) = @_;
 
@@ -341,6 +354,10 @@
     @directdepsend = grep {!/^-/} splice(@directdepsend, @p + 1);
   }
 
+  my $extractnative;
+  (undef, $extractnative) = splice(@p, 0, 2) if @p > 1 && $p[0] eq 
'--extractnative--' && ref($p[1]);
+  undef $extractnative if $extractnative && !%{$config->{'multiarchh'} || {}};
+
   my %p;               # expanded packages
   my @todo;            # dependencies to install
   my @todo_inst;       # packages we decided to install
@@ -349,6 +366,7 @@
   my @rec_todo;                # installed todo
   my @error;
   my %aconflicts;      # packages we are conflicting with
+  my @native;
 
   # handle direct conflicts
   for (grep {/^!/} @p) {
@@ -383,6 +401,7 @@
       next;
     }
     my $p = $q[0];
+    next if $extractnative && extractnative($config, $r, $p, \@native);
     print "added $p because of $r (direct dep)\n" if $expand_dbg;
     push @todo_inst, $p;
   }
@@ -404,6 +423,8 @@
   }
   return (undef, @error) if @error;
 
+  push @native, '--directdepsend--' if $extractnative;
+
   while (@todo || @todo_inst) {
     # install a set of chosen packages
     # ($aconficts must not be set for any of them)
@@ -530,8 +551,9 @@
          next;
        }
         if (@q == 1) {
-         push @todo_inst, $q[0];
+         next if $extractnative && extractnative($config, $r, $q[0], \@native);
          print "added $q[0] because of $pp$r\n" if $expand_dbg;
+         push @todo_inst, $q[0];
           next;
         }
 
@@ -548,6 +570,7 @@
          @q = @pq if @pq == 1;
        }
         if (@q == 1) {
+         next if $extractnative && extractnative($config, $r, $q[0], \@native);
          push @todo_inst, $q[0];
          print "added $q[0] because of $pp$r\n" if $expand_dbg;
           next;
@@ -579,6 +602,7 @@
          }
        }
         if (@q == 1) {
+         next if $extractnative && extractnative($config, $r, $q[0], \@native);
          push @todo_inst, $q[0];
          print "added $q[0] because of $pp$r\n" if $expand_dbg;
           next;
@@ -594,6 +618,7 @@
        print "recommended [@pq] among [@q]\n" if $expand_dbg;
        @q = @pq if @pq;
         if (@q == 1) {
+         next if $extractnative && extractnative($config, $r, $q[0], \@native);
          push @todo_inst, $q[0];
          print "added $q[0] because of $pp$r\n" if $expand_dbg;
           next;
@@ -617,6 +642,21 @@
     return undef, @error if @error;
   }
 
+  if ($extractnative && @native) {
+    my %rdone;
+    for my $r (splice @native) {
+      next if $rdone{$r}++;
+      if ($r eq '--directdepsend--') {
+       push @native, $r;
+       next;
+      }
+      my @q = @{$whatprovides->{$r} || Build::addproviders($config, $r)};
+      push @native, $r unless grep {$p{$_}} @q;
+    }
+    pop @native if @native && $native[-1] eq '--directdepsend--';
+    push @$extractnative, @native;
+  }
+
   return 1, (sort keys %p);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/Build/Intrepo.pm 
new/obs-build-20220329/Build/Intrepo.pm
--- old/obs-build-20220315/Build/Intrepo.pm     2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/Build/Intrepo.pm     2022-03-29 10:52:43.000000000 
+0200
@@ -111,6 +111,12 @@
       $pkg->{'location'} = $loc if defined $loc;
       next;
     }
+    if ($tag eq 'M') {
+      chomp;
+      my $multiarch = (split(' ', $_, 2))[1];
+      $pkg->{'multiarch'} = $multiarch if $multiarch;
+      next;
+    }
     my @ss;
     while (@s) {
       if ($nofiledeps && $s[0] =~ /^\//) {
@@ -178,6 +184,7 @@
   print $fh "O:$id".join(' ', @{$pkg->{'obsoletes'}})."\n" if 
$pkg->{'obsoletes'};
   print $fh "r:$id".join(' ', @{$pkg->{'recommends'}})."\n" if 
$pkg->{'recommends'};
   print $fh "s:$id".join(' ', @{$pkg->{'supplements'}})."\n" if 
$pkg->{'supplements'};
+  print $fh "M:$id$pkg->{'multiarch'}\n" if $pkg->{'multiarch'};
   print $fh "I:$id".getbuildid($pkg)."\n";
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/Build.pm 
new/obs-build-20220329/Build.pm
--- old/obs-build-20220315/Build.pm     2022-03-15 16:56:55.000000000 +0100
+++ new/obs-build-20220329/Build.pm     2022-03-29 10:52:43.000000000 +0200
@@ -369,8 +369,6 @@
   delete $config->{'save_expanded'};
   $config->{'preinstall'} = [];
   $config->{'vminstall'} = [];
-  $config->{'cbpreinstall'} = [];
-  $config->{'cbinstall'} = [];
   $config->{'runscripts'} = [];
   $config->{'required'} = [];
   $config->{'support'} = [];
@@ -737,6 +735,8 @@
 # Delivers all packages which get used for the cross building sysroot
 sub get_sysroot {
   my ($config, $subpacks, @deps) = @_;
+  my @extractnative;
+  (@extractnative) = splice(@deps, 0, 2) if @deps > 1 && $deps[0] eq 
'--extractnative--' && ref($deps[1]);
   my @ndeps = grep {/^-/} @deps;
   my %ndeps = map {$_ => 1} @ndeps;
   my @directdepsend;
@@ -757,7 +757,7 @@
     @directdepsend = grep {!$ndeps{"-$_"}} @directdepsend;
     unshift @directdepsend, '--directdepsend--' if @directdepsend;
   }
-  @deps = expand($config, @deps, @ndeps, @directdepsend);
+  @deps = expand($config, @extractnative, @deps, @ndeps, @directdepsend);
   return @deps;
 }
 
@@ -880,10 +880,6 @@
   return @{$config->{'runscripts'}};
 }
 
-### just for API compability
-sub get_cbpreinstalls { return (); }
-sub get_cbinstalls { return (); }
-
 ###########################################################################
 
 sub parse_depfile {
@@ -911,6 +907,7 @@
   my %pkgobsoletes;
   my %recommends;
   my %supplements;
+  my %multiarch;
   for my $pkgid (sort keys %$pkginfo) {
     my $pkg = $pkginfo->{$pkgid};
     $provides{$pkgid} = $pkg->{'provides'} if $pkg->{'provides'};
@@ -919,6 +916,7 @@
     $pkgobsoletes{$pkgid} = $pkg->{'obsoletes'} if $pkg->{'obsoletes'};
     $recommends{$pkgid} = $pkg->{'recommends'} if $pkg->{'recommends'};
     $supplements{$pkgid} = $pkg->{'supplements'} if $pkg->{'supplements'};
+    $multiarch{$pkgid} = $pkg->{'multiarch'} if $pkg->{'multiarch'};
   }
   $config->{'providesh'} = \%provides;
   $config->{'requiresh'} = \%requires;
@@ -926,6 +924,7 @@
   $config->{'pkgobsoletesh'} = \%pkgobsoletes;
   $config->{'recommendsh'} = \%recommends;
   $config->{'supplementsh'} = \%supplements;
+  $config->{'multiarchh'} = \%multiarch;
   makewhatprovidesh($config);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/PBuild/Checker.pm 
new/obs-build-20220329/PBuild/Checker.pm
--- old/obs-build-20220315/PBuild/Checker.pm    2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/PBuild/Checker.pm    2022-03-29 10:52:43.000000000 
+0200
@@ -395,7 +395,7 @@
   my $hdeps;
   if ($ctx->{'bconf_host'} && !$p->{'native'}) {
     my $subpacks = $ctx->{'subpacks'};
-    $hdeps = [ @{$p->{'dep_host'} || $p->{'dep'} || []} ];
+    $hdeps = [ @{$p->{'dep_host'} || $p->{'dep'} || []}, @{$p->{'dep_native'} 
|| []} ];
     @$hdeps = Build::get_deps($ctx->{'bconf_host'}, $subpacks->{$p->{'name'}}, 
@$hdeps);
     if (!shift @$hdeps) {
       return ('unresolvable', 'host: '.join(', ', @$hdeps));
@@ -626,6 +626,7 @@
   my $genbuildreqs = $p->{'genbuildreqs'};
   my @bdeps = grep {!/^\// || $bconf->{'fileprovides'}->{$_}} @{$p->{'prereq'} 
|| []};
   unshift @bdeps, '--directdepsend--' if @bdeps;
+  unshift @bdeps, @{$p->{'dep_native'} || []};
   unshift @bdeps, @{$genbuildreqs->[1]} if $genbuildreqs;
   if (!$kiwimode && $ctx->{'bconf_host'}) {
     unshift @bdeps, @{$p->{'dep_host'} || $p->{'dep'} || []}, @btdeps;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/PBuild/Expand.pm 
new/obs-build-20220329/PBuild/Expand.pm
--- old/obs-build-20220315/PBuild/Expand.pm     2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/PBuild/Expand.pm     2022-03-29 10:52:43.000000000 
+0200
@@ -121,7 +121,9 @@
   }
   my @edeps;
   if ($cross) {
-    @edeps = Build::get_sysroot($bconf, $subpacks->{$p->{'name'}}, @deps);
+    my @native;
+    @edeps = Build::get_sysroot($bconf, $subpacks->{$p->{'name'}}, 
'--extractnative--', \@native, @deps);
+    $p->{'dep_native'} = \@native;
   } else {
     @edeps = Build::get_deps($bconf, $subpacks->{$p->{'name'}}, @deps);
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/build new/obs-build-20220329/build
--- old/obs-build-20220315/build        2022-03-15 16:56:55.000000000 +0100
+++ new/obs-build-20220329/build        2022-03-29 10:52:43.000000000 +0200
@@ -1424,7 +1424,7 @@
 
 set_build_arch
 
-if test "$DO_INIT" = false -a -n "$RUN_SHELL"; then
+if test "$DO_INIT" = false -a -n "$RUN_SHELL" -a -z "$VM_TYPE"; then
     mount_stuff
     BUILD_USER=root
     test -n "$NOROOTFORBUILD" && BUILD_USER=abuild
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/build-pkg-deb 
new/obs-build-20220329/build-pkg-deb
--- old/obs-build-20220315/build-pkg-deb        2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/build-pkg-deb        2022-03-29 10:52:43.000000000 
+0200
@@ -180,6 +180,29 @@
     fi
 }
 
+pkg_sysrootinstall_deb() {
+    if test "x$1" = "x--prepare" ; then
+       assert_dir_path "$BUILD_SYSROOT"
+       chroot $BUILD_ROOT mkdir -p "$BUILD_SYSROOT"
+       local target=$(queryconfig target --dist "$BUILD_DIST" --configdir 
"$CONFIG_DIR" --archpath "$BUILD_ARCH")
+       if test -n "$target" ; then
+           local debarch=$(deb_chroot $BUILD_ROOT dpkg-architecture -q 
DEB_HOST_ARCH --host-type "$target")
+           if test -n "$debarch" ; then
+               echo "Adding architecture $debarch"
+               deb_chroot $BUILD_ROOT dpkg --add-architecture "$debarch"
+           fi
+       fi
+       return
+    fi
+    if test "x$1" = "x--finalize" ; then
+       return
+    fi
+
+    ( deb_chroot $BUILD_ROOT dpkg --install $DEB_UNSAFE_IO --force-depends 
.init_b_cache/$PKG.deb 2>&1 || touch $BUILD_ROOT/exit ) | \
+       perl -ne '$|=1;/^(Configuration file|Installing new config 
file|Selecting previously deselected|Selecting previously unselected|\(Reading 
database|Unpacking |Setting up|Creating config file|Preparing to replace 
dpkg|Preparing to unpack )/||/^$/||print'
+}
+
+
 # Local Variables:
 # mode: Shell-script
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/build-recipe-dsc 
new/obs-build-20220329/build-recipe-dsc
--- old/obs-build-20220315/build-recipe-dsc     2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/build-recipe-dsc     2022-03-29 10:52:43.000000000 
+0200
@@ -158,8 +158,20 @@
        DSC_BUILD_CMD="source $TOPDIR/SOURCES/build.script"
        chmod +x $buildroot/$TOPDIR/SOURCES/build.script
     fi
+    if test -z "$ABUILD_TARGET" ; then
+        ABUILD_TARGET=$(queryconfig target --dist "$BUILD_DIST" --configdir 
"$CONFIG_DIR" --archpath "$BUILD_ARCH" )
+        test -z "$ABUILD_TARGET" || echo "build target is $ABUILD_TARGET"
+    fi
+    if test -n "$ABUILD_TARGET" ; then
+       DSC_BUILD_CMD="$DSC_BUILD_CMD --host-type $ABUILD_TARGET"
+    fi
+    if test -n "$ABUILD_TARGET" -a -d "$BUILD_ROOT/.build.sysroot" ; then
+       DSC_BUILD_CMD="$DSC_BUILD_CMD -Pcross,nocheck"
+       DSC_BUILD_OPTIONS="$DSC_BUILD_OPTIONS nocheck"
+       DSC_BUILD_OPTIONS="${DSC_BUILD_OPTIONS# }"
+    fi
 
-    chroot $buildroot su -c "export DEB_BUILD_OPTIONS=${DSC_BUILD_OPTIONS} ; 
cd $TOPDIR/BUILD && $DSC_BUILD_CMD" - $BUILD_USER < /dev/null && 
BUILD_SUCCEEDED=true
+    chroot $buildroot su -c "export DEB_BUILD_OPTIONS='${DSC_BUILD_OPTIONS}' ; 
cd $TOPDIR/BUILD && $DSC_BUILD_CMD" - $BUILD_USER < /dev/null && 
BUILD_SUCCEEDED=true
     if test "$BUILD_SUCCEEDED" = true -a "$DO_CHECKS" != "false" && ( chroot 
$buildroot su -c "which lintian > /dev/null" - $BUILD_USER < /dev/null ); then
        DEB_CHANGESFILE=${DEB_DSCFILE%.dsc}$OBS_DCH_RELEASE"_"$(chroot 
$buildroot su -c 'dpkg-architecture -qDEB_BUILD_ARCH')".changes"
        chroot $buildroot su -c "cd $TOPDIR && echo Running lintian && (set -x 
&& lintian -i $TOPDIR/$DEB_CHANGESFILE)" - $BUILD_USER < /dev/null || 
BUILD_SUCCEEDED=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/build-vm 
new/obs-build-20220329/build-vm
--- old/obs-build-20220315/build-vm     2022-03-15 16:56:55.000000000 +0100
+++ new/obs-build-20220329/build-vm     2022-03-29 10:52:43.000000000 +0200
@@ -1198,13 +1198,13 @@
 }
 
 vm_setup_network() {
-    if test -x /sbin/ip ; then 
+    if test -x /sbin/ip ; then
        ip addr add 127.0.0.1/8 dev lo
        ip addr add ::1/128 dev lo
        ip link set lo up
-    else
-       ifconfig lo 127.0.0.1 up
-       ifconfig lo add ::1/128
+    elif test -x /sbin/ifconfig ; then
+        ifconfig lo 127.0.0.1 up
+        ifconfig lo add ::1/128
     fi
     . /.build/build.data
     if test -n "$VM_NETWORK"; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/call-podman 
new/obs-build-20220329/call-podman
--- old/obs-build-20220315/call-podman  2022-03-15 16:56:55.000000000 +0100
+++ new/obs-build-20220329/call-podman  2022-03-29 10:52:43.000000000 +0200
@@ -45,13 +45,13 @@
     mount --make-rprivate /
 
     # create loopback interface
-    if test -x /sbin/ip ; then 
+    if test -x /sbin/ip ; then
        ip addr add 127.0.0.1/8 dev lo
        ip addr add ::1/128 dev lo
        ip link set lo up
-    else 
-       ifconfig lo 127.0.0.1 up
-       ifconfig lo add ::1/128
+    elif test -x /sbin/ifconfig ; then
+        ifconfig lo 127.0.0.1 up
+        ifconfig lo add ::1/128
     fi   
 fi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/configs/tumbleweed.conf 
new/obs-build-20220329/configs/tumbleweed.conf
--- old/obs-build-20220315/configs/tumbleweed.conf      2022-03-15 
16:56:55.000000000 +0100
+++ new/obs-build-20220329/configs/tumbleweed.conf      2022-03-29 
10:52:43.000000000 +0200
@@ -131,9 +131,7 @@
   BuildFlags: useccache:bitcoin
   BuildFlags: useccache:ceph
   BuildFlags: useccache:chromium
-  BuildFlags: useccache:glib2
   BuildFlags: useccache:gtk3
-  BuildFlags: useccache:gtk3:doc
   BuildFlags: useccache:llvm9
   BuildFlags: useccache:nodejs-electron
   buildflags: useccache:tensorflow
@@ -145,8 +143,9 @@
   buildflags: useccache:tensorflow:hpc-openmpi2
   buildflags: useccache:tensorflow:lite
   buildflags: useccache:tensorflow:standard
-# ccache 4.x breaks webkit2gtk3
-#BuildFlags: useccache:webkit2gtk3
+  BuildFlags: useccache:webkit2gtk3:gtk3
+  BuildFlags: useccache:webkit2gtk3:gtk3-soup2
+  BuildFlags: useccache:webkit2gtk3:gtk4
 %endif
 
 # switch to kiwi v8
@@ -164,10 +163,13 @@
 Preinstall: liblua5_4-5
 
 FileProvides: /bin/bash bash
+FileProvides: /usr/bin/bash bash
 FileProvides: /bin/sh bash-sh busybox-sh
+FileProvides: /usr/bin/sh bash-sh busybox-sh
 Prefer: bash-sh
 FileProvides: /bin/csh tcsh
 FileProvides: /bin/hostname hostname busybox-hostname
+Prefer: -busybox-hostname
 FileProvides: /usr/bin/hostname hostname busybox-hostname
 FileProvides: /bin/logger util-linux-systemd
 FileProvides: /sbin/netconfig sysconfig-netconfig
@@ -227,7 +229,15 @@
 Prefer: libdb-4_8-devel
 VMinstall: util-linux libmount1 perl-base libdb-4_8 libblkid1 libuuid1 
libsmartcols1 libcrypt1
 VMinstall: kernel-obs-build
-VMInstall: iproute2 libmnl0
+# iproute seems not to be used anymore nowadays; the builders have working 
localnet without it
+# and on OBS we don't support 'network' access anyway, so the rest of the 
config is never reached
+# 2022-03-23 - dimstar
+# VMInstall: iproute2 libmnl0
+
+# Add hostname so that OBS/build will have a chance to identify the hostname 
(instead of localhost)
+# build has alternative ways to inject hostname nowadays - removed 2022-03-23 
- dimstar
+#Support: hostname
+#Prefer: -busybox-hostname
 
 # Use the x86_64 kernel on i586 builds - boo#1178762 - Slow down in OBS since 
kernel 5.6.0 on 32bit
 ExportFilter: ^kernel-obs-build.*\.x86_64.rpm$ . i586
@@ -266,6 +276,34 @@
 ExportFilter: ^novell-messenger-client.*\.i586.rpm$ . x86_64
 ExportFilter: ^openCryptoki-32bit.*\.s390.rpm$ . s390x
 
+############
+# For QEMU #
+############
+#
+# Firmwares are built (if possible) once per "port". This reduces build time, 
e.g., as compared
+# to cross-compiling everything on everything, and improve consistency, while 
keeping things self
+# contained, within ports, which is especially important for openSUSE:Factory
+#
+# ### x86 firmwares
+# They are built on: x86_64 and aarch64. The x86_64 build can then be imported 
in i586, and the
+# aarch64 one in armv7l. We're not yet able to build them on any PPC arch (but 
are working on it)
+# so, for this devel project, we're exporting them there too (and for Factory, 
we have an aggregate).
+# We're also not able to build them on zsystem and riscv, so export them there 
as well, here in the
+# devel project (for Factory, we just miss them in s390, while riscv is 
special in its own way).
+ExportFilter: ^qemu-ipxe.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le s390x 
riscv64
+ExportFilter: ^qemu-seabios.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le 
s390x riscv64
+ExportFilter: ^qemu-vgabios.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le 
s390x riscv64
+ExportFilter: ^qemu-sgabios.*\.noarch\.rpm$ . i586 armv7l ppc ppc64 ppc64le 
s390x riscv64
+# ### PPC firmwares
+# They are built on: x86_64, aarch64 and ppc64le. The x86_build can then by 
imported in i586, the
+# aarch64 one in armv7l and the ppc64le one in ppc and ppc64. As for the x86 
firmwares, here in the
+# devel project, we export them directly to all the arch-es that can't build 
them, just for convenience.
+ExportFilter: ^qemu-skiboot.*\.noarch\.rpm$ . i586 armv7l ppc s390x riscv64
+ExportFilter: ^qemu-SLOF.*\.noarch\.rpm$ . i586 armv7l ppc s390x riscv64
+# TODO: does the 'qemu-edk2' package still exist?
+ExportFilter: ^qemu-edk2.*\.noarch\.rpm$ .    i586 armv7l aarch64 ppc ppc64 
ppc64le s390x riscv64
+ExportFilter: ^qemu-microvm.*\.noarch\.rpm$ . i586 armv7l aarch64 ppc ppc64 
ppc64le s390x riscv64
+
 Required: rpm-build
 # Build all packages with -pie enabled
 Required: gcc-PIE
@@ -277,9 +315,6 @@
 Support: brp-check-suse
 Support: post-build-checks
 
-# Add hostname so that OBS/build will have a chance to identify the hostname 
(instead of localhost)
-Support: hostname
-Prefer: -busybox-hostname
 # remove build-compare support to disable "same result" package dropping
 Support: build-compare
 
@@ -343,7 +378,7 @@
 Prefer: krb5-mini krb5-mini-devel
 Prefer: krb5-mini-devel:krb5-mini
 Prefer: libdebuginfod1 debuginfod-client
-Prefer: libudev-mini-devel libudev-mini1 udev-debuginfo libudev1-debuginfo
+Prefer: libudev-mini1 udev-debuginfo libudev1-debuginfo
 Prefer: libuna-mini-devel libuna1-mini
 Prefer: libunbound-devel-mini
 Prefer: tomcat:log4j12
@@ -368,6 +403,7 @@
 Ignore: postgresql13-devel-mini:this-is-only-for-build-envs
 Ignore: postgresql14-devel-mini:this-is-only-for-build-envs
 Ignore: systemd-mini:this-is-only-for-build-envs
+Ignore: systemd-mini-container:this-is-only-for-build-envs
 Ignore: udev-mini:this-is-only-for-build-envs
 
 # Ring0 packages should not pull in 'info' - making the base VM smaller
@@ -427,10 +463,13 @@
 Prefer: spamassassin:curl
 
 # Python3 exists in multiple versions - we currently favor 3.8 (our default):
-Prefer: -python36 -python39
+Prefer: -python39
 Prefer: -python39-hotdoc
 Prefer: -python39-txt2tags -python310-txt2tags
 
+# have choice for python3-magic: python38-magic python38-python-magic
+Prefer: -python38-magic -python39-magic -python310-magic
+
 # have choice for (python36-qt5 or python36-PyQt6) needed by python36-pytest-qt
 Prefer: -python39-PyQt6 -python38-PyQt6 -python3-pyside2
 # man and mandoc provide man; mandoc claims to be lightweight, but it was 
never discussed to be the new default
@@ -439,6 +478,9 @@
 # go exists in mutliple versions by now - we prefer the 'unversioned package'
 Prefer: go -go1.13
 
+# have choice for kernel >= 4.1.0 needed by libbcc0: kernel-debug 
kernel-default kernel-default-base kernel-kvmsmall kernel-vanilla
+Prefer: kernel-default-base
+
 # have choice for kubernetes-kubelet-common (de-prefer the old versions, 
ensuring to have a new unresolvable when a new version shows up)
 Prefer: -kubernetes1.18-kubelet-common -kubernetes1.19-kubelet-common 
-kubernetes1.20-kubelet-common -kubernetes1.21-kubelet-common 
-kubernetes1.22-kubelet-common
 
@@ -449,9 +491,8 @@
 Prefer: -budgie-desktop
 
 # python-tornado exists in multiple versions, the meta-package python-tornado 
defines the system default
-Prefer: -python36-tornado5
-Prefer: python38-tornado -python38-tornado5
-Prefer: python39-tornado -python39-tornado5
+Prefer: python38-tornado
+Prefer: python39-tornado
 Prefer: python310-tornado
 
 # There are multiple PK backends available. Favor the openSUSE own zypp backend
@@ -496,7 +537,7 @@
 
 # azure-cli reports: have choice for python3-vsts needed by 
python3-azure-functions-devops-build: python3-azure-devops python3-vsts
 # Use the real package name
-Prefer: python36-vsts python38-vsts python39-vsts
+Prefer: python38-vsts python39-vsts
 
 # have choice for (sysvinit(network) or service(network)) needed by sysconfig: 
NetworkManager wicked-service
 Prefer: -NetworkManager
@@ -727,7 +768,6 @@
 Prefer: -liblbxutil-devel-32bit
 Prefer: -liblcms2-devel-32bit
 Prefer: -libmount-devel-32bit
-Prefer: -libnetapi-devel-32bit
 Prefer: -libnettle-devel-32bit
 Prefer: -libnl3-devel-32bit
 Prefer: -libnotify-devel-32bit
@@ -780,7 +820,6 @@
 Prefer: -libstdc++-devel-32bit
 Prefer: -libtasn1-devel-32bit
 Prefer: -libtiff-devel-32bit
-Prefer: -libudev-devel-32bit
 Prefer: -libunistring-devel-32bit
 Prefer: -libusb-1_0-devel-32bit
 Prefer: -libuuid-devel-32bit
@@ -802,7 +841,6 @@
 Prefer: -libxml2-devel-32bit
 Prefer: -libxslt-devel-32bit
 Prefer: -libyajl-devel-32bit
-Prefer: -libyaz-devel-32bit
 Prefer: -libzstd-devel-32bit
 Prefer: -llvm10-LTO-devel-32bit
 Prefer: -llvm10-devel-32bit
@@ -862,14 +900,7 @@
 Prefer: -zziplib-devel-32bit
 
 # Ruby stuff - quite a few packages exist in multiple versions in the distro; 
in each case, the Preference is on the 'unversioned' package
-Prefer: ruby2.7-rubygem-fast_gettext ruby3.1-rubygem-fast_gettext
-Prefer: ruby2.7-rubygem-i18n
-Prefer: ruby2.7-rubygem-rack
-Prefer: ruby2.7-rubygem-sass-rails
-Prefer: ruby2.7-rubygem-sassc
-Prefer: ruby2.7-rubygem-thor
-Prefer: ruby2.7-rubygem-listen ruby2.7-rubygem-mime-types 
ruby2.7-rubygem-builder
-Prefer: -ruby2.7-rubygem-puma-4
+Prefer: ruby3.1-rubygem-fast_gettext
 
 # We have opencv and opencv3 - as usual, the unversioned one should win
 Prefer: opencv-devel
@@ -908,7 +939,7 @@
 Prefer: poppler-tools
 Prefer: libjpeg8-devel libjpeg-turbo
 Prefer: microcode_ctl:kernel-default
-Prefer: gnu-jaf yast2-control-center-qt
+Prefer: yast2-control-center-qt
 Prefer: wine
 Prefer: ndesk-dbus ndesk-dbus-glib tomcat-jsp-2_3-api
 Prefer: -servletapi4 -servletapi5
@@ -920,8 +951,6 @@
 
 Prefer: -geronimo-jta-1_0_1B-api -geronimo-jms-1_1-api -geronimo-el-1_0-api 
-geronimo-jta-1_1-api javamail
 Prefer: rhino:xmlbeans-mini
-Prefer: mx4j:log4j12-mini
-Prefer: maven-doxia-module-fo:log4j12-mini
 
 Prefer: rpcbind
 Prefer: wicked-service
@@ -1359,7 +1388,7 @@
 Prefer: %{rb_default_ruby_suffix}-rubygem-mini_portile2
 Prefer: %{rb_default_ruby_suffix}-rubygem-ronn
 Prefer: %{rb_default_ruby_suffix}-rubygem-rspec
-Prefer: -ruby3.0-rubygem-rspec-3_5 -ruby2.7-rubygem-rspec-3_5 
-ruby3.1-rubygem-rspec-3_5
+Prefer: -ruby3.1-rubygem-rspec-3_5
 Prefer: %{rb_default_ruby_suffix}-rubygem-ruby-dbus
 Prefer: %{rb_default_ruby_suffix}-rubygem-sass
 Prefer: %{rb_default_ruby_suffix}-rubygem-sass-rails
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/dist/build.changes 
new/obs-build-20220329/dist/build.changes
--- old/obs-build-20220315/dist/build.changes   2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/dist/build.changes   2022-03-29 10:52:43.000000000 
+0200
@@ -1,4 +1,13 @@
 -------------------------------------------------------------------
+Tue Mar 29 08:46:07 UTC 2022 - Adrian Schr??ter <adr...@suse.de>
+
+- 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
+
+-------------------------------------------------------------------
 Tue Mar 15 15:55:55 UTC 2022 - Adrian Schr??ter <adr...@suse.de>
 
 - regression fix from last release, avoid calling shutdown handler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/docs/build_config.adoc 
new/obs-build-20220329/docs/build_config.adoc
--- old/obs-build-20220315/docs/build_config.adoc       2022-03-15 
16:56:55.000000000 +0100
+++ new/obs-build-20220329/docs/build_config.adoc       2022-03-29 
10:52:43.000000000 +0200
@@ -66,40 +66,40 @@
 following values for FLAG are usable. All flags with a leading colon (:)
 require an additional parameter directly following them.
 
-* vmfstype:
+* vmfstype:TYPE
 
 Defines a specific file system when building inside of a VM. Possible
 values are ext2, ext3, ext4, btrfs, xfs, reiserfs (v3).
 
-* vmfsoptions:
+* vmfsoptions:OPTIONS
 
 There is also an option to disable directory indexing for ext2, ext3,
 and ext4 file systems. This makes file ordering inside of directories
 reproducible but may have a negative performance impact. To apply this,
 specify vmfsoptions:nodirindex
 
-* kiwiprofile:
+* kiwiprofile:PROFILE
 
 builds the selected profile in &kiwi; appliance builds.
 
-* logidlelimit:
+* logidlelimit:SECONDS
 
 Build jobs which don???t create any output get aborted after some time.
 This flag can be used to modify the limit. Specify the seconds behind
 flag.
 
-* excludebuild:
+* excludebuild:PACKAGE
 
 Exclude a package from building. _multibuild flavors can be specified
 via package:flavor syntax.
 
-* onlybuild:
+* onlybuild:PACKAGE
 
 DANGER: this may remove many build results when introduced the first
 time! It can be used to maintain a whitelist of packages to be built.
 All other packages will turn to excluded state.
 
-* useccache:
+* useccache:PACKAGE
 
 Configure usage of ccache when building packages that match the value of
 this parameter. The ccache package will automatically be installed and
@@ -117,7 +117,15 @@
 order they are configured in the meta configuration, starting from the
 top.
 
-* ccachetype:
+An alternative way to enable caching based on build dependencies is to
+add "--enable-cache" as dependency, for example via a Substitute rule:
+
+  Substitute: gcc-c++ gcc-c++ --enable-ccache
+
+This will always enable ccache when a direct build depdency to gcc-c++
+is required.
+
+* ccachetype:TYPE
 
 Defines the ccache implementation, possible values are: ccache, sccache
 
@@ -349,6 +357,11 @@
 Defines the target architecture. This can be used to build for i686 on
 i586 schedulers for example.
   
+==== Target: GNU_TRIPLET (DEB only)
+  
+Defines the target architecture via a gnu triplet (not the debian 
+architecture!). For example arm-linux-gnueabihf for armv7hl builds.
+  
 ==== Type: TYPE
   
 Build recipe type. This is the format of the file which provides the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/docs/pbuild.adoc 
new/obs-build-20220329/docs/pbuild.adoc
--- old/obs-build-20220315/docs/pbuild.adoc     2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/docs/pbuild.adoc     2022-03-29 10:52:43.000000000 
+0200
@@ -128,71 +128,8 @@
 
 (eg. gdb, strace, valgrind or assumed missing dependencies for testing).
 
-=== Remote Assets
 
-Remote Assets can be defined inside of the build descriptions. They are 
resources from a remote
-servers and will be downloaded and validated by pbuild before the 
corresponding build is started.
-
-Supported protocols for resources using an url are:
-
- * http
- * https
- * git+http
- * git+https
-
-This depends on the build description format as described below.
-
-==== rpm spec files
-
-Source lines in spec files can declare remote assets. Rpm is already 
supporting to use
-an URL as source definition. A comment before such a line marks it as remote 
asset for pbuild:
-
- #!RemoteAsset
- Source: <URL>
-
-It is also possible to specify a checksum to make sure that the asset is 
correct.
-
- #!RemoteAsset: <CHECKSUM>
- Source: <URL>
-
-An alternative is just to use the
-
- #!RemoteAssetUrl: <URL>
-
-marker without any Source: tag when the downloaded file should not become
-part of the source rpm.
-
-==== kiwi build description
-
-The kiwi format is not supporting remote source specifications, but they can be
-specified via XML comments.
-
-  <!-- OBS-RemoteAsset: <URL> -->
-
-The resulting downloaded file can be copied into the image using
-
-  <!-- OBS-CopyToImage: <source> <destination> -->
-
-The kiwi profile name is added to container names by default. This can be
-disabled via
-
-  <!-- OBS-DoNotAppendProfileToContainername -->
-
-==== Dockerfile description
-
-Has no support for assets yet.
-
-==== Arch Linux PKGBUILD
-
-PKGBuild files already contain the needed URLs and Checksums, so no extra
-treatment is needed.
-
-==== FedPkg "sources" file
-
-The sources file contains a list of file names with checksums. PBuild will
-automatically download the missing files from a FedPkg Server that needs
-to be configured in the project config via the "AssetsURL:" directive or set
-with the "--assets" option.
+include::source_assets.adoc[]
 
 include::build_config.adoc[]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/docs/pbuild.html 
new/obs-build-20220329/docs/pbuild.html
--- old/obs-build-20220315/docs/pbuild.html     2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/docs/pbuild.html     2022-03-29 10:52:43.000000000 
+0200
@@ -1112,7 +1112,7 @@
 <div class="ulist"><ul>
 <li>
 <p>
-vmfstype:
+vmfstype:TYPE
 </p>
 </li>
 </ul></div>
@@ -1121,7 +1121,7 @@
 <div class="ulist"><ul>
 <li>
 <p>
-vmfsoptions:
+vmfsoptions:OPTIONS
 </p>
 </li>
 </ul></div>
@@ -1132,7 +1132,7 @@
 <div class="ulist"><ul>
 <li>
 <p>
-kiwiprofile:
+kiwiprofile:PROFILE
 </p>
 </li>
 </ul></div>
@@ -1140,7 +1140,7 @@
 <div class="ulist"><ul>
 <li>
 <p>
-logidlelimit:
+logidlelimit:SECONDS
 </p>
 </li>
 </ul></div>
@@ -1150,7 +1150,7 @@
 <div class="ulist"><ul>
 <li>
 <p>
-excludebuild:
+excludebuild:PACKAGE
 </p>
 </li>
 </ul></div>
@@ -1159,7 +1159,7 @@
 <div class="ulist"><ul>
 <li>
 <p>
-onlybuild:
+onlybuild:PACKAGE
 </p>
 </li>
 </ul></div>
@@ -1169,7 +1169,7 @@
 <div class="ulist"><ul>
 <li>
 <p>
-useccache:
+useccache:PACKAGE
 </p>
 </li>
 </ul></div>
@@ -1187,10 +1187,18 @@
 that package will be used. The repositories will be searched in the
 order they are configured in the meta configuration, starting from the
 top.</p></div>
+<div class="paragraph"><p>An alternative way to enable caching based on build 
dependencies is to
+add "--enable-cache" as dependency, for example via a Substitute 
rule:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><code>Substitute: gcc-c++ gcc-c++ --enable-ccache</code></pre>
+</div></div>
+<div class="paragraph"><p>This will always enable ccache when a direct build 
depdency to gcc-c++
+is required.</p></div>
 <div class="ulist"><ul>
 <li>
 <p>
-ccachetype:
+ccachetype:TYPE
 </p>
 </li>
 </ul></div>
@@ -1475,7 +1483,12 @@
 i586 schedulers for example.</p></div>
 </div>
 <div class="sect3">
-<h4 id="_type_type">3.1.27. Type: TYPE</h4>
+<h4 id="_target_gnu_triplet_deb_only">3.1.27. Target: GNU_TRIPLET (DEB 
only)</h4>
+<div class="paragraph"><p>Defines the target architecture via a gnu triplet 
(not the debian
+architecture!). For example arm-linux-gnueabihf for armv7hl builds.</p></div>
+</div>
+<div class="sect3">
+<h4 id="_type_type">3.1.28. Type: TYPE</h4>
 <div class="paragraph"><p>Build recipe type. This is the format of the file 
which provides the
 build description. This gets usually autodetected, but in some rare
 cases it can be set here to either one of these: spec, dsc, kiwi,
@@ -1485,7 +1498,7 @@
 type from the binary type.</p></div>
 </div>
 <div class="sect3">
-<h4 id="_vminstall_packages">3.1.28. VMInstall: PACKAGES</h4>
+<h4 id="_vminstall_packages">3.1.29. VMInstall: PACKAGES</h4>
 <div class="paragraph"><p>Like Preinstall, but these packages get only 
installed when a virtual
 machine like Xen or KVM is used for building. Usually packages like
 mount are listed here.</p></div>
@@ -1651,7 +1664,7 @@
 <div id="footer">
 <div id="footer-text">
 Last updated
- 2022-03-07 10:46:30 CET
+ 2022-03-24 09:17:43 CET
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/docs/source_assets.adoc 
new/obs-build-20220329/docs/source_assets.adoc
--- old/obs-build-20220315/docs/source_assets.adoc      1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-build-20220329/docs/source_assets.adoc      2022-03-29 
10:52:43.000000000 +0200
@@ -0,0 +1,65 @@
+=== Remote Assets
+
+Remote Assets can be defined inside of the build descriptions. They are 
resources from a remote
+servers and will be downloaded and validated by pbuild before the 
corresponding build is started.
+
+Supported protocols for resources using an url are:
+
+ * http
+ * https
+ * git+http
+ * git+https
+
+This depends on the build description format as described below.
+
+==== rpm spec files
+
+Source lines in spec files can declare remote assets. Rpm is already 
supporting to use
+an URL as source definition. A comment before such a line marks it as remote 
asset for pbuild:
+
+ #!RemoteAsset
+ Source: <URL>
+
+It is also possible to specify a checksum to make sure that the asset is 
correct.
+
+ #!RemoteAsset: <CHECKSUM>
+ Source: <URL>
+
+An alternative is just to use the
+
+ #!RemoteAssetUrl: <URL>
+
+marker without any Source: tag when the downloaded file should not become
+part of the source rpm.
+
+==== kiwi build description
+
+The kiwi format is not supporting remote source specifications, but they can be
+specified via XML comments.
+
+  <!-- OBS-RemoteAsset: <URL> -->
+
+The resulting downloaded file can be copied into the image using
+
+  <!-- OBS-CopyToImage: <source> <destination> -->
+
+The kiwi profile name is added to container names by default. This can be
+disabled via
+
+  <!-- OBS-DoNotAppendProfileToContainername -->
+
+==== Dockerfile description
+
+Has no support for assets yet.
+
+==== Arch Linux PKGBUILD
+
+PKGBuild files already contain the needed URLs and Checksums, so no extra
+treatment is needed.
+
+==== FedPkg "sources" file
+
+The sources file contains a list of file names with checksums. PBuild will
+automatically download the missing files from a FedPkg Server that needs
+to be configured in the project config via the "AssetsURL:" directive or set
+with the "--assets" option.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/init_buildsystem 
new/obs-build-20220329/init_buildsystem
--- old/obs-build-20220315/init_buildsystem     2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/init_buildsystem     2022-03-29 10:52:43.000000000 
+0200
@@ -671,7 +671,6 @@
        while read PKG SRC ; do
           test "$PKG" = "preinstall:" && continue
           test "$PKG" = "runscripts:" && continue
-          test "$PKG" = "cbpreinstall:" && continue
           test "$PKG" = "vminstall:" && continue
           test "$PKG" = "dist:" && continue
           test "$PKG" = "rpmid:" && continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/obs-docker-support 
new/obs-build-20220329/obs-docker-support
--- old/obs-build-20220315/obs-docker-support   2022-03-15 16:56:55.000000000 
+0100
+++ new/obs-build-20220329/obs-docker-support   2022-03-29 10:52:43.000000000 
+0200
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 ################################################################
 #
 # Enable docker build support in container.
@@ -30,11 +30,17 @@
 DATA_DIR=
 
 zypper() {
-    cmd=
+    local cmd
     # try to find the command
-    globalopts=()
+    local globalopts
+    typeset -a globalopts
     while test -n "$1"; do
         case $1 in
+        -R|--root|--installroot)
+           globalopts[${#globalopts[@]}]="$1"
+           globalopts[${#globalopts[@]}]="$2"
+           shift 2
+           ;;
         -*)
            globalopts[${#globalopts[@]}]="$1"
            shift
@@ -87,9 +93,10 @@
 }
 
 apt_get() {
-    cmd=
+    local cmd
     # try to find the command
-    globalopts=()
+    local globalopts
+    typeset -a globalopts
     while test -n "$1"; do
         case $1 in
         -*)
@@ -121,7 +128,8 @@
 
 dnf() {
     # try to find command
-    globalopts=()
+    local globalopts
+    typeset -a globalopts
     while test -n "$1"; do
         case $1 in
         -*)
@@ -150,7 +158,8 @@
 
 yum() {
     # try to find command
-    globalopts=()
+    global globalopts
+    typeset -a globalopts
     while test -n "$1"; do
         case $1 in
         -*)
@@ -178,7 +187,8 @@
 }
 
 curl() {
-    local cmd=()
+    local cmd
+    typeset -a cmd
     local oopt
     local oname
     while test -n "$1" ; do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20220315/startdockerd 
new/obs-build-20220329/startdockerd
--- old/obs-build-20220315/startdockerd 2022-03-15 16:56:55.000000000 +0100
+++ new/obs-build-20220329/startdockerd 2022-03-29 10:52:43.000000000 +0200
@@ -118,11 +118,11 @@
     mount --make-rprivate /
 
     # create loopback interface
-    if test -x /sbin/ip ; then 
+    if test -x /sbin/ip ; then
        ip addr add 127.0.0.1/8 dev lo
        ip addr add ::1/128 dev lo
        ip link set lo up
-    else 
+    elif test -x /sbin/ifconfig ; then
        ifconfig lo 127.0.0.1 up
        ifconfig lo add ::1/128
     fi   

Reply via email to