Hello community, here is the log from the commit of package build for openSUSE:Factory checked in at 2018-08-24 16:49:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/build (Old) and /work/SRC/openSUSE:Factory/.build.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build" Fri Aug 24 16:49:23 2018 rev:116 rq:629607 version:20180816 Changes: -------- --- /work/SRC/openSUSE:Factory/build/build.changes 2018-07-07 21:52:34.831761173 +0200 +++ /work/SRC/openSUSE:Factory/.build.new/build.changes 2018-08-24 16:49:24.541029525 +0200 @@ -1,0 +2,11 @@ +Thu Aug 16 14:55:53 UTC 2018 - [email protected] + +- docker format: New podman/buildah build engine support +- Support for full names in changes files +- Set %url macro when seeing an Url: +- pacman CLI updates +- enable core dump generation in VM builds +- Disable kpti on guest kernel for performance and correctness +- support for e2fsprogs 1.43.1 with old kernels + +------------------------------------------------------------------- Old: ---- obs-build-20180629.tar.gz New: ---- obs-build-20180816.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ build.spec ++++++ --- /var/tmp/diff_new_pack.n1lRXI/_old 2018-08-24 16:49:27.265032730 +0200 +++ /var/tmp/diff_new_pack.n1lRXI/_new 2018-08-24 16:49:27.265032730 +0200 @@ -22,7 +22,7 @@ Summary: A Script to Build SUSE Linux RPMs License: GPL-2.0-or-later AND GPL-2.0-only Group: Development/Tools/Building -Version: 20180629 +Version: 20180816 Release: 0 Source: obs-build-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ PKGBUILD ++++++ --- /var/tmp/diff_new_pack.n1lRXI/_old 2018-08-24 16:49:27.297032768 +0200 +++ /var/tmp/diff_new_pack.n1lRXI/_new 2018-08-24 16:49:27.297032768 +0200 @@ -1,5 +1,5 @@ pkgname=build -pkgver=20180629 +pkgver=20180816 pkgrel=0 pkgdesc="Build packages in sandbox" arch=('i686' 'x86_64') ++++++ build.dsc ++++++ --- /var/tmp/diff_new_pack.n1lRXI/_old 2018-08-24 16:49:27.325032801 +0200 +++ /var/tmp/diff_new_pack.n1lRXI/_new 2018-08-24 16:49:27.329032805 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: build -Version: 20180629 +Version: 20180816 Binary: build Maintainer: Adrian Schroeter <[email protected]> Architecture: all ++++++ debian.changelog ++++++ --- /var/tmp/diff_new_pack.n1lRXI/_old 2018-08-24 16:49:27.349032829 +0200 +++ /var/tmp/diff_new_pack.n1lRXI/_new 2018-08-24 16:49:27.349032829 +0200 @@ -1,4 +1,4 @@ -build (20180629) unstable; urgency=low +build (20180816) unstable; urgency=low * Update to current git trunk - add sles11sp2 build config and adapt autodetection ++++++ obs-build-20180629.tar.gz -> obs-build-20180816.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/Build/Rpm.pm new/obs-build-20180816/Build/Rpm.pm --- old/obs-build-20180629/Build/Rpm.pm 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/Build/Rpm.pm 2018-08-16 17:00:23.000000000 +0200 @@ -580,6 +580,7 @@ next; } elsif ($preamble && $line =~ /^(Source\d*|Patch\d*|Url|Icon)\s*:\s*(\S+)/i) { my ($tag, $val) = (lc($1), $2); + $macros{$tag} = $val if $tag eq 'url'; # associate url and icon tags with the corresponding subpackage $tag .= scalar @subpacks if ($tag eq 'url' || $tag eq 'icon') && @subpacks; if ($tag =~ /icon/) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/Build.pm new/obs-build-20180816/Build.pm --- old/obs-build-20180629/Build.pm 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/Build.pm 2018-08-16 17:00:23.000000000 +0200 @@ -504,6 +504,9 @@ 'system-packages:docker' => [ 'docker', ], + 'system-packages:podman' => [ + 'podman', 'buildah' + ], 'system-packages:fissile' => [ 'docker', # TODO: Add fissile here as soon as it is packaged ], @@ -616,6 +619,9 @@ @sysdeps = @{$config->{'substitute'}->{'system-packages:kiwi-product'} || []}; @sysdeps = @{$config->{'substitute'}->{'kiwi-setup:product'} || []} unless @sysdeps; @sysdeps = @{$subst_defaults{'system-packages:kiwi-product'} || []} unless @sysdeps; + } elsif ($engine eq 'podman' && $buildtype eq 'docker') { + @sysdeps = @{$config->{'substitute'}->{'system-packages:podman'} || []} unless @sysdeps; + @sysdeps = @{$subst_defaults{'system-packages:podman'} || []} unless @sysdeps; } elsif ($buildtype eq 'docker') { @sysdeps = @{$config->{'substitute'}->{'system-packages:docker'} || []} unless @sysdeps; @sysdeps = @{$subst_defaults{'system-packages:docker'} || []} unless @sysdeps; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build new/obs-build-20180816/build --- old/obs-build-20180629/build 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build 2018-08-16 17:00:23.000000000 +0200 @@ -1309,7 +1309,7 @@ test "$imagetype" = product || BUILD_USER=root fi # same with docker and fissile builds - if test "$BUILDTYPE" = docker -o "$BUILDTYPE" = fissile ; then + if test "$BUILDTYPE" = docker -o "$BUILDTYPE" = fissile -o "$BUILDTYPE" = podman ; then BUILD_USER=root fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-pkg-arch new/obs-build-20180816/build-pkg-arch --- old/obs-build-20180629/build-pkg-arch 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-pkg-arch 2018-08-16 17:00:23.000000000 +0200 @@ -50,7 +50,7 @@ # https://bbs.archlinux.org/viewtopic.php?id=129661 (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 ) | \ + ( cd $BUILD_ROOT && chroot $BUILD_ROOT pacman -U --overwrite '*' -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|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' } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-recipe new/obs-build-20180816/build-recipe --- old/obs-build-20180629/build-recipe 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-recipe 2018-08-16 17:00:23.000000000 +0200 @@ -25,7 +25,7 @@ BUILDTYPE= KIWI_PARAMETERS= -for i in spec dsc kiwi arch collax preinstallimage simpleimage mock livebuild snapcraft debootstrap debbuild appimage docker fissile; do +for i in spec dsc kiwi arch collax preinstallimage simpleimage mock livebuild snapcraft debootstrap debbuild appimage docker podman fissile; do . "$BUILD_DIR/build-recipe-$i" done @@ -107,6 +107,9 @@ if test "$BUILDENGINE" = debbuild -a "$BUILDTYPE" = spec ; then BUILDTYPE=debbuild fi + if test "$BUILDENGINE" = podman -a "$BUILDTYPE" = docker ; then + BUILDTYPE=podman + fi } # expands all directories into files @@ -161,6 +164,13 @@ *.dsc) CFFORMAT=debian ;; *) CFFORMAT=rpm ;; esac + # add --emailonly option for sles builds + if test "$CFFORMAT" = rpm ; then + case `queryconfig --dist "$BUILD_DIST" --configdir "$CONFIG_DIR" --archpath "$BUILD_ARCH" eval '%{?is_opensuse}/%{?!fullname_in_changelog:%{?suse_version}}'` in + *[1-9]*/*) ;; + */*[1-9]*) CFFORMAT="$CFFORMAT --emailonly" ;; + esac + fi echo "running changelog2spec --target $CFFORMAT --file $1" if ! $BUILD_DIR/changelog2spec --target $CFFORMAT --file "$1" > $BUILD_ROOT/.build-changelog ; then rm -f $BUILD_ROOT/.build-changelog @@ -175,6 +185,7 @@ test "$BUILDTYPE" = appimage && return 0 test "$BUILDTYPE" = docker && return 0 test "$BUILDTYPE" = fissile && return 0 + test "$BUILDTYPE" = podman && return 0 egrep '^#[[:blank:]]*needsbinariesforbuild[[:blank:]]*$' >/dev/null <"$1" && return 0 return 1 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-recipe-docker new/obs-build-20180816/build-recipe-docker --- old/obs-build-20180629/build-recipe-docker 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-recipe-docker 2018-08-16 17:00:23.000000000 +0200 @@ -58,10 +58,18 @@ base_image_path=$(find containers -regextype egrep -regex ".*\.(tgz|tar|tar\.xz|tar\.gz)$" -print -quit) test -f "$base_image_path" || cleanup_and_exit 1 "base image not found" - if ! $BUILD_DIR/startdockerd --root "$BUILD_ROOT" --webserver "$TOPDIR/SOURCES/repos" ; then - cleanup_and_exit 1 + if test "$BUILDENGINE" = "podman"; then + DOCKER_TOOL="podman" + if ! $BUILD_DIR/startdockerd --root "$BUILD_ROOT" --webserver-only "$TOPDIR/SOURCES/repos" ; then + cleanup_and_exit 1 + fi + else + DOCKER_TOOL="docker" + if ! $BUILD_DIR/startdockerd --root "$BUILD_ROOT" --webserver "$TOPDIR/SOURCES/repos" ; then + cleanup_and_exit 1 + fi + DOCKERD_STARTED=true fi - DOCKERD_STARTED=true cp $BUILD_DIR/obs-docker-support "$BUILD_ROOT/$TOPDIR/SOURCES/.obs-docker-support" chmod 755 "$BUILD_ROOT/$TOPDIR/SOURCES/.obs-docker-support" @@ -78,11 +86,11 @@ # "docker import" it. if tar -tf $base_image_path | grep "^manifest.json" -q; then echo "Layered image found" - chroot $BUILD_ROOT docker load --input $TOPDIR/SOURCES/$base_image_path + chroot $BUILD_ROOT $DOCKER_TOOL load --input $TOPDIR/SOURCES/$base_image_path else echo "Filesystem image found" desired_tag=$(grep "^\s*FROM" "$RECIPEFILE" | cut -d" " -f2) - chroot $BUILD_ROOT docker import $TOPDIR/SOURCES/$base_image_path "$desired_tag" + chroot $BUILD_ROOT $DOCKER_TOOL import $TOPDIR/SOURCES/$base_image_path "$desired_tag" fi # Prepare the package repository @@ -131,7 +139,7 @@ # now do the build echo "Building image $ALLTAGS" - if ! chroot $BUILD_ROOT docker build --network=host "${tagargs[@]}" -f "$TOPDIR/SOURCES/$RECIPEFILE" $TOPDIR/SOURCES/ ; then + if ! chroot $BUILD_ROOT $DOCKER_TOOL build --network=host "${tagargs[@]}" -f "$TOPDIR/SOURCES/$RECIPEFILE" $TOPDIR/SOURCES/ ; then cleanup_and_exit 1 "Docker build command failed" fi @@ -140,7 +148,7 @@ mkdir -p $BUILD_ROOT$TOPDIR/DOCKER FILENAME="$FIRSTTAG" FILENAME="${FILENAME//[\/:]/-}" - if ! chroot $BUILD_ROOT docker save --output "$TOPDIR/DOCKER/$FILENAME.tar" "$FIRSTTAG" ; then + if ! chroot $BUILD_ROOT $DOCKER_TOOL save --output "$TOPDIR/DOCKER/$FILENAME.tar" "$FIRSTTAG" ; then cleanup_and_exit 1 "Docker save command failed" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-recipe-kiwi new/obs-build-20180816/build-recipe-kiwi --- old/obs-build-20180629/build-recipe-kiwi 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-recipe-kiwi 2018-08-16 17:00:23.000000000 +0200 @@ -625,6 +625,7 @@ test -n "$DISTURL" && disturlarg=("--disturl" "$DISTURL") for r in $BUILD_ROOT/$TOPDIR/KIWI/*.tar ; do test -e "$r" && perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::showcontainerinfo -- "${disturlarg[@]}" --arch "${BUILD_ARCH%%:*}" --buildflavor "$BUILD_FLAVOR" $BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE "$r" > "${r%.tar}.containerinfo" + test -s "${r%.tar}.containerinfo" || rm -f "${r%.tar}.containerinfo" done } @@ -717,12 +718,15 @@ fi fi - for imgtype in $imagetype ; do - if test "$imgtype" = docker ; then - postprocess_kiwi_containers - break - fi - done + # postprocess docker images (but not for legacy kiwi) + if test -L "$BUILD_ROOT/usr/bin/kiwi" ; then + for imgtype in $imagetype ; do + if test "$imgtype" = docker ; then + postprocess_kiwi_containers + break + fi + done + fi } recipe_resultdirs_kiwi() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-recipe-podman new/obs-build-20180816/build-recipe-podman --- old/obs-build-20180629/build-recipe-podman 1970-01-01 01:00:00.000000000 +0100 +++ new/obs-build-20180816/build-recipe-podman 2018-08-16 17:00:23.000000000 +0200 @@ -0,0 +1,51 @@ +# +# podman specific functions, wrapper around build_recipe_docker +# +################################################################ +# +# Copyright (c) 2015 SUSE Linux 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 +# +################################################################ + +recipe_setup_podman() { + recipe_setup_docker "$@" +} + +recipe_prepare_podman() { + recipe_prepare_docker "$@" +} + +recipe_build_podman() { + # podman refuses : in directories + find containers -type d -a -name '*:*' | while read i; do + mv "$i" "${i//:/_}" + done + # and filenames + find containers -type f -a -name '*:*' | while read i; do + mv "$i" "${i//:/_}" + done + recipe_build_docker "$@" +} + +recipe_resultdirs_podman() { + recipe_resultdirs_docker "$@" +} + +recipe_cleanup_podman() { + recipe_cleanup_docker "$@" +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-vm new/obs-build-20180816/build-vm --- old/obs-build-20180629/build-vm 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-vm 2018-08-16 17:00:23.000000000 +0200 @@ -33,6 +33,10 @@ vm_img_mkfs_reiserfs='mkreiserfs -q -f' vm_img_mkfs_btrfs='mkfs.btrfs' vm_img_mkfs_xfs='mkfs.xfs -f' +# ignore not backward compatible ext fs options like metadata_csum +# Only protecting nonroot from root inside guest -> but anyone can be root inside guest +# so disabling spectre/meltdown mitigations doesn't hurt security and gains performance +vm_linux_kernel_parameter="ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off" # guest visible devices VM_ROOTDEV=/dev/hda1 @@ -599,6 +603,10 @@ date -s `cat /.build/.date` fi + # Enable Core dump generation + mkdir -p "$BUILD_ROOT/.build/cores" + echo "/.build/cores/%p" > /proc/sys/kernel/core_pattern + return 0 } @@ -780,7 +788,7 @@ if ! test "$MYSRCDIR" = $BUILD_ROOT/.build-srcdir ; then rm -rf "$BUILD_ROOT/.build-srcdir" mkdir "$BUILD_ROOT/.build-srcdir" - if test "$BUILDTYPE" = kiwi -o "$BUILDTYPE" = docker -o "$BUILDTYPE" = fissile ; then + if test "$BUILDTYPE" = kiwi -o "$BUILDTYPE" = docker -o "$BUILDTYPE" = fissile -o "$BUILDTYPE" = podman ; then cp -pRL "$MYSRCDIR"/* $BUILD_ROOT/.build-srcdir else cp -p "$MYSRCDIR"/* $BUILD_ROOT/.build-srcdir diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-vm-ec2 new/obs-build-20180816/build-vm-ec2 --- old/obs-build-20180629/build-vm-ec2 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-vm-ec2 2018-08-16 17:00:23.000000000 +0200 @@ -150,7 +150,7 @@ echo "" >> "$BUILD_ROOT/boot/grub/menu.lst" echo "title default" >> "$BUILD_ROOT/boot/grub/menu.lst" echo " root (hd0)" >> "$BUILD_ROOT/boot/grub/menu.lst" - echo " kernel /boot/vmlinuz root=/dev/sda1 xencons=xvc0 console=xvc0 splash=silent" >> "$BUILD_ROOT/boot/grub/menu.lst" + echo " kernel /boot/vmlinuz root=/dev/sda1 xencons=xvc0 console=xvc0 splash=silent $vm_linux_kernel_parameter" >> "$BUILD_ROOT/boot/grub/menu.lst" echo " initrd /boot/initrd" >> "$BUILD_ROOT/boot/grub/menu.lst" fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-vm-kvm new/obs-build-20180816/build-vm-kvm --- old/obs-build-20180629/build-vm-kvm 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-vm-kvm 2018-08-16 17:00:23.000000000 +0200 @@ -265,7 +265,10 @@ if test -n "$VMDISK_MOUNT_OPTIONS" ; then qemu_append="$qemu_append rootflags=${VMDISK_MOUNT_OPTIONS#-o }" fi - qemu_append="$qemu_append panic=1 quiet no-kvmclock nmi_watchdog=0 rw rd.driver.pre=binfmt_misc elevator=noop console=$kvm_console init=$vm_init_script" + qemu_append="$qemu_append $vm_linux_kernel_parameter" + qemu_append="$qemu_append panic=1 quiet no-kvmclock elevator=noop" + qemu_append="$qemu_append nmi_watchdog=0 rw rd.driver.pre=binfmt_misc" + qemu_append="$qemu_append console=$kvm_console init=$vm_init_script" if test -z "$VM_NETOPT" -a -z "$VM_NETDEVOPT"; then kvm_options="$kvm_options -net none" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-vm-pvm new/obs-build-20180816/build-vm-pvm --- old/obs-build-20180629/build-vm-pvm 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-vm-pvm 2018-08-16 17:00:23.000000000 +0200 @@ -187,7 +187,7 @@ insmod disk insmod elf set root='ieee1275//vdevice/v-scsi@30000002/disk@8100000000000000,msdos2' -linux /.build.kernel.kvm init=/.build/build console=hvc0 root=/dev/sda2 rw elevator=noop +linux /.build.kernel.kvm init=/.build/build console=hvc0 root=/dev/sda2 rw elevator=noop $vm_linux_kernel_parameter initrd /.build.initrd.kvm boot EOF diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-vm-xen new/obs-build-20180816/build-vm-xen --- old/obs-build-20180629/build-vm-xen 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-vm-xen 2018-08-16 17:00:23.000000000 +0200 @@ -82,7 +82,7 @@ XLDISK= XLDISK="\"${XMROOT#disk=}\"" test -n "$XMSWAP" && XLDISK="$XLDISK, \"${XMSWAP#disk=}\"" - set -- xl create -c $XEN_CONF_FILE name="\"build_$XENID\"" "disk=[ $XLDISK ]" extra=\""panic=1 quiet init="$vm_init_script" rd.driver.pre=binfmt_misc elevator=noop console=$VM_CONSOLE"\" + set -- xl create -c $XEN_CONF_FILE name="\"build_$XENID\"" "disk=[ $XLDISK ]" extra=\""panic=1 quiet init="$vm_init_script" rd.driver.pre=binfmt_misc $vm_linux_kernel_parameter elevator=noop console=$VM_CONSOLE"\" fi if test "$PERSONALITY" != 0 ; then # have to switch back to PER_LINUX to make xm work diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/build-vm-zvm new/obs-build-20180816/build-vm-zvm --- old/obs-build-20180629/build-vm-zvm 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/build-vm-zvm 2018-08-16 17:00:23.000000000 +0200 @@ -25,7 +25,7 @@ # lets go with the default parameters. However zvm_initrd will be a required parameter #zvm_kernel=/boot/image #zvm_initrd=/boot/initrd_worker -zvm_param="root=/dev/disk/by-path/ccw-0.0.0150-part1 hvc_iucv=8 console=hvc0" +zvm_param="root=/dev/disk/by-path/ccw-0.0.0150-part1 hvc_iucv=8 console=hvc0 $vm_linux_kernel_parameter" zvm_mult_pass="THR4ME" zvm_init_script="/.build/build" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/changelog2spec new/obs-build-20180816/changelog2spec --- old/obs-build-20180629/changelog2spec 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/changelog2spec 2018-08-16 17:00:23.000000000 +0200 @@ -40,6 +40,7 @@ my $zone; my $test; my $fulltimestamps; +my $emailonly; my $printtype; my $input = ''; my $target = 'rpm'; @@ -70,6 +71,11 @@ $target = shift @ARGV; next; } + if ($ARGV[0] eq '--emailonly') { + $emailonly = 1; + shift @ARGV; + next; + } last; } @@ -118,6 +124,7 @@ $dt = lc($dt); $who =~ s/^\s+//; $who =~ s/^-\s*//; + $who = $1 if $emailonly && $who =~ /\<(.*)\>/; $dt =~ /([0-9][0-9][0-9][0-9])/; $dline = $_; my $year = $1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/configs/arch.conf new/obs-build-20180816/configs/arch.conf --- old/obs-build-20180629/configs/arch.conf 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/configs/arch.conf 2018-08-16 17:00:23.000000000 +0200 @@ -13,7 +13,7 @@ Support: acl autoconf automake zlib bzip2 filesystem curl Support: libtool ncurses perl gpgme libarchive openssl libssh2 Support: libassuan libgpg-error attr expat xz pacman pacman-mirrorlist -Support: fakeroot file sudo patch make net-tools pkg-config inetutils +Support: fakeroot file sudo patch make net-tools pkgconf inetutils Support: bison flex gettext which Prefer: zlib ttf-dejavu diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/dist/build.changes new/obs-build-20180816/dist/build.changes --- old/obs-build-20180629/dist/build.changes 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/dist/build.changes 2018-08-16 17:00:23.000000000 +0200 @@ -1,4 +1,49 @@ ------------------------------------------------------------------- +Thu Aug 16 14:55:53 UTC 2018 - [email protected] + +- docker format: New podman/buildah build engine support +- Support for full names in changes files +- Set %url macro when seeing an Url: +- pacman CLI updates +- enable core dump generation in VM builds +- Disable kpti on guest kernel for performance and correctness +- support for e2fsprogs 1.43.1 with old kernels + +------------------------------------------------------------------- +Fri Jun 29 12:02:10 UTC 2018 - [email protected] + +- docker: + * use a correct prefixed label for disturl + * Support building multiple image types containing a docker image + * Set build user to root for docker/fissile builds + * Compress containers so that old kiwi versions can handle them + * Put obs-docker-support uninstall before the last user line + * Also pass arch and buildflavor when creating the containerinfo + * set disturl as container LABEL + * Uncompress kiwi generated containers + * build-vm-docker: type=bind instead of type=volume in --mount option +- computeblocklists/extractbuild: + * Tweak verbose logging of directories in computeblocklists/extractbuild + * add support for FIEMAP ioctl + * don't use bare F for file + * document and use alternate ioctl numbers + * more tweaks and sanity checks + * Fallback to encode/decode helpers if perl does not support 'Q' in pack/unpack + * Use 'eval' when querying the blocklist +- Misc: + * fix escaping in regexp + * log toplevel KIWI directories in verbose mode + * Split kiwi product parser in a separate function + * Always add extra dependencies when doing sysdeps expansion + * Fix REPOTYPE setting if the PKGCONFIG file is generated by a service + * support zypper's handling of versioned deps + * pam-modules got dropped on sles 15 + * testing for build specific filesystem, which are more important then worker defaults + * mark lint option as obsolete + * Make sure that we know all pre/vminstalls + + +------------------------------------------------------------------- Tue Apr 3 11:30:47 UTC 2018 - [email protected] - KIWI: Support OBS-Profiles kiwi annotation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/queryconfig new/obs-build-20180816/queryconfig --- old/obs-build-20180629/queryconfig 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/queryconfig 2018-08-16 17:00:23.000000000 +0200 @@ -27,6 +27,14 @@ use strict; use Build; +use Build::Rpm; + +sub evalmacros { + my ($config, $str) = @_; + my @xspec; + Build::Rpm::parse({%$config, 'save_expanded' => 1} , [ "$str" ], \@xspec); + return @xspec && ref($xspec[0]) ? $xspec[0]->[1] : ''; +} my ($dist, $archs, $configdir, $type, $argument); @@ -81,6 +89,10 @@ die("Specify which substitute to query\n") unless $argument; my @res = @{$cf->{'substitute'}->{$argument} || []}; print join(' ', @res)."\n" if @res; +} elsif ($type eq 'eval') { + die("Specify what to eval\n") unless defined $argument; + my $result = evalmacros($cf, $argument); + print "$result\n"; } else { die("unsupported query type: $type\n"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/spec2changelog new/obs-build-20180816/spec2changelog --- old/obs-build-20180629/spec2changelog 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/spec2changelog 2018-08-16 17:00:23.000000000 +0200 @@ -77,7 +77,7 @@ $head =~ s/^\s+//; $head =~ s/^\-\s+//; if ($head =~ m/^(.+?)\s*<(.+?\@.+?\..+?)>(\s*.*)$/) { - $head = $2; + $head = "$1 <$2>"; } elsif ($head =~ m/^<(.+?\@.+?\..+?)>(\s*.*)$/) { $head = $1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/startdockerd new/obs-build-20180816/startdockerd --- old/obs-build-20180629/startdockerd 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/startdockerd 2018-08-16 17:00:23.000000000 +0200 @@ -28,6 +28,7 @@ IS_UNSHARED= KILL= WEBSERVER= +WEBSERVER_ONLY= while test -n "$1" ; do case "$1" in @@ -39,6 +40,11 @@ WEBSERVER="$2" shift 2 ;; + --webserver-only) + WEBSERVER_ONLY="1" + WEBSERVER="$2" + shift 2 + ;; --isunshared) IS_UNSHARED=true shift @@ -80,7 +86,7 @@ rm -f $BUILD_ROOT/.startdockerd.pids -if test -z "$IS_UNSHARED" ; then +if test -z "$IS_UNSHARED" -a -z "$WEBSERVER_ONLY" ; then echo "Unsharing environment" # unshare mounts and network exec unshare -m -n $BUILD_DIR/startdockerd --isunshared --root "$BUILD_ROOT" --webserver "$WEBSERVER" "$@" @@ -130,6 +136,18 @@ # setup mounts test -e "$BUILD_ROOT/proc/self" || mount -n -tproc none $BUILD_ROOT/proc +if test -n "$WEBSERVER" ; then + echo "Starting local repository server" + $BUILD_DIR/dummyhttpserver "$BUILD_ROOT" "$WEBSERVER" & + WEBSERVER_PID=$! + echo "$CONTAINERD_PID $DOCKERD_PID $WEBSERVER_PID" > $BUILD_ROOT/.startdockerd.pids +fi + +if test -n "$WEBSERVER_ONLY" ; then + echo "SKIPPING DOCKERD" + exit 0 +fi + echo "Starting container daemon" CONTAINERD_BIN=/usr/sbin/containerd test -x $BUILD_ROOT/usr/bin/containerd && CONTAINERD_BIN=/usr/bin/containerd @@ -151,12 +169,5 @@ cleanup_and_exit 1 "Docker is dead" fi -if test -n "$WEBSERVER" ; then - echo "Starting local repository server" - $BUILD_DIR/dummyhttpserver "$BUILD_ROOT" "$WEBSERVER" & - WEBSERVER_PID=$! - echo "$CONTAINERD_PID $DOCKERD_PID $WEBSERVER_PID" > $BUILD_ROOT/.startdockerd.pids -fi - echo "Docker is running" exit 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/substitutedeps new/obs-build-20180816/substitutedeps --- old/obs-build-20180629/substitutedeps 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/substitutedeps 2018-08-16 17:00:23.000000000 +0200 @@ -296,6 +296,11 @@ $isbuildrequires = 1 if $line =~ /^BuildRequires/i; my $r = $line; $r =~ s/^[^:]*:\s*//; + if ($r =~ /^\(/) { + # no rich dependency support for now + print F "$line\n"; + next; + } my @deps = $r =~ /([^\s\[,]+)(\s+[<=>]+\s+[^\s\[,]+)?[\s,]*/g; my @ndeps = (); my $replace = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20180629/vc new/obs-build-20180816/vc --- old/obs-build-20180629/vc 2018-06-29 07:58:19.000000000 +0200 +++ new/obs-build-20180816/vc 2018-08-16 17:00:23.000000000 +0200 @@ -28,6 +28,14 @@ mailaddr="$USER@$domain" fi +if [ -n "$VC_REALNAME" ]; then + packager="$VC_REALNAME <$VC_MAILADDR>" +elif [ -x /usr/bin/rpmdev-packager ]; then + packager=`rpmdev-packager` +else + packager="`getent passwd $UID | cut -d: -f5 | cut -d ',' -f 1` <$mailaddr>" +fi + EDITOR=${EDITOR:-vim} date=`LC_ALL=POSIX TZ=UTC date` @@ -57,7 +65,7 @@ --help) echo "Usage: $0 [-m MESSAGE|-e] [filename[.changes]|path [file_with_comment]]" echo - echo "Will use '$mailaddr' for changelog entries" + echo "Will use '$packager' for changelog entries" echo echo "Options:" echo " -m MESSAGE add MESSAGE to changes (not open an editor)" @@ -122,7 +130,7 @@ { if [ ! $just_edit ]; then echo "-------------------------------------------------------------------" - echo "$date - $mailaddr" + echo "$date - $packager" echo fi if [ -n "$message" ]; then
