Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2020-02-03 11:10:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Mon Feb 3 11:10:37 2020 rev:130 rq:769043 version:20200131 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2020-01-25 13:23:51.540028639 +0100 +++ /work/SRC/openSUSE:Factory/.build.new.26092/build.changes 2020-02-03 11:10:39.889764463 +0100 @@ -1,0 +2,21 @@ +Fri Jan 31 11:49:34 UTC 2020 - Adrian Schröter <[email protected]> + +- fix regression in && operator handling of rpm spec file parser +- Correctly expand macros defined with %global + +------------------------------------------------------------------- +Wed Jan 29 12:57:22 UTC 2020 - Adrian Schröter <[email protected]> + +- 15.2 config: temporary revert gcrypt preinstall until distro has changed +- factory config: ignore libxtables for iproute2, not needed for ip tool +- Follow upstream rpm changes in regard to logical ops +- Fix macro expansion of lines containing newlines +- add missing header file to avoid compile warnings + +------------------------------------------------------------------- +Tue Jan 28 15:20:28 UTC 2020 - Adrian Schröter <[email protected]> + +- support OBS-Milestone comment for kiwi +- switch to preinstall expansion for factory + +------------------------------------------------------------------- Old: ---- obs-build-20200124.1.tar.gz New: ---- obs-build-20200131.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.o9qZT0/_old 2020-02-03 11:10:41.429765240 +0100 +++ /var/tmp/diff_new_pack.o9qZT0/_new 2020-02-03 11:10:41.429765240 +0100 @@ -1,7 +1,7 @@ # # spec file for package build # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -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: 20200124.1 +Version: 20200131 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.o9qZT0/_old 2020-02-03 11:10:41.457765255 +0100 +++ /var/tmp/diff_new_pack.o9qZT0/_new 2020-02-03 11:10:41.465765259 +0100 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20200124.1 +pkgver=20200131 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ _service ++++++ --- /var/tmp/diff_new_pack.o9qZT0/_old 2020-02-03 11:10:41.477765265 +0100 +++ /var/tmp/diff_new_pack.o9qZT0/_new 2020-02-03 11:10:41.477765265 +0100 @@ -1,7 +1,7 @@ <services> <service name="tar_scm" mode="disabled"> - <param name="revision">20200124.1</param> - <param name="version">20200124.1</param> + <param name="revision">20200131</param> + <param name="version">20200131</param> <param name="url">git://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.o9qZT0/_old 2020-02-03 11:10:41.493765273 +0100 +++ /var/tmp/diff_new_pack.o9qZT0/_new 2020-02-03 11:10:41.493765273 +0100 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20200124.1 +Version: 20200131 Binary: build Maintainer: Adrian Schroeter <[email protected]> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.o9qZT0/_old 2020-02-03 11:10:41.517765286 +0100 +++ /var/tmp/diff_new_pack.o9qZT0/_new 2020-02-03 11:10:41.521765287 +0100 @@ -1,4 +1,4 @@ -build (20200124.1) unstable; urgency=low +build (20200131) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20200124.1.tar.gz -> obs-build-20200131.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/Build/Arch.pm new/obs-build-20200131/Build/Arch.pm --- old/obs-build-20200124.1/Build/Arch.pm 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/Build/Arch.pm 2020-01-31 12:50:08.000000000 +0100 @@ -119,10 +119,7 @@ $ret->{'deps'} = []; push @{$ret->{'deps'}}, @{$vars{$_} || []} for qw{makedepends checkdepends depends}; # get arch from macros - my $arch; - for (@{$config->{'macros'} || []}) { - $arch = $1 if /^%define _target_cpu (\S+)/; - } + my ($arch) = Build::gettargetarchos($config); # map to arch linux name and add arch dependent $arch = 'i686' if $arch =~ /^i[345]86$/; push @{$ret->{'deps'}}, @{$vars{"${_}_$arch"} || []} for qw{makedepends checkdepends depends}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/Build/Deb.pm new/obs-build-20200131/Build/Deb.pm --- old/obs-build-20200124.1/Build/Deb.pm 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/Build/Deb.pm 2020-01-31 12:50:08.000000000 +0100 @@ -62,13 +62,9 @@ my @control; # get arch and os from macros - my ($arch, $os); - for (@{$bconf->{'macros'} || []}) { - $arch = $1 if /^%define _target_cpu (\S+)/; - $os = $1 if /^%define _target_os (\S+)/; - } + my ($arch, $os) = Build::gettargetarchos($bconf); # map to debian names - $os = 'linux' if !defined($os); + $os = 'linux' unless defined $os; $arch = basearch($arch); if (ref($fn) eq 'ARRAY') { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/Build/Kiwi.pm new/obs-build-20200131/Build/Kiwi.pm --- old/obs-build-20200124.1/Build/Kiwi.pm 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/Build/Kiwi.pm 2020-01-31 12:50:08.000000000 +0100 @@ -71,6 +71,7 @@ my $obsexcludearch; $obsexclusivearch = $1 if $xml =~ /^\s*<!--\s+OBS-ExclusiveArch:\s+(.*)\s+-->\s*$/im; $obsexcludearch = $1 if $xml =~ /^\s*<!--\s+OBS-ExcludeArch:\s+(.*)\s+-->\s*$/im; + $ret->{'milestone'} = $1 if $xml =~ /^\s*<!--\s+OBS-Milestone:\s+(.*)\s+-->\s*$/im; $ret->{'name'} = $kiwi->{'name'} if $kiwi->{'name'}; $ret->{'filename'} = $kiwi->{'name'} if $kiwi->{'name'}; @@ -225,6 +226,7 @@ $obsexclusivearch = $1 if $xml =~ /^\s*<!--\s+OBS-ExclusiveArch:\s+(.*)\s+-->\s*$/im; $obsexcludearch = $1 if $xml =~ /^\s*<!--\s+OBS-ExcludeArch:\s+(.*)\s+-->\s*$/im; $obsprofiles = $1 if $xml =~ /^\s*<!--\s+OBS-Profiles:\s+(.*)\s+-->\s*$/im; + $ret->{'milestone'} = $1 if $xml =~ /^\s*<!--\s+OBS-Milestone:\s+(.*)\s+-->\s*$/im; if ($obsprofiles) { $obsprofiles = [ grep {defined($_)} map {$_ eq '@BUILD_FLAVOR@' ? $buildflavor : $_} split(' ', $obsprofiles) ]; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/Build/Rpm.pm new/obs-build-20200131/Build/Rpm.pm --- old/obs-build-20200124.1/Build/Rpm.pm 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/Build/Rpm.pm 2020-01-31 12:50:08.000000000 +0100 @@ -27,6 +27,11 @@ use Digest::MD5; +sub expr_boolify { + my ($v) = @_; + return !defined($v) || $v eq '"' || $v =~ /^0*$/ ? 0 : 1; +} + sub expr { my ($expr, $lev) = @_; @@ -41,9 +46,7 @@ } elsif ($t eq '!') { ($v, $expr) = expr(substr($expr, 1), 6); return undef unless defined $v; - $v = 0 if $v && $v eq '"'; - $v =~ s/^0+/0/ if $v; - $v = !$v; + $v = expr_boolify($v) ? 0 : 1; } elsif ($t eq '-') { ($v, $expr) = expr(substr($expr, 1), 6); return undef unless defined $v; @@ -67,20 +70,12 @@ return ($v, $expr) if $lev > 2; ($v2, $expr) = expr(substr($expr, 2), 2); return undef unless defined $v2; - $v = 0 if $v && $v eq '"'; - $v =~ s/^0+/0/; - $v2 = 0 if $v2 && $v2 eq '"'; - $v2 =~ s/^0+/0/; - $v = $v && $v2 ? 1 : 0; + $v = $v2 if expr_boolify($v); } elsif ($expr =~ /^\|\|/) { return ($v, $expr) if $lev > 2; ($v2, $expr) = expr(substr($expr, 2), 2); return undef unless defined $v2; - $v = 0 if $v && $v eq '"'; - $v =~ s/^0+/0/; - $v2 = 0 if $v2 && $v2 eq '"'; - $v2 =~ s/^0+/0/; - $v = $v || $v2 ? 1 : 0; + $v = $v2 unless expr_boolify($v); } elsif ($expr =~ /^>=/) { return ($v, $expr) if $lev > 3; ($v2, $expr) = expr(substr($expr, 2), 3); @@ -135,9 +130,7 @@ $v /= $v2; } elsif ($expr =~ /^\?/) { return ($v, $expr) if $lev > 1; - $v = 0 if $v && $v eq '"'; - $v =~ s/^0+/0/; - $v2 = $v; + $v2 = expr_boolify($v); ($v, $expr) = expr(substr($expr, 1), 1); warn("syntax error while parsing ternary in $_[0]\n") unless $expr =~ s/^://; ($v, $expr) = expr($expr, 1) unless $v2; @@ -194,23 +187,37 @@ return \%m; } +sub initmacros { + my ($config, $macros, $macros_args) = @_; + for my $line (@{$config->{'macros'} || []}) { + next unless $line =~ /^%define\s*([0-9a-zA-Z_]+)(?:\(([^\)]*)\))?\s*(.*?)$/; + my $macname = $1; + my $macargs = $2; + my $macbody = $3; + if (defined $macargs) { + $macros_args->{$macname} = $macargs; + } else { + delete $macros_args->{$macname}; + } + $macros->{$macname} = $macbody; + } +} + sub expandmacros { - my ($config, $line, $lineno, $macros, $macros_args) = @_; + my ($config, $line, $lineno, $macros, $macros_args, $tries) = @_; if (!$macros) { $macros = {}; $macros_args = {}; - for my $macline (@{$config->{'macros'} || []}) { - expandmacros($config, $macline, undef, $macros, $macros_args); - } + initmacros($config, $macros, $macros_args); } my $expandedline = ''; - my $tries = 0; + $tries ||= 0; my @expandstack; my $optmacros = {}; # newer perls: \{((?:(?>[^{}]+)|(?2))*)\} reexpand: - while ($line =~ /^(.*?)%(\{([^\}]+)\}|[\?\!]*[0-9a-zA-Z_]+|%|\*\*?|#|\(|\[)(.*?)$/) { + while ($line =~ /^(.*?)%(\{([^\}]+)\}|[\?\!]*[0-9a-zA-Z_]+|%|\*\*?|#|\(|\[)(.*?)$/s) { if ($tries++ > 1000) { print STDERR "Warning: spec file parser ",($lineno?" line $lineno":''),": macro too deeply nested\n" if $config->{'warnings'}; $line = 'MACRO'; @@ -218,6 +225,10 @@ } $expandedline .= $1; $line = $4; + if ($2 eq '%') { + $expandedline .= '%'; + next; + } my $macname = defined($3) ? $3 : $2; my $macorig = $2; my $macdata; @@ -248,10 +259,7 @@ $mactest = 1; } $macname =~ s/^[\!\?]+//; - if ($macname eq '%') { - $expandedline .= '%'; - next; - } elsif ($macname eq '(') { + if ($macname eq '(') { print STDERR "Warning: spec file parser",($lineno?" line $lineno":''),": can't expand %(...)\n" if $config->{'warnings'}; $line = 'MACRO'; last; @@ -265,15 +273,17 @@ $macalt =~ s/^\[//; $macalt =~ s/\]$//; # this is wrong, should expand in expr - $macalt = expandmacros($config, $macalt, $lineno, $macros, $macros_args); + $macalt = expandmacros($config, $macalt, $lineno, $macros, $macros_args, $tries); $macalt = (expr($macalt))[0]; $macalt =~ s/^\"//; $expandedline .= $macalt; } elsif ($macname eq 'define' || $macname eq 'global') { + my $isglobal = $macname eq 'global' ? 1 : 0; if ($line =~ /^\s*([0-9a-zA-Z_]+)(?:\(([^\)]*)\))?\s*(.*?)$/) { my $macname = $1; my $macargs = $2; my $macbody = $3; + $macbody = expandmacros($config, $macbody, $lineno, $macros, $macros_args, $tries) if $isglobal; if (defined $macargs) { $macros_args->{$macname} = $macargs; } else { @@ -312,7 +322,7 @@ } elsif ($macname eq 'expr') { $macalt = $macros->{$macname} unless defined $macalt; $macalt = '' if $mactest == -1; - $macalt = expandmacros($config, $macalt, $lineno, $macros, $macros_args); + $macalt = expandmacros($config, $macalt, $lineno, $macros, $macros_args, $tries); $macalt = (expr($macalt))[0]; $macalt =~ s/^\"//; $expandedline .= $macalt; @@ -409,46 +419,41 @@ $ret->{'error'} = "open $specfile: $!"; return $ret; } - my @macros = @{$config->{'macros'} || []}; + + initmacros($config, \%macros, \%macros_args); my $skip = 0; my $main_preamble = 1; my $preamble = 1; - my $inspec = 0; my $hasif = 0; my $lineno = 0; my $obspackage = defined($config->{'obspackage'}) ? $config->{'obspackage'} : '@OBS_PACKAGE@'; my $buildflavor = defined($config->{'buildflavor'}) ? $config->{'buildflavor'} : ''; while (1) { my $line; - if (@macros) { - $line = shift @macros; - $hasif = 0 unless @macros; - } elsif ($specdata) { - $inspec = 1; + if ($specdata) { last unless @$specdata; $line = shift @$specdata; ++$lineno; if (ref $line) { - $line = $line->[0]; # verbatim line + $line = $line->[0]; # verbatim line, used for macro collection push @$xspec, $line if $xspec; $xspec->[-1] = [ $line, undef ] if $xspec && $skip; next; } } else { - $inspec = 1; $line = <SPEC>; last unless defined $line; chomp $line; ++$lineno; } - push @$xspec, $line if $inspec && $xspec; + push @$xspec, $line if $xspec; if ($line =~ /^#\s*neededforbuild\s*(\S.*)$/) { if (defined $hasnfb) { - $xspec->[-1] = [ $xspec->[-1], undef ] if $inspec && $xspec; + $xspec->[-1] = [ $xspec->[-1], undef ] if $xspec; next; } $hasnfb = $1; - $nfbline = \$xspec->[-1] if $inspec && $xspec; + $nfbline = \$xspec->[-1] if $xspec; next; } if ($line =~ /^\s*#/) { @@ -617,7 +622,7 @@ } } push @packdeps, @ndeps; - next unless $xspec && $inspec; + next unless $xspec; if ($replace) { my @cndeps = grep {!/^-/} @ndeps; if (@cndeps) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/Build.pm new/obs-build-20200131/Build.pm --- old/obs-build-20200124.1/Build.pm 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/Build.pm 2020-01-31 12:50:08.000000000 +0100 @@ -111,10 +111,9 @@ return grep(delete($h{$_}), @_); } -sub define($) -{ - my $def = shift; - $extra_macros .= '%define '.$def."\n"; +sub define { + my ($def) = @_; + $extra_macros .= "%define $def\n"; } sub init_helper_hashes { @@ -236,6 +235,7 @@ last if $l =~ /^\s*:macros\s*$/si; $newconfig[-1] .= "$l\n"; } + $newconfig[-1] = [ $newconfig[-1] ]; # verbatim quote, see Rpm.pm } my @spec; $config->{'save_expanded'} = 1; @@ -450,6 +450,16 @@ return $config; } +sub gettargetarchos { + my ($config) = @_; + my ($arch, $os); + for (@{$config->{'macros'} || []}) { + $arch = $1 if /^%define _target_cpu (\S+)/; + $os = $1 if /^%define _target_os (\S+)/; + } + return ($arch, $os); +} + sub do_subst { my ($config, @deps) = @_; my @res; @@ -784,12 +794,12 @@ next; } if ($s[0] =~ /^rpmlib\(/) { - splice(@s, 0, 3); - next; + splice(@s, 0, 3); + next; } if ($s[0] =~ /^\(/) { - push @ss, Build::Rpm::shiftrich(\@s); - next; + push @ss, Build::Rpm::shiftrich(\@s); + next; } push @ss, shift @s; while (@s && $s[0] =~ /^[\(<=>|]/) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/build-recipe-kiwi new/obs-build-20200131/build-recipe-kiwi --- old/obs-build-20200124.1/build-recipe-kiwi 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/build-recipe-kiwi 2020-01-31 12:50:08.000000000 +0100 @@ -623,6 +623,14 @@ # results are not bundled yet legacy_image_bundle fi + + local milestone=$(kiwi_query_recipe milestone) + if test -n "$milestone"; then + for i in $BUILD_ROOT/$TOPDIR/KIWI/*.packages; do + test -e "$i" || continue + echo "$milestone" > "${i%.packages}.milestone" + done + fi } postprocess_kiwi_containers() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/configs/sl15.2.conf new/obs-build-20200131/configs/sl15.2.conf --- old/obs-build-20200124.1/configs/sl15.2.conf 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/configs/sl15.2.conf 2020-01-31 12:50:08.000000000 +0100 @@ -52,7 +52,8 @@ Preinstall: liblua5_3-5 # Needed with latest rpm (Use libgcrypt as crypto library for SP2 and Leap 15.2 [jsc#SLE-9552]) -Preinstall: libgcrypt20 libgpg-error0 +# still not merged, so disabled for now that we get a build script build again +#Preinstall: libgcrypt20 libgpg-error0 FileProvides: /bin/csh tcsh FileProvides: /bin/logger util-linux-systemd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/configs/sl15.5.conf new/obs-build-20200131/configs/sl15.5.conf --- old/obs-build-20200124.1/configs/sl15.5.conf 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/configs/sl15.5.conf 2020-01-31 12:50:08.000000000 +0100 @@ -14,22 +14,34 @@ FileProvides: /usr/sbin/lockdev lockdev FileProvides: /bin/logger util-linux-systemd -Preinstall: aaa_base attr bash coreutils diffutils -Preinstall: filesystem fillup glibc grep -Preinstall: libbz2-1 libgcc_s1 libncurses6 pam -Preinstall: permissions libreadline8 rpm sed tar libz1 libselinux1 libzstd1 -Preinstall: liblzma5 libcap2 libacl1 libattr1 -Preinstall: libpopt0 libelf1 liblua5_3-5 -Preinstall: libpcre1 +# reduced preinstall list, use this if you bootstrap distribution +#Preinstall: aaa_base attr bash coreutils diffutils +#Preinstall: filesystem fillup glibc grep +#Preinstall: libbz2-1 libgcc_s1 libncurses6 pam +#Preinstall: permissions libreadline8 rpm sed tar libz1 libselinux1 libzstd1 +#Preinstall: liblzma5 libcap2 libacl1 libattr1 +#Preinstall: libpopt0 libelf1 liblua5_3-5 +#Preinstall: libpcre1 libgcrypt20 libgpg-error0 +#VMinstall: util-linux libmount1 perl-base libdb-4_8 libsepol1 libblkid1 libuuid1 libsmartcols1 + +# extended list, just for building additional packages +ExpandFlags: preinstallexpand +Preinstall: rpm +# ip works without the lib +Preinstall: -libxtables.so.12 +Preinstall: -libxtables.so.12() +Preinstall: -libxtables.so.12()(64bit) + +# generic VM tooling requirements: +VMinstall: util-linux +VMinstall: kernel-obs-build +VMInstall: iproute2 Runscripts: aaa_base Order: libopenssl0_9_8:openssl-certs Prefer: libdb-4_8-devel -VMinstall: util-linux libmount1 perl-base libdb-4_8 libsepol1 libblkid1 libuuid1 libsmartcols1 -VMinstall: kernel-obs-build -VMInstall: iproute2 ExportFilter: \.x86_64\.rpm$ x86_64 ExportFilter: \.ia64\.rpm$ ia64 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/dist/build.changes new/obs-build-20200131/dist/build.changes --- old/obs-build-20200124.1/dist/build.changes 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/dist/build.changes 2020-01-31 12:50:08.000000000 +0100 @@ -1,4 +1,25 @@ ------------------------------------------------------------------- +Fri Jan 31 11:49:34 UTC 2020 - Adrian Schröter <[email protected]> + +- fix regression in && operator handling of rpm spec file parser +- Correctly expand macros defined with %global + +------------------------------------------------------------------- +Wed Jan 29 12:57:22 UTC 2020 - Adrian Schröter <[email protected]> + +- 15.2 config: temporary revert gcrypt preinstall until distro has changed +- factory config: ignore libxtables for iproute2, not needed for ip tool +- Follow upstream rpm changes in regard to logical ops +- Fix macro expansion of lines containing newlines +- add missing header file to avoid compile warnings + +------------------------------------------------------------------- +Tue Jan 28 15:20:28 UTC 2020 - Adrian Schröter <[email protected]> + +- support OBS-Milestone comment for kiwi +- switch to preinstall expansion for factory + +------------------------------------------------------------------- Fri Jan 24 15:44:00 UTC 2020 - Adrian Schröter <[email protected]> - fix SLE 15 configurations diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20200124.1/initvm.c new/obs-build-20200131/initvm.c --- old/obs-build-20200124.1/initvm.c 2020-01-24 16:44:24.000000000 +0100 +++ new/obs-build-20200131/initvm.c 2020-01-31 12:50:08.000000000 +0100 @@ -45,6 +45,7 @@ #include <string.h> #include <errno.h> #include <stdio.h> +#include <unistd.h> /* to enable debugging, compile with -DDEBUG */ #ifdef DEBUG
