Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2024-06-13 15:37:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new.19518 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Thu Jun 13 15:37:26 2024 rev:163 rq:1180152 version:20240612 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2024-05-17 20:03:53.644631727 +0200 +++ /work/SRC/openSUSE:Factory/.build.new.19518/build.changes 2024-06-13 15:37:30.160842928 +0200 @@ -1,0 +2,9 @@ +Wed Jun 12 11:47:43 CEST 2024 - m...@suse.de + +- tumbleweed build config update +- support the %load macro +- improve container filename generation (docker) +- fix hanging curl calls during build (docker) +- productcompose: fix milestone query + +------------------------------------------------------------------- Old: ---- obs-build-20240516.tar.gz New: ---- obs-build-20240612.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.C2b6Qv/_old 2024-06-13 15:37:31.428889198 +0200 +++ /var/tmp/diff_new_pack.C2b6Qv/_new 2024-06-13 15:37:31.432889344 +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: 20240516 +Version: 20240612 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.C2b6Qv/_old 2024-06-13 15:37:31.476890949 +0200 +++ /var/tmp/diff_new_pack.C2b6Qv/_new 2024-06-13 15:37:31.480891095 +0200 @@ -1,6 +1,6 @@ pkgname=build -pkgver=20240516 -pkgrel=29b6aeaff2ac1cd75c4f5075424adb75 +pkgver=20240612 +pkgrel=55d01635957160b09013643f53de17f9 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') url="https://www.github.com/openSUSE/obs-build" ++++++ _service ++++++ --- /var/tmp/diff_new_pack.C2b6Qv/_old 2024-06-13 15:37:31.508892117 +0200 +++ /var/tmp/diff_new_pack.C2b6Qv/_new 2024-06-13 15:37:31.512892263 +0200 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="manual"> - <param name="revision">20240516</param> - <param name="version">20240516</param> + <param name="revision">20240612</param> + <param name="version">20240612</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.C2b6Qv/_old 2024-06-13 15:37:31.544893430 +0200 +++ /var/tmp/diff_new_pack.C2b6Qv/_new 2024-06-13 15:37:31.544893430 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20240516 +Version: 20240612 Binary: build Maintainer: Adrian Schroeter <adr...@suse.de> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.C2b6Qv/_old 2024-06-13 15:37:31.572894452 +0200 +++ /var/tmp/diff_new_pack.C2b6Qv/_new 2024-06-13 15:37:31.576894598 +0200 @@ -1,4 +1,4 @@ -build (20240516) unstable; urgency=low +build (20240612) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20240516.tar.gz -> obs-build-20240612.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/Build/ProductCompose.pm new/obs-build-20240612/Build/ProductCompose.pm --- old/obs-build-20240516/Build/ProductCompose.pm 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/Build/ProductCompose.pm 2024-06-12 11:49:28.000000000 +0200 @@ -161,8 +161,9 @@ } sub show { - my ($fn, $field) = @ARGV; - my $cf = {}; + my ($fn, $field, $arch, $buildflavor) = @ARGV; + my $cf = {'arch' => $arch}; + $cf->{'buildflavor'} = $buildflavor if defined $buildflavor; my $d = parse($cf, $fn); die "$d->{error}\n" if $d->{error}; my $value = $d->{ $field }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/Build/Rpm.pm new/obs-build-20240612/Build/Rpm.pm --- old/obs-build-20240516/Build/Rpm.pm 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/Build/Rpm.pm 2024-06-12 11:49:28.000000000 +0200 @@ -340,10 +340,33 @@ } return (exists($macros->{"with_$args[0]"}) ? 1 : 0) ^ ($macname eq 'without' ? 1 : 0) if $macname eq 'with' || $macname eq 'without'; return (exists($macros->{$args[0]}) ? 1 : 0) ^ ($macname eq 'undefined' ? 1 : 0) if $macname eq 'defined' || $macname eq 'undefined'; + if ($macname eq 'load' && ref($macros->{'load'}) eq 'ARRAY') { + my $l = $macros->{'load'}; + my $c = {}; + add_macros($c, $l->[0]->($args[0])); + initmacros($c, $l->[1], $l->[2]); + return ''; + } do_warn($config, "unsupported builtin macro $macname"); return ''; } +sub add_macros { + my ($config, $rawmacros) = @_; + $config->{'macros'} ||= []; + return unless defined $rawmacros; + my $macros = $config->{'macros'}; + for my $rm (split("\n", $rawmacros)) { + if (@$macros && $macros->[-1] =~ /\\\z/s) { + $macros->[-1] = substr($macros->[-1], 0, -1)."\n$rm"; + } elsif ($rm !~ /^%/) { + push @$macros, $rm; + } else { + push @$macros, "%define ".substr($rm, 1); + } + } +} + sub initmacros { my ($config, $macros, $macros_args) = @_; for my $line (@{$config->{'macros'} || []}) { @@ -412,6 +435,7 @@ 'dirname' => \&builtinmacro, 'shrink' => \&builtinmacro, 'suffix' => \&builtinmacro, + 'load' => \&builtinmacro, 'gsub' => \&luamacro, 'len' => \&luamacro, @@ -714,6 +738,12 @@ my $multilinedefine; my $multilinecondition; my $substitute = $config->{'substitute'}; + + # setup load macro if we have an include callback + if ($includecallback && !$config->{'parsing_config'}) { + $macros{'load'} = [ $includecallback, \%macros, \%macros_args ]; + } + while (1) { my $line; my $doxspec = $xspec ? 1 : 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/Build.pm new/obs-build-20240612/Build.pm --- old/obs-build-20240516/Build.pm 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/Build.pm 2024-06-12 11:49:28.000000000 +0200 @@ -599,17 +599,8 @@ s/=$// for @{$config->{'substitute'}->{$l}}; } # add rawmacros to our macro list - if ($config->{'rawmacros'} ne '') { - for my $rm (split("\n", $config->{'rawmacros'})) { - if (@macros && $macros[-1] =~ /\\\z/s) { - $macros[-1] = substr($macros[-1], 0, -1)."\n$rm"; - } elsif ($rm !~ /^%/) { - push @macros, $rm; - } else { - push @macros, "%define ".substr($rm, 1); - } - } - } + Build::Rpm::add_macros($config, $config->{'rawmacros'}) if $config->{'rawmacros'} ne ''; + # extract some helper hashes for the flags my %modules; for (@{$config->{'expandflags'} || []}) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/build-recipe-docker new/obs-build-20240612/build-recipe-docker --- old/obs-build-20240516/build-recipe-docker 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/build-recipe-docker 2024-06-12 11:49:28.000000000 +0200 @@ -278,7 +278,15 @@ mkdir -p $BUILD_ROOT$TOPDIR/DOCKER FILENAME=$(perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::show -- "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE" filename) if test -z "$FILENAME" ; then - FILENAME="$FIRSTTAG" + # check if there is a version defined. if yes, keep the repository part and overwrite the tag + FILENAME=$(perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::show -- "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE" version) + if test -n "$FILENAME" ; then + # append the flavor to the version + test -n "$BUILD_FLAVOR" && FILENAME="$FILENAME-$BUILD_FLAVOR" + FILENAME="${FIRSTTAG%%:*}:$FILENAME" + else + FILENAME="$FIRSTTAG" + fi fi FILENAME="${FILENAME//[\/:]/-}" test -n "$GOOS" -a "$GOOS" != "linux" && FILENAME="${FILENAME}_$GOOS" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/configs/tumbleweed.conf new/obs-build-20240612/configs/tumbleweed.conf --- old/obs-build-20240516/configs/tumbleweed.conf 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/configs/tumbleweed.conf 2024-06-12 11:49:28.000000000 +0200 @@ -7,7 +7,7 @@ # The prjconf macros have a serial to help work around issues like https://github.com/openSUSE/open-build-service/issues/4088 # On macros having impact on dep chains, update the serial (mainly ruby, python) # Using a date to indicate when we set the serial -ExpandFlags: macroserial:20240515 +ExpandFlags: macroserial:20240529 ExpandFlags: kiwi-nobasepackages ExpandFlags: docker-nobasepackages @@ -379,6 +379,7 @@ FileProvides: /usr/bin/node nodejs-common FileProvides: /usr/bin/node20 nodejs20 FileProvides: /usr/bin/node21 nodejs21 +FileProvides: /usr/bin/node22 nodejs22 FileProvides: /usr/bin/nohup busybox-coreutils coreutils coreutils-single FileProvides: /usr/bin/nslookup bind-utils busybox-bind-utils FileProvides: /usr/bin/ocamlrun ocaml-runtime @@ -494,6 +495,7 @@ FileProvides: /usr/bin/xsltproc libxslt-tools FileProvides: /usr/bin/xz busybox-xz xz FileProvides: /usr/bin/zcat busybox-gzip gzip zstd-gzip +FileProvides: /usr/bin/zstd zstd FileProvides: /usr/sbin/a2enflag apache2 FileProvides: /usr/sbin/a2enmod apache2 FileProvides: /usr/sbin/agetty util-linux @@ -501,6 +503,7 @@ FileProvides: /usr/sbin/groupadd shadow FileProvides: /usr/sbin/groupdel shadow FileProvides: /usr/sbin/groupmod shadow +FileProvides: /usr/sbin/iconvconfig glibc FileProvides: /usr/sbin/ipsec strongswan-ipsec FileProvides: /usr/sbin/ldconfig glibc FileProvides: /usr/sbin/lpadmin cups-client @@ -516,7 +519,6 @@ FileProvides: /usr/sbin/userdel shadow FileProvides: /usr/sbin/usermod shadow - # Files which are provided and required by the same package only # are not part of primary.xml.gz, thus missing in the section above. FileProvides: /usr/bin/Xvfb xorg-x11-server-Xvfb @@ -554,6 +556,7 @@ Prefer: -busybox-psmisc Prefer: -busybox-sed Prefer: -busybox-tar +Prefer: -busybox-unzip Prefer: -busybox-util-linux Prefer: -podman-docker # have choice for /usr/bin/dbus-launch needed by gnome-session-core: dbus-1 dbus-1-x11 @@ -783,6 +786,7 @@ # break dependency of the -mini packages: they are valid for OBS, but not for end-user-installation Ignore: cmake-mini:this-is-only-for-build-envs Ignore: dummy-release:this-is-only-for-build-envs +Ignore: envsubst-mini:this-is-only-for-build-envs Ignore: erlang-rebar-obs:this-is-only-for-build-envs Ignore: ffmpeg-5-mini-devel:this-is-only-for-build-envs Ignore: ffmpeg-5-mini-libs:this-is-only-for-build-envs @@ -795,6 +799,8 @@ Ignore: ghostscript-mini:this-is-only-for-build-envs Ignore: harfbuzz-bootstrap:this-is-only-for-build-envs Ignore: jdk-bootstrap:this-is-only-for-build-envs +Ignore: krb5-mini-devel:this-is-only-for-build-envs +Ignore: krb5-mini:this-is-only-for-build-envs Ignore: libpxbackend-1_0-mini:this-is-only-for-build-envs Ignore: libsystemd0-mini:this-is-only-for-build-envs Ignore: libudev-mini1:this-is-only-for-build-envs @@ -806,8 +812,6 @@ Ignore: systemd-mini-container:this-is-only-for-build-envs Ignore: systemd-mini:this-is-only-for-build-envs Ignore: udev-mini:this-is-only-for-build-envs -Ignore: krb5-mini-devel:this-is-only-for-build-envs -Ignore: krb5-mini:this-is-only-for-build-envs # Ring0 packages should not pull in 'info' - making the base VM smaller Ignore: autoconf:info @@ -1422,11 +1426,16 @@ Prefer: -primus Prefer: -staging-build-key Prefer: -clutter-gst-devel + # We have multiple versions of ffmpeg available, the preferred one is ffmpeg5, followd by 4, followed by 3 %define ffmpeg_pref ffmpeg-6 Prefer: %{ffmpeg_pref}-mini-libs Prefer: %{ffmpeg_pref}-mini-devel Prefer: %{ffmpeg_pref} %{ffmpeg_pref}-libavcodec-devel %{ffmpeg_pref}-libavformat-devel %{ffmpeg_pref}-libavutil-devel %{ffmpeg_pref}-libswscale-devel %{ffmpeg_pref}-libavdevice-devel %{ffmpeg_pref}-libavfilter-devel +Macros: +%ffmpeg_pref ffmpeg-6 +:Macros + # oxygen5-icon-theme osboletes oxygen-icon-theme Prefer: oxygen5-icon-theme @@ -1491,8 +1500,8 @@ Prefer: libglfw3 # have choice for (xclip or wl-clipboard) needed by password-store: wl-clipboard xclip Prefer: -wl-clipboard -# have choice for pkgconfig(libhs): hyperscan-devel vectorscan-devel. hyperscan is for x86 only, prefer that where possible (for now). -Prefer: hyperscan-devel +# have choice for pkgconfig(libhs): hyperscan-devel vectorscan-devel. hyperscan is no longer free - de-prefer it +Prefer: -hyperscan-devel Ignore: installation-images-openSUSE:cracklib-dict-full Ignore: openSUSE-release:openSUSE-release-ftp,openSUSE-release-dvd5,openSUSE-release-biarch,openSUSE-release-livecdkde,openSUSE-release-livecdgnome @@ -1804,6 +1813,7 @@ BuildFlags: onlybuild:deltarpm BuildFlags: onlybuild:desktop-file-utils BuildFlags: onlybuild:devscripts +BuildFlags: onlybuild:devscripts:checkbashisms BuildFlags: onlybuild:dialog BuildFlags: onlybuild:diffutils BuildFlags: onlybuild:dirac @@ -2378,6 +2388,7 @@ BuildFlags: onlybuild:nodejs-common BuildFlags: onlybuild:nodejs20 BuildFlags: onlybuild:nodejs21 +BuildFlags: onlybuild:nodejs22 BuildFlags: onlybuild:npth BuildFlags: onlybuild:nss-mdns BuildFlags: onlybuild:numactl @@ -2557,6 +2568,7 @@ BuildFlags: onlybuild:perl-Module-Build BuildFlags: onlybuild:perl-Module-Build-Tiny BuildFlags: onlybuild:perl-Module-Implementation +BuildFlags: onlybuild:perl-Module-Pluggable BuildFlags: onlybuild:perl-Module-Runtime BuildFlags: onlybuild:perl-Mojo-DOM58 BuildFlags: onlybuild:perl-Moo @@ -2975,6 +2987,7 @@ BuildFlags: onlybuild:qrencode BuildFlags: onlybuild:qtdeclarative-imports-provides:qt5 BuildFlags: onlybuild:quota +BuildFlags: onlybuild:rapidjson BuildFlags: onlybuild:raptor BuildFlags: onlybuild:rav1e BuildFlags: onlybuild:rdma-core @@ -3012,6 +3025,7 @@ BuildFlags: onlybuild:rust1.75 BuildFlags: onlybuild:rust1.76 BuildFlags: onlybuild:rust1.77 +BuildFlags: onlybuild:rust1.78 BuildFlags: onlybuild:samba BuildFlags: onlybuild:sane-backends BuildFlags: onlybuild:sassc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/dist/build.changes new/obs-build-20240612/dist/build.changes --- old/obs-build-20240516/dist/build.changes 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/dist/build.changes 2024-06-12 11:49:28.000000000 +0200 @@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Wed Jun 12 11:47:43 CEST 2024 - m...@suse.de + +- tumbleweed build config update +- support the %load macro +- improve container filename generation (docker) +- fix hanging curl calls during build (docker) +- productcompose: fix milestone query + +------------------------------------------------------------------- Thu May 16 08:16:56 UTC 2024 - Adrian Schröter <adr...@suse.de> - tumbleweed build config update diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/obs-docker-support new/obs-build-20240612/obs-docker-support --- old/obs-build-20240516/obs-docker-support 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/obs-docker-support 2024-06-12 11:49:28.000000000 +0200 @@ -208,6 +208,7 @@ ;; -O) oopt=true + shift ;; *) cmd[${#cmd[@]}]="$1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20240516/t/parse_spec.t new/obs-build-20240612/t/parse_spec.t --- old/obs-build-20240516/t/parse_spec.t 2024-05-16 10:21:55.000000000 +0200 +++ new/obs-build-20240612/t/parse_spec.t 2024-06-12 11:49:28.000000000 +0200 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 14; +use Test::More tests => 15; use Build; use Build::Rpm; @@ -396,3 +396,15 @@ $result = Build::Rpm::parse($conf, [ split("\n", "%global foo 1\n%global bar 1\n$spec") ]); is_deeply($result, $expected, "multiline condition 4"); +$Build::Rpm::includecallback = sub { $_[0] eq 'xxx' ? "%mac_foo mac_bar\n": undef }; +$spec = q[ +%{load:xxx} +Name: %mac_foo +]; +$expected = { + 'name' => 'mac_bar', + 'deps' => [], + 'subpacks' => ['mac_bar'], +}; +$result = Build::Rpm::parse($conf, [ split("\n", $spec) ]); +is_deeply($result, $expected, "multiline condition 4");