Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2019-06-12 13:06:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new.4811 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Wed Jun 12 13:06:47 2019 rev:122 rq:707419 version:20190604 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2019-03-05 12:16:50.500997206 +0100 +++ /work/SRC/openSUSE:Factory/.build.new.4811/build.changes 2019-06-12 13:06:50.153170039 +0200 @@ -1,0 +2,16 @@ +Tue Jun 4 08:24:31 UTC 2019 - Adrian Schröter <adr...@suse.de> + +- configs/15.5.conf: remove brp-extract-appdata from support package +- add "-vv" parameter in case of debbuild + +------------------------------------------------------------------- +Thu Mar 21 09:35:43 UTC 2019 - Adrian Schröter <adr...@suse.de> + +- Filter out 'MACRO' from Requires(pre) +- Support createrepo_c's CREATEREPO_CHECKSUMS checksum cache +- Skip unsupported GPG check on ArchLinux +- Support #!BuildRequires dependencies +- Collect more statistics +- Install policy-rc.d to prevent services from starting on Debian + +------------------------------------------------------------------- @@ -136 +152 @@ -- Improve file name check extractbuild +- Improve file name check extractbuild (CVE-2017-14804, bsc#1069904) Old: ---- obs-build-20190123.tar.gz New: ---- obs-build-20190604.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.sEGWuY/_old 2019-06-12 13:06:54.045168404 +0200 +++ /var/tmp/diff_new_pack.sEGWuY/_new 2019-06-12 13:06:54.049168402 +0200 @@ -22,7 +22,7 @@ Summary: A Script to Build SUSE Linux RPMs License: GPL-2.0-or-later AND GPL-2.0-only Group: Development/Tools/Building -Version: 20190123 +Version: 20190604 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.sEGWuY/_old 2019-06-12 13:06:54.085168386 +0200 +++ /var/tmp/diff_new_pack.sEGWuY/_new 2019-06-12 13:06:54.089168385 +0200 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20190123 +pkgver=20190604 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.sEGWuY/_old 2019-06-12 13:06:54.113168375 +0200 +++ /var/tmp/diff_new_pack.sEGWuY/_new 2019-06-12 13:06:54.113168375 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20190123 +Version: 20190604 Binary: build Maintainer: Adrian Schroeter <adr...@suse.de> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.sEGWuY/_old 2019-06-12 13:06:54.133168366 +0200 +++ /var/tmp/diff_new_pack.sEGWuY/_new 2019-06-12 13:06:54.133168366 +0200 @@ -1,4 +1,4 @@ -build (20190123) unstable; urgency=low +build (20190604) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20190123.tar.gz -> obs-build-20190604.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/Build/Kiwi.pm new/obs-build-20190604/Build/Kiwi.pm --- old/obs-build-20190123/Build/Kiwi.pm 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/Build/Kiwi.pm 2019-06-04 10:01:35.000000000 +0200 @@ -411,17 +411,17 @@ $patterntype ||= $packages->{'patternType'}; push @pkgs, @{$packages->{'package'}} if $packages->{'package'}; - for my $pattern (@{$kiwi->{'namedCollection'} || []}) { - push @pkgs, { %$pattern, 'name' => "pattern()=$pattern->{'name'}" } if $pattern->{'name'}; + for my $pattern (@{$packages->{'namedCollection'} || []}) { + push @pkgs, { %$pattern, 'name' => "pattern() = $pattern->{'name'}" } if $pattern->{'name'}; } - for my $product (@{$kiwi->{'product'} || []}) { - push @pkgs, { %$product, 'name' => "product()=$product->{'name'}" } if $product->{'name'}; + for my $product (@{$packages->{'product'} || []}) { + push @pkgs, { %$product, 'name' => "product() = $product->{'name'}" } if $product->{'name'}; } - for my $pattern (@{$kiwi->{'opensusePatterns'} || []}) { - push @pkgs, { %$pattern, 'name' => "pattern()=$pattern->{'name'}" } if $pattern->{'name'}; + for my $pattern (@{$packages->{'opensusePatterns'} || []}) { + push @pkgs, { %$pattern, 'name' => "pattern() = $pattern->{'name'}" } if $pattern->{'name'}; } - for my $product (@{$kiwi->{'opensuseProduct'} || []}) { - push @pkgs, { %$product, 'name' => "product()=$product->{'name'}" } if $product->{'name'}; + for my $product (@{$packages->{'opensuseProduct'} || []}) { + push @pkgs, { %$product, 'name' => "product() = $product->{'name'}" } if $product->{'name'}; } } $patterntype ||= 'onlyRequired'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/Build/Rpm.pm new/obs-build-20190604/Build/Rpm.pm --- old/obs-build-20190123/Build/Rpm.pm 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/Build/Rpm.pm 2019-06-04 10:01:35.000000000 +0200 @@ -261,7 +261,7 @@ next; } if ($line =~ /^\s*#/) { - next unless $line =~ /^#!Build(?:Ignore|Conflicts)\s*:/i; + next unless $line =~ /^#!Build(?:Ignore|Conflicts|Requires)\s*:/i; } my $expandedline = ''; if (!$skip && ($line =~ /%/)) { @@ -422,7 +422,7 @@ if ($skip) { $xspec->[-1] = [ $xspec->[-1], undef ] if $xspec; - $ifdeps = 1 if $line =~ /^(BuildRequires|BuildPrereq|BuildConflicts|\#\!BuildIgnore|\#\!BuildConflicts)\s*:\s*(\S.*)$/i; + $ifdeps = 1 if $line =~ /^(BuildRequires|BuildPrereq|BuildConflicts|\#\!BuildIgnore|\#\!BuildConflicts|\#\!BuildRequires)\s*:\s*(\S.*)$/i; next; } @@ -487,6 +487,7 @@ my @deps = $deps =~ /([^\s\[,]+)(\s+[<=>]+\s+[^\s\[,]+)?(\s+\[[^\]]+\])?[\s,]*/g; while (@deps) { my ($pack, $vers, $qual) = splice(@deps, 0, 3); + next if $pack eq 'MACRO'; # hope for the best... if (!$unfilteredprereqs && $pack =~ /^\//) { $ifdeps = 1; next unless $config->{'fileprovides'}->{$pack}; @@ -495,7 +496,7 @@ } next; } - if ($preamble && ($line =~ /^(BuildRequires|BuildPrereq|BuildConflicts|\#\!BuildIgnore|\#\!BuildConflicts)\s*:\s*(\S.*)$/i)) { + if ($preamble && ($line =~ /^(BuildRequires|BuildPrereq|BuildConflicts|\#\!BuildIgnore|\#\!BuildConflicts|\#\!BuildRequires)\s*:\s*(\S.*)$/i)) { my $what = $1; my $deps = $2; $ifdeps = 1 if $hasif; @@ -552,7 +553,8 @@ } $replace = 1 if grep {/^-/} @ndeps; - if (lc($what) ne 'buildrequires' && lc($what) ne 'buildprereq') { + my $lcwhat = lc($what); + if ($lcwhat ne 'buildrequires' && $lcwhat ne 'buildprereq' && $lcwhat ne '#!buildrequires') { if ($conflictdeps && $what =~ /conflict/i) { push @packdeps, map {"!$_"} @ndeps; next; @@ -593,7 +595,7 @@ my $num = defined($2) ? $2 : ($1 eq 'source' ? 0 : -1); $macros{uc($1) . "URL$num"} = $val if $num >= 0; } - } elsif (!$preamble && ($line =~ /^(Source\d*|Patch\d*|Url|Icon|BuildRequires|BuildPrereq|BuildConflicts|\#\!BuildIgnore)\s*:\s*(\S.*)$/i)) { + } elsif (!$preamble && ($line =~ /^(Source\d*|Patch\d*|Url|Icon|BuildRequires|BuildPrereq|BuildConflicts|\#\!BuildIgnore|\#\!BuildConflicts|\#\!BuildRequires)\s*:\s*(\S.*)$/i)) { print STDERR "Warning: spec file parser ".($lineno ? " line $lineno" : '').": Ignoring $1 used beyond the preamble.\n" if $config->{'warnings'}; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/Build.pm new/obs-build-20190604/Build.pm --- old/obs-build-20190123/Build.pm 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/Build.pm 2019-06-04 10:01:35.000000000 +0200 @@ -346,6 +346,7 @@ $config->{'patterntype'} = [ @l ]; } elsif ($l0 eq 'release:') { $config->{'release'} = $l[0]; + $config->{'release@'} = [ @l ]; } elsif ($l0 eq 'cicntstart:') { $config->{'cicntstart'} = $l[0]; } elsif ($l0 eq 'releaseprg:') { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/build new/obs-build-20190604/build --- old/obs-build-20190123/build 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/build 2019-06-04 10:01:35.000000000 +0200 @@ -1475,6 +1475,11 @@ recipe_check_file_owners fi +TIME_POSTCHECKS=0 +TIME_RPMLINT=0 +TIME_BUILDCMP=0 +TIME_DELTARPMS=0 + if test -n "$RPMS" -a -d "$BUILD_ROOT/usr/lib/build/checks" ; then export DO_RPM_REMOVE=true # workaround for broken 13.1 check scripts which umount /proc @@ -1486,10 +1491,12 @@ for SRPM in $BUILD_ROOT/$TOPDIR/SRPMS/*src.rpm ; do test -f "$SRPM" && PNAME=`rpm --nodigest --nosignature -qp --qf "%{NAME}" $SRPM` done + TIME_POSTCHECKS=`date +%s` for CHECKSCRIPT in $BUILD_ROOT/usr/lib/build/checks/* ; do echo "... running ${CHECKSCRIPT##*/}" $CHECKSCRIPT || cleanup_and_exit 1 done + TIME_POSTCHECKS=$(( `date +%s` - $TIME_POSTCHECKS )) # workaround for broken 13.1 check scripts which umount /proc test -e "$BUILD_ROOT/proc/self" || mount -n -tproc none $BUILD_ROOT/proc fi @@ -1499,7 +1506,9 @@ DEBS=`find $BUILD_ROOT/$TOPDIR/DEBS -type f -name "*.deb" 2>/dev/null || true` if test -n "$RPMS" -a "$DO_CHECKS" != false ; then + TIME_RPMLINT=`date +%s` recipe_run_rpmlint + TIME_RPMLINT=$(( `date +%s` - $TIME_RPMLINT )) fi if test \( -n "$RPMS" -o -n "$DEBS" \) -a -n "$CREATE_BASELIBS"; then @@ -1511,10 +1520,14 @@ # post build work # TODO: don't hardcode. instead run scripts in a directory as it's done for the checks if test -n "$RPMS" -a -d "$BUILD_ROOT/.build.oldpackages" ; then + TIME_BUILDCMP=`date +%s` recipe_compare_oldpackages + TIME_BUILDCMP=$(( `date +%s` - $TIME_BUILDCMP )) # no need to create deltas if the build is the same if test ! -e $BUILD_ROOT/.build/.same_result_marker ; then + TIME_DELTARPMS=`date +%s` recipe_create_deltarpms + TIME_DELTARPMS=$(( `date +%s` - $TIME_DELTARPMS )) fi fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/build-pkg-deb new/obs-build-20190604/build-pkg-deb --- old/obs-build-20190123/build-pkg-deb 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/build-pkg-deb 2019-06-04 10:01:35.000000000 +0200 @@ -50,6 +50,16 @@ :>> $BUILD_ROOT/var/lib/dpkg/available :>> $BUILD_ROOT/var/log/dpkg.log :>> $BUILD_ROOT/etc/ld.so.conf + + # Install a policy so that services are not started. See + # https://manpages.debian.org/unstable/init-system-helpers/invoke-rc.d.8.en.html + # for details. + mkdir -p $BUILD_ROOT/usr/sbin + cat > $BUILD_ROOT/usr/sbin/policy-rc.d <<EOF +#!/bin/sh +exit 101 +EOF + chmod 755 $BUILD_ROOT/usr/sbin/policy-rc.d } pkg_initdb_deb() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/build-recipe-arch new/obs-build-20190604/build-recipe-arch --- old/obs-build-20190123/build-recipe-arch 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/build-recipe-arch 2019-06-04 10:01:35.000000000 +0200 @@ -41,7 +41,7 @@ recipe_prepare_arch() { echo "Preparing sources..." - if ! _arch_recipe_makepkg -so "2>&1" ">/dev/null" ; then + if ! _arch_recipe_makepkg -so --skippgpcheck "2>&1" ">/dev/null" ; then cleanup_and_exit 1 "failed to prepare sources" fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/build-recipe-kiwi new/obs-build-20190604/build-recipe-kiwi --- old/obs-build-20190123/build-recipe-kiwi 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/build-recipe-kiwi 2019-06-04 10:01:35.000000000 +0200 @@ -377,9 +377,13 @@ # XXX: again? chroot "$BUILD_ROOT" chown -R abuild.abuild "$TOPDIR" chroot "$BUILD_ROOT" rm -rf "$TOPDIR/KIWIROOT" + local checksums + if test -f "$BUILD_ROOT/$TOPDIR/SOURCES/repos/.createrepo_checksums" ; then + checksums="CREATEREPO_CHECKSUMS=$TOPDIR/SOURCES/repos/.createrepo_checksums" + fi if test -x "$BUILD_ROOT/usr/bin/product-builder"; then # current implementation of product generation - chroot "$BUILD_ROOT" su -c "APPID=- LANG=POSIX /usr/bin/product-builder --root $TOPDIR/KIWIROOT $VERBOSE_OPTION --logfile terminal --create-instsource $TOPDIR/SOURCES" - abuild < /dev/null && BUILD_SUCCEEDED=true + chroot "$BUILD_ROOT" su -c "APPID=- LANG=POSIX BUILD_FLAVOR=$BUILD_FLAVOR $checksums /usr/bin/product-builder --root $TOPDIR/KIWIROOT $VERBOSE_OPTION --logfile terminal --create-instsource $TOPDIR/SOURCES" - abuild < /dev/null && BUILD_SUCCEEDED=true else # before openSUSE Leap 43 and SLE 13 ver=`chroot "$BUILD_ROOT" su -c "/usr/sbin/kiwi --version | sed -n 's,.*kiwi version v\(.*\),\1,p'"` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/build-recipe-spec new/obs-build-20190604/build-recipe-spec --- old/obs-build-20190123/build-recipe-spec 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/build-recipe-spec 2019-06-04 10:01:35.000000000 +0200 @@ -130,6 +130,9 @@ echo "warning: --nocheck is not supported by this $rpmbuild version" fi fi + if test "$rpmbuild" == "debbuild" ; then + rpmbopts[${#rpmbopts[@]}]="-vv" + fi if test "$rpmbuild" == "rpmbuild" ; then # use only --nosignature for rpm v4 rpmbopts[${#rpmbopts[@]}]="--nosignature" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/build-vm new/obs-build-20190604/build-vm --- old/obs-build-20190123/build-vm 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/build-vm 2019-06-04 10:01:35.000000000 +0200 @@ -443,6 +443,7 @@ ELAPSED=$((NOW-WATCHDOG_START)) if test $ELAPSED -gt $WATCHDOG_TIMEOUT ; then # kill the VM + echo echo "### WATCHDOG TRIGGERED, KILLING VM ###" vm_kill exit 0 @@ -965,6 +966,10 @@ otherdir="$BUILD_ROOT$TOPDIR/OTHER" test -n "$TIME_PREINSTALL" && echo "TIME_preinstall: $TIME_PREINSTALL" >> $otherdir/_statistics test -n "$TIME_INSTALL" && echo "TIME_install: $TIME_INSTALL" >> $otherdir/_statistics + test -n "$TIME_POSTCHECKS" && echo "TIME_postchecks: $TIME_POSTCHECKS" >> $otherdir/_statistics + test -n "$TIME_RPMLINT" && echo "TIME_rpmlint: $TIME_RPMLINT" >> $otherdir/_statistics + test -n "$TIME_BUILDCMP" && echo "TIME_buildcmp: $TIME_BUILDCMP" >> $otherdir/_statistics + test -n "$TIME_DELTARPMS" && echo "TIME_deltarpms: $TIME_DELTARPMS" >> $otherdir/_statistics if test -e /.build/_statistics.df ; then echo -n "MAX_mb_used_on_disk: " >> $otherdir/_statistics cat /.build/_statistics.df >> $otherdir/_statistics diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/configs/sl15.5.conf new/obs-build-20190604/configs/sl15.5.conf --- old/obs-build-20190123/configs/sl15.5.conf 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/configs/sl15.5.conf 2019-06-04 10:01:35.000000000 +0200 @@ -59,8 +59,6 @@ Support: brp-check-suse post-build-checks rpmlint-Factory # remove build-compare support to disable "same result" package dropping Support: build-compare -# Extracting appdata.xml from desktop files -Support: brp-extract-appdata Prefer: -suse-build-key Prefer: krb5-mini krb5-mini-devel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/dist/build.changes new/obs-build-20190604/dist/build.changes --- old/obs-build-20190123/dist/build.changes 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/dist/build.changes 2019-06-04 10:01:35.000000000 +0200 @@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Thu Mar 21 09:35:43 UTC 2019 - Adrian Schröter <adr...@suse.de> + +- Filter out 'MACRO' from Requires(pre) +- Support createrepo_c's CREATEREPO_CHECKSUMS checksum cache +- Skip unsupported GPG check on ArchLinux +- Support #!BuildRequires dependencies +- Collect more statistics +- Install policy-rc.d to prevent services from starting on Debian + +------------------------------------------------------------------- Wed Jan 23 14:42:17 UTC 2019 - Adrian Schröter <adr...@suse.de> - add initial SLE 15 SP1 config (bsc#1122895) @@ -133,7 +143,7 @@ Tue Nov 28 13:33:11 UTC 2017 - adr...@suse.de - Fixed Dockerfile repository parsing -- Improve file name check extractbuild +- Improve file name check extractbuild (CVE-2017-14804, bsc#1069904) - track release number of containers - Define SOURCEURL and PATCHURL macros - Keep preinstalled packages diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190123/dist/build.spec new/obs-build-20190604/dist/build.spec --- old/obs-build-20190123/dist/build.spec 2019-01-23 15:42:43.000000000 +0100 +++ new/obs-build-20190604/dist/build.spec 2019-06-04 10:01:35.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package build # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # # needsrootforbuild # needsbinariesforbuild @@ -20,9 +20,9 @@ Name: build Summary: A Script to Build SUSE Linux RPMs -License: GPL-2.0+ and GPL-2.0 +License: GPL-2.0-or-later AND GPL-2.0-only Group: Development/Tools/Building -Version: 20171122 +Version: 20190123 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -36,7 +36,11 @@ # needed for fuser Requires: psmisc # just to verify existence of packages -BuildRequires: psmisc bash binutils perl tar +BuildRequires: bash +BuildRequires: binutils +BuildRequires: perl +BuildRequires: psmisc +BuildRequires: tar %if 0%{?fedora} Requires: perl-MD5 Requires: perl-TimeDate