Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2019-07-21 11:29:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Sun Jul 21 11:29:38 2019 rev:124 rq:715678 version:20190709 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2019-07-13 13:34:36.727332404 +0200 +++ /work/SRC/openSUSE:Factory/.build.new.4126/build.changes 2019-07-21 11:29:39.524824795 +0200 @@ -1,0 +2,9 @@ +Tue Jul 9 13:33:36 UTC 2019 - Adrian Schröter <[email protected]> + +- fail build on preinstall failure +- avoid dependency errors on Fedora 30 +- fixes for simpleimage vm build support +- support zstd decompression with old rpms +- license tag fixes + +------------------------------------------------------------------- Old: ---- obs-build-20190627.tar.gz New: ---- obs-build-20190709.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.qhDPGy/_old 2019-07-21 11:29:40.080824701 +0200 +++ /var/tmp/diff_new_pack.qhDPGy/_new 2019-07-21 11:29:40.084824701 +0200 @@ -22,7 +22,7 @@ Summary: A Script to Build SUSE Linux RPMs License: GPL-2.0-only OR GPL-3.0-only Group: Development/Tools/Building -Version: 20190627 +Version: 20190709 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.qhDPGy/_old 2019-07-21 11:29:40.112824696 +0200 +++ /var/tmp/diff_new_pack.qhDPGy/_new 2019-07-21 11:29:40.112824696 +0200 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20190627 +pkgver=20190709 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.qhDPGy/_old 2019-07-21 11:29:40.144824691 +0200 +++ /var/tmp/diff_new_pack.qhDPGy/_new 2019-07-21 11:29:40.144824691 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20190627 +Version: 20190709 Binary: build Maintainer: Adrian Schroeter <[email protected]> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.qhDPGy/_old 2019-07-21 11:29:40.168824686 +0200 +++ /var/tmp/diff_new_pack.qhDPGy/_new 2019-07-21 11:29:40.172824686 +0200 @@ -1,4 +1,4 @@ -build (20190627) unstable; urgency=low +build (20190709) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20190627.tar.gz -> obs-build-20190709.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/build new/obs-build-20190709/build --- old/obs-build-20190627/build 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/build 2019-07-09 15:37:13.000000000 +0200 @@ -73,6 +73,7 @@ DO_LINT= DO_CHECKS=true CLEAN_BUILD= +GENBUILDREQS_CLEAN_BUILD= RECIPEFILES=() SRCDIR= BUILD_JOBS= @@ -753,6 +754,29 @@ fi } +mount_stuff() { + if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then + test -d $BUILD_ROOT/dev/shm || rm -f $BUILD_ROOT/dev/shm + mkdir -p $BUILD_ROOT/proc + mkdir -p $BUILD_ROOT/sys + mkdir -p $BUILD_ROOT/dev/pts + mkdir -p $BUILD_ROOT/dev/shm + mount -n -tproc none $BUILD_ROOT/proc + mount -n -tdevpts -omode=0620,gid=5 none $BUILD_ROOT/dev/pts + mount -n -ttmpfs none $BUILD_ROOT/dev/shm + fi +} + +umount_stuff() { + if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then + umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2>/dev/null || true + umount -n $BUILD_ROOT/proc 2>/dev/null || true + umount -n $BUILD_ROOT/dev/pts 2>/dev/null || true + umount -n $BUILD_ROOT/dev/shm 2>/dev/null || true + umount -n $BUILD_ROOT/sys 2>/dev/null || true + fi +} + #### main #### trap fail_exit EXIT @@ -803,6 +827,7 @@ DO_CHECKS=false ;; -clean) + test "$CLEAN_BUILD" = '--clean' && GENBUILDREQS_CLEAN_BUILD='--clean' CLEAN_BUILD='--clean' ;; -wipe) @@ -1256,17 +1281,7 @@ copy_oldpackages fi - # mount stuff (/dev/shm needed for POSIX semaphores) - if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then - test -d $BUILD_ROOT/dev/shm || rm -f $BUILD_ROOT/dev/shm - mkdir -p $BUILD_ROOT/proc - mkdir -p $BUILD_ROOT/sys - mkdir -p $BUILD_ROOT/dev/pts - mkdir -p $BUILD_ROOT/dev/shm - mount -n -tproc none $BUILD_ROOT/proc - mount -n -tdevpts -omode=0620,gid=5 none $BUILD_ROOT/dev/pts - mount -n -ttmpfs none $BUILD_ROOT/dev/shm - fi + mount_stuff # hack to process preinstallimages early if test "$BUILDTYPE" = preinstallimage ; then @@ -1441,7 +1456,30 @@ fi RECIPE_BUILD_START_TIME=`date +%s` + GEN_BUILDREQS_PACKS=() recipe_build + + if test "$BUILD_SUCCEEDED" = genbuildreqs -a "$DO_INIT" = true -a -z "$RPMLIST" -a -z "$RUNNING_IN_VM" -a -n "${GEN_BUILDREQS_PACKS[*]}" ; then + # re-expand deps with GEN_BUILDREQS_PACKS extra packages + umount_stuff + set -- init_buildsystem --configdir "$CONFIG_DIR" --cachedir "$CACHE_DIR" "${initbuildsysstuff[@]}" "${definesnstuff[@]}" "${repos[@]}" $DLNOSIGNATURE $USEUSEDFORBUILD $CREATE_BUILD_BINARIES $RPMLIST "$MYSRCDIR/$RECIPEFILE" $ADDITIONAL_PACKS "${GEN_BUILDREQS_PACKS[@]}" + echo "$* ..." + "$@" || cleanup_and_exit 1 + check_exit + mount_stuff + BUILD_SUCCEEDED=false + recipe_build + fi + + if test "$BUILD_SUCCEEDED" = genbuildreqs ; then + recipe_cleanup + if test -n "$RUNNING_IN_VM" ; then + vm_exit_statistics + vm_wrapup_build OTHER + fi + cleanup_and_exit 1 + fi + test "$BUILD_SUCCEEDED" = true || cleanup_and_exit 1 recipe_build_time_statistics @@ -1449,14 +1487,7 @@ test -d "$SRCDIR" && cd "$SRCDIR" - # unmount stuff - if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then - umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2>/dev/null || true - umount -n $BUILD_ROOT/proc 2>/dev/null || true - umount -n $BUILD_ROOT/dev/pts 2>/dev/null || true - umount -n $BUILD_ROOT/dev/shm 2>/dev/null || true - umount -n $BUILD_ROOT/sys 2>/dev/null || true - fi + umount_stuff done if test -n "$RUNNING_IN_VM" ; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/build-pkg-rpm new/obs-build-20190709/build-pkg-rpm --- old/obs-build-20190627/build-pkg-rpm 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/build-pkg-rpm 2019-07-09 15:37:13.000000000 +0200 @@ -174,9 +174,9 @@ fi fi if test "$PAYLOADDECOMPRESS" = cat ; then - rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $CPIO + rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $CPIO || cleanup_and_exit 1 else - rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $PAYLOADDECOMPRESS | $CPIO + rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $PAYLOADDECOMPRESS | $CPIO || cleanup_and_exit 1 fi if test -e ".init_b_cache/scripts/$PKG.run" ; then rpm -qp --nodigest --nosignature --qf "%{PREIN}" "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" > ".init_b_cache/scripts/$PKG.pre" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/build-recipe-spec new/obs-build-20190709/build-recipe-spec --- old/obs-build-20190627/build-recipe-spec 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/build-recipe-spec 2019-07-09 15:37:13.000000000 +0200 @@ -121,6 +121,11 @@ test -x $BUILD_ROOT/usr/bin/rpmbuild || rpmbuild=rpm test "$BUILDTYPE" = debbuild && rpmbuild=debbuild + HAVE_DYNAMIC_BUILDREQUIRES= + if egrep '^%generate_buildrequires' "$BUILD_ROOT$TOPDIR/SOURCES/$RECIPEFILE" >/dev/null ; then + HAVE_DYNAMIC_BUILDREQUIRES=true + fi + # XXX: move _srcdefattr to macro file? rpmbopts=("$BUILD_RPM_BUILD_STAGE" "--define" "_srcdefattr (-,root,root)") if test "$DO_CHECKS" != true ; then @@ -159,6 +164,41 @@ rpmbopts[${#rpmbopts[@]}]="$buildrootoverride" fi + GEN_BUILDREQS_PACKS=() + if test -n "$HAVE_DYNAMIC_BUILDREQUIRES" -a -z "$RUN_SHELL" ; then + # query dynamic build requires + rm -f "$BUILD_ROOT$TOPDIR/SRPMS/"*.buildreqs.nosrc.rpm + rpmdynbropts=("${rpmbopts[@]}") + rpmdynbropts[0]=-br + toshellscript $rpmbuild \ + --nodeps \ + "${definesnstuff[@]}" \ + "${rpmdynbropts[@]}" \ + "$TOPDIR/SOURCES/$RECIPEFILE" \ + > $BUILD_ROOT/.build.command + chmod 755 $BUILD_ROOT/.build.command + chroot $BUILD_ROOT su -c /.build.command - $BUILD_USER < /dev/null + st=$? + if test "$st" != 0 -a "$st" != 11 ; then + return + fi + : > $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs + if test "$st" = 11 ; then + reqsfile= + for i in "$BUILD_ROOT$TOPDIR/SRPMS/"*.buildreqs.nosrc.rpm ; do + test -f "$i" && reqsfile=${i##*/} + done + test -n "$reqsfile" || cleanup_and_exit 1 "no buildreqs.nosrc.rpm file?" + chroot $BUILD_ROOT rpm -qp --requires "$TOPDIR/SRPMS/$reqsfile" | grep -v '^rpmlib(' | sort -u > $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp + chroot $BUILD_ROOT rpmspec -q --srpm --requires "$TOPDIR/SOURCES/$RECIPEFILE" >> $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp || cleanup_and_exit 1 "rpm -q --spec failed" + sort < $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp | uniq -u > $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs + rm -f $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp + while read db ; do + GEN_BUILDREQS_PACKS[${#GEN_BUILDREQS_PACKS[@]}]="$db" + done < $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs + fi + fi + # su involves a shell which would require even more # complicated quoting to bypass than this toshellscript $rpmbuild \ @@ -171,7 +211,10 @@ if test -n "$RUN_SHELL"; then chroot $BUILD_ROOT su - else - chroot $BUILD_ROOT su -c /.build.command - $BUILD_USER < /dev/null && BUILD_SUCCEEDED=true + chroot $BUILD_ROOT su -c /.build.command - $BUILD_USER < /dev/null + st=$? + test "$st" = 0 && BUILD_SUCCEEDED=true + test "$st" = 11 -a -n "$HAVE_DYNAMIC_BUILDREQUIRES" && BUILD_SUCCEEDED=genbuildreqs fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/build-vm-openstack new/obs-build-20190709/build-vm-openstack --- old/obs-build-20190627/build-vm-openstack 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/build-vm-openstack 2019-07-09 15:37:13.000000000 +0200 @@ -271,7 +271,7 @@ sleep 1 done - if ! $BUILD_DIR/openstack-console "${WS_URL}" ; then + if ! python $BUILD_DIR/openstack-console "${WS_URL}" ; then $NOVACLIENT delete $OPENSTACK_BUILD_ID cleanup_and_exit 3 else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/debtransform new/obs-build-20190709/debtransform --- old/obs-build-20190627/debtransform 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/debtransform 2019-07-09 15:37:13.000000000 +0200 @@ -462,7 +462,7 @@ if (! -s "$out/${name}_$version.diff") { unlink("$out/${name}_$version.diff"); } else { - system('gzip', '-9', "$out/${name}_$version.diff"); + system('gzip', '-n9', "$out/${name}_$version.diff"); if (-f "$out/${name}_$version.diff.gz") { push @files, addfile("$out/${name}_$version.diff.gz", "MD5"); push @checksums_sha1, addfile("$out/${name}_$version.diff.gz", "SHA1"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/dist/build.changes new/obs-build-20190709/dist/build.changes --- old/obs-build-20190627/dist/build.changes 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/dist/build.changes 2019-07-09 15:37:13.000000000 +0200 @@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Tue Jul 9 13:33:36 UTC 2019 - Adrian Schröter <[email protected]> + +- fail build on preinstall failure +- avoid dependency errors on Fedora 30 +- fixes for simpleimage vm build support +- support zstd decompression with old rpms +- license tag fixes + +------------------------------------------------------------------- Wed Jun 26 10:41:38 UTC 2019 - Dominique Leuenberger <[email protected]> - configs/15.5.conf: add libzstd1 to preinstall list: RPM is being diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/dist/build.spec new/obs-build-20190709/dist/build.spec --- old/obs-build-20190627/dist/build.spec 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/dist/build.spec 2019-07-09 15:37:13.000000000 +0200 @@ -22,7 +22,7 @@ Summary: A Script to Build SUSE Linux RPMs License: GPL-2.0-only OR GPL-3.0-only Group: Development/Tools/Building -Version: 20190123 +Version: 20190709 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/expanddeps new/obs-build-20190709/expanddeps --- old/obs-build-20190627/expanddeps 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/expanddeps 2019-07-09 15:37:13.000000000 +0200 @@ -245,103 +245,41 @@ my $dofileprovides = %{$cf->{'fileprovides'}}; $dofileprovides = 1 if ($binarytype || 'rpm') ne 'rpm'; -for my $pack (keys %packs) { - my $r = {}; - my (@s, $s, @pr, @re, @co, @ob, @rc, @su); - @s = split(' ', $prov{$packs{$pack}} || ''); - while (@s) { - $s = shift @s; - next if !$dofileprovides && $s =~ /^\//; - if ($s =~ /^rpmlib\(/) { - splice(@s, 0, 2); - next; - } - push @pr, $s; - while (@s && $s[0] =~ /^[\(<=>|]/) { - $pr[-1] .= " $s[0] $s[1]"; - $pr[-1] =~ s/ \((.*)\)/ $1/; - $pr[-1] =~ s/(<|>){2}/$1/; - splice(@s, 0, 2); - } - } - @s = split(' ', $req{$packs{$pack}} || ''); - while (@s) { - $s = shift @s; - next if !$dofileprovides && $s =~ /^\//; - if ($s =~ /^rpmlib\(/) { - splice(@s, 0, 2); - next; - } - push @re, $s; - while (@s && $s[0] =~ /^[\(<=>|]/) { - $re[-1] .= " $s[0] $s[1]"; - $re[-1] =~ s/ \((.*)\)/ $1/; - $re[-1] =~ s/(<|>){2}/$1/; - splice(@s, 0, 2); - } - } - @s = split(' ', $con{$packs{$pack}} || ''); - while (@s) { - $s = shift @s; - next if !$dofileprovides && $s =~ /^\//; - push @co, $s; - while (@s && $s[0] =~ /^[\(<=>|]/) { - $co[-1] .= " $s[0] $s[1]"; - $co[-1] =~ s/ \((.*)\)/ $1/; - $co[-1] =~ s/(<|>){2}/$1/; - splice(@s, 0, 2); - } - } - @s = split(' ', $obs{$packs{$pack}} || ''); - while (@s) { - $s = shift @s; - next if !$dofileprovides && $s =~ /^\//; - push @ob, $s; - while (@s && $s[0] =~ /^[\(<=>|]/) { - $ob[-1] .= " $s[0] $s[1]"; - $ob[-1] =~ s/ \((.*)\)/ $1/; - $ob[-1] =~ s/(<|>){2}/$1/; - splice(@s, 0, 2); - } - } - @s = split(' ', $rec{$packs{$pack}} || ''); +sub parsedepline { + return [] unless defined $_[0]; + my @s = split(' ', $_[0]); + my @r; while (@s) { - $s = shift @s; + my $s = shift @s; next if !$dofileprovides && $s =~ /^\//; if ($s =~ /^rpmlib\(/) { splice(@s, 0, 2); next; } - push @rc, $s; - while (@s && $s[0] =~ /^[\(<=>|]/) { - $rc[-1] .= " $s[0] $s[1]"; - $rc[-1] =~ s/ \((.*)\)/ $1/; - $rc[-1] =~ s/(<|>){2}/$1/; - splice(@s, 0, 2); - } - } - @s = split(' ', $sup{$packs{$pack}} || ''); - while (@s) { - $s = shift @s; - next if !$dofileprovides && $s =~ /^\//; - if ($s =~ /^rpmlib\(/) { - splice(@s, 0, 2); + if ($s =~ /^\(/) { + unshift @s, $s; + push @r, Build::Rpm::shiftrich(\@s); next; } - push @su, $s; + push @r, $s; while (@s && $s[0] =~ /^[\(<=>|]/) { - $su[-1] .= " $s[0] $s[1]"; - $su[-1] =~ s/ \((.*)\)/ $1/; - $su[-1] =~ s/(<|>){2}/$1/; + $r[-1] .= " $s[0] $s[1]"; + $r[-1] =~ s/ \((.*)\)/ $1/; + $r[-1] =~ s/(<|>){2}/$1/; splice(@s, 0, 2); } } - $r->{'provides'} = \@pr; - $r->{'requires'} = \@re; - $r->{'conflicts'} = \@co; - $r->{'obsoletes'} = \@ob; - $r->{'recommends'} = \@rc; - $r->{'supplements'} = \@su; + return \@r; +} + +for my $pack (keys %packs) { + my $r = {}; + $r->{'provides'} = parsedepline($prov{$packs{$pack}}); + $r->{'requires'} = parsedepline($req{$packs{$pack}}); + $r->{'conflicts'} = parsedepline($con{$packs{$pack}}); + $r->{'obsoletes'} = parsedepline($obs{$packs{$pack}}); + $r->{'recommends'} = parsedepline($rec{$packs{$pack}}); + $r->{'supplements'} = parsedepline($sup{$packs{$pack}}); $repo{$pack} = $r; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190627/openstack-console new/obs-build-20190709/openstack-console --- old/obs-build-20190627/openstack-console 2019-06-27 16:43:46.000000000 +0200 +++ new/obs-build-20190709/openstack-console 2019-07-09 15:37:13.000000000 +0200 @@ -1,5 +1,3 @@ -#!/usr/bin/python - ################################################################ # # Copyright (c) 2017 SUSE Linux Products GmbH
