Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at Tue Mar 9 16:58:59 CET 2010. -------- --- build/build.changes 2010-02-20 11:50:40.000000000 +0100 +++ /mounts/work_src_done/STABLE/build/build.changes 2010-03-08 13:07:37.000000000 +0100 @@ -1,0 +2,14 @@ +Mon Mar 8 12:07:03 UTC 2010 - adrian@suse.de + +- create default.conf symlink to correct *.conf based on + %suse_version and %sles_version macros + +------------------------------------------------------------------- +Thu Feb 25 08:22:52 UTC 2010 - adrian@suse.de + +- add dependency to tar (needed for deb builds) +- use current git + * Added '--uid uid:gid' feature to specify abuild id in chroot + (by David Greaves) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- build-2010.02.19.tar.gz New: ---- build-2010.03.08.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.v8fWXY/_old 2010-03-09 16:56:33.000000000 +0100 +++ /var/tmp/diff_new_pack.v8fWXY/_new 2010-03-09 16:56:33.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package build (Version 2010.02.19) +# spec file for package build (Version 2010.03.08) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -23,7 +23,7 @@ Group: Development/Tools/Building AutoReqProv: on Summary: A Script to Build SUSE Linux RPMs -Version: 2010.02.19 +Version: 2010.03.08 Release: 1 # osc rm build-*tar.bz2 # REVISION=$(svn info https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/build | sed -ne "/Revision: /s///p") @@ -48,6 +48,7 @@ Requires: perl Requires: perl-TimeDate Requires: binutils +Requires: tar %description This package provides a script for building RPMs for SUSE Linux in a @@ -62,7 +63,15 @@ %install make DESTDIR=$RPM_BUILD_ROOT install -#ln -s /usr/lib/build/build $RPM_BUILD_ROOT/usr/bin/build +cd $RPM_BUILD_ROOT/usr/lib/build/configs/ +%if 0%sles_version + ln -s sles%{sles_version}.conf default.conf +%else +%if 0%suse_version + V=%suse_version + ln -s sl${V:0:2}.${V:2:1}.conf default.conf +%endif +%endif %files %defattr(-,root,root) ++++++ build-2010.02.19.tar.gz -> build-2010.03.08.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/Build/Deb.pm new/build-2010.03.08/Build/Deb.pm --- old/build-2010.02.19/Build/Deb.pm 2009-12-10 07:58:38.000000000 +0100 +++ new/build-2010.03.08/Build/Deb.pm 2010-03-08 12:59:35.000000000 +0100 @@ -62,24 +62,32 @@ } elsif ($tag eq 'BUILD-DEPENDS' || $tag eq 'BUILD-CONFLICTS' || $tag eq 'BUILD-IGNORE' || $tag eq 'BUILD-DEPENDS-INDEP') { my @d = split(/,\s*/, $data); for my $d (@d) { - if ($d =~ /^(.*?)\s*[(.*)]$/) { - $d = $1; - my $isneg = 0; - my $bad; - for my $q (split('[\s,]', $2)) { - $isneg = 1 if $q =~ s/^!//; - $bad = 1 if !defined($bad) && !$isneg; - if ($isneg) { - if ($q eq $arch || $q eq "$os-$arch") { - $bad = 1; - last; - } - } elsif ($q eq $arch || $q eq "$os-$arch") { - $bad = 0; - } - } - next if $bad; - } + my @alts = split('\s*|\s*', $d); + my @needed; + for my $c (@alts) { + if ($c =~ /^(.*?)\s*[(.*)]$/) { + $c = $1; + my $isneg = 0; + my $bad; + for my $q (split('[\s,]', $2)) { + $isneg = 1 if $q =~ s/^!//; + $bad = 1 if !defined($bad) && !$isneg; + if ($isneg) { + if ($q eq $arch || $q eq "$os-$arch") { + $bad = 1; + last; + } + } elsif ($q eq $arch || $q eq "$os-$arch") { + $bad = 0; + } + } + push @needed, $c unless $bad; + } else { + push @needed, $c; + } + } + next unless @needed; + $d = join(' | ', @needed); $d =~ s/ (([^)]*))/ $1/g; $d =~ s/>>/>/g; $d =~ s/<</</g; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/Build/Rpm.pm new/build-2010.03.08/Build/Rpm.pm --- old/build-2010.02.19/Build/Rpm.pm 2010-02-20 11:47:37.000000000 +0100 +++ new/build-2010.03.08/Build/Rpm.pm 2010-03-08 12:59:35.000000000 +0100 @@ -2,6 +2,8 @@ use strict; +use Digest::MD5; + sub expr { my $expr = shift; my $lev = shift; @@ -763,7 +765,7 @@ } sub queryhdrmd5 { - my ($bin) = @_; + my ($bin, $leadsigp) = @_; local *F; open(F, '<', $bin) || die("$bin: $!\n"); @@ -800,6 +802,7 @@ } } close F; + $$leadsigp = Digest::MD5::md5_hex(substr($buf, 0, $hlen)) if $leadsigp; my $idxarea = substr($buf, 96 + 16, $cnt * 16); if ($idxarea !~ /\A(?:.{16})*\000\000\003\354\000\000\000\007(....)\000\000\000\020/s) { warn("$bin: no md5 signature header\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/Build.pm new/build-2010.03.08/Build.pm --- old/build-2010.02.19/Build.pm 2010-02-20 11:47:37.000000000 +0100 +++ new/build-2010.03.08/Build.pm 2010-03-08 12:59:35.000000000 +0100 @@ -776,11 +776,11 @@ sub queryhdrmd5 { my ($binname) = @_; - return Build::Rpm::queryhdrmd5($binname) if $do_rpm && $binname =~ /.rpm$/; - return Build::Deb::queryhdrmd5($binname) if $do_deb && $binname =~ /.deb$/; - return Build::Kiwi::queryhdrmd5($binname) if $do_kiwi && $binname =~ /.iso$/; - return Build::Kiwi::queryhdrmd5($binname) if $do_kiwi && $binname =~ /.raw$/; - return Build::Kiwi::queryhdrmd5($binname) if $do_kiwi && $binname =~ /.raw.install$/; + return Build::Rpm::queryhdrmd5(@_) if $do_rpm && $binname =~ /.rpm$/; + return Build::Deb::queryhdrmd5(@_) if $do_deb && $binname =~ /.deb$/; + return Build::Kiwi::queryhdrmd5(@_) if $do_kiwi && $binname =~ /.iso$/; + return Build::Kiwi::queryhdrmd5(@_) if $do_kiwi && $binname =~ /.raw$/; + return Build::Kiwi::queryhdrmd5(@_) if $do_kiwi && $binname =~ /.raw.install$/; return undef; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/Makefile new/build-2010.03.08/Makefile --- old/build-2010.02.19/Makefile 2010-02-20 11:47:37.000000000 +0100 +++ new/build-2010.03.08/Makefile 2010-03-08 13:10:11.000000000 +0100 @@ -58,8 +58,6 @@ install -m644 Build/*.pm $(DESTDIR)$(pkglibdir)/Build install -m644 *.pm baselibs_global*.conf $(DESTDIR)$(pkglibdir) install -m644 configs/* $(DESTDIR)$(pkglibdir)/configs - rm -f $(DESTDIR)$(pkglibdir)/configs/default.conf - cp -a configs/default.conf $(DESTDIR)$(pkglibdir)/configs/default.conf install -m644 build.1 $(DESTDIR)$(man1dir) ln -sf $(pkglibdir)/build $(DESTDIR)$(bindir)/build ln -sf $(pkglibdir)/vc $(DESTDIR)$(bindir)/buildvc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/build new/build-2010.03.08/build --- old/build-2010.02.19/build 2010-02-20 11:47:37.000000000 +0100 +++ new/build-2010.03.08/build 2010-03-08 12:59:35.000000000 +0100 @@ -36,6 +36,10 @@ # whether we have virtio support kvm_virtio= +# Default uid:gid for the build user +ABUILD_UID=399 +ABUILD_GID=399 + DO_INIT=true DO_LINT= DO_CHECKS=true @@ -69,8 +73,6 @@ RSYNCDEST= RSYNCDONE= -export PATH=$BUILD_DIR:/sbin:/usr/sbin:$PATH - # This is for insserv export YAST_IS_RUNNING=instsys @@ -186,6 +188,11 @@ Copy overlay folder (RSYNCSRC) to a folder (RSYNCDEST) inside the buildroot using rsync. + --uid uid:gid + Specify the uid and gid to use for the abuild user. + This is useful if you are hacking in the buildroot. + This must be set to the same value if the buildroot is re-used. + --debug enable creation of a debuginfo package @@ -204,6 +211,7 @@ # return values: 0 -> success, new packages built # 1 -> error, build failed # 2 -> successfull build, but no changes to former built packages +# 3 -> something wrong with build host # cleanup_and_exit () { trap EXIT @@ -216,9 +224,11 @@ fi exec >&0 2>&0 # so that the logging tee finishes sleep 1 # wait till tee terminates - kill -9 -1 # goodbye cruel world - exec /bin/bash -c 'mount -n -o remount,ro / ; halt -f -p' - halt -f -p + if test "$VM_TYPE" != lxc; then + kill -9 -1 # goodbye cruel world + exec /bin/bash -c 'mount -n -o remount,ro / ; halt -f -p' + halt -f -p + fi else umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2> /dev/null || true umount -n $BUILD_ROOT/proc 2>/dev/null || true @@ -226,6 +236,7 @@ test "$VM_IMAGE" = 1 && VM_IMAGE= [ -n "$VM_IMAGE" ] && umount $BUILD_ROOT 2>/dev/null || true fi +# echo "pid $$ exit $1" exit $1 } @@ -428,7 +439,7 @@ # are reset in the child processes trap ' ' HUP TERM $0 "$@" - cleanup_and_exit 1 + cleanup_and_exit $? fi echo "2nd stage started in virtual machine" BUILD_ROOT=/ @@ -441,10 +452,11 @@ # this is 32bit perl/glibc, thus the 32bit syscall number exec perl -e 'syscall(136, '$PERSONALITY') == -1 && warn("personality: $!\n");exec "/.build/build" || die("/.build/build: $!\n")' fi - PATH=$BUILD_DIR:$PATH RUNNING_IN_VM=true mount -orw -n -tproc none /proc - mount -n -o remount,rw / + if test "$VM_TYPE" != 'lxc'; then + mount -n -o remount,rw / + fi # qemu inside of xen does not work, check again with kvm later before enabling this # if [ -e /dev/kqemu ]; then # # allow abuild user to run qemu @@ -554,8 +566,11 @@ if detect_vm_2nd_stage ; then set "/.build-srcdir/$SPECFILE" + fi +export PATH=$BUILD_DIR:/sbin:/usr/sbin:$PATH + . $BUILD_DIR/common_functions || exit 1 export HOST @@ -645,6 +660,9 @@ VM_IMAGE=1 fi ;; + --lxc) + VM_TYPE=${PARAM##*-} + ;; *-xenswap|*-swap) VM_SWAP="$ARG" shift @@ -745,6 +763,16 @@ RSYNCDEST=$ARG shift ;; + --uid) + ABUILD_ID="$ARG" + if test -n "${ABUILD_ID//[0-9:]/}"; then + echo "--uid argument must be uid:gid" + cleanup_and_exit + fi + ABUILD_UID=${ABUILD_ID%:*} + ABUILD_GID=${ABUILD_ID#*:} + shift + ;; -*) echo Unknown Option "$PARAM". Exit. cleanup_and_exit 1 @@ -755,14 +783,18 @@ esac done -# XXX: doesn't kill vm if in prepare stage (because there is none) if test -n "$KILL" ; then test -z "$SRCDIR" || usage if test -n "$VM_IMAGE" -a -n "$VM_SWAP" -a -n "$VM_TYPE"; then # mark job as failed so that we don't extract packages echo -n "BUILDSTATUS1" >"$VM_SWAP" fi - if test -z "$VM_IMAGE" ; then + (set -C; > "$BUILD_ROOT/exit" || true) + if test "$VM_TYPE" = 'lxc'; then + LXCID=${BUILD_ROOT##*/} + lxc-stop -n "$LXCID" || true + lxc-destroy -n "$LXCID" + elif test -z "$VM_IMAGE" ; then if ! $BUILD_DIR/killchroot -s 9 $BUILD_ROOT ; then echo "could not kill build in $BUILD_ROOT" cleanup_and_exit 1 @@ -789,9 +821,10 @@ cleanup_and_exit 0 fi -if [ "$VM_TYPE" = 'kvm' ]; then +if [ "$VM_TYPE" = 'kvm' -a -z "$RUNNING_IN_VM" ]; then if [ ! -r /dev/kvm -o ! -x "$qemu_bin"-kvm ]; then - echo "" + echo "host doesn't support kvm" + cleanup_and_exit 3 fi qemu_bin="$kvm_bin" qemu_kernel="$kvm_kernel" @@ -932,7 +965,7 @@ echo Using BUILD_ROOT=$BUILD_ROOT test -n "$BUILD_RPMS" && echo Using BUILD_RPMS=$BUILD_RPMS echo Using BUILD_ARCH=$BUILD_ARCH - test -n "$VM_TYPE" && echo "Doing $VM_TYPE build in $VM_IMAGE" + test -n "$VM_TYPE" && echo "Doing $VM_TYPE build${VM_IMAGE:+ in $VM_IMAGE}" echo fi @@ -1031,7 +1064,7 @@ fi fi - if test -n "$VM_TYPE"; then + if test -n "$VM_TYPE" -a -z "$RUNNING_IN_VM"; then rm -rf $BUILD_ROOT/.build mkdir -p $BUILD_ROOT/.build if test "$DO_INIT" = true ; then @@ -1040,6 +1073,7 @@ set -- init_buildsystem --prepare "${definesnstuff[@]}" "${repos[@]}" $CLEAN_BUILD $USEUSEDFORBUILD $RPMLIST "$MYSRCDIR/$SPECFILE" $ADDITIONAL_PACKS echo "$* ..." "$@" || cleanup_and_exit 1 + check_exit if [ ! -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 @@ -1091,9 +1125,11 @@ # could be hda2, sda2 for xen or hdb/sdb for qemu test -n "$VM_SWAP" && echo "VM_SWAP='${VM_SWAPDEV:-/dev/hda2}'" >> $BUILD_ROOT/.build/build.data PERSONALITY=0 - test -n "$PERSONALITY_SYSCALL" && PERSONALITY=`perl -e 'print syscall('$PERSONALITY_SYSCALL', 0)."\n"'` - echo "OLD_PACKAGES='$OLD_PACKAGES'" >> $BUILD_ROOT/.build/build.data + if test "$VM_TYPE" != 'lxc'; then + test -n "$PERSONALITY_SYSCALL" && PERSONALITY=`perl -e 'print syscall('$PERSONALITY_SYSCALL', 0)."\n"'` + fi echo "PERSONALITY='$PERSONALITY'" >> $BUILD_ROOT/.build/build.data + echo "OLD_PACKAGES='$OLD_PACKAGES'" >> $BUILD_ROOT/.build/build.data echo "MYHOSTNAME='`hostname`'" >> $BUILD_ROOT/.build/build.data echo -n "definesnstuff=(" >> $BUILD_ROOT/.build/build.data shellquote "${definesnstuff[@]}" >> $BUILD_ROOT/.build/build.data @@ -1101,13 +1137,17 @@ echo -n "repos=(" >> $BUILD_ROOT/.build/build.data shellquote "${repos[@]}" >> $BUILD_ROOT/.build/build.data echo ")" >> $BUILD_ROOT/.build/build.data + echo "VM_TYPE='$VM_TYPE'" >> $BUILD_ROOT/.build/build.data umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2> /dev/null || true umount -n $BUILD_ROOT/proc 2> /dev/null || true umount -n $BUILD_ROOT/dev/pts 2> /dev/null || true umount -n $BUILD_ROOT/mnt 2> /dev/null || true - # needs to work otherwise we have a corrupted file system - umount $BUILD_ROOT || cleanup_and_exit 1 + if [ -n "$VM_IMAGE" ]; then + check_exit + # needs to work otherwise we have a corrupted file system + umount $BUILD_ROOT || cleanup_and_exit 1 + fi if [ "$VM_TYPE" = 'xen' ]; then XMROOT=file:$VM_IMAGE @@ -1178,6 +1218,23 @@ fi echo "$@" "$@" + elif [ "$VM_TYPE" = 'lxc' ]; then + echo "booting $VM_TYPE ..." + LXCCONF="$BUILD_ROOT/.build.lxc.conf" + rm -f "$LXCCONF" + cat $BUILD_DIR/lxc.conf > "$LXCCONF" + cat >> "$LXCCONF" <<-EOF + lxc.rootfs = $BUILD_ROOT + EOF + # XXX: do this always instead of leaking the hosts' one? + echo "rootfs / rootfs rw 0 0" > $BUILD_ROOT/etc/mtab + LXCID=${BUILD_ROOT##*/} + lxc-destroy -n "$LXCID" >/dev/null 2>&1 || true + lxc-create -n "$LXCID" -f "$LXCCONF" || cleanup_and_exit 1 + lxc-start -n "$LXCID" /.build/build + BUILDSTATUS="$?" + test "$BUILDSTATUS" != 255 || BUILDSTATUS=3 + cleanup_and_exit "$BUILDSTATUS" fi if test -n "$VM_SWAP" ; then BUILDSTATUS=`dd if="$VM_SWAP" bs=12 count=1 2>/dev/null` @@ -1230,6 +1287,7 @@ set -- init_buildsystem "${definesnstuff[@]}" "${repos[@]}" $CLEAN_BUILD $USEUSEDFORBUILD $CREATE_BUILD_BINARIES $RPMLIST "$MYSRCDIR/$SPECFILE" $ADDITIONAL_PACKS echo "$* ..." "$@" || cleanup_and_exit 1 + check_exit if df $BUILD_ROOT 2>/dev/null | grep -q "100%"; then df -h $BUILD_ROOT echo "build does not work on a completely full filesystem" @@ -1274,12 +1332,22 @@ if test $BUILD_USER = abuild ; then if ! egrep '^abuild:' >/dev/null <$BUILD_ROOT/etc/passwd ; then - echo 'abuild::399:399:Autobuild:/home/abuild:/bin/bash' >>$BUILD_ROOT/etc/passwd + echo "abuild::${ABUILD_UID}:${ABUILD_GID}:Autobuild:/home/abuild:/bin/bash" >>$BUILD_ROOT/etc/passwd echo 'abuild:*:::::::' >>$BUILD_ROOT/etc/shadow # This is needed on Mandriva 2009 echo 'abuild:*::' >>$BUILD_ROOT/etc/gshadow # This is needed on Ubuntu - echo 'abuild::399:' >>$BUILD_ROOT/etc/group + echo "abuild::${ABUILD_GID}:" >>$BUILD_ROOT/etc/group mkdir -p $BUILD_ROOT/home/abuild - chown 399:399 $BUILD_ROOT/home/abuild + chown ${ABUILD_UID}:${ABUILD_GID} $BUILD_ROOT/home/abuild + else + if ! egrep "^abuild::${ABUILD_UID}:${ABUILD_GID}" >/dev/null <$BUILD_ROOT/etc/passwd ; then + echo "abuild user present in the buildroot ($BUILD_ROOT) but uid:gid does not match" + echo "buildroot currently using:" + egrep "^abuild:" <$BUILD_ROOT/etc/passwd + echo "build script attempting to use:" + echo "abuild::${ABUILD_UID}:${ABUILD_GID}:..." + echo "build aborting" + cleanup_and_exit 1 + fi fi if test -f $BUILD_ROOT/etc/shadow ; then sed -e "s@^root::@root:*:@" < $BUILD_ROOT/etc/shadow > $BUILD_ROOT/etc/shadow.t && mv $BUILD_ROOT/etc/shadow.t $BUILD_ROOT/etc/shadow @@ -1335,9 +1403,9 @@ rm -rf $BUILD_ROOT$TOPDIR for i in BUILD RPMS/`uname -m` RPMS/i386 RPMS/noarch SOURCES SPECS SRPMS BUILDROOT; do mkdir -p $BUILD_ROOT$TOPDIR/$i - test $BUILD_USER = abuild && chown 399:399 $BUILD_ROOT$TOPDIR/$i + test $BUILD_USER = abuild && chown ${ABUILD_UID}:${ABUILD_GID} $BUILD_ROOT$TOPDIR/$i done - test -e $BUILD_ROOT/exit && cleanup_and_exit 1 + check_exit mkdir -p $BUILD_ROOT$TOPDIR/SOURCES if test "$BUILDTYPE" = kiwi ; then @@ -1418,7 +1486,7 @@ if test "$BUILDTYPE" = dsc ; then rm -rf $BUILD_ROOT$TOPDIR/BUILD mkdir -p $BUILD_ROOT$TOPDIR/SOURCES.DEB - test $BUILD_USER = abuild && chown -R 399:399 $BUILD_ROOT$TOPDIR + test $BUILD_USER = abuild && chown -R ${ABUILD_UID}:${ABUILD_GID} $BUILD_ROOT$TOPDIR DEB_TRANSFORM= DEB_SOURCEDIR=$TOPDIR/SOURCES DEB_DSCFILE=$SPECFILE @@ -1439,7 +1507,7 @@ fi if test $BUILD_USER = abuild ; then - chown -R 399:399 $BUILD_ROOT$TOPDIR/* + chown -R ${ABUILD_UID}:${ABUILD_GID} $BUILD_ROOT$TOPDIR/* else chown -R root:root $BUILD_ROOT$TOPDIR/* fi @@ -1487,7 +1555,7 @@ fi echo "Running rsync ..." rsync -av $RSYNCSRC/* $BUILD_ROOT/$RSYNCDEST/ - chown -R 399:399 $BUILD_ROOT/$RSYNCDEST + chown -R ${ABUILD_UID}:${ABUILD_GID} $BUILD_ROOT/$RSYNCDEST RSYNCDONE=true echo "... done" else @@ -1538,6 +1606,7 @@ "$TOPDIR/SOURCES/$SPECFILE" \ > $BUILD_ROOT/.build.command chmod 755 $BUILD_ROOT/.build.command + check_exit chroot $BUILD_ROOT su -c /.build.command - $BUILD_USER < /dev/null && BUILD_SUCCEEDED=true fi @@ -1580,7 +1649,7 @@ echo "... checking for files with abuild user/group" BADFILE= while read un gn fn ; do - if test "$un" = abuild -o "$gn" = abuild -o "$un" = 399 -o "$gn" = 399 ; then + if test "$un" = abuild -o "$gn" = abuild -o "$un" = ${ABUILD_UID} -o "$gn" = ${ABUILD_GID} ; then echo " $un $gn $fn" BADFILE=true fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/common_functions new/build-2010.03.08/common_functions --- old/build-2010.02.19/common_functions 2010-02-20 11:47:37.000000000 +0100 +++ new/build-2010.03.08/common_functions 2010-03-08 12:59:35.000000000 +0100 @@ -31,3 +31,11 @@ fi fi } + +check_exit() +{ + if test -e $BUILD_ROOT/exit; then + echo "exit ..." + cleanup_and_exit 1 + fi +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/configs/default.conf new/build-2010.03.08/configs/default.conf --- old/build-2010.02.19/configs/default.conf 2010-03-09 16:56:33.000000000 +0100 +++ new/build-2010.03.08/configs/default.conf 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -symbolic link to sl11.2.conf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/init_buildsystem new/build-2010.03.08/init_buildsystem --- old/build-2010.02.19/init_buildsystem 2010-02-20 11:47:37.000000000 +0100 +++ new/build-2010.03.08/init_buildsystem 2010-03-08 12:59:35.000000000 +0100 @@ -119,6 +119,7 @@ } function preinstall { + check_exit if test -n "$1" ; then echo "preinstalling $1..." cd $BUILD_ROOT || cleanup_and_exit 1 @@ -563,6 +564,7 @@ rm -f $BUILD_ROOT/.init_b_cache/$PKG.$PSUF cp $BUILD_ROOT/.init_b_cache/rpms/$PKG.$PSUF $BUILD_ROOT/.init_b_cache/$PKG.$PSUF || cleanup_and_exit 1 ln -s -f ../$PKG.$PSUF $BUILD_ROOT/.init_b_cache/rpms/$PKG.$PSUF + check_exit done # alreadyinstalled check will not work, but we have to live with # that... @@ -595,6 +597,7 @@ ln "$LPKG" "$BUILD_ROOT/.build.binaries/$PKG.$PSUF" 2>/dev/null test -f "$BUILD_ROOT/.build.binaries/$PKG.$PSUF" && continue cp "$LPKG" "$BUILD_ROOT/.build.binaries/$PKG.$PSUF" + check_exit done fi @@ -655,6 +658,7 @@ test "$PKG" = "*" && continue echo "deleting $PKG" rpm_e "$PKG" + check_exit done rm -rf $BUILD_ROOT/.init_b_cache/todelete @@ -698,7 +702,7 @@ echo "installing ${PKGID%_*}" ( chroot $BUILD_ROOT dpkg --install --force all .init_b_cache/$PKG.deb 2>&1 || touch $BUILD_ROOT/exit ) | \ perl -ne '$|=1;/^(Configuration file|Installing new config file|Selecting previously deselected|(Reading database|Unpacking |Setting up|Creating config file|Preparing to replace dpkg)/||/^$/||print' - test -e $BUILD_ROOT/exit && cleanup_and_exit 1 + check_exit echo "$PKGID debian" > $BUILD_ROOT/installed-pkg/$PKG continue fi @@ -757,7 +761,7 @@ grep -v "^warning:.*saved as.*rpmorig$" # delete link so package is only installed once rm -f $BUILD_ROOT/.init_b_cache/$PKG.rpm - test -e $BUILD_ROOT/exit && cleanup_and_exit 1 + check_exit echo "$PKGID" > $BUILD_ROOT/installed-pkg/$PKG done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/lxc.conf new/build-2010.03.08/lxc.conf --- old/build-2010.02.19/lxc.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/build-2010.03.08/lxc.conf 2010-03-08 12:59:35.000000000 +0100 @@ -0,0 +1,15 @@ +lxc.cgroup.devices.deny = a +# null +lxc.cgroup.devices.allow = c 1:3 rw +# zero +lxc.cgroup.devices.allow = c 1:5 rw +# full +lxc.cgroup.devices.allow = c 1:7 rw +# random +lxc.cgroup.devices.allow = c 1:8 rw +# urandom +lxc.cgroup.devices.allow = c 1:9 rw +# tty +lxc.cgroup.devices.allow = c 5:0 rw +# ptmx +lxc.cgroup.devices.allow = c 5:2 rw diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/build-2010.02.19/test/common new/build-2010.03.08/test/common --- old/build-2010.02.19/test/common 2010-02-20 11:47:37.000000000 +0100 +++ new/build-2010.03.08/test/common 2010-03-08 12:59:35.000000000 +0100 @@ -98,5 +98,5 @@ "${build_args[@]}" echo "$@" "$@" || fail - find $build_root/.build.packages/ -type f -name '*.rpm' -print0 | xargs -0 rpm -K || fail + find $build_root/.build.packages/ -type f -name '*.rpm' -print0 | xargs --no-run-if-empty -0 rpm -K || fail } ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.v8fWXY/_old 2010-03-09 16:56:33.000000000 +0100 +++ /var/tmp/diff_new_pack.v8fWXY/_new 2010-03-09 16:56:33.000000000 +0100 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 2010.02.19 +Version: 2010.03.08 Binary: build Maintainer: Adrian Schroeter <adrian@suse.de> Architecture: all ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org