Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2016-07-18 21:16:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2016-05-05 12:09:11.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.build.new/build.changes 2016-07-18 21:16:27.000000000 +0200 @@ -1,0 +2,5 @@ +Thu Jun 30 05:47:52 UTC 2016 - adr...@suse.de + +- adding first snapcraft support + +------------------------------------------------------------------- Old: ---- obs-build-20160427.tar.gz New: ---- obs-build-20160629.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.7Kd06j/_old 2016-07-18 21:16:28.000000000 +0200 +++ /var/tmp/diff_new_pack.7Kd06j/_new 2016-07-18 21:16:28.000000000 +0200 @@ -18,13 +18,13 @@ # needsbinariesforbuild -%define version_unconverted 20160427 +%define version_unconverted 20160629 Name: build Summary: A Script to Build SUSE Linux RPMs License: GPL-2.0+ and GPL-2.0 Group: Development/Tools/Building -Version: 20160427 +Version: 20160629 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -56,6 +56,8 @@ Recommends: perl(URI) Recommends: perl(XML::Parser) Recommends: perl(Net::SSL) +Recommends: perl(YAML) +Recommends: perl(YAML::LibYAML) Recommends: bsdtar Recommends: qemu-linux-user %endif ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.7Kd06j/_old 2016-07-18 21:16:28.000000000 +0200 +++ /var/tmp/diff_new_pack.7Kd06j/_new 2016-07-18 21:16:28.000000000 +0200 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20160427 +pkgver=20160629 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.7Kd06j/_old 2016-07-18 21:16:28.000000000 +0200 +++ /var/tmp/diff_new_pack.7Kd06j/_new 2016-07-18 21:16:28.000000000 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20160427 +Version: 20160629 Binary: build Maintainer: Adrian Schroeter <adr...@suse.de> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.7Kd06j/_old 2016-07-18 21:16:28.000000000 +0200 +++ /var/tmp/diff_new_pack.7Kd06j/_new 2016-07-18 21:16:28.000000000 +0200 @@ -1,4 +1,4 @@ -build (20160427) unstable; urgency=low +build (20160629) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20160427.tar.gz -> obs-build-20160629.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/Build/Arch.pm new/obs-build-20160629/Build/Arch.pm --- old/obs-build-20160427/Build/Arch.pm 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/Build/Arch.pm 2016-06-29 17:17:05.000000000 +0200 @@ -91,6 +91,9 @@ push @{$ret->{'deps'}}, @{$vars{'checkdepends'} || []}; push @{$ret->{'deps'}}, @{$vars{'depends'} || []}; $ret->{'source'} = $vars{'source'} if $vars{'source'}; + # Maintain architecture-specific sources for officially supported architectures + $ret->{'source_x86_64'} = $vars{'source_x86_64'} if $vars{'source_x86_64'}; + $ret->{'source_i686'} = $vars{'source_i686'} if $vars{'source_i686'}; return $ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/Build/Deb.pm new/obs-build-20160629/Build/Deb.pm --- old/obs-build-20160427/Build/Deb.pm 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/Build/Deb.pm 2016-06-29 17:17:05.000000000 +0200 @@ -118,6 +118,25 @@ my @alts = split('\s*\|\s*', $d); my @needed; for my $c (@alts) { + if ($c =~ /\s+<[^>]+>$/) { + my @build_profiles; # Empty for now + my $bad = 1; + while ($c =~ s/\s+<([^>]+)>$//) { + next if (!$bad); + my $list_valid = 1; + for my $term (split(/\s+/, $1)) { + my $isneg = ($term =~ s/^\!//); + my $profile_match = grep(/^$term$/, @build_profiles); + if (( $profile_match && $isneg) || + (!$profile_match && !$isneg)) { + $list_valid = 0; + last; + } + } + $bad = 0 if ($list_valid); + } + next if ($bad); + } if ($c =~ /^(.*?)\s*\[(.*)\]$/) { $c = $1; my $isneg = 0; @@ -134,10 +153,10 @@ $bad = 0; } } - push @needed, $c unless $bad; - } else { - push @needed, $c; + next if ($bad); } + $c =~ s/^([^:\s]*):(any|native)(.*)$/$1$3/; + push @needed, $c; } next unless @needed; $d = join(' | ', @needed); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/Build/Kiwi.pm new/obs-build-20160629/Build/Kiwi.pm --- old/obs-build-20160427/Build/Kiwi.pm 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/Build/Kiwi.pm 2016-06-29 17:17:05.000000000 +0200 @@ -187,6 +187,9 @@ # Find packages and possible additional required architectures my @additionalarchs; my @pkgs; + for my $pattern (@{$kiwi->{'opensusePatterns'}}) { + push @pkgs, @{"pattern:$pattern->{'package'}"} if $pattern->{'package'}; + } for my $packages (@{$kiwi->{'packages'}}) { next if $packages->{'type'} and $packages->{'type'} ne 'image' and $packages->{'type'} ne 'bootstrap'; push @pkgs, @{$packages->{'package'}} if $packages->{'package'}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/Build/Rpm.pm new/obs-build-20160629/Build/Rpm.pm --- old/obs-build-20160427/Build/Rpm.pm 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/Build/Rpm.pm 2016-06-29 17:17:05.000000000 +0200 @@ -362,9 +362,9 @@ if (defined($macros_args{$macname})) { # macro with args! if (!defined($macdata)) { - $line =~ /^\s*([^\n]*).*?$/; + $line =~ /^\s*([^\n]*).*$/; $macdata = $1; - $line = $2; + $line = ''; } push @expandstack, ($expandedline, $line, $optmacros); $optmacros = adaptmacros(\%macros, $optmacros, grabargs($macname, $macros_args{$macname}, split(' ', $macdata))); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/Build/Snapcraft.pm new/obs-build-20160629/Build/Snapcraft.pm --- old/obs-build-20160427/Build/Snapcraft.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/obs-build-20160629/Build/Snapcraft.pm 2016-06-29 17:17:05.000000000 +0200 @@ -0,0 +1,70 @@ +################################################################ +# +# Copyright (c) 1995-2014 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::Snapcraft; + +use strict; +use Build::Deb; + +eval { require YAML::XS; }; +*YAML::XS::LoadFile = sub {die("YAML::XS is not available\n")} unless defined &YAML::XS::LoadFile; + +sub parse { + my ($cf, $fn) = @_; + + my ($yaml) = YAML::XS::LoadFile($fn); + return {'error' => "Failed to parse yaml file"} unless $yaml; + + my $ret = {}; + $ret->{'name'} = $yaml->{'name'}; + $ret->{'version'} = $yaml->{'version'}; + $ret->{'epoch'} = $yaml->{'epoch'} if $yaml->{'epoch'}; + + # how should we report the built apps? + + my @packdeps; + for my $key (sort keys(%{$yaml->{'parts'} || {}})) { + my $part = $yaml->{'parts'}->{$key}; + push @packdeps, "snapcraft-plugin:$part->{plugin}" if defined $part->{plugin}; + for my $p (@{$part->{'stage-packages'} || []}) { + push @packdeps, $p; + } + for my $p (@{$part->{'build-packages'} || []}) { + push @packdeps, $p; + } + } + + my %exclarchs; + for my $arch (@{$yaml->{architectures} || []}) { + my @obsarchs = Build::Deb::obsarch($arch); + push @obsarchs, $arch unless @obsarchs; + $exclarchs{$_} = 1 for @obsarchs; + } + + $ret->{'exclarch'} = [ sort keys %exclarchs ] if %exclarchs; +# $ret->{'badarch'} = $badarch if defined $badarch; + $ret->{'deps'} = \@packdeps; +# $ret->{'prereqs'} = \@prereqs if @prereqs; +# $ret->{'configdependent'} = 1 if $ifdeps; + + return $ret; +} + +1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/Build.pm new/obs-build-20160629/Build.pm --- old/obs-build-20160427/Build.pm 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/Build.pm 2016-06-29 17:17:05.000000000 +0200 @@ -34,6 +34,7 @@ our $do_arch; our $do_collax; our $do_livebuild; +our $do_snapcraft; sub import { for (@_) { @@ -43,8 +44,9 @@ $do_arch = 1 if $_ eq ':arch'; $do_collax = 1 if $_ eq ':collax'; $do_livebuild = 1 if $_ eq ':livebuild'; + $do_snapcraft = 1 if $_ eq ':snapcraft'; } - $do_rpm = $do_deb = $do_kiwi = $do_arch = $do_collax = $do_livebuild = 1 if !$do_rpm && !$do_deb && !$do_kiwi && !$do_arch && !$do_collax && !$do_livebuild; + $do_rpm = $do_deb = $do_kiwi = $do_arch = $do_collax = $do_livebuild = $do_snapcraft = 1 if !$do_rpm && !$do_deb && !$do_kiwi && !$do_arch && !$do_collax && !$do_livebuild && !$do_snapcraft; if ($do_deb) { require Build::Deb; } @@ -60,6 +62,9 @@ if ($do_livebuild) { require Build::LiveBuild; } + if ($do_snapcraft) { + require Build::Snapcraft; + } } package Build::Features; @@ -143,7 +148,7 @@ } elsif ($rpmdist =~ /suse linux (\d+)\.(\d+)\.[4-9]\d/) { # alpha version $dist = "$1.".($2 + 1)."-$rpmdista"; - } elsif ($rpmdist =~ /suse linux (\d+\.\d+)/) { + } elsif ($rpmdist =~ /suse linux (?:leap )?(\d+\.\d+)/) { $dist = "$1-$rpmdista"; } return $dist; @@ -846,6 +851,7 @@ my @p; my $whatprovides = $config->{'whatprovidesh'}; $whatprovides->{$r} = \@p; + my $binarytype = $config->{'binarytype'}; if ($r =~ /\|/) { for my $or (split(/\s*\|\s*/, $r)) { push @p, @{$whatprovides->{$or} || addproviders($config, $or)}; @@ -853,18 +859,22 @@ @p = unify(@p) if @p > 1; return \@p; } - return \@p if $r !~ /^(.*?)\s*([<=>]{1,2})\s*(.*?)$/; + if ($r !~ /^(.*?)\s*([<=>]{1,2})\s*(.*?)$/) { + @p = @{$whatprovides->{$r} || addproviders($config, $r)} if $binarytype eq 'deb' && $r =~ s/:any$//; + return \@p; + } my $rn = $1; my $rv = $3; my $rf = $addproviders_fm{$2}; return \@p unless $rf; + $rn =~ s/:any$// if $binarytype eq 'deb'; my $provides = $config->{'providesh'}; my @rp = @{$whatprovides->{$rn} || []}; for my $rp (@rp) { for my $pp (@{$provides->{$rp} || []}) { if ($pp eq $rn) { # debian: unversioned provides do not match - next if $config->{'binarytype'} eq 'deb'; + next if $binarytype eq 'deb'; push @p, $rp; last; } @@ -885,7 +895,7 @@ $rr &= 5 unless $pf & 2; # verscmp for spec and kiwi types my $vv; - if ($config->{'binarytype'} eq 'deb') { + if ($binarytype eq 'deb') { $vv = Build::Deb::verscmp($pv, $rv, 1); } else { $vv = Build::Rpm::verscmp($pv, $rv, 1); @@ -1230,6 +1240,7 @@ $recipe =~ s/^_service:.*://; return 'arch' if $recipe eq 'PKGBUILD'; return 'collax' if $recipe eq 'build.collax'; + return 'snapcraft' if $recipe eq 'snapcraft.yaml'; return 'preinstallimage' if $recipe eq '_preinstallimage'; return 'simpleimage' if $recipe eq 'simpleimage'; return undef; @@ -1273,11 +1284,12 @@ return Build::Kiwi::parse($cf, $fn, @args) if $do_kiwi && $fn =~ /config\.xml$/; return Build::Kiwi::parse($cf, $fn, @args) if $do_kiwi && $fn =~ /\.kiwi$/; return Build::LiveBuild::parse($cf, $fn, @args) if $do_livebuild && $fn =~ /\.livebuild$/; - return parse_simpleimage($cf, $fn, @args) if $fn eq 'simpleimage'; my $fnx = $fn; $fnx =~ s/.*\///; $fnx =~ s/^[0-9a-f]{32,}-//; # hack for OBS srcrep implementation $fnx =~ s/^_service:.*://; + return parse_simpleimage($cf, $fn, @args) if $fnx eq 'simpleimage'; + return Build::Snapcraft::parse($cf, $fn, @args) if $do_snapcraft && $fnx eq 'snapcraft.yaml'; return Build::Arch::parse($cf, $fn, @args) if $do_arch && $fnx eq 'PKGBUILD'; return Build::Collax::parse($cf, $fn, @args) if $do_collax && $fnx eq 'build.collax'; return parse_preinstallimage($cf, $fn, @args) if $fnx eq '_preinstallimage'; @@ -1291,6 +1303,7 @@ return Build::Deb::parse($cf, $fn, @args) if $do_deb && $buildtype eq 'dsc'; return Build::Kiwi::parse($cf, $fn, @args) if $do_kiwi && $buildtype eq 'kiwi'; return Build::LiveBuild::parse($cf, $fn, @args) if $do_livebuild && $buildtype eq 'livebuild'; + return Build::Snapcraft::parse($cf, $fn, @args) if $do_snapcraft && $buildtype eq 'snapcraft'; return parse_simpleimage($cf, $fn, @args) if $buildtype eq 'simpleimage'; return Build::Arch::parse($cf, $fn, @args) if $do_arch && $buildtype eq 'arch'; return Build::Collax::parse($cf, $fn, @args) if $do_collax && $buildtype eq 'collax'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build new/obs-build-20160629/build --- old/obs-build-20160427/build 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/build 2016-06-29 17:17:05.000000000 +0200 @@ -284,7 +284,7 @@ --vm-type TYPE Use virtual machine instead of chroot - TYPE is one of xen|kvm|uml|qemu|lxc|zvm|openstack|ec2|docker + TYPE is one of xen|kvm|uml|qemu|lxc|zvm|openstack|ec2|docker|pvm --vm-worker GUEST GUEST is a z/VM build worker controlled by the controlling @@ -372,6 +372,8 @@ echo # okay, it failed, but maybe because disk space? if df $BUILD_ROOT 2>/dev/null | grep -q "100%"; then + df $BUILD_ROOT 2>/dev/null + echo echo "$HOST ran out of disk space. Please try again." echo set 3 @@ -1133,6 +1135,7 @@ test "$BUILDTYPE" = mock && CREATE_BUILD_BINARIES=--create-build-binaries test "$BUILDTYPE" = debootstrap && CREATE_BUILD_BINARIES=--create-build-binaries test "$BUILDTYPE" = livebuild && CREATE_BUILD_BINARIES=--create-build-binaries + test "$BUILDTYPE" = snapcraft && CREATE_BUILD_BINARIES=--create-build-binaries set -- init_buildsystem --configdir "$CONFIG_DIR" --cachedir "$CACHE_DIR" "${definesnstuff[@]}" "${repos[@]}" $CLEAN_BUILD $DLNOSIGNATURE $USEUSEDFORBUILD $CREATE_BUILD_BINARIES $RPMLIST "$MYSRCDIR/$RECIPEFILE" $ADDITIONAL_PACKS echo "$* ..." start_time=`date +%s` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build-pkg-arch new/obs-build-20160629/build-pkg-arch --- old/obs-build-20160427/build-pkg-arch 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/build-pkg-arch 2016-06-29 17:17:05.000000000 +0200 @@ -51,7 +51,7 @@ (cd $BUILD_ROOT/etc && sed -i "s/^CheckSpace/#CheckSpace/g" pacman.conf) # -d -d disables deps checking ( cd $BUILD_ROOT && chroot $BUILD_ROOT pacman -U --force -d -d --noconfirm .init_b_cache/$PKG.$PSUF 2>&1 || touch $BUILD_ROOT/exit ) | \ - perl -ne '$|=1;/^(warning: could not get filesystem information for |loading packages|looking for inter-conflicts|Targets |Total Installed Size: |Net Upgrade Size: |Proceed with installation|checking package integrity|loading package files|checking for file conflicts|checking keyring|Packages \(\d+\):|:: Proceed with installation|checking available disk space|installing |upgrading |warning:.*is up to date -- reinstalling|Optional dependencies for| )/||/^$/||print' + perl -ne '$|=1;/^(warning: could not get filesystem information for |loading packages|looking for inter-conflicts|looking for conflicting packages|Targets |Total Installed Size: |Net Upgrade Size: |Proceed with installation|checking package integrity|loading package files|checking for file conflicts|checking keyring|Packages \(\d+\)|:: Proceed with installation|:: Processing package changes|checking available disk space|installing |upgrading |warning:.*is up to date -- reinstalling|Optional dependencies for| )/||/^$/||print' } pkg_finalize_arch() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build-pkg-deb new/obs-build-20160629/build-pkg-deb --- old/obs-build-20160427/build-pkg-deb 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/build-pkg-deb 2016-06-29 17:17:05.000000000 +0200 @@ -21,6 +21,25 @@ # ################################################################ +# +# A wrapper around chroot to set the environment correctly for dpkg and +# pre/postinst scripts. +# +deb_chroot () +{ + # + # to workaround some version of fileutils that doesn't do a 'chdir /' + # when doing a 'chroot /' call lets subshell and change dir manually + # + ( + cd $1 && + DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical \ + DEBCONF_NONINTERACTIVE_SEEN=true \ + LC_ALL=C LANGUAGE=C LANG=C \ + chroot $* + ) +} + deb_setup() { mkdir -p $BUILD_ROOT/var/lib/dpkg mkdir -p $BUILD_ROOT/var/log @@ -39,7 +58,7 @@ rm -f $BUILD_ROOT/.init_b_cache/dpkg.deb cp $BUILD_ROOT/.init_b_cache/rpms/dpkg.deb $BUILD_ROOT/.init_b_cache/dpkg.deb || cleanup_and_exit 1 fi - chroot $BUILD_ROOT dpkg -i --force all .init_b_cache/dpkg.deb >/dev/null 2>&1 + deb_chroot $BUILD_ROOT dpkg --install --force-depends .init_b_cache/dpkg.deb >/dev/null 2>&1 } pkg_prepare_deb() { @@ -47,9 +66,7 @@ } pkg_install_deb() { - export DEBIAN_FRONTEND=noninteractive - export DEBIAN_PRIORITY=critical - ( cd $BUILD_ROOT && chroot $BUILD_ROOT dpkg --install --force all .init_b_cache/$PKG.deb 2>&1 || touch $BUILD_ROOT/exit ) | \ + ( deb_chroot $BUILD_ROOT dpkg --install --force-depends .init_b_cache/$PKG.deb 2>&1 || touch $BUILD_ROOT/exit ) | \ perl -ne '$|=1;/^(Configuration file|Installing new config file|Selecting previously deselected|Selecting previously unselected|\(Reading database|Unpacking |Setting up|Creating config file|Preparing to replace dpkg|Preparing to unpack )/||/^$/||print' # ugly workaround for upstart system. some packages (procps) try # to start a service in their configure phase. As we don't have @@ -66,9 +83,7 @@ } pkg_erase_deb() { - export DEBIAN_FRONTEND=noninteractive - export DEBIAN_PRIORITY=critical - cd $BUILD_ROOT && chroot $BUILD_ROOT dpkg --purge --force all $PKG 2>&1 | { + deb_chroot $BUILD_ROOT dpkg --purge --force-depends $PKG 2>&1 | { local retry while read line; do case "$line" in @@ -81,7 +96,7 @@ done if test -n "$retry"; then echo "re-try deleting $PKG without post/pre remove scripts" - chroot $BUILD_ROOT dpkg --purge --force all $PKG 2>&1 || touch $BUILD_ROOT/exit + deb_chroot $BUILD_ROOT dpkg --purge --force-depends $PKG 2>&1 || touch $BUILD_ROOT/exit fi } | perl -ne '$|=1;/^(\(Reading database|Removing |Purging configuration files for )/||/^$/||print' } @@ -99,9 +114,9 @@ # configure all packages after complete installation, not for each package like rpm does # We need to run this twice, because of cyclic dependencies as it does not succeed on most # debian based distros in the first attempt. - if ! chroot $BUILD_ROOT dpkg --configure --pending 2>&1; then + if ! deb_chroot $BUILD_ROOT dpkg --configure --pending 2>&1; then echo "first configure attempt failed, trying again..." - chroot $BUILD_ROOT dpkg --configure --pending 2>&1 || cleanup_and_exit 1 + deb_chroot $BUILD_ROOT dpkg --configure --pending 2>&1 || cleanup_and_exit 1 fi } @@ -127,12 +142,18 @@ fi if test -e "$BUILD_ROOT/.init_b_cache/scripts/$PKG.pre" ; then echo "running $PKG preinstall script" - (cd $BUILD_ROOT && chroot $BUILD_ROOT ".init_b_cache/scripts/$PKG.pre" install < /dev/null ) + deb_chroot $BUILD_ROOT ".init_b_cache/scripts/$PKG.pre" install \ + < /dev/null rm -f "$BUILD_ROOT/.init_b_cache/scripts/$PKG.pre" fi if test -e "$BUILD_ROOT/.init_b_cache/scripts/$PKG.post" ; then echo "running $PKG postinstall script" - (cd $BUILD_ROOT && chroot $BUILD_ROOT ".init_b_cache/scripts/$PKG.post" configure '' < /dev/null ) + deb_chroot $BUILD_ROOT ".init_b_cache/scripts/$PKG.post" configure '' \ + < /dev/null rm -f "$BUILD_ROOT/.init_b_cache/scripts/$PKG.post" fi } + +# Local Variables: +# mode: Shell-script +# End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build-recipe new/obs-build-20160629/build-recipe --- old/obs-build-20160427/build-recipe 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/build-recipe 2016-06-29 17:17:05.000000000 +0200 @@ -24,7 +24,7 @@ KIWI_PARAMETERS= -for i in spec dsc kiwi arch collax preinstallimage simpleimage mock livebuild debootstrap debbuild; do +for i in spec dsc kiwi arch collax preinstallimage simpleimage mock livebuild snapcraft debootstrap debbuild; do . "$BUILD_DIR/build-recipe-$i" done @@ -72,6 +72,7 @@ *.dsc) BUILDTYPE=dsc ;; *.kiwi) BUILDTYPE=kiwi ;; PKGBUILD) BUILDTYPE=arch ;; + snapcraft.yaml) BUILDTYPE=snapcraft ;; build.collax) BUILDTYPE=collax ;; _preinstallimage) BUILDTYPE=preinstallimage ;; simpleimage) BUILDTYPE=simpleimage ;; @@ -122,9 +123,10 @@ arch) types="PKGBUILD" ;; collax) types="build.collax" ;; livebuild) types=".livebuild" ;; + snapcraft) types="snapcraft.yaml" ;; esac fi - types="$types .spec .dsc PKGBUILD build.collax .kiwi .src.rpm .nosrc.rpm simpleimage" + types="$types .spec .dsc PKGBUILD build.collax .kiwi .src.rpm .nosrc.rpm simpleimage snapcraft.yaml" fi for t in $types ; do found= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build-recipe-kiwi new/obs-build-20160629/build-recipe-kiwi --- old/obs-build-20160427/build-recipe-kiwi 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/build-recipe-kiwi 2016-06-29 17:17:05.000000000 +0200 @@ -259,11 +259,16 @@ recipe_setup_kiwi() { TOPDIR=/usr/src/packages - rm -rf "$BUILD_ROOT$TOPDIR" + test "$DO_INIT_TOPDIR" = false || rm -rf "$BUILD_ROOT$TOPDIR" mkdir -p "$BUILD_ROOT$TOPDIR" mkdir -p "$BUILD_ROOT$TOPDIR/OTHER" mkdir -p "$BUILD_ROOT$TOPDIR/SOURCES" mkdir -p "$BUILD_ROOT$TOPDIR/KIWI" + # compat, older build versions did not clean TOPDIR ... + mkdir -p "$BUILD_ROOT$TOPDIR/BUILD" + mkdir -p "$BUILD_ROOT$TOPDIR/RPMS" + mkdir -p "$BUILD_ROOT$TOPDIR/SRPMS" + chown -R "$ABUILD_UID:$ABUILD_GID" "$BUILD_ROOT$TOPDIR" if test "$MYSRCDIR" = $BUILD_ROOT/.build-srcdir ; then mv "$MYSRCDIR"/* $BUILD_ROOT$TOPDIR/SOURCES/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build-recipe-snapcraft new/obs-build-20160629/build-recipe-snapcraft --- old/obs-build-20160427/build-recipe-snapcraft 1970-01-01 01:00:00.000000000 +0100 +++ new/obs-build-20160629/build-recipe-snapcraft 2016-06-29 17:17:05.000000000 +0200 @@ -0,0 +1,173 @@ +################################################################# +# +# Debian live-build specific functions. +# +# Author: Adrian Schroeter <adr...@suse.de> +# +# This file is part of build. +# +# 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 +# +################################################################# + +recipe_setup_snapcraft() { + TOPDIR=/usr/src/packages + test "$DO_INIT_TOPDIR" = false || rm -rf "$BUILD_ROOT$TOPDIR" + for i in OTHER SOURCES SNAPCRAFT_ROOT ; do + mkdir -p "$BUILD_ROOT$TOPDIR/$i" + done + chown -R "$ABUILD_UID:$ABUILD_GID" "$BUILD_ROOT$TOPDIR" + if test "$MYSRCDIR" = $BUILD_ROOT/.build-srcdir ; then + mv "$MYSRCDIR"/* $BUILD_ROOT$TOPDIR/SOURCES/ + else + cp -p "$MYSRCDIR"/* $BUILD_ROOT$TOPDIR/SOURCES/ + fi +} + +recipe_prepare_snapcraft() { + : +} + +createrepo_debian() { + local DIR=${1} + local ARCH=${2} + local DIST=${3} + + if [ -z "${DIR}" -o ! -d ${DIR} -o ${DIR} = ${DIR##${BUILD_ROOT}} ] ; then + return + fi + + pushd ${DIR} >/dev/null + + # cleanup existing repository files + rm -f Packages Packages.gz Release + rm -fr dists + + mkdir -p dists/${DIST} + # Suite is symlinked to Codename + ln -s ${DIST} dists/stable + + # create Packages and Sources files + mkdir -p dists/${DIST}/main/binary-${ARCH} + mkdir -p dists/${DIST}/main/source + cat > ${BUILD_ROOT}/.createrepo_debian.tmp.sh <<-EOF + cd /.build.binaries || exit 1 + dpkg-scanpackages -m . > dists/${DIST}/main/binary-${ARCH}/Packages + gzip -c9 < dists/${DIST}/main/binary-${ARCH}/Packages \ + > dists/${DIST}/main/binary-${ARCH}/Packages.gz + dpkg-scansources . > dists/${DIST}/main/source/Sources + gzip -c9 dists/${DIST}/main/source/Sources \ + > dists/${DIST}/main/source/Sources.gz + EOF + chroot $BUILD_ROOT su -c "sh /.createrepo_debian.tmp.sh" - root + local RESULT=$? + rm -f $BUILD_ROOT/.createrepo_debian.tmp.sh + [ "${RESULT}" != 0 ] && return + + # create Release file + pushd dists/${DIST} >/dev/null + cat > Release <<-EOF + Origin: Debian + Label: Debian + Suite: stable + Version: 7.1 + Codename: ${DIST} + Date: Sat, 15 Jun 2013 10:55:26 UTC + Description: Debian repository created by build-recipe-livebuild + Components: main + EOF + echo "SHA256:" >> Release + for file in main/binary-${ARCH}/Packages* ; do + local SUM=( $(sha256sum ${file}) ) + local SIZE=$(stat -c '%s' ${file}) + echo " ${SUM} ${SIZE} ${file}" >> Release + done + for file in main/source/Sources* ; do + local SUM=( $(sha256sum ${file}) ) + local SIZE=$(stat -c '%s' ${file}) + echo " ${SUM} ${SIZE} ${file}" >> Release + done + popd >/dev/null + + # TODO: this is missing the signature with the private key + + popd >/dev/null +} + +# This script expects that the $BUILD_ROOT is a Debian installation with +# snapcraft already installed! +# +# Variables: +# $BUILD_ROOT the Debian chroot +# $TOPDIR/SOURCES includes the snapcraft sources +# $TOPDIR/$SNAPCRAFT_ROOT where snapcraft will be called +# $RECIPEFILE the name of the snapcraft.yaml config file + +recipe_build_snapcraft() { + local ARCH=$(chroot $BUILD_ROOT su -c "dpkg-architecture -qDEB_BUILD_ARCH") +# local DIST=$(chroot $BUILD_ROOT su -c "lsb_release --codename" | awk '{ print $2 }') + local SNAPCRAFT_ROOT="SNAPCRAFT_ROOT" + +# [ -z "${ARCH}" -o -z "${DIST}" ] && cleanup_and_exit 1 + + test -d $BUILD_ROOT/.build.binaries || cleanup_and_exit 1 + if test "$DO_INIT" = true -o ! -d "$BUILD_ROOT/.build.binaries/dists" ; then + echo "creating repository metadata..." + createrepo_debian $BUILD_ROOT/.build.binaries ${ARCH} ${DIST} + fi + + chroot $BUILD_ROOT su -c "cd $TOPDIR/SOURCES && snapcraft build" - root \ + || cleanup_and_exit 1 + chroot $BUILD_ROOT su -c "cd $TOPDIR/SOURCES && snapcraft snap" - root \ + || cleanup_and_exit 1 + + # extract build result basenames + local build_results="" + for i in $BUILD_ROOT/$TOPDIR/SOURCES/* ; do + test -f "$i" || continue + case "${i##*/}" in + *.snap) + build_results="${build_results}\n${i%%.snap}" + ;; + *) + ;; + esac + done + + # Fail the build if no build results are found + if [ -z "${build_results}" ] ; then + echo "No live-build result found" + cleanup_and_exit 1 + fi + + # move created products (and their metadata files) to destination + local buildnum="${RELEASE:+-Build${RELEASE}}" + for prefix in $(echo -e ${build_results} | sort | uniq) ; do + for f in ${prefix}.* ; do + mv ${f} \ + $BUILD_ROOT/$TOPDIR/OTHER/${prefix##*/}${buildnum}${f#${prefix}} + BUILD_SUCCEEDED=true + done + done +} + +recipe_resultdirs_snapcraft() { + # our results are already in OTHER + : +} + +# Local Variables: +# mode: Shell-script +# End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build-vm-kvm new/obs-build-20160629/build-vm-kvm --- old/obs-build-20160427/build-vm-kvm 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/build-vm-kvm 2016-06-29 17:17:05.000000000 +0200 @@ -82,7 +82,7 @@ kvm_device=virtio-blk-device kvm_rng_device=virtio-rng-device ;; - aarch64) + armv8l|aarch64) kvm_bin="/usr/bin/qemu-system-aarch64" kvm_console=ttyAMA0 vm_kernel=/boot/Image @@ -216,9 +216,12 @@ qemu_bin="$kvm_bin" qemu_args=(-drive file="$VM_IMAGE",format=raw,if=none,id=disk,serial=0,cache=unsafe -device "$kvm_device",drive=disk) if [ -n "$VM_USER" ] ; then - grep -q "^$VM_USER:" /etc/passwd || complain 22 "cannot find KVM user '$VM_USER'" - kvm_options="$kvm_options -runas $VM_USER" + getent passwd "$VM_USER" > /dev/null || complain 22 "cannot find KVM user '$VM_USER'" + else + # use qemu user by default if available + getent passwd qemu >/dev/null && VM_USER=qemu fi + [ -n "$VM_USER" ] && kvm_options="$kvm_options -runas $VM_USER" if test -n "$VM_SWAP" ; then qemu_args=("${qemu_args[@]}" -drive file="$VM_SWAP",format=raw,if=none,id=swap,serial=1,cache=unsafe -device "$kvm_device",drive=swap) fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/build-vm-pvm new/obs-build-20160629/build-vm-pvm --- old/obs-build-20160427/build-vm-pvm 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/build-vm-pvm 2016-06-29 17:17:05.000000000 +0200 @@ -16,11 +16,11 @@ args=$(pvmctl scsi list -f ' ' -d VirtualDisk.udid ClientAdapter.loc_code --where VirtualDisk.name=$lv) eval $args host=$(ls-vscsi | grep $loc_code| awk -F " " '{print $1}') - echo "- - -" > /sys/class/scsi_host/$host/scan udid=$(echo $udid | cut -c 3-) devid="/dev/disk/by-id/scsi-SAIX_VDASD_$udid" until test -L $devid;do sleep 1; + echo "- - -" > /sys/class/scsi_host/$host/scan done dev=$(readlink -f $devid) fi @@ -156,7 +156,7 @@ vm_cleanup_pvm(){ pvm_nametoid $lpname - closeconsole $lparid + pvm_closeconsole $lparid vm_detach_root_pvm $lpname vm_detach_root_pvm vm_detach_swap_pvm $lpname diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/configs/arch.conf new/obs-build-20160629/configs/arch.conf --- old/obs-build-20160427/configs/arch.conf 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/configs/arch.conf 2016-06-29 17:17:05.000000000 +0200 @@ -4,7 +4,7 @@ Preinstall: gawk gzip filesystem curl libidn acl gpgme libarchive Preinstall: openssl libssh2 zlib libassuan libgpg-error attr Preinstall: expat xz bzip2 readline lzo krb5 e2fsprogs keyutils -Preinstall: ncurses +Preinstall: ncurses lz4 VMinstall: util-linux libutil-linux binutils pcre libcap diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/configs/sl13.3.conf new/obs-build-20160629/configs/sl13.3.conf --- old/obs-build-20160427/configs/sl13.3.conf 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/configs/sl13.3.conf 2016-06-29 17:17:05.000000000 +0200 @@ -16,7 +16,7 @@ Preinstall: aaa_base attr bash coreutils diffutils Preinstall: filesystem fillup glibc grep -Preinstall: libbz2-1 libgcc_s1 m4 libncurses5 pam +Preinstall: libbz2-1 libgcc_s1 m4 libncurses5 libncurses6 pam Preinstall: permissions libreadline6 rpm sed tar libz1 libselinux1 Preinstall: liblzma5 libcap2 libacl1 libattr1 Preinstall: libpopt0 libelf1 liblua5_3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/configs/ubuntu.conf new/obs-build-20160629/configs/ubuntu.conf --- old/obs-build-20160427/configs/ubuntu.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/obs-build-20160629/configs/ubuntu.conf 2016-06-29 17:17:05.000000000 +0200 @@ -0,0 +1,233 @@ + +Repotype: debian + +Preinstall: bash sed grep coreutils debianutils +Preinstall: libc6 libncurses5 libacl1 libattr1 libpcre3 +Preinstall: libreadline6 tar gawk dpkg libc-bin +Preinstall: sysv-rc init-system-helpers +Preinstall: gzip base-files base-passwd +Preinstall: readline-common libselinux1 libsepol1 +Preinstall: libgcc1 util-linux debconf tzdata findutils upstart libdbus-1-3 +Preinstall: liblzma5 xz-utils libstdc++6 passwd libnih1 libnih-dbus1 +Preinstall: login zlib1g libbz2-1.0 libtinfo5 libsigsegv2 +Preinstall: dash insserv libmpfr4 libgmp10 libdebconfclient0 +Preinstall: perl-base perl libperl5.22 + +Order: libc6:libc-bin +Order: base-files:screen +Order: base-files:initscripts +Order: initscripts:util-linux +Order: sysv-rc:hostname +Order: sysv-rc:kmod + +Runscripts: gawk + +Runscripts: base-files base-passwd passwd sysv-rc + +VMinstall: binutils libblkid1 libuuid1 mount libmount1 libsmartcols1 +%ifarch ppc64le +# for LE switch +VMinstall: kernel-obs-build +%endif + +Substitute: snapcraft-plugin:kbuild snapcraft +Prefer: -sudo-ldap + +Required: autoconf automake binutils bzip2 gcc gettext libc6 +Required: libtool libncurses5 perl zlib1g dpkg +Required: build-essential + +Support: fakeroot +Support: bison cpio cvs login +Support: file findutils flex diffutils +Support: groff-base gzip hostname info less +Support: make man sysv-rc +Support: net-tools +Support: patch procps psmisc strace +Support: unzip vim ncurses-base +Support: locales upstart-compat-sysv +Support: mount +# module-init-tools texinfo + +# circular dependendencies in openjdk stack +Order: openjdk-6-jre-lib:openjdk-6-jre-headless +Order: openjdk-6-jre-headless:ca-certificates-java + +Order: base-files:glibc +Order: dpkg:gawk + +# Workaround for missing prerequires: +Preinstall: initramfs-tools initscripts +Support: initramfs-tools initscripts + +Keep: binutils cpp file findutils gawk gcc gcc-ada gcc-c++ +Keep: gzip libada libstdc++ libunwind +Keep: libunwind-devel libzio make pam-devel pam-modules +Keep: patch perl timezone +Keep: m4 dpkg dpkg-dev perl-modules libdpkg-perl + +Prefer: gawk libdb-dev +Prefer: xorg-x11-libs libpng fam mozilla mozilla-nss xorg-x11-Mesa +Prefer: unixODBC libsoup glitz java-1_4_2-sun gnome-panel +Prefer: desktop-data-SuSE gnome2-SuSE mono-nunit gecko-sharp2 +Prefer: apache2-prefork openmotif-libs ghostscript-mini gtk-sharp +Prefer: glib-sharp libzypp-zmd-backend mDNSResponder + +Prefer: gnome-sharp2:art-sharp2 gnome-sharp:art-sharp +Prefer: ifolder3:gnome-sharp2 ifolder3:gconf-sharp2 +Prefer: nautilus-ifolder3:gnome-sharp2 +Prefer: gconf-sharp2:glade-sharp2 gconf-sharp:glade-sharp +Prefer: tomboy:gconf-sharp tomboy:gnome-sharp +Prefer: zmd:libzypp-zmd-backend +Prefer: yast2-packagemanager-devel:yast2-packagemanager +Prefer: default-jdk + +Prefer: -libgcc-mainline -libstdc++-mainline -gcc-mainline-c++ +Prefer: -libgcj-mainline -viewperf -compat -compat-openssl097g +Prefer: -zmd -OpenOffice_org -pam-laus -libgcc-tree-ssa -busybox-links +Prefer: -crossover-office -libjack-dev +Prefer: -libjpeg-turbo8-dev -libblas3gf +Prefer: -make-guile + +# double packages in universe +Prefer: -pkgconf + +Conflict: ghostscript-library:ghostscript-mini + +Ignore: upstart:ifupdown +Ignore: aaa_base:aaa_skel,suse-release,logrotate,ash,mingetty,distribution-release +Ignore: gettext-devel:libgcj,libstdc++-devel +Ignore: pwdutils:openslp +Ignore: pam-modules:resmgr +Ignore: rpm:suse-build-key,build-key +Ignore: bind-utils:bind-libs +Ignore: alsa:dialog,pciutils +Ignore: portmap:syslogd +Ignore: fontconfig:freetype2 +Ignore: fontconfig-devel:freetype2-devel +Ignore: initramfs-tools:udev +Ignore: mountall:udev +Ignore: mountall:plymouth +Ignore: xorg-x11-libs:freetype2 +Ignore: xorg-x11:x11-tools,resmgr,xkeyboard-config,xorg-x11-Mesa,libusb,freetype2,libjpeg,libpng +Ignore: apache2:logrotate +Ignore: arts:alsa,audiofile,resmgr,libogg,libvorbis +Ignore: kdelibs3:alsa,arts,pcre,OpenEXR,aspell,cups-libs,mDNSResponder,krb5,libjasper +Ignore: kdelibs3-devel:libvorbis-devel +Ignore: kdebase3:kdebase3-ksysguardd,OpenEXR,dbus-1,dbus-1-qt,hal,powersave,openslp,libusb +Ignore: kdebase3-SuSE:release-notes +Ignore: jack:alsa,libsndfile +Ignore: libxml2-devel:readline-devel +Ignore: gnome-vfs2:gnome-mime-data,desktop-file-utils,cdparanoia,dbus-1,dbus-1-glib,krb5,hal,libsmbclient,fam,file_alteration +Ignore: libgda:file_alteration +Ignore: gnutls:lzo,libopencdk +Ignore: gnutls-devel:lzo-devel,libopencdk-devel +Ignore: pango:cairo,glitz,libpixman,libpng +Ignore: pango-devel:cairo-devel +Ignore: cairo-devel:libpixman-devel +Ignore: libgnomeprint:libgnomecups +Ignore: libgnomeprintui:libgnomecups +Ignore: orbit2:libidl +Ignore: orbit2-devel:libidl,libidl-devel,indent +Ignore: qt3:libmng +Ignore: qt-sql:qt_database_plugin +Ignore: gtk2:libpng,libtiff +Ignore: libgnomecanvas-devel:glib-devel +Ignore: libgnomeui:gnome-icon-theme,shared-mime-info +Ignore: scrollkeeper:docbook_4,sgml-skel +Ignore: gnome-desktop:libgnomesu,startup-notification +Ignore: python-devel:python-tk +Ignore: gnome-pilot:gnome-panel +Ignore: gnome-panel:control-center2 +Ignore: gnome-menus:kdebase3 +Ignore: gnome-main-menu:rug +Ignore: libbonoboui:gnome-desktop +Ignore: postfix:pcre +Ignore: docbook_4:iso_ent,sgml-skel,xmlcharent +Ignore: control-center2:nautilus,evolution-data-server,gnome-menus,gstreamer-plugins,gstreamer,metacity,mozilla-nspr,mozilla,libxklavier,gnome-desktop,startup-notification +Ignore: docbook-xsl-stylesheets:xmlcharent +Ignore: liby2util-devel:libstdc++-devel,openssl-devel +Ignore: yast2:yast2-ncurses,yast2-theme-SuSELinux,perl-Config-Crontab,yast2-xml,SuSEfirewall2 +Ignore: yast2-core:netcat,hwinfo,wireless-tools,sysfsutils +Ignore: yast2-core-devel:libxcrypt-devel,hwinfo-devel,blocxx-devel,sysfsutils,libstdc++-devel +Ignore: yast2-packagemanager-devel:rpm-devel,curl-devel,openssl-devel +Ignore: yast2-devtools:perl-XML-Writer,libxslt,pkgconfig +Ignore: yast2-installation:yast2-update,yast2-mouse,yast2-country,yast2-bootloader,yast2-packager,yast2-network,yast2-online-update,yast2-users,release-notes,autoyast2-installation +Ignore: yast2-bootloader:bootloader-theme +Ignore: yast2-packager:yast2-x11 +Ignore: yast2-x11:sax2-libsax-perl +Ignore: openslp-devel:openssl-devel +Ignore: java-1_4_2-sun:xorg-x11-libs +Ignore: java-1_4_2-sun-devel:xorg-x11-libs +Ignore: kernel-um:xorg-x11-libs +Ignore: tetex:xorg-x11-libs,expat,fontconfig,freetype2,libjpeg,libpng,ghostscript-x11,xaw3d,gd,dialog,ed +Ignore: yast2-country:yast2-trans-stats +Ignore: susehelp:susehelp_lang,suse_help_viewer +Ignore: mailx:smtp_daemon +Ignore: cron:smtp_daemon +Ignore: hotplug:syslog +Ignore: pcmcia:syslog +Ignore: avalon-logkit:servlet +Ignore: jython:servlet +Ignore: ispell:ispell_dictionary,ispell_english_dictionary +Ignore: aspell:aspel_dictionary,aspell_dictionary +Ignore: smartlink-softmodem:kernel,kernel-nongpl +Ignore: OpenOffice_org-de:myspell-german-dictionary +Ignore: mediawiki:php-session,php-gettext,php-zlib,php-mysql,mod_php_any +Ignore: squirrelmail:mod_php_any,php-session,php-gettext,php-iconv,php-mbstring,php-openssl + +Ignore: simias:mono(log4net) +Ignore: zmd:mono(log4net) +Ignore: horde:mod_php_any,php-gettext,php-mcrypt,php-imap,php-pear-log,php-pear,php-session,php +Ignore: xerces-j2:xml-commons-apis,xml-commons-resolver +Ignore: xdg-menu:desktop-data +Ignore: nessus-libraries:nessus-core +Ignore: evolution:yelp +Ignore: mono-tools:mono(gconf-sharp),mono(glade-sharp),mono(gnome-sharp),mono(gtkhtml-sharp),mono(atk-sharp),mono(gdk-sharp),mono(glib-sharp),mono(gtk-sharp),mono(pango-sharp) +Ignore: gecko-sharp2:mono(glib-sharp),mono(gtk-sharp) +Ignore: vcdimager:libcdio.so.6,libcdio.so.6(CDIO_6),libiso9660.so.4,libiso9660.so.4(ISO9660_4) +Ignore: libcdio:libcddb.so.2 +Ignore: gnome-libs:libgnomeui +Ignore: nautilus:gnome-themes +Ignore: gnome-panel:gnome-themes +Ignore: gnome-panel:tomboy + +Substitute: utempter + +%ifnarch s390 s390x ppc ia64 +Substitute: java2-devel-packages java-1_4_2-sun-devel +%else + %ifnarch s390x +Substitute: java2-devel-packages java-1_4_2-ibm-devel + %else +Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %endif +%endif + +%ifarch %ix86 +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +%endif +%ifarch ia64 +Substitute: kernel-binary-packages kernel-default kernel-debug +%endif +%ifarch x86_64 +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +%endif +%ifarch ppc +Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +%endif +%ifarch ppc64 +Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +%endif +%ifarch s390 +Substitute: kernel-binary-packages kernel-s390 +%endif +%ifarch s390x +Substitute: kernel-binary-packages kernel-default +%endif + +%define ubuntu_version 1604 + +Macros: +%ubuntu_version 1604 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20160427/init_buildsystem new/obs-build-20160629/init_buildsystem --- old/obs-build-20160427/init_buildsystem 2016-04-27 17:03:07.000000000 +0200 +++ new/obs-build-20160629/init_buildsystem 2016-06-29 17:17:05.000000000 +0200 @@ -32,6 +32,7 @@ # export SRC export BUILD_DIR=${BUILD_DIR:-/usr/lib/build} +PATH="$BUILD_DIR:$PATH" export YAST_IS_RUNNING=instsys @@ -45,9 +46,6 @@ . $BUILD_DIR/common_functions || exit 1 -BUILD_IS_RUNNING=$BUILD_ROOT/not-ready -TMPFILE=$BUILD_ROOT/tmpfile - # should RPMs be installed with --force ? USE_FORCE=false PREPARE_VM= @@ -58,6 +56,7 @@ CREATE_BUILD_BINARIES= DLNOSIGNATURE= CACHE_DIR=/var/cache/build +test -z "$CONFIG_DIR" && CONFIG_DIR="$BUILD_DIR/configs" while test -n "$1" ; do case "$1" in @@ -100,13 +99,25 @@ shift 2 ;; --configdir) - CONFIG_DIR=$2 + CONFIG_DIR="$2" shift 2 ;; --nosignature) shift DLNOSIGNATURE="--nosignature" ;; + --root) + BUILD_ROOT="$2" + shift 2 + ;; + --arch) + BUILD_ARCH="$2" + shift 2 + ;; + --dist) + BUILD_DIST="$2" + shift 2 + ;; *) break ;; @@ -114,6 +125,14 @@ done PKGS=("$@") +if test -z "$BUILD_ROOT" ; then + echo "Please specify a build root!" + exit 1 +fi + +BUILD_IS_RUNNING=$BUILD_ROOT/not-ready +TMPFILE=$BUILD_ROOT/tmpfile + # # needed functions # @@ -470,7 +489,7 @@ read ANSWER case "$ANSWER" in c|C) - rm -f $BUILD_IS_RUNNING ;; + rm -f $BUILD_IS_RUNNING $BUILD_ROOT/exit ;; y|Y) clean_build_root ;; *)