Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2018-01-29 14:54:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Mon Jan 29 14:54:50 2018 rev:112 rq:569349 version:20180124 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2017-11-30 12:32:00.751106385 +0100 +++ /work/SRC/openSUSE:Factory/.build.new/build.changes 2018-01-29 14:54:51.989785343 +0100 @@ -1,0 +2,5 @@ +Wed Jan 24 16:04:35 UTC 2018 - [email protected] + +- Fix picking of right changes file for changelog generation (boo#1077145) + +------------------------------------------------------------------- @@ -685,0 +691,5 @@ + +------------------------------------------------------------------- +Thu Jan 20 10:18:09 UTC 2011 - [email protected] + +- force use of bsdtar for VMs (bnc#665768, CVE-2010-4226) Old: ---- obs-build-20171128.tar.gz New: ---- obs-build-20180124.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build-mkbaselibs-sle.spec ++++++ --- /var/tmp/diff_new_pack.yW1uEV/_old 2018-01-29 14:54:52.841745541 +0100 +++ /var/tmp/diff_new_pack.yW1uEV/_new 2018-01-29 14:54:52.845745353 +0100 @@ -1,7 +1,7 @@ # # spec file for package build-mkbaselibs-sle # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 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 @@ -20,7 +20,7 @@ Summary: Tools to generate base lib packages License: GPL-2.0+ Group: Development/Tools/Building -Version: 20171128 +Version: 20180124 Release: 0 #!BuildIgnore: build-mkbaselibs #!BuildIgnore: build-mkbaselibs-sle @@ -45,13 +45,13 @@ %build %install -install -m 0755 -d $RPM_BUILD_ROOT/usr/lib/build +install -m 0755 -d %{buildroot}/usr/lib/build install -m 0755 mkbaselibs \ - $RPM_BUILD_ROOT/usr/lib/build/mkbaselibs + %{buildroot}/usr/lib/build/mkbaselibs install -m 0644 baselibs_configs/baselibs_global-deb.conf \ - $RPM_BUILD_ROOT/usr/lib/build/baselibs_global-deb.conf + %{buildroot}/usr/lib/build/baselibs_global-deb.conf install -m 0644 baselibs_configs/baselibs_global.conf \ - $RPM_BUILD_ROOT/usr/lib/build/baselibs_global.conf + %{buildroot}/usr/lib/build/baselibs_global.conf %files %defattr(-,root,root) ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.yW1uEV/_old 2018-01-29 14:54:52.865744420 +0100 +++ /var/tmp/diff_new_pack.yW1uEV/_new 2018-01-29 14:54:52.865744420 +0100 @@ -1,7 +1,7 @@ # # spec file for package build # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 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 @@ -22,7 +22,7 @@ Summary: A Script to Build SUSE Linux RPMs License: GPL-2.0+ and GPL-2.0 Group: Development/Tools/Building -Version: 20171128 +Version: 20180124 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -124,18 +124,18 @@ %install # initvm %if 0%{?suse_version} -make DESTDIR=$RPM_BUILD_ROOT initvm-install -strip $RPM_BUILD_ROOT/usr/lib/build/initvm.* +make DESTDIR=%{buildroot} initvm-install +strip %{buildroot}/usr/lib/build/initvm.* export NO_BRP_STRIP_DEBUG="true" -chmod 0644 $RPM_BUILD_ROOT/usr/lib/build/initvm.* +chmod 0644 %{buildroot}/usr/lib/build/initvm.* %endif # main -make DESTDIR=$RPM_BUILD_ROOT install +make DESTDIR=%{buildroot} install # tweak default config on suse %if 0%{?suse_version} -cd $RPM_BUILD_ROOT/usr/lib/build/configs/ +cd %{buildroot}/usr/lib/build/configs/ SUSE_V=%{?suse_version} SLE_V=%{?sle_version} %if 0%{?sle_version} && 0%{?is_opensuse} && %suse_version == 1315 @@ -164,7 +164,7 @@ # tweak baselibs config on suse %if 0%{?suse_version} -cd $RPM_BUILD_ROOT/usr/lib/build +cd %{buildroot}/usr/lib/build %if %suse_version == 1500 # SLE 15 / Leap 15 ln -sf baselibs_configs/baselibs_global-sle15.conf baselibs_global.conf @@ -181,12 +181,12 @@ echo "WARNING: Not building as root, tests did not run!" exit 0 fi -if [ ! -f "$RPM_BUILD_ROOT/usr/lib/build/configs/default.conf" ]; then +if [ ! -f "%{buildroot}/usr/lib/build/configs/default.conf" ]; then echo "WARNING: No default config, tests did not run!" exit 0 fi # get back the default.conf link -cp -av $RPM_BUILD_ROOT/usr/lib/build/configs/default.conf configs/ +cp -av %{buildroot}/usr/lib/build/configs/default.conf configs/ # do not get confused when building this already with build: export BUILD_IGNORE_2ND_STAGE=1 # use our own build code ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.yW1uEV/_old 2018-01-29 14:54:52.897742925 +0100 +++ /var/tmp/diff_new_pack.yW1uEV/_new 2018-01-29 14:54:52.901742738 +0100 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20171128 +pkgver=20180124 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.yW1uEV/_old 2018-01-29 14:54:52.933741243 +0100 +++ /var/tmp/diff_new_pack.yW1uEV/_new 2018-01-29 14:54:52.937741056 +0100 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20171128 +Version: 20180124 Binary: build Maintainer: Adrian Schroeter <[email protected]> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.yW1uEV/_old 2018-01-29 14:54:52.957740122 +0100 +++ /var/tmp/diff_new_pack.yW1uEV/_new 2018-01-29 14:54:52.961739935 +0100 @@ -1,4 +1,4 @@ -build (20171128) unstable; urgency=low +build (20180124) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20171128.tar.gz -> obs-build-20180124.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/Build/Rpm.pm new/obs-build-20180124/Build/Rpm.pm --- old/obs-build-20171128/Build/Rpm.pm 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/Build/Rpm.pm 2018-01-24 17:02:47.000000000 +0100 @@ -1262,6 +1262,31 @@ return $r; } +my @testcaseops = ('', '&', '|', '<IF>', '<UNLESS>', '<ELSE>', '+', '-'); + +sub testcaseformat_rec { + my ($r, $addparens) = @_; + my $op = $r->[0]; + return $r->[1] unless $op; + my $top = $testcaseops[$op]; + my $r1 = testcaseformat_rec($r->[1], 1); + if (($op == 3 || $op == 4) && @$r == 4) { + $r1 = "$r1 $top " . testcaseformat_rec($r->[2], 1); + $top = 'ELSE'; + } + my $addparens2 = 1; + $addparens2 = 0 if $r->[2]->[0] == $op && ($op == 1 || $op == 2 || $op == 6); + my $r2 = testcaseformat_rec($r->[-1], $addparens2); + return $addparens ? "($r1 $top $r2)" : "$r1 $top $r2"; +} + +sub testcaseformat { + my ($dep) = @_; + my $r = parse_rich_dep($dep); + return $dep unless $r; + return testcaseformat_rec($r); +} + sub shiftrich { my ($s) = @_; # FIXME: do this right! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/Build/Rpmmd.pm new/obs-build-20180124/Build/Rpmmd.pm --- old/obs-build-20171128/Build/Rpmmd.pm 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/Build/Rpmmd.pm 2018-01-24 17:02:47.000000000 +0100 @@ -22,6 +22,8 @@ use strict; +use Build::Rpm; + use XML::Parser; sub generic_parse { @@ -186,6 +188,7 @@ $evr .= "-$attr{'rel'}" if defined $attr{'rel'}; $dep .= " $flagmap{$attr{'flags'}} $evr"; } + $dep = Build::Rpm::testcaseformat($dep) if ($dep =~ /^\(/) && ($c->[0]->[5] || {})->{'testcaseformat'}; my $data = $c->[0]->[4]; push @{$data->{$h->{'_tag'}}}, $dep; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/Build/SimpleXML.pm new/obs-build-20180124/Build/SimpleXML.pm --- old/obs-build-20171128/Build/SimpleXML.pm 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/Build/SimpleXML.pm 2018-01-24 17:02:47.000000000 +0100 @@ -27,11 +27,14 @@ # must not rely on external libraries # sub parse { - my ($xml) = @_; + my ($xml, %opts) = @_; + my $record = $opts{'record'}; + my $order = $opts{'order'}; my @nodestack; my $node = {}; my $c = ''; + my $xmllen = length($xml); $xml =~ s/^\s*\<\?.*?\?\>//s; while ($xml =~ /^(.*?)\</s) { if ($1 ne '') { @@ -42,6 +45,7 @@ die("bad xml, missing end of comment\n") unless $xml =~ s/.*?-->//s; next; } + my $elstart = length($xml); die("bad xml\n") unless $xml =~ /(.*?\>)/s; my $tag = $1; $xml = substr($xml, length($tag)); @@ -73,10 +77,16 @@ } if ($mode == 0 || $mode == 2) { my $n = {}; - push @{$node->{$tag}}, $n; - for (sort keys %atts) { - $n->{$_} = $atts{$_}; + if ($record) { + $n->{'_start'} = $xmllen - $elstart; + $n->{'_end'} = $xmllen - length($xml) if $mode == 2; + } + if ($order) { + push @{$node->{'_order'}}, $tag; + push @{$n->{'_order'}}, (splice(@tag, 0, 2))[0] while @tag; } + push @{$node->{$tag}}, $n; + $n->{$_} = $atts{$_} for sort keys %atts; if ($mode == 0) { push @nodestack, [ $tag, $node, $c ]; $c = ''; @@ -88,6 +98,7 @@ $c =~ s/^\s*//s; $c =~ s/\s*$//s; $node->{'_content'} = $c if $c ne ''; + $node->{'_end'} = $xmllen - length($xml) if $record; $node = $nodestack[-1]->[1]; $c = $nodestack[-1]->[2]; pop @nodestack; @@ -100,4 +111,55 @@ return $node; } +sub unparse_keys { + my ($d) = @_; + my @k = grep {$_ ne '_start' && $_ ne '_end' && $_ ne '_order' && $_ ne '_content'} sort keys %$d; + return @k unless $d->{'_order'}; + my %k = map {$_ => 1} @k; + my @ko; + for (@{$d->{'_order'}}) { + push @ko, $_ if delete $k{$_}; + } + return (@ko, grep {$k{$_}} @k); +} + +sub unparse_escape { + my ($d) = @_; + $d =~ s/&/&/sg; + $d =~ s/</</sg; + $d =~ s/>/>/sg; + $d =~ s/"/"/sg; + return $d; +} + +sub unparse { + my ($d, %opts) = @_; + + my $r = ''; + my $indent = $opts{'ugly'} ? '' : $opts{'indent'} || ''; + my $nl = $opts{'ugly'} ? '' : "\n"; + my @k = unparse_keys($d); + my @e = grep {ref($d->{$_}) ne ''} @k; + for my $e (@e) { + my $en = unparse_escape($e); + my $de = $d->{$e}; + $de = [ $de ] unless ref($de) eq 'ARRAY'; + for my $se (@$de) { + my @sk = unparse_keys($se); + my @sa = grep {ref($se->{$_}) eq ''} @sk; + my @se = grep {ref($se->{$_}) ne ''} @sk; + $r .= "$indent<$en"; + for my $sa (@sa) { + $r .= " ".unparse_escape($sa); + $r .= '="'.unparse_escape($se->{$sa}).'"' if defined $se->{$sa}; + } + $r .= ">"; + $r .= unparse_escape($se->{'_content'}) if defined $se->{'_content'}; + $r .= $nl . unparse($se, %opts, 'indent' => " $indent") . "$indent" if @se; + $r .= "</$en>$nl"; + } + } + return $r; +} + 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/Build/Susetags.pm new/obs-build-20180124/Build/Susetags.pm --- old/obs-build-20171128/Build/Susetags.pm 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/Build/Susetags.pm 2018-01-24 17:02:47.000000000 +0100 @@ -22,6 +22,8 @@ use strict; +use Build::Rpm; + # compatibility to old OBS code sub parse_obs_compat { my ($file, undef, undef, @arches) = @_; @@ -115,6 +117,7 @@ chomp; last if /^-\Q$tag\E/; next if $tag eq 'Req' && /^rpmlib\(/; + $_ = Build::Rpm::testcaseformat($_) if /^\(/ && $options{'testcaseformat'}; push @{$cur->{$tmap{$tag}}}, $_; } } elsif ($tag eq 'Pkg') { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/build-recipe-appimage new/obs-build-20180124/build-recipe-appimage --- old/obs-build-20171128/build-recipe-appimage 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/build-recipe-appimage 2018-01-24 17:02:47.000000000 +0100 @@ -54,7 +54,7 @@ recipe_build_appimage() { local ARCH DEB - if [ -x /bin/rpm ]; then + if [ -x "$BUILD_ROOT/bin/rpm" ]; then ARCH=$(chroot $BUILD_ROOT su -c "rpm --eval '%{_target_cpu}'") else ARCH=$(chroot $BUILD_ROOT su -c "dpkg-architecture -qDEB_BUILD_ARCH") @@ -76,10 +76,12 @@ fi if test -z "$DEB" -a ! -d "$BUILD_ROOT/.build.binaries/repodata" ; then echo "creating repository metadata..." - if [ -x /usr/bin/createrepo_c ]; then - createrepo_c $BUILD_ROOT/.build.binaries + if [ -x "$BUILD_ROOT/usr/bin/createrepo_c" ]; then + chroot "$BUILD_ROOT" /usr/bin/createrepo_c /.build.binaries + elif [ -x "$BUILD_ROOT/usr/bin/createrepo" ]; then + chroot "$BUILD_ROOT" /usr/bin/createrepo /.build.binaries else - createrepo $BUILD_ROOT/.build.binaries + cleanup_and_exit 1 "No createrepo found in build root" fi fi fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/build-recipe-kiwi new/obs-build-20180124/build-recipe-kiwi --- old/obs-build-20171128/build-recipe-kiwi 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/build-recipe-kiwi 2018-01-24 17:02:47.000000000 +0100 @@ -513,7 +513,7 @@ -l=|--logfile=*) KIWI_MAIN_PARAMETERS="$KIWI_MAIN_PARAMETERS --logfile ${i#*=}" ;; -d=*|--dest-dir=*) KIWI_BUILD_PARAMETERS="$KIWI_BUILD_PARAMETERS --target-dir ${i#*=}" ;; --root=*) echo "WARNING: ignored unsupported kiwi option $i" ;; # unsupported for system build... - --ignore-repos) KIWI_BUILD_PARAMETERS="$KIWI_BUILD_PARAMETERS --ignore-repos" ;; + --ignore-repos) KIWI_BUILD_PARAMETERS="$KIWI_BUILD_PARAMETERS --ignore-repos-used-for-build" ;; --recycle-root) KIWI_BUILD_PARAMETERS="$KIWI_BUILD_PARAMETERS --allow-existing-root" ;; --add-repo=*) add_repo_url[${#add_repo_url[@]}]="${i#*=}" ;; --add-repotype=*) add_repo_type[${#add_repo_type[@]}]="${i#*=}" ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/build-vm new/obs-build-20180124/build-vm --- old/obs-build-20171128/build-vm 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/build-vm 2018-01-24 17:02:47.000000000 +0100 @@ -759,7 +759,7 @@ unset start_time if test ! -w /root ; then # remove setuid bit if files belong to user to make e.g. mount work - find $BUILD_ROOT/{bin,sbin,usr/bin,usr/sbin} -type f -uid $UID -perm +4000 -print0 | xargs -0 --no-run-if-empty chmod -s + find $BUILD_ROOT/{bin,sbin,usr/bin,usr/sbin} -type f -uid $UID -perm /4000 -print0 | xargs -0 --no-run-if-empty chmod -s fi copy_oldpackages fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/changelog2spec new/obs-build-20180124/changelog2spec --- old/obs-build-20171128/changelog2spec 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/changelog2spec 2018-01-24 17:02:47.000000000 +0100 @@ -45,6 +45,11 @@ my $target = 'rpm'; while (@ARGV) { + if ($ARGV[0] eq '--selftest') { + shift; + print map_changes(@ARGV); + exit 0; + } if ($ARGV[0] eq '--test') { $test = 1; shift @ARGV; @@ -75,15 +80,24 @@ opendir(D, $dir) || die("$dir: $!\n"); my @changes = grep {/\.changes$/} readdir(D); closedir(D); + my $changesfile=map_changes($file, @changes); + exit(1) unless $changesfile; + @ARGV = ("$dir/$changesfile"); +} + +sub map_changes +{ + my ($file, @changes) = @_; @changes = sort {length($a) <=> length($b) || $a cmp $b} @changes; # support _service: prefixes, they need to be stripped $file =~ s/^_service:.*://; my %changes = map {/^((?:_service:.*:)?(.*?))$/ ? ($2, $1) : ($_, $_)} @changes; @changes = keys %changes; - exit(1) unless @changes; # nothing to do + return undef unless @changes; # nothing to do + @changes = sort {length($a) <=> length($b) || $a cmp $b} @changes; if (@changes > 1) { while ($file ne '') { - my @c = grep {/\Q$file\E/} @changes; + my @c = grep {/\Q${file}.changes\E/} @changes; if (@c) { @changes = @c; last; @@ -91,7 +105,7 @@ last unless $file =~ s/[-.][^-.]*$//; } } - @ARGV = ("$dir/$changes{$changes[0]}"); + return $changes{$changes[0]}; } sub parse_suse { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/computeblocklists new/obs-build-20180124/computeblocklists --- old/obs-build-20171128/computeblocklists 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/computeblocklists 2018-01-24 17:02:47.000000000 +0100 @@ -120,7 +120,6 @@ next; } elsif (-d _) { print STDERR "$file\n" if $opt_verbose && $opt_verbose > 1; - my @stat = stat(_); print "d $n\n"; next; } elsif (!-f _) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/configs/sl15.0.conf new/obs-build-20180124/configs/sl15.0.conf --- old/obs-build-20171128/configs/sl15.0.conf 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/configs/sl15.0.conf 2018-01-24 17:02:47.000000000 +0100 @@ -59,9 +59,6 @@ # Build all packages with -pie enabled Required: gcc-PIE -# needed for su's default config - perhaps we should use a simplified form? -Support: pam-modules - # the basic stuff Support: perl build-mkbaselibs Support: brp-check-suse post-build-checks rpmlint-Factory diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/configs/sle15.0.conf new/obs-build-20180124/configs/sle15.0.conf --- old/obs-build-20171128/configs/sle15.0.conf 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/configs/sle15.0.conf 2018-01-24 17:02:47.000000000 +0100 @@ -66,8 +66,6 @@ Required: rpm-build Required: gcc-PIE -Support: pam-modules - Support: perl build-mkbaselibs Support: brp-check-suse post-build-checks rpmlint-Factory diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/createrepomddeps new/obs-build-20180124/createrepomddeps --- old/obs-build-20171128/createrepomddeps 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/createrepomddeps 2018-01-24 17:02:47.000000000 +0100 @@ -114,7 +114,7 @@ if (-e $u) { $cached = 1; $cached = 0 if exists($f->{'size'}) && $f->{'size'} != (-s _); - $cached = 0 if !exists($f->{'size'}) && $u !~ /[0-9a-f]{32}-primary/; + $cached = 0 if !$opt_zypp && !exists($f->{'size'}) && $u !~ /[0-9a-f]{32}-primary/; } if (!$cached) { die("zypp repo $url is not up to date, please refresh first\n") if $opt_zypp; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/dist/build-mkbaselibs-sle.spec new/obs-build-20180124/dist/build-mkbaselibs-sle.spec --- old/obs-build-20171128/dist/build-mkbaselibs-sle.spec 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/dist/build-mkbaselibs-sle.spec 2018-01-24 17:02:47.000000000 +0100 @@ -45,13 +45,13 @@ %build %install -install -m 0755 -d $RPM_BUILD_ROOT/usr/lib/build +install -m 0755 -d %{buildroot}/usr/lib/build install -m 0755 mkbaselibs \ - $RPM_BUILD_ROOT/usr/lib/build/mkbaselibs + %{buildroot}/usr/lib/build/mkbaselibs install -m 0644 baselibs_configs/baselibs_global-deb.conf \ - $RPM_BUILD_ROOT/usr/lib/build/baselibs_global-deb.conf + %{buildroot}/usr/lib/build/baselibs_global-deb.conf install -m 0644 baselibs_configs/baselibs_global.conf \ - $RPM_BUILD_ROOT/usr/lib/build/baselibs_global.conf + %{buildroot}/usr/lib/build/baselibs_global.conf %files %defattr(-,root,root) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/dist/build.changes new/obs-build-20180124/dist/build.changes --- old/obs-build-20171128/dist/build.changes 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/dist/build.changes 2018-01-24 17:02:47.000000000 +0100 @@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Tue Nov 28 13:33:11 UTC 2017 - [email protected] + +- Fixed Dockerfile repository parsing +- Improve file name check extractbuild +- track release number of containers +- Define SOURCEURL and PATCHURL macros +- Keep preinstalled packages +- add libidn2 and libunistring to preinstall for archlinux + +------------------------------------------------------------------- Tue Nov 21 09:12:41 UTC 2017 - [email protected] - buildignore the sle flavor of mkbaselibs for sle @@ -675,6 +685,11 @@ - do not use loop device anymore when using block devices directly ------------------------------------------------------------------- +Thu Jan 20 10:18:09 UTC 2011 - [email protected] + +- force use of bsdtar for VMs (bnc#665768, CVE-2010-4226) + +------------------------------------------------------------------- Thu Nov 11 12:24:13 UTC 2010 - [email protected] - workaround for distros with appstart like Ubuntu 10.10 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/dist/build.spec new/obs-build-20180124/dist/build.spec --- old/obs-build-20171128/dist/build.spec 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/dist/build.spec 2018-01-24 17:02:47.000000000 +0100 @@ -124,18 +124,18 @@ %install # initvm %if 0%{?suse_version} -make DESTDIR=$RPM_BUILD_ROOT initvm-install -strip $RPM_BUILD_ROOT/usr/lib/build/initvm.* +make DESTDIR=%{buildroot} initvm-install +strip %{buildroot}/usr/lib/build/initvm.* export NO_BRP_STRIP_DEBUG="true" -chmod 0644 $RPM_BUILD_ROOT/usr/lib/build/initvm.* +chmod 0644 %{buildroot}/usr/lib/build/initvm.* %endif # main -make DESTDIR=$RPM_BUILD_ROOT install +make DESTDIR=%{buildroot} install # tweak default config on suse %if 0%{?suse_version} -cd $RPM_BUILD_ROOT/usr/lib/build/configs/ +cd %{buildroot}/usr/lib/build/configs/ SUSE_V=%{?suse_version} SLE_V=%{?sle_version} %if 0%{?sle_version} && 0%{?is_opensuse} && %suse_version == 1315 @@ -164,7 +164,7 @@ # tweak baselibs config on suse %if 0%{?suse_version} -cd $RPM_BUILD_ROOT/usr/lib/build +cd %{buildroot}/usr/lib/build %if %suse_version == 1500 # SLE 15 / Leap 15 ln -sf baselibs_configs/baselibs_global-sle15.conf baselibs_global.conf @@ -181,12 +181,12 @@ echo "WARNING: Not building as root, tests did not run!" exit 0 fi -if [ ! -f "$RPM_BUILD_ROOT/usr/lib/build/configs/default.conf" ]; then +if [ ! -f "%{buildroot}/usr/lib/build/configs/default.conf" ]; then echo "WARNING: No default config, tests did not run!" exit 0 fi # get back the default.conf link -cp -av $RPM_BUILD_ROOT/usr/lib/build/configs/default.conf configs/ +cp -av %{buildroot}/usr/lib/build/configs/default.conf configs/ # do not get confused when building this already with build: export BUILD_IGNORE_2ND_STAGE=1 # use our own build code diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/expanddeps new/obs-build-20180124/expanddeps --- old/obs-build-20171128/expanddeps 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/expanddeps 2018-01-24 17:02:47.000000000 +0100 @@ -161,8 +161,6 @@ $pkgP = $2; } elsif (/^R:(.*?)-\d+\/\d+\/\d+: (.*)$/) { $pkgR = $2; - } elsif (/^r:(.*?)-\d+\/\d+\/\d+: (.*)$/) { - $pkgr = $2; } elsif (/^C:(.*?)-\d+\/\d+\/\d+: (.*)$/) { $pkgC = $2; } elsif (/^O:(.*?)-\d+\/\d+\/\d+: (.*)$/) { @@ -172,27 +170,28 @@ } elsif (/^s:(.*?)-\d+\/\d+\/\d+: (.*)$/) { $pkgs = $2; } elsif (/^I:(.*?)-\d+\/\d+\/\d+: (.*)$/) { - next if $packs_done{$1}; - my ($i, $newid) = ($1, $2); - undef $i unless !$ids{$i} || $verscmp->($ids{$i}, $newid) < 0; - undef $i unless defined($pkgF) && defined($pkgP); - if (defined $i) { - $i =~ /^(.*)\.([^\.]+)$/ or die; - push @{$packs_arch{$2}}, $1; - $ids{$i} = $newid; - $fn{$i} = $pkgF; - $prov{$i} = $pkgP; - delete $req{$i}; - delete $rec{$i}; - delete $con{$i}; - delete $obs{$i}; - delete $rec{$i}; - delete $sup{$i}; - $req{$i} = $pkgR; - $con{$i} = $pkgC if defined $pkgC; - $obs{$i} = $pkgO if defined $pkgO; - $rec{$i} = $pkgr if defined $pkgr; - $sup{$i} = $pkgs if defined $pkgs; + if (!$packs_done{$1}) { + my ($i, $newid) = ($1, $2); + undef $i unless !$ids{$i} || $verscmp->($ids{$i}, $newid) < 0; + undef $i unless defined($pkgF) && defined($pkgP); + if (defined $i) { + $i =~ /^(.*)\.([^\.]+)$/ or die; + push @{$packs_arch{$2}}, $1; + $ids{$i} = $newid; + $fn{$i} = $pkgF; + $prov{$i} = $pkgP; + delete $req{$i}; + delete $rec{$i}; + delete $con{$i}; + delete $obs{$i}; + delete $rec{$i}; + delete $sup{$i}; + $req{$i} = $pkgR; + $con{$i} = $pkgC if defined $pkgC; + $obs{$i} = $pkgO if defined $pkgO; + $rec{$i} = $pkgr if defined $pkgr; + $sup{$i} = $pkgs if defined $pkgs; + } } undef $pkgF; undef $pkgP; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/extractbuild new/obs-build-20180124/extractbuild --- old/obs-build-20171128/extractbuild 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/extractbuild 2018-01-24 17:02:47.000000000 +0100 @@ -154,5 +154,5 @@ } close(O) || die("$file: close error: $!\n"); # sanity check - die "$file: invalid file size ($filesize byes left)\n" if $filesize != 0; + die "$file: invalid file size ($filesize bytes left)\n" if $filesize != 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/substitutedeps new/obs-build-20180124/substitutedeps --- old/obs-build-20171128/substitutedeps 2017-11-28 14:28:12.000000000 +0100 +++ new/obs-build-20180124/substitutedeps 2018-01-24 17:02:47.000000000 +0100 @@ -282,7 +282,7 @@ # all compat stuff done. we return to your scheduled program } - if (!$used || ($line !~ /^(?:Build)?Requires:/i)) { + if (!$used || ($line !~ /^(?:Requires|BuildRequires|PreReq)(?:\([^\)]+\))?:/i)) { print F "$line\n"; next; } @@ -293,7 +293,7 @@ } my $isbuildrequires = 0; - $isbuildrequires = 1 if $line =~ /^BuildRequires:/i; + $isbuildrequires = 1 if $line =~ /^BuildRequires/i; my $r = $line; $r =~ s/^[^:]*:\s*//; my @deps = $r =~ /([^\s\[,]+)(\s+[<=>]+\s+[^\s\[,]+)?[\s,]*/g; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20171128/t/changelog2spec.t new/obs-build-20180124/t/changelog2spec.t --- old/obs-build-20171128/t/changelog2spec.t 1970-01-01 01:00:00.000000000 +0100 +++ new/obs-build-20180124/t/changelog2spec.t 2018-01-24 17:02:47.000000000 +0100 @@ -0,0 +1,33 @@ +#!/usr/bin/perl -w + +use strict; +use Test::More tests => 11; + +sub onetest(@) +{ + my $expected = shift; + my $actual = `./changelog2spec --selftest @_`; + is($actual, $expected, "changelog2spec --selftest @_"); +} + +my @tests=( + # format is 1:specfile 2:expected-changes 3++:list-of-changes-files + [qw"rpm rpm python-rpm rpm"], + [qw"python-rpm python-rpm python-rpm rpm"], + [qw"antlr antlr antlr antlr-bootstrap"], + [qw"antlr anyunrelated anyunrelated"], + [qw"antlr-bootstrap antlr-bootstrap antlr antlr-bootstrap"], + [qw"antlr-bootstrap antlr antlr"], + [qw"antlr-bootstrap antlr antlr antlr-other"], + [qw"foo _service:obs_scm:foo foo _service:obs_scm:foo"], + [qw"_service:obs_scm:foo _service:obs_scm:foo foo _service:obs_scm:foo"], + [qw"_service:obs_scm:foo foo foo foo-bar"], + [qw"_service:obs_scm:foo-bar foo foo foo-other"], +); +for my $t (@tests) { + my @tmp=@$t; + my $file=shift(@tmp); + foreach(0..$#tmp) {$tmp[$_].=".changes"} + my $expected=shift(@tmp); + onetest($expected, $file, @tmp); +}
