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 - adrian@suse.de
+
+- 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
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 - adrian@suse.de
+
+- 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 - FSchreiner@suse.com
+
+- 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 - adrian@suse.de
- 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