Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2019-11-20 13:43:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Wed Nov 20 13:43:24 2019 rev:126 rq:748685 version:20191114 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2019-09-30 15:49:29.550798451 +0200 +++ /work/SRC/openSUSE:Factory/.build.new.26869/build.changes 2019-11-20 13:43:26.548271504 +0100 @@ -1,0 +2,9 @@ +Thu Nov 14 13:18:14 UTC 2019 - Adrian Schröter <[email protected]> + +- Add Fedora module parser +- Rpmmd parser: set up a dummy ExternEnt handler +- Add support for modules and publish flags +- add zstd to recommends +- Support rpm's new expression expansion syntax + +------------------------------------------------------------------- Old: ---- obs-build-20190923.tar.gz New: ---- obs-build-20191114.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.x50NbB/_old 2019-11-20 13:43:28.152271014 +0100 +++ /var/tmp/diff_new_pack.x50NbB/_new 2019-11-20 13:43:28.156271013 +0100 @@ -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: 20190923 +Version: 20191114 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -61,6 +61,7 @@ Recommends: perl(YAML::LibYAML) Recommends: bsdtar Recommends: qemu-linux-user +Recommends: zstd Recommends: /usr/bin/qemu-kvm Recommends: /sbin/mkfs.ext3 %endif ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.x50NbB/_old 2019-11-20 13:43:28.180271006 +0100 +++ /var/tmp/diff_new_pack.x50NbB/_new 2019-11-20 13:43:28.184271004 +0100 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20190923 +pkgver=20191114 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.x50NbB/_old 2019-11-20 13:43:28.208270997 +0100 +++ /var/tmp/diff_new_pack.x50NbB/_new 2019-11-20 13:43:28.208270997 +0100 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20190923 +Version: 20191114 Binary: build Maintainer: Adrian Schroeter <[email protected]> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.x50NbB/_old 2019-11-20 13:43:28.228270991 +0100 +++ /var/tmp/diff_new_pack.x50NbB/_new 2019-11-20 13:43:28.232270989 +0100 @@ -1,4 +1,4 @@ -build (20190923) unstable; urgency=low +build (20191114) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20190923.tar.gz -> obs-build-20191114.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190923/Build/Modules.pm new/obs-build-20191114/Build/Modules.pm --- old/obs-build-20190923/Build/Modules.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/obs-build-20191114/Build/Modules.pm 2019-11-14 14:18:59.000000000 +0100 @@ -0,0 +1,64 @@ +################################################################ +# +# Copyright (c) 2019 SUSE Linux Products GmbH +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 or 3 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program (see the file COPYING); if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +# +################################################################ + +package Build::Modules; + +use strict; +use Data::Dumper; + +use YAML::XS; + +$YAML::XS::LoadBlessed = 0; + +sub parse { + my ($in, $res, %options) = @_; + + $res ||= {}; + my $fd; + if (ref($in)) { + $fd = $in; + } else { + if ($in =~ /\.gz$/) { + open($fd, '-|', "gzip", "-dc", $in) || die("$in: $!\n"); + } else { + open($fd, '<', $in) || die("$in: $!\n"); + } + } + my @mod = YAML::XS::LoadFile($fd); + for my $mod (@mod) { + next unless $mod->{'document'} eq 'modulemd'; + my $data = $mod->{'data'}; + next unless $data && ref($data) eq 'HASH'; + my $name = $data->{'name'}; + my $stream = $data->{'stream'}; + my $module = "$name-$stream"; + next unless $data->{'artifacts'}; + my $rpms = $data->{'artifacts'}->{'rpms'}; + next unless $rpms && ref($rpms) eq 'ARRAY'; + push @{$res->{$_}}, $module for @$rpms; + } + # unify + for (values %$res) { + $_ = [ sort keys %{ { map {$_ => 1} @$_ } } ] if @$_ > 1; + } + return $res; +} + +1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190923/Build/Rpm.pm new/obs-build-20191114/Build/Rpm.pm --- old/obs-build-20190923/Build/Rpm.pm 2019-09-23 13:54:45.000000000 +0200 +++ new/obs-build-20191114/Build/Rpm.pm 2019-11-14 14:18:59.000000000 +0100 @@ -210,7 +210,7 @@ my $optmacros = {}; # newer perls: \{((?:(?>[^{}]+)|(?2))*)\} reexpand: - while ($line =~ /^(.*?)%(\{([^\}]+)\}|[\?\!]*[0-9a-zA-Z_]+|%|\*\*?|#|\()(.*?)$/) { + while ($line =~ /^(.*?)%(\{([^\}]+)\}|[\?\!]*[0-9a-zA-Z_]+|%|\*\*?|#|\(|\[)(.*?)$/) { if ($tries++ > 1000) { print STDERR "Warning: spec file parser ",($lineno?" line $lineno":''),": macro too deeply nested\n" if $config->{'warnings'}; $line = 'MACRO'; @@ -255,6 +255,20 @@ print STDERR "Warning: spec file parser",($lineno?" line $lineno":''),": can't expand %(...)\n" if $config->{'warnings'}; $line = 'MACRO'; last; + } elsif ($macname eq '[') { + # find matching ']' + $macalt = '['; + while (($macalt =~ y/\[/\[/) > ($macalt =~ y/\]/\]/) && $line =~ /^(.*?\])(.*)$/) { + $macalt .= $1; + $line = $2; + } + $macalt =~ s/^\[//; + $macalt =~ s/\]$//; + # this is wrong, should expand in expr + $macalt = expandmacros($config, $macalt, $lineno, $macros, $macros_args); + $macalt = (expr($macalt))[0]; + $macalt =~ s/^\"//; + $expandedline .= $macalt; } elsif ($macname eq 'define' || $macname eq 'global') { if ($line =~ /^\s*([0-9a-zA-Z_]+)(?:\(([^\)]*)\))?\s*(.*?)$/) { my $macname = $1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190923/Build/Rpmmd.pm new/obs-build-20191114/Build/Rpmmd.pm --- old/obs-build-20190923/Build/Rpmmd.pm 2019-09-23 13:54:45.000000000 +0200 +++ new/obs-build-20191114/Build/Rpmmd.pm 2019-11-14 14:18:59.000000000 +0100 @@ -52,6 +52,7 @@ my ($p, $text) = @_; $cursor[-1]->[2] .= $text if defined $cursor[-1]->[2]; }, + ExternEnt => sub { undef }, }, ErrorContext => 2); if (ref($in)) { $p->parse($in); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190923/Build.pm new/obs-build-20191114/Build.pm --- old/obs-build-20190923/Build.pm 2019-09-23 13:54:45.000000000 +0200 +++ new/obs-build-20191114/Build.pm 2019-11-14 14:18:59.000000000 +0100 @@ -266,6 +266,7 @@ $config->{'constraint'} = []; $config->{'expandflags'} = []; $config->{'buildflags'} = []; + $config->{'publishflags'} = []; $config->{'singleexport'} = ''; for my $l (@spec) { $l = $l->[1] if ref $l; @@ -283,7 +284,7 @@ } next; } - if ($l0 eq 'preinstall:' || $l0 eq 'vminstall:' || $l0 eq 'required:' || $l0 eq 'support:' || $l0 eq 'keep:' || $l0 eq 'prefer:' || $l0 eq 'ignore:' || $l0 eq 'conflict:' || $l0 eq 'runscripts:' || $l0 eq 'expandflags:' || $l0 eq 'buildflags:') { + if ($l0 eq 'preinstall:' || $l0 eq 'vminstall:' || $l0 eq 'required:' || $l0 eq 'support:' || $l0 eq 'keep:' || $l0 eq 'prefer:' || $l0 eq 'ignore:' || $l0 eq 'conflict:' || $l0 eq 'runscripts:' || $l0 eq 'expandflags:' || $l0 eq 'buildflags:' || $l0 eq 'publishflags:') { my $t = substr($l0, 0, -1); for my $l (@l) { if ($l eq '!*') { @@ -422,9 +423,11 @@ } } } + my %modules; for (@{$config->{'expandflags'} || []}) { if (/^([^:]+):(.*)$/s) { $config->{"expandflags:$1"} = $2; + $modules{$2} = 1 if $1 eq 'module'; } else { $config->{"expandflags:$_"} = 1; } @@ -436,6 +439,14 @@ $config->{"buildflags:$_"} = 1; } } + for (@{$config->{'publishflags'} || []}) { + if (/^([^:]+):(.*)$/s) { + $config->{"publishflags:$1"} = $2; + } else { + $config->{"publishflags:$_"} = 1; + } + } + $config->{'modules'} = [ sort keys %modules ] if %modules; return $config; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190923/dist/build.changes new/obs-build-20191114/dist/build.changes --- old/obs-build-20190923/dist/build.changes 2019-09-23 13:54:45.000000000 +0200 +++ new/obs-build-20191114/dist/build.changes 2019-11-14 14:18:59.000000000 +0100 @@ -1,4 +1,24 @@ ------------------------------------------------------------------- +Thu Nov 14 13:18:14 UTC 2019 - Adrian Schröter <[email protected]> + +- Add Fedora module parser +- Rpmmd parser: set up a dummy ExternEnt handler +- Add support for modules and publish flags +- add zstd to recommends +- Support rpm's new expression expansion syntax + +------------------------------------------------------------------- +Mon Sep 23 11:57:05 UTC 2019 - Adrian Schröter <[email protected]> + +- build-recipe-dsc: Move all build results, not just *.deb and *.changes +- Mount /sys in chroot build +- vc: Do not open the editor if content is set +- adding leap 15.2 and SLE 15 SP2 configs +- Fix some rpmlint warnings +- return exit status 9 in the genbuildreqs case +- Export SYSTEMD_OFFLINE=1 to avoid failures from systemctl + +------------------------------------------------------------------- Tue Jul 9 13:33:36 UTC 2019 - Adrian Schröter <[email protected]> - fail build on preinstall failure diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20190923/dist/build.spec new/obs-build-20191114/dist/build.spec --- old/obs-build-20190923/dist/build.spec 2019-09-23 13:54:45.000000000 +0200 +++ new/obs-build-20191114/dist/build.spec 2019-11-14 14:18:59.000000000 +0100 @@ -61,6 +61,7 @@ Recommends: perl(YAML::LibYAML) Recommends: bsdtar Recommends: qemu-linux-user +Recommends: zstd Recommends: /usr/bin/qemu-kvm Recommends: /sbin/mkfs.ext3 %endif
