Hello community,

here is the log from the commit of package build for openSUSE:Factory checked 
in at 2015-03-23 12:12:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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      2015-02-08 
11:41:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.build.new/build.changes 2015-03-23 
12:12:03.000000000 +0100
@@ -1,0 +2,12 @@
+Tue Mar 17 07:20:36 UTC 2015 - [email protected]
+
+- workaround initrd breakage when using initrd for systemd with older systems
+- fixes for building in LXC containers
+- avoid emulator for arm on aarch64
+- Fixing UTC symlink resolving when setting localtime
+- ppc64le can build ppc64 with KVM
+- build-vm-kvm: Switch armv7 to virt machine
+- Fix --no-checks with older rpmbuild
+- documenation updates
+
+-------------------------------------------------------------------

Old:
----
  obs-build-20150115.tar.gz

New:
----
  obs-build-20150317.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ build.spec ++++++
--- /var/tmp/diff_new_pack.Icpcjy/_old  2015-03-23 12:12:04.000000000 +0100
+++ /var/tmp/diff_new_pack.Icpcjy/_new  2015-03-23 12:12:04.000000000 +0100
@@ -22,7 +22,7 @@
 Summary:        A Script to Build SUSE Linux RPMs
 License:        GPL-2.0+ and GPL-2.0
 Group:          Development/Tools/Building
-Version:        20150115
+Version:        20150317
 Release:        0
 Source:         obs-build-%{version}.tar.gz
 #!BuildIgnore:  build-mkbaselibs

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.Icpcjy/_old  2015-03-23 12:12:04.000000000 +0100
+++ /var/tmp/diff_new_pack.Icpcjy/_new  2015-03-23 12:12:04.000000000 +0100
@@ -1,5 +1,5 @@
 pkgname=build
-pkgver=20150115
+pkgver=20150317
 pkgrel=0
 pkgdesc="Build packages in sandbox"
 arch=('i686' 'x86_64')
@@ -8,7 +8,7 @@
 groups=('base-devel')
 depends=('perl')
 source=(obs-build-${pkgver}.tar.gz)
-md5sums=('913a174848d39df902df09dedc0e1aa2')
+md5sums=('deaeff7a854cb1668560813f55980587')
 
 package() {
   msg "Installing build ..."

++++++ build.dsc ++++++
--- /var/tmp/diff_new_pack.Icpcjy/_old  2015-03-23 12:12:04.000000000 +0100
+++ /var/tmp/diff_new_pack.Icpcjy/_new  2015-03-23 12:12:04.000000000 +0100
@@ -1,6 +1,6 @@
 Format: 1.0
 Source: build
-Version: 20150115
+Version: 20150317
 Binary: build
 Maintainer: Adrian Schroeter <[email protected]>
 Architecture: all

++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.Icpcjy/_old  2015-03-23 12:12:04.000000000 +0100
+++ /var/tmp/diff_new_pack.Icpcjy/_new  2015-03-23 12:12:04.000000000 +0100
@@ -1,4 +1,4 @@
-build (20150115) unstable; urgency=low
+build (20150317) unstable; urgency=low
 
   * Update to current git trunk
     - add sles11sp2 build config and adapt autodetection

++++++ obs-build-20150115.tar.gz -> obs-build-20150317.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/HOWTO.add_another_format 
new/obs-build-20150317/HOWTO.add_another_format
--- old/obs-build-20150115/HOWTO.add_another_format     1970-01-01 
01:00:00.000000000 +0100
+++ new/obs-build-20150317/HOWTO.add_another_format     2015-03-17 
08:20:24.000000000 +0100
@@ -0,0 +1,99 @@
+
+How to add another build format
+===============================
+
+To support yet another package format to be used with standalone build
+script and Open Build Service you need to follow these steps:
+
+Let's call the new format "XYZ" here.
+
+General notes about the implementations. There are two areas:
+
+SAFE implementations:
+ Some code runs outside of protected environments like KVM. Therefore
+this code must be implemented with security in mind. Special crafted
+build descriptions or binary files must not be able to exploit this code.
+What makes it even more interessting is that this code can also run
+on all kind of old or obscure systems. So any external dependency should
+be avoided as well. 
+This means in short:
+ - code must be as simple as possible.
+ - code must not allow to execute random commands or to access random files.
+ - avoid external dependencies. When you look for a simple XML parser
+   check the kiwi support for this.
+ - code must stay compatible for all versions
+
+Build code running inside of environment.
+ - using any tool is fine here. However, the tool must be installed
+   somehow into the build system. In best case via some dependency.
+ - Incompatible changes can be implemented inside of these packages
+   pulled into the build environment.
+ - network is not possible here.
+
+
+1) Implement the parse() function into Build/XYZ.pm
+
+   parse() extracts the build dependecies from the build specification.
+   For RPM this would be the <package>.spec file for example.
+
+   Must be a SAFE implementation.
+
+2) Add a query() function to Build/XYZ.pm
+
+   query() extracts information from built packages. In the rpm world
+   these are the .rpm files.
+   query returns a hash containing:
+       name, epoch, version, release, arch, description,
+       provides, requires, hdrmd5
+
+   hdrmd5 is some unique identifier of the package built, it might be 
+   just a md5 over the entire file.
+
+   Must be a SAFE implementation.
+
+3) Add a queryhdrmd5() function
+
+   this functions is a specialized version of query(), it just returns
+   the hdrmd5
+
+   Must be a SAFE implementation.
+
+4) Add a verscmp() function
+
+   verscmp() compares two package version strings. For rpms, a version has
+   the form [epoch:]version-release
+
+   Must be a SAFE implementation.
+
+5) Implement build-pkg-xyz functions
+
+   Those functions are used to setup the build environment. I.e. they
+   need to install/unpack the packages
+
+   Must be a SAFE implementation for the pre-installation part. Afterwards
+   it is fine to use any tool to install the packages (like rpm itself).
+
+6) Implement build-recipe-xyz functions
+
+   This functions are called to create the build result
+
+7) For standalone build support (actually not needed for OBS integration, but
+   it makes development easier) we need a "createxyzdeps" helper script.
+   For xyz://<...> repos it needs to download the repository metadata
+   and convert it to build's representation. See createyastdeps and 
createrepomddeps.
+
+
+Special notes for non-OSS systems
+=================================
+
+Systems like MS-Windows, MacOSX or SunOS could be support as well. However, 
these
+systems can not be installed by packages from scratch. So using 
preinstallimages
+would be mandatory here. Support for that exists in general already inside of 
+the code.
+
+Special notes for image formats
+===============================
+
+Image formats can usually skip 2) 3) and 4) from the items above. At least as 
long
+as they do not want to build new images based on former created ones.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/build new/obs-build-20150317/build
--- old/obs-build-20150115/build        2015-01-30 08:24:54.000000000 +0100
+++ new/obs-build-20150317/build        2015-03-17 08:20:24.000000000 +0100
@@ -980,7 +980,10 @@
 fi
 
 if test -z "$VM_IMAGE" -a -z "$LOGFILE" ; then
-    LOGFILE="$BUILD_ROOT/.build.log"
+    # lxc is special case: virtual machine shares logfile with host
+    if test -z "$RUNNING_IN_VM" -o "$VM_TYPE" != lxc; then
+        LOGFILE="$BUILD_ROOT/.build.log"
+    fi
 fi
 
 if test -n "$LOGFILE" -a -z "$RUN_SHELL" ; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/build-vm-kvm 
new/obs-build-20150317/build-vm-kvm
--- old/obs-build-20150115/build-vm-kvm 2015-01-30 08:24:54.000000000 +0100
+++ new/obs-build-20150317/build-vm-kvm 2015-03-17 08:20:24.000000000 +0100
@@ -64,7 +64,7 @@
        armv7l)
            kvm_bin="/usr/bin/qemu-system-arm"
            kvm_console=ttyAMA0
-           kvm_options="-enable-kvm -M vexpress-a15 -dtb /boot/a15-guest.dtb 
-cpu cortex-a15"
+           kvm_options="-enable-kvm -M virt -cpu host"
            vm_kernel=/boot/zImage
            vm_initrd=/boot/initrd
            # prefer the guest kernel/initrd
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/build-vm-lxc 
new/obs-build-20150317/build-vm-lxc
--- old/obs-build-20150115/build-vm-lxc 2015-01-30 08:24:54.000000000 +0100
+++ new/obs-build-20150317/build-vm-lxc 2015-03-17 08:20:24.000000000 +0100
@@ -21,22 +21,36 @@
 #
 ################################################################
 
+lxc_get_id() {
+    LXCID="obsbuild:${BUILD_ROOT##*/}"
+}
+
 vm_verify_options_lxc() {
     VM_IMAGE=
     VM_SWAP=
 }
 
 vm_startup_lxc() {
+    lxc_get_id
+    LXCDIR="`lxc-config lxc.lxcpath`/$LXCID"
+    LXCROOTFS="$LXCDIR/rootfs"
+    LXCHOOK="$LXCDIR/pre-mount.hook"
     LXCCONF="$BUILD_ROOT/.build.lxc.conf"
     rm -f "$LXCCONF"
     cat $BUILD_DIR/lxc.conf > "$LXCCONF"
     cat >> "$LXCCONF" <<-EOF
-       lxc.rootfs = $BUILD_ROOT
+       lxc.rootfs = $LXCROOTFS
+       lxc.hook.pre-mount = $LXCHOOK
        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
+    mkdir -p "$LXCROOTFS"
+    cat > "$LXCHOOK" <<-EOF
+       #!/bin/sh
+       mount --bind "$BUILD_ROOT" "$LXCROOTFS"
+       EOF
+    chmod a+x "$LXCHOOK"
     lxc-create -n "$LXCID" -f "$LXCCONF" || cleanup_and_exit 1
     lxc-start -n "$LXCID" "$vm_init_script"
     BUILDSTATUS="$?"
@@ -45,9 +59,8 @@
 }
 
 vm_kill_lxc() {
-    LXCID=${BUILD_ROOT##*/}
+    lxc_get_id
     lxc-stop -n "$LXCID" || true
-    lxc-destroy -n "$LXCID"
 }
 
 vm_fixup_lxc() {
@@ -71,6 +84,9 @@
 }
 
 vm_cleanup_lxc() {
-    :
+    if test $$ -ne 1 && test $$ -ne 2 ; then
+        lxc_get_id
+        lxc-destroy -n "$LXCID"
+    fi
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/common_functions 
new/obs-build-20150317/common_functions
--- old/obs-build-20150115/common_functions     2015-01-30 08:24:54.000000000 
+0100
+++ new/obs-build-20150317/common_functions     2015-03-17 08:20:24.000000000 
+0100
@@ -29,6 +29,7 @@
 
 extend_build_arch() {
     case $BUILD_ARCH in
+      aarch64) BUILD_ARCH="aarch64:armv7hl:armv7l:armv6hl:armv6l:armv5tel" ;;
       armv7hl) BUILD_ARCH="armv7hl:armv7l:armv6hl:armv6l:armv5tel" ;;
       armv7l) BUILD_ARCH="armv7l:armv6l:armv5tel" ;;
       armv6hl) BUILD_ARCH="armv6hl:armv6l:armv5tel" ;;
@@ -39,7 +40,7 @@
       i486) BUILD_ARCH="i486:i386" ;;
       i386) BUILD_ARCH="i386" ;;
       ppc64) BUILD_ARCH="ppc64:ppc" ;;
-      ppc64le) BUILD_ARCH="ppc64le" ;;
+      ppc64le) BUILD_ARCH="ppc64le:ppc64" ;;
       sparc64v) BUILD_ARCH="sparc64v:sparc64:sparcv9v:sparcv9:sparcv8:sparc" ;;
       sparc64) BUILD_ARCH="sparc64:sparcv9:sparcv8:sparc" ;;
       sparcv9v) BUILD_ARCH="sparcv9v:sparcv9:sparcv8:sparc" ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/init_buildsystem 
new/obs-build-20150317/init_buildsystem
--- old/obs-build-20150115/init_buildsystem     2015-01-30 08:24:54.000000000 
+0100
+++ new/obs-build-20150317/init_buildsystem     2015-03-17 08:20:24.000000000 
+0100
@@ -851,6 +851,13 @@
 
 test -x $BUILD_ROOT/sbin/ldconfig && chroot $BUILD_ROOT /sbin/ldconfig 2>&1
 
+# hack around a initrd incompability
+# initrd's prepared by dracut for systemd remove this directory
+if test -L $BUILD_ROOT/var/run -a ! -e $BUILD_ROOT/var/run; then
+   rm $BUILD_ROOT/var/run
+   mkdir $BUILD_ROOT/var/run
+fi
+
 MAIN_LIST="$PACKAGES_TO_INSTALL"
 progress_setup MAIN_LIST
 for PKG in $MAIN_LIST ; do
@@ -1014,7 +1021,7 @@
 
 if test -e $BUILD_ROOT/usr/share/zoneinfo/UTC ; then
     for PROG in /usr/sbin/zic /usr/bin/zic /bin/zic /sbin/zic ; do
-        test -x $BUILD_ROOT/$PROG  && chroot $BUILD_ROOT bash -c "$PROG -l 
$(readlink -f /usr/share/zoneinfo/UTC)"
+        test -x $BUILD_ROOT/$PROG  && chroot $BUILD_ROOT bash -c "$PROG -l 
\$(readlink -f /usr/share/zoneinfo/UTC)"
     done
 fi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/initvm.c 
new/obs-build-20150317/initvm.c
--- old/obs-build-20150115/initvm.c     2015-01-30 08:24:54.000000000 +0100
+++ new/obs-build-20150317/initvm.c     2015-03-17 08:20:24.000000000 +0100
@@ -229,9 +229,11 @@
                 /* Is an interpreter for this arch already registered? */
                snprintf(path, sizeof(path), SYSFS_BINFMT_MISC "/%s", f[name]);
                ret=access(path, X_OK);
-                       fprintf(stderr, 
-                               "interpreter for '%s' is %d\n",
-                               f[name], ret);
+#ifdef DEBUG
+               fprintf(stderr, 
+                       "interpreter for '%s' is %d\n",
+                       f[name], ret);
+#endif /* DEBUG */
                if (ret == 0) {
 #ifdef DEBUG
                        fprintf(stderr, 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20150115/lxc.conf 
new/obs-build-20150317/lxc.conf
--- old/obs-build-20150115/lxc.conf     2015-01-30 08:24:54.000000000 +0100
+++ new/obs-build-20150317/lxc.conf     2015-03-17 08:20:24.000000000 +0100
@@ -13,3 +13,6 @@
 lxc.cgroup.devices.allow = c 5:0 rw
 # ptmx
 lxc.cgroup.devices.allow = c 5:2 rw
+# console
+lxc.console = none
+lxc.console.logfile = /dev/stdout

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to