Hello community,

here is the log from the commit of package build for openSUSE:Factory checked 
in at 2018-12-19 13:23:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build (Old)
 and      /work/SRC/openSUSE:Factory/.build.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "build"

Wed Dec 19 13:23:05 2018 rev:119 rq:655732 version:20181206

Changes:
--------
--- /work/SRC/openSUSE:Factory/build/build.changes      2018-11-05 
22:47:35.620647553 +0100
+++ /work/SRC/openSUSE:Factory/.build.new.28833/build.changes   2018-12-19 
13:23:08.357402183 +0100
@@ -1,0 +2,18 @@
+Thu Dec  6 15:23:11 UTC 2018 - Adrian Schröter <adr...@suse.de>
+
+- support jumping into KVM debug shells using "--vm-type=kvm --shell"
+- adapt to new containerd CLI syntax
+- Support a new 'UseOBSRepositories' flag
+- lxc 3 support
+- power9 fixes
+- Generate a .milestone artifact for kiwi product builds
+- Support rpm's new '^' separator in version comparison
+- Allow to specify extra image repos with <!-- OBS-Imagerepo: -->
+- Rework release handling of containers
+
+-------------------------------------------------------------------
+Mon Nov 26 09:24:17 UTC 2018 - Max Lin <m...@suse.com>
+
+- Add Leap 15.1 config
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ build.spec ++++++
--- /var/tmp/diff_new_pack.J4CZni/_old  2018-12-19 13:23:10.133400017 +0100
+++ /var/tmp/diff_new_pack.J4CZni/_new  2018-12-19 13:23:10.137400012 +0100
@@ -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:        20181022
+Version:        20181206
 Release:        0
 Source:         obs-build-%{version}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.J4CZni/_old  2018-12-19 13:23:10.173399968 +0100
+++ /var/tmp/diff_new_pack.J4CZni/_new  2018-12-19 13:23:10.177399963 +0100
@@ -1,5 +1,5 @@
 pkgname=build
-pkgver=20181022
+pkgver=20181206
 pkgrel=0
 pkgdesc="Build packages in sandbox"
 arch=('i686' 'x86_64')

++++++ build.dsc ++++++
--- /var/tmp/diff_new_pack.J4CZni/_old  2018-12-19 13:23:10.205399930 +0100
+++ /var/tmp/diff_new_pack.J4CZni/_new  2018-12-19 13:23:10.205399930 +0100
@@ -1,6 +1,6 @@
 Format: 1.0
 Source: build
-Version: 20181022
+Version: 20181206
 Binary: build
 Maintainer: Adrian Schroeter <adr...@suse.de>
 Architecture: all

++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.J4CZni/_old  2018-12-19 13:23:10.225399905 +0100
+++ /var/tmp/diff_new_pack.J4CZni/_new  2018-12-19 13:23:10.225399905 +0100
@@ -1,4 +1,4 @@
-build (20181022) unstable; urgency=low
+build (20181206) unstable; urgency=low
 
   * Update to current git trunk
     - add sles11sp2 build config and adapt autodetection

++++++ obs-build-20181022.tar.gz -> obs-build-20181206.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/Build/Docker.pm 
new/obs-build-20181206/Build/Docker.pm
--- old/obs-build-20181022/Build/Docker.pm      2018-10-22 12:11:51.000000000 
+0200
+++ new/obs-build-20181206/Build/Docker.pm      2018-12-06 16:22:05.000000000 
+0100
@@ -139,6 +139,7 @@
 
   my $basecontainer;
   my $unorderedrepos;
+  my $useobsrepositories;
   my $dockerfile_data = slurp($fn);
   return { 'error' => 'could not open Dockerfile' } unless defined 
$dockerfile_data;
 
@@ -158,9 +159,15 @@
        my @tags = split(' ', $1);
        push @{$ret->{'containertags'}}, @tags if @tags;
       }
+      if ($line =~ /^#!BuildVersion:\s*(\S+)\s*$/) {
+       $ret->{'version'} = $1;
+      }
       if ($line =~ /^#!UnorderedRepos\s*$/) {
         $unorderedrepos = 1;
       }
+      if ($line =~ /^#!UseOBSRepositories\s*$/) {
+        $useobsrepositories = 1;
+      }
       next;
     }
     # add continuation lines
@@ -215,21 +222,41 @@
   }
   push @{$ret->{'deps'}}, "container:$basecontainer" if $basecontainer;
   push @{$ret->{'deps'}}, '--unorderedimagerepos' if $unorderedrepos;
+  my $version = $ret->{'version'};
+  my $release = $cf->{'buildrelease'};
+  for (@{$ret->{'containertags'} || []}) {
+    s/<VERSION>/$version/g if defined $version;
+    s/<RELEASE>/$release/g if defined $release;
+  }
+  $ret->{'path'} = [ { 'project' => '_obsrepositories', 'repository' => '' } ] 
if $useobsrepositories;
   return $ret;
 }
 
 sub showcontainerinfo {
-  my $disturl;
-  (undef, $disturl) = splice(@ARGV, 0, 2) if @ARGV > 2 && $ARGV[0] eq 
'--disturl';
+  my ($disturl, $release);
+  while (@ARGV) {
+    if (@ARGV > 2 && $ARGV[0] eq '--disturl') {
+      (undef, $disturl) = splice(@ARGV, 0, 2); 
+    } elsif (@ARGV > 2 && $ARGV[0] eq '--release') {
+      (undef, $release) = splice(@ARGV, 0, 2); 
+    } else {
+      last;
+    }   
+  }
   my ($fn, $image, $taglist, $annotationfile) = @ARGV;
   local $Build::Kiwi::urlmapper = sub { return $_[0] };
+  my $cf = {};
+  $cf->{'buildrelease'} = $release if defined $release;
   my $d = {};
-  $d = parse({}, $fn) if $fn;
+  $d = parse($cf, $fn) if $fn;
   die("$d->{'error'}\n") if $d->{'error'};
   $image =~ s/.*\/// if defined $image;
   my @tags = split(' ', $taglist);
   for (@tags) {
     $_ .= ':latest' unless /:[^:\/]+$/;
+    if (/:([0-9][^:]*)$/) {
+      $d->{'version'} = $1 unless defined $d->{'version'};
+    }
   }
   my @repos = @{$d->{'imagerepos'} || []};
   if ($annotationfile) {
@@ -254,14 +281,26 @@
   $containerinfo->{'repos'} = \@repos if @repos;
   $containerinfo->{'file'} = $image if defined $image;
   $containerinfo->{'disturl'} = $disturl if defined $disturl;
+  $containerinfo->{'version'} = $d->{'version'} if defined $d->{'version'};
+  $containerinfo->{'release'} = $release if defined $release;
   print Build::SimpleJSON::unparse($containerinfo)."\n";
 }
 
 sub showtags {
+  my ($release);
+  while (@ARGV) {
+    if (@ARGV > 2 && $ARGV[0] eq '--release') {
+      (undef, $release) = splice(@ARGV, 0, 2); 
+    } else {
+      last;
+    }   
+  }
   my ($fn) = @ARGV;
   local $Build::Kiwi::urlmapper = sub { return $_[0] };
+  my $cf = {};
+  $cf->{'buildrelease'} = $release if defined $release;
   my $d = {};
-  $d = parse({}, $fn) if $fn;
+  $d = parse($cf, $fn) if $fn;
   die("$d->{'error'}\n") if $d->{'error'};
   print "$_\n" for @{$d->{'containertags'} || []};
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/Build/Kiwi.pm 
new/obs-build-20181206/Build/Kiwi.pm
--- old/obs-build-20181022/Build/Kiwi.pm        2018-10-22 12:11:51.000000000 
+0200
+++ new/obs-build-20181206/Build/Kiwi.pm        2018-12-06 16:22:05.000000000 
+0100
@@ -105,11 +105,8 @@
   for my $repository (sort {$a->{priority} <=> $b->{priority}} 
@{$instsource->{'instrepo'} || []}) {
     my $kiwisource = ($repository->{'source'} || [])->[0];
     if ($kiwisource->{'path'} eq 'obsrepositories:/') {
-      # special case, OBS will expand it.
-      push @repos, '_obsrepositories';
-      next;
-    }
-    if ($kiwisource->{'path'} =~ /^obs:\/\/\/?([^\/]+)\/([^\/]+)\/?$/) {
+      push @repos, '_obsrepositories/';                # special case, OBS 
will expand it.
+    } elsif ($kiwisource->{'path'} =~ /^obs:\/\/\/?([^\/]+)\/([^\/]+)\/?$/) {
       push @repos, "$1/$2";
     } else {
       my $prp;
@@ -130,6 +127,7 @@
     for my $po (@{$productoptions->{'productoption'} || []}) {
       $ret->{'sourcemedium'} = $po->{'_content'} if $po->{'name'} eq 
'SOURCEMEDIUM';
       $ret->{'debugmedium'} = $po->{'_content'} if $po->{'name'} eq 
'DEBUGMEDIUM';
+      $ret->{'milestone'} = $po->{'_content'} if $po->{'name'} eq 
'BETA_VERSION';
     }
   }
   if ($instsource->{'architectures'}) {
@@ -231,6 +229,9 @@
     $obsprofiles = [ grep {defined($_)} map {$_ eq '@BUILD_FLAVOR@' ? 
$buildflavor : $_} split(' ', $obsprofiles) ];
   }
   $unorderedrepos = 1 if $xml =~ /^\s*<!--\s+OBS-UnorderedRepos\s+-->\s*$/im;
+  for ($xml =~ /^\s*<!--\s+OBS-Imagerepo:\s+(.*)\s+-->\s*$/img) {
+    push @imagerepos, { 'url' => $_ };
+  }
 
   my $schemaversion = $kiwi->{'schemaversion'} ? 
versionstring($kiwi->{'schemaversion'}) : 0;
   $ret->{'name'} = $kiwi->{'name'} if $kiwi->{'name'};
@@ -382,12 +383,10 @@
       push @imagerepos, $imagerepo;
     }
     next if $repository->{'imageonly'};
-    if ($kiwisource->{'path'} eq 'obsrepositories:/') {
-      push @repos, '_obsrepositories/';
-      next;
-    }
     my $prp;
-    if ($kiwisource->{'path'} =~ /^obs:\/{1,3}([^\/]+)\/([^\/]+)\/?$/) {
+    if ($kiwisource->{'path'} eq 'obsrepositories:/') {
+      $prp = '_obsrepositories/';
+    } elsif ($kiwisource->{'path'} =~ /^obs:\/{1,3}([^\/]+)\/([^\/]+)\/?$/) {
       $prp = "$1/$2";
     } else {
       $prp = $urlmapper->($kiwisource->{'path'}) if $urlmapper;
@@ -526,18 +525,26 @@
 }
 
 sub showcontainerinfo {
-  my ($disturl, $arch, $buildflavor);
-  (undef, $disturl) = splice(@ARGV, 0, 2) if @ARGV > 2 && $ARGV[0] eq 
'--disturl';
-  (undef, $arch) = splice(@ARGV, 0, 2) if @ARGV > 2 && $ARGV[0] eq '--arch';
-  (undef, $buildflavor) = splice(@ARGV, 0, 2) if @ARGV > 2 && $ARGV[0] eq 
'--buildflavor';
+  my ($disturl, $arch, $buildflavor, $release);
+  while (@ARGV) {
+    if (@ARGV > 2 && $ARGV[0] eq '--disturl') {
+      (undef, $disturl) = splice(@ARGV, 0, 2);
+    } elsif (@ARGV > 2 && $ARGV[0] eq '--arch') {
+      (undef, $arch) = splice(@ARGV, 0, 2);
+    } elsif (@ARGV > 2 && $ARGV[0] eq '--buildflavor') {
+      (undef, $buildflavor) = splice(@ARGV, 0, 2);
+    } elsif (@ARGV > 2 && $ARGV[0] eq '--release') {
+      (undef, $release) = splice(@ARGV, 0, 2);
+    } else {
+      last;
+    }
+  }
   my ($fn, $image) = @ARGV;
   local $urlmapper = sub { return $_[0] };
-  my $release;
-  $release = $1 if $image =~ /.*-Build(\d+\.\d+).*/;
   my $cf = {};
   $cf->{'arch'} = $arch if defined $arch;
   $cf->{'buildflavor'} = $buildflavor if defined $buildflavor;
-  $cf->{'buildrelease'} = $release if $release;
+  $cf->{'buildrelease'} = $release if defined $release;
   my $d = parse($cf, $fn);
   die("$d->{'error'}\n") if $d->{'error'};
   $image =~ s/.*\/// if defined $image;
@@ -553,7 +560,7 @@
     '_type' => {'buildtime' => 'number'},
   };
   $containerinfo->{'version'} = $d->{'version'} if defined $d->{'version'};
-  $containerinfo->{'release'} = $release if defined $d->{'version'};
+  $containerinfo->{'release'} = $release if defined $release;
   $containerinfo->{'tags'} = $d->{'container_tags'} if 
@{$d->{'container_tags'} || []};
   $containerinfo->{'repos'} = \@repos if @repos;
   $containerinfo->{'file'} = $image if defined $image;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/Build/Rpm.pm 
new/obs-build-20181206/Build/Rpm.pm
--- old/obs-build-20181022/Build/Rpm.pm 2018-10-22 12:11:51.000000000 +0200
+++ new/obs-build-20181206/Build/Rpm.pm 2018-12-06 16:22:05.000000000 +0100
@@ -898,13 +898,18 @@
   return 1 if !defined $s2;
   return 0 if $s1 eq $s2;
   while (1) {
-    $s1 =~ s/^[^a-zA-Z0-9~]+//;
-    $s2 =~ s/^[^a-zA-Z0-9~]+//;
+    $s1 =~ s/^[^a-zA-Z0-9~\^]+//;
+    $s2 =~ s/^[^a-zA-Z0-9~\^]+//;
     if ($s1 =~ s/^~//) {
       next if $s2 =~ s/^~//;
       return -1;
     }
     return 1 if $s2 =~ /^~/;
+    if ($s1 =~ s/^\^//) {
+      next if $s2 =~ s/^\^//;
+      return $s2 eq '' ? 1 : -1;
+    }
+    return $s1 eq '' ? -1 : 1 if $s2 =~ /^\^/;
     if ($s1 eq '') {
       return $s2 eq '' ? 0 : -1;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-pkg-deb 
new/obs-build-20181206/build-pkg-deb
--- old/obs-build-20181022/build-pkg-deb        2018-10-22 12:11:51.000000000 
+0200
+++ new/obs-build-20181206/build-pkg-deb        2018-12-06 16:22:05.000000000 
+0100
@@ -21,6 +21,8 @@
 #
 ################################################################
 
+DEB_UNSAFE_IO=
+
 #
 # A wrapper around chroot to set the environment correctly for dpkg and
 # pre/postinst scripts.
@@ -57,15 +59,19 @@
        rm -f $BUILD_ROOT/.init_b_cache/dpkg.deb
        cp $BUILD_ROOT/.init_b_cache/rpms/dpkg.deb 
$BUILD_ROOT/.init_b_cache/dpkg.deb || cleanup_and_exit 1
     fi
-    deb_chroot $BUILD_ROOT dpkg --install --force-unsafe-io --force-depends 
.init_b_cache/dpkg.deb >/dev/null 2>&1
+    DEB_UNSAFE_IO=
+    chroot $BUILD_ROOT dpkg --force-unsafe-io --version >/dev/null 2>&1 && 
DEB_UNSAFE_IO="--force-unsafe-io"
+    deb_chroot $BUILD_ROOT dpkg --install $DEB_UNSAFE_IO --force-depends 
.init_b_cache/dpkg.deb >/dev/null 2>&1
 }
 
 pkg_prepare_deb() {
-    :
+    # test if dpkg knows --force-unsafe-io
+    DEB_UNSAFE_IO=
+    chroot $BUILD_ROOT dpkg --force-unsafe-io --version >/dev/null 2>&1 && 
DEB_UNSAFE_IO="--force-unsafe-io"
 }
 
 pkg_install_deb() {
-    ( deb_chroot $BUILD_ROOT dpkg --install --force-unsafe-io --force-depends 
.init_b_cache/$PKG.deb 2>&1 || touch $BUILD_ROOT/exit ) | \
+    ( deb_chroot $BUILD_ROOT dpkg --install $DEB_UNSAFE_IO --force-depends 
.init_b_cache/$PKG.deb 2>&1 || touch $BUILD_ROOT/exit ) | \
        perl -ne '$|=1;/^(Configuration file|Installing new config 
file|Selecting previously deselected|Selecting previously unselected|\(Reading 
database|Unpacking |Setting up|Creating config file|Preparing to replace 
dpkg|Preparing to unpack )/||/^$/||print'
     # ugly workaround for upstart system. some packages (procps) try
     # to start a service in their configure phase. As we don't have
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-recipe 
new/obs-build-20181206/build-recipe
--- old/obs-build-20181022/build-recipe 2018-10-22 12:11:51.000000000 +0200
+++ new/obs-build-20181206/build-recipe 2018-12-06 16:22:05.000000000 +0100
@@ -137,7 +137,7 @@
                        snapcraft) types="snapcraft.yaml" ;;
                    esac
                fi
-               types="$types .spec .dsc PKGBUILD build.collax .kiwi .src.rpm 
.nosrc.rpm simpleimage snapcraft.yaml"
+               types="$types .spec .dsc PKGBUILD Dockerfile build.collax .kiwi 
.src.rpm .nosrc.rpm simpleimage snapcraft.yaml"
            fi
            for t in $types ; do
                found=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-recipe-debootstrap 
new/obs-build-20181206/build-recipe-debootstrap
--- old/obs-build-20181022/build-recipe-debootstrap     2018-10-22 
12:11:51.000000000 +0200
+++ new/obs-build-20181206/build-recipe-debootstrap     2018-12-06 
16:22:05.000000000 +0100
@@ -45,8 +45,10 @@
     done
     FULL_PKG_LIST="${FULL_PKG_LIST#,}"
     rm -rf "$BUILD_ROOT/$myroot"
-    mkdir -p "$BUILD_ROOT/$myroot/etc/dpkg/dpkg.cfg.d"
-    echo force-unsafe-io > 
"$BUILD_ROOT/$myroot/etc/dpkg/dpkg.cfg.d/force-unsafe-io"
+    if chroot $BUILD_ROOT dpkg --force-unsafe-io --version >/dev/null 2>&1 ; 
then
+       mkdir -p "$BUILD_ROOT/$myroot/etc/dpkg/dpkg.cfg.d"
+       echo force-unsafe-io > 
"$BUILD_ROOT/$myroot/etc/dpkg/dpkg.cfg.d/force-unsafe-io"
+    fi
 
     set -- chroot $BUILD_ROOT debootstrap --keep-debootstrap-dir 
--no-check-gpg --variant=buildd --arch="${arch}" --include="$FULL_PKG_LIST" 
"$dist" "$myroot" file:///.build.binaries
     echo "running debootstrap..."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-recipe-docker 
new/obs-build-20181206/build-recipe-docker
--- old/obs-build-20181022/build-recipe-docker  2018-10-22 12:11:51.000000000 
+0200
+++ new/obs-build-20181206/build-recipe-docker  2018-12-06 16:22:05.000000000 
+0100
@@ -68,8 +68,8 @@
         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"
@@ -84,12 +84,12 @@
     # Inspect the content of the image to decide if this is a layered image
     # or a filesystem one. We need to know if we will "docker load" it or
     # "docker import" it.
-    if tar -tf $base_image_path | grep "^manifest.json" -q; then
+    if tar -tf $base_image_path | grep -q "^manifest.json" ; then
         echo "Layered image found"
         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)
+        desired_tag=$(grep "^\s*FROM" "$RECIPEFILE" | head -n 1 | cut -d" " 
-f2)
         chroot $BUILD_ROOT $DOCKER_TOOL import 
$TOPDIR/SOURCES/$base_image_path "$desired_tag"
     fi
 
@@ -101,13 +101,16 @@
        chroot $BUILD_ROOT bash -c "cd $TOPDIR/SOURCES/repos && 
dpkg-scanpackages -m . | gzip > Packages.gz"
     fi
 
-    # Find tags
+    # find tags, first look into recipe file
     FIRSTTAG=
     ALLTAGS=
+    args=()
+    test -n "$RELEASE" && args=("${args[@]}" --release "$RELEASE")
     for t in $(perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::showtags 
"$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE") ; do
        test -n "$FIRSTTAG" || FIRSTTAG="$t"
         ALLTAGS="$ALLTAGS $t"
     done
+    # if we did not find a tag, look info a file called TAG
     if test -z "$FIRSTTAG" -a -f TAG ; then
        for t in $(egrep -v '^#' TAG) ; do
            test -n "$FIRSTTAG" || FIRSTTAG="$t"
@@ -143,19 +146,22 @@
         cleanup_and_exit 1 "Docker build command failed"
     fi
 
-    # Save the resulting image to a tarball. Use tag for generating the file 
name.
-    echo "Saving image $FIRSTTAG"
+    # Save the resulting image to a tarball. Use first tag for generating the 
file name.
     mkdir -p $BUILD_ROOT$TOPDIR/DOCKER
     FILENAME="$FIRSTTAG"
     FILENAME="${FILENAME//[\/:]/-}"
+    FILENAME="$FILENAME.${BUILD_ARCH%%:*}"
+    test -n "$RELEASE" && FILENAME="$FILENAME-$RELEASE"
+    echo "Saving image $FIRSTTAG to $FILENAME.tar"
     if ! chroot $BUILD_ROOT $DOCKER_TOOL save --output 
"$TOPDIR/DOCKER/$FILENAME.tar" "$FIRSTTAG" ; then
         cleanup_and_exit 1 "Docker save command failed"
     fi
     
     # Create containerinfo
-    disturlarg=()
-    test -n "$DISTURL" && disturlarg=("--disturl" "$DISTURL")
-    perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::showcontainerinfo -- 
"${disturlarg[@]}" "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE" "$FILENAME.tar" 
"$ALLTAGS" containers/annotation> 
"$BUILD_ROOT$TOPDIR/DOCKER/$FILENAME.containerinfo"
+    args=()
+    test -n "$DISTURL" && args=("${args[@]}" --disturl "$DISTURL")
+    test -n "$RELEASE" && args=("${args[@]}" --release "$RELEASE")
+    perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::showcontainerinfo -- 
"${args[@]}" "$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE" "$FILENAME.tar" 
"$ALLTAGS" containers/annotation > 
"$BUILD_ROOT$TOPDIR/DOCKER/$FILENAME.containerinfo"
 
     # We're done. Clean up.
     recipe_cleanup_docker
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-recipe-fissile 
new/obs-build-20181206/build-recipe-fissile
--- old/obs-build-20181022/build-recipe-fissile 2018-10-22 12:11:51.000000000 
+0200
+++ new/obs-build-20181206/build-recipe-fissile 2018-12-06 16:22:05.000000000 
+0100
@@ -117,9 +117,10 @@
            cleanup_and_exit 1 "Docker save command failed"
         fi
        # Create containerinfo
-       disturlarg=()
-       test -n "$DISTURL" && disturlarg=("--disturl" "$DISTURL")
-       perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::showcontainerinfo 
-- "${disturlarg[@]}" '' "$filename.tar" "$image" containers/annotation> 
"$BUILD_ROOT$TOPDIR/FISSILE/$filename.containerinfo"
+       args=()
+       test -n "$DISTURL" && args=("${args[@]}" --disturl "$DISTURL")
+       test -n "$RELEASE" && args=("${args[@]}" --release "$RELEASE")
+       perl -I$BUILD_DIR -MBuild::Docker -e Build::Docker::showcontainerinfo 
-- "${args[@]}" '' "$filename.tar" "$image" containers/annotation > 
"$BUILD_ROOT$TOPDIR/FISSILE/$filename.containerinfo"
     done
 
     recipe_cleanup_fissile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-recipe-kiwi 
new/obs-build-20181206/build-recipe-kiwi
--- old/obs-build-20181022/build-recipe-kiwi    2018-10-22 12:11:51.000000000 
+0200
+++ new/obs-build-20181206/build-recipe-kiwi    2018-12-06 16:22:05.000000000 
+0100
@@ -347,6 +347,7 @@
 }
 
 perform_product_bundle() {
+    local milestone=$(kiwi_query_recipe milestone)
     pushd $BUILD_ROOT/$TOPDIR/KIWIROOT/main
     for i in * ; do
        test -e "$i" || continue
@@ -357,7 +358,10 @@
                    fi
                    mv "$i" $BUILD_ROOT/$TOPDIR/KIWI/. ;;
            *.packages) mv $i $BUILD_ROOT/$TOPDIR/OTHER/. ;;
-           *.report) mv $i $BUILD_ROOT/$TOPDIR/OTHER/. ;;
+           *.report)
+               mv $i $BUILD_ROOT/$TOPDIR/OTHER/.
+               test -n "$milestone" && echo "$milestone" > 
$BUILD_ROOT/$TOPDIR/OTHER/${i%.report}.milestone
+               ;;
            scripts) ;;
            *0) ;;
            *) test -d $i -a "$drop_repo" != true  && mv $i 
$BUILD_ROOT/$TOPDIR/KIWI/. ;;
@@ -629,10 +633,11 @@
     done
 
     # create container info
-    local disturlarg=()
-    test -n "$DISTURL" && disturlarg=("--disturl" "$DISTURL")
+    local args=(--arch "${BUILD_ARCH%%:*}" --buildflavor "$BUILD_FLAVOR")
+    test -n "$DISTURL" && args=("${args[@]}" --disturl "$DISTURL")
+    test -n "$RELEASE" && args=("${args[@]}" --release "$RELEASE")
     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 -e "$r" && perl -I$BUILD_DIR -MBuild::Kiwi -e 
Build::Kiwi::showcontainerinfo -- "${args[@]}" 
$BUILD_ROOT/$TOPDIR/SOURCES/$RECIPEFILE "$r" > "${r%.tar}.containerinfo"
        test -s "${r%.tar}.containerinfo" || rm -f "${r%.tar}.containerinfo"
     done
     if test -n "$KIWI_DERIVED_CONTAINER" ; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-vm 
new/obs-build-20181206/build-vm
--- old/obs-build-20181022/build-vm     2018-10-22 12:11:51.000000000 +0200
+++ new/obs-build-20181206/build-vm     2018-12-06 16:22:05.000000000 +0100
@@ -877,6 +877,9 @@
     umount -n $BUILD_ROOT/mnt 2> /dev/null || true
 
     vm_init_script="/.build/build"
+    if test -n "$RUN_SHELL"; then
+        vm_init_script="/bin/bash"
+    fi
     if check_use_emulator ; then
        vm_init_script="/.build/$INITVM_NAME"
     fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-vm-kvm 
new/obs-build-20181206/build-vm-kvm
--- old/obs-build-20181022/build-vm-kvm 2018-10-22 12:11:51.000000000 +0200
+++ new/obs-build-20181206/build-vm-kvm 2018-12-06 16:22:05.000000000 +0100
@@ -30,6 +30,7 @@
 kvm_serial_device=
 kvm_rng_device=virtio-rng-pci
 kvm_options=
+kvm_cpu="-cpu host"
 
 kvm_check_ppc970() {
     if ! grep -q -E 
'(kvm_rma_count.*kvm_hpt_count)|(kvm_hpt_count.*kvm_rma_count)' /proc/cmdline ; 
then 
@@ -73,7 +74,7 @@
        armv7l)
            kvm_bin="/usr/bin/qemu-system-arm"
            kvm_console=ttyAMA0
-           kvm_options="-enable-kvm -M virt -cpu host"
+           kvm_options="-enable-kvm -M virt"
            vm_kernel=/boot/zImage
            vm_initrd=/boot/initrd
            # prefer the guest kernel/initrd
@@ -88,12 +89,13 @@
            vm_kernel=/boot/Image
            vm_initrd=/boot/initrd
             if test "${BUILD_ARCH#aarch}" != "$BUILD_ARCH" -o 
"${BUILD_ARCH#armv8}" != "$BUILD_ARCH"; then
-               kvm_options="-enable-kvm -cpu host"
+               kvm_options="-enable-kvm"
                test -e /boot/Image.guest && vm_kernel=/boot/Image.guest
                test -e /boot/initrd.guest && vm_initrd=/boot/initrd.guest
            else
                # Running an armv7 kernel on aarch64
-               kvm_options="-enable-kvm -cpu host,aarch64=off"
+               kvm_options="-enable-kvm"
+               kvm_cpu="-cpu host,aarch64=off"
                # prefer the guest kernel/initrd
                test -e /boot/Image.guest32 && vm_kernel=/boot/Image.guest32
                test -e /boot/initrd.guest32 && vm_initrd=/boot/initrd.guest32
@@ -129,6 +131,7 @@
            fi
            grep -q "pSeries" /proc/cpuinfo && kvm_device=scsi-hd       # no 
virtio on pSeries
            grep -q "PowerNV" /proc/cpuinfo || kvm_device=scsi-hd       # no 
virtio on ppc != power7 yet
+           grep -q "POWER9" /proc/cpuinfo && kvm_cpu="-cpu host,compat=power8"
            ;;
        s390|s390x)
            kvm_bin="/usr/bin/qemu-system-s390x"
@@ -257,7 +260,6 @@
        qemu_args=("${qemu_args[@]}" "-smp" 
"$BUILD_JOBS,threads=$BUILD_THREADS")
     fi
     if test "$VM_TYPE" = kvm ; then
-       test "$kvm_console" != ttyAMA0 && kvm_options="$kvm_options -cpu host"
        test -n "$HUGETLBFSPATH" && kvm_options="$kvm_options -mem-prealloc 
-mem-path $HUGETLBFSPATH"
     fi
     qemu_append="root=$VM_ROOTDEV"
@@ -280,7 +282,7 @@
     if test -n "$VM_CUSTOMOPT"; then
         kvm_options="$kvm_options $VM_CUSTOMOPT"
     fi
-    set -- $qemu_bin -nodefaults -no-reboot -nographic -vga none $kvm_options \
+    set -- $qemu_bin -nodefaults -no-reboot -nographic -vga none $kvm_cpu 
$kvm_options \
        -kernel $vm_kernel \
        -initrd $vm_initrd \
        -append "$qemu_append" \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/build-vm-lxc 
new/obs-build-20181206/build-vm-lxc
--- old/obs-build-20181022/build-vm-lxc 2018-10-22 12:11:51.000000000 +0200
+++ new/obs-build-20181206/build-vm-lxc 2018-12-06 16:22:05.000000000 +0100
@@ -55,11 +55,21 @@
     LXCDIR="`lxc-config lxc.lxcpath`/$LXCID"
     LXCROOTFS="$LXCDIR/rootfs"
     LXCHOOK="$LXCDIR/pre-mount.hook"
+    LXCVERSION="$(lxc-create --version)"
     cat $BUILD_DIR/lxc.conf > "$LXCCONF"
     cat >> "$LXCCONF" <<-EOF
        lxc.rootfs = $LXCROOTFS
        lxc.hook.pre-mount = $LXCHOOK
        EOF
+    case "$LXCVERSION" in
+        3.*)
+            sed -i \
+                -e 's/lxc\.aa_profile = /lxc.apparmor.profile = /' \
+                -e 's/lxc\.console = /lxc.console.path = /' \
+                -e 's/lxc\.rootfs = /lxc.rootfs.path = dir:/' \
+                "$LXCCONF"
+            ;;
+    esac
     # XXX: do this always instead of leaking the hosts' one?
     echo "rootfs / rootfs rw 0 0" > $BUILD_ROOT/etc/mtab
     lxc-destroy -n "$LXCID" >/dev/null 2>&1 || true
@@ -69,8 +79,8 @@
        mount --bind "$BUILD_ROOT" "$LXCROOTFS"
        EOF
     chmod a+x "$LXCHOOK"
-    case "$(lxc-create --version)" in
-        1.0.8|1.1.*|2.*)
+    case "$LXCVERSION" in
+        1.0.8|1.1.*|[23].*)
            lxc-create -n "$LXCID" -f "$LXCCONF" -t none || cleanup_and_exit 1
            lxc-start -n "$LXCID" -F "$vm_init_script"
            ;;
@@ -78,7 +88,17 @@
            lxc-create -n "$LXCID" -f "$LXCCONF" || cleanup_and_exit 1
            lxc-start -n "$LXCID" "$vm_init_script"
            ;;
+        *)
+           echo "Unsupported lxc version $LXCVERSION!" >&2
+           cleanup_and_exit 1
+           ;;
     esac
+    if ! [ -r "$BUILD_ROOT/.build/_exitcode" ]; then
+        echo "'$BUILD_ROOT/.build/_exitcode' not found"
+        return 3
+    fi
+    exitcode=$(cat $BUILD_ROOT/.build/_exitcode)
+    return "$exitcode"
 }
 
 vm_startup_lxc_libvirt() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/configs/sl15.1.conf 
new/obs-build-20181206/configs/sl15.1.conf
--- old/obs-build-20181022/configs/sl15.1.conf  1970-01-01 01:00:00.000000000 
+0100
+++ new/obs-build-20181206/configs/sl15.1.conf  2018-12-06 16:22:05.000000000 
+0100
@@ -0,0 +1,962 @@
+
+Release: lp151.<CI_CNT>.<B_CNT>
+%define gcc_version 7
+
+# Help with the switch to the gcc7 provided libs
+Prefer: -libstdc++6-gcc7 -libtsan0-gcc7 -libgomp1-gcc7 -libgcc_s1-gcc7 
-libatomic1-gcc7 -libcilkrts5-gcc7 -libitm1-gcc7
+Prefer: -liblsan0-gcc7 -libmpx2-gcc7 -libubsan0-gcc7
+
+Substitute: kiwi-setup:image python3-kiwi createrepo_c
+Substitute: kiwi-image:tbz   python3-kiwi
+Substitute: kiwi-image:docker python3-kiwi kiwi-image-docker-requires
+
+Prefer: kiwi-filesystem-requires
+Prefer: kiwi-image-docker-requires
+Prefer: kiwi-image-iso-requires
+Prefer: kiwi-image-vmx-requires
+
+# Migration to product builder
+Substitute: kiwi-packagemanager:instsource product-builder-plugin-Tumbleweed
+Substitute: system-packages:kiwi-product product-builder
+
+# allow builds using docker tool
+Substitute: build-packages:kiwi !systemd-mini !libsystemd0-mini !libudev-mini1 
!udev-mini openSUSE-release-ftp
+
+# To build ISO images
+Substitute: build-packages:iso !systemd-mini !udev-mini !krb5-mini 
!libsystemd0-mini
+
+# create conflicts for packages installed into the target image
+Substitute: build-packages:kiwi !systemd-mini !udev-mini !krb5-mini 
!libsystemd0-mini
+Substitute: kiwi python3-kiwi
+
+Prefer: installation-images-openSUSE installation-images-debuginfodeps-openSUSE
+
+# switch to kiwi v8
+Prefer: python3-kiwi
+
+# LUA namespace migration - slowly moving to the new names (keep ports in 
mind!)
+# lua, lua51, lua52 and lua53 all provide 'lua'; version 5.3 is the 'target'; 
lua will be deleted in the future
+Prefer: lua53 lua51 lua52 lua
+Prefer: liblua5_3-5 liblua5_1-5 liblua5_2-5
+Prefer: lua53-devel lua51-devel lua52-devel
+Prefer: libtolua++-5_3-devel libtolua++-5_1-devel libtolua++-5_2-devel
+Prefer: -liblua5_3 -liblua5_1 -liblua5_2
+
+Preinstall: liblua5_3-5
+
+FileProvides: /bin/csh tcsh
+FileProvides: /bin/logger util-linux-systemd
+FileProvides: /sbin/netconfig sysconfig-netconfig
+FileProvides: /sbin/setcap libcap-progs
+FileProvides: /usr/bin/csh tcsh
+FileProvides: /usr/bin/docbook2man docbook-utils
+FileProvides: /usr/bin/eu-nm elfutils
+FileProvides: /usr/bin/fipscheck fipscheck
+FileProvides: /usr/bin/killall psmisc
+FileProvides: /usr/bin/mimencode metamail
+FileProvides: /usr/bin/mkisofs mkisofs
+FileProvides: /usr/bin/pkg-config pkg-config
+FileProvides: /usr/bin/python python-base
+FileProvides: /usr/bin/python2 python2-base
+FileProvides: /usr/bin/python3 python3-base
+FileProvides: /usr/bin/setfacl acl
+FileProvides: /usr/bin/sg_inq sg3_utils
+FileProvides: /usr/bin/tput ncurses-utils
+FileProvides: /usr/bin/xmllint libxml2-tools
+FileProvides: /usr/bin/Xvfb xorg-x11-server
+FileProvides: /usr/sbin/groupadd shadow
+FileProvides: /usr/sbin/lockdev lockdev
+FileProvides: /usr/sbin/useradd shadow
+FileProvides: /usr/sbin/usermod shadow
+
+Preinstall: aaa_base attr bash coreutils diffutils
+Preinstall: filesystem fillup glibc grep
+Preinstall: libbz2-1 libgcc_s1 libncurses6 pam
+Preinstall: permissions libreadline7 rpm sed tar libz1 libselinux1
+Preinstall: liblzma5 libcap2 libacl1 libattr1
+Preinstall: libpopt0 libelf1
+Preinstall: libpcre1
+
+Runscripts: aaa_base
+
+Prefer: libdb-4_8-devel
+VMinstall: util-linux libmount1 perl-base libdb-4_8 libsepol1 libblkid1 
libuuid1 libsmartcols1
+VMinstall: kernel-obs-build
+VMInstall: net-tools-deprecated
+
+# we only have a 64bit kernel
+ExportFilter: ^kernel-obs-build.*\.x86_64\.rpm$ . i586
+
+ExportFilter: \.x86_64\.rpm$ x86_64
+ExportFilter: \.ia64\.rpm$ ia64
+ExportFilter: \.s390x\.rpm$ s390x
+ExportFilter: \.ppc64\.rpm$ ppc64
+ExportFilter: \.ppc64le\.rpm$ ppc64le
+ExportFilter: \.ppc\.rpm$ ppc
+ExportFilter: -ia32-.*\.rpm$
+ExportFilter: -32bit-.*\.sparc64\.rpm$
+ExportFilter: -64bit-.*\.sparcv9\.rpm$
+ExportFilter: -64bit-.*\.aarch64_ilp32\.rpm$
+ExportFilter: \.armv7l\.rpm$ armv7l
+ExportFilter: \.armv7hl\.rpm$ armv7l
+ExportFilter: ^glibc(?:-devel)?-32bit-.*\.sparc64\.rpm$ sparc64
+ExportFilter: ^glibc(?:-devel)?-64bit-.*\.sparcv9\.rpm$ sparcv9
+ExportFilter: ^acroread.*\.i586.rpm$ . x86_64
+ExportFilter: ^avmailgate.*\.i586.rpm$ . x86_64
+ExportFilter: ^avmailgate.*\.ppc.rpm$ . ppc64
+ExportFilter: ^avmailgate.*\.s390.rpm$ . s390x
+ExportFilter: ^flash-player.*\.i586.rpm$ . x86_64
+ExportFilter: ^novell-messenger-client.*\.i586.rpm$ . x86_64
+ExportFilter: ^openCryptoki-32bit.*\.s390.rpm$ . s390x
+
+Required: rpm-build
+# Build all packages with -pie enabled
+Required: gcc-PIE
+
+# the basic stuff
+Support: perl build-mkbaselibs
+Prefer:  build-mkbaselibs
+Support: brp-check-suse
+Support: post-build-checks rpmlint-Factory
+# Add hostname so that OBS/build will have a chance to identify the hostname 
(instead of localhost)
+Support: hostname
+
+Support: build-compare
+Support: brp-extract-appdata
+Support: brp-extract-translations
+Support: rpmlint-Factory-strict
+
+%ifarch ia64
+Support: libunwind libunwind-devel
+Preinstall: libunwind
+%endif
+
+### Branding related preferences
+Prefer: awesome:awesome-branding-upstream
+Prefer: bundle-lang-gnome:gnome-session-branding-openSUSE
+Prefer: cinnamon-gschemas:cinnamon-gschemas-branding-upstream
+Prefer: enlightenment-theme-upstream
+Prefer: exo-data:exo-branding-upstream
+Prefer: fcitx:fcitx-branding-openSUSE
+Prefer: gdm:gdm-branding-upstream
+Prefer: gfxboot-branding-openSUSE -gfxboot-branding-basedonopensuse
+Prefer: glib2:glib2-branding-upstream
+Prefer: gnome-panel:gnome-panel-branding-upstream
+Prefer: gnome-session:gconf2-branding-openSUSE
+Prefer: gnome-session:gnome-session-branding-openSUSE
+Prefer: icewm-theme-branding
+Prefer: kde4-kdm:kde4-kdm-branding-upstream
+Prefer: kdebase4-workspace:kdebase4-workspace-branding-upstream
+Prefer: kdelibs4-branding:kdelibs4-branding-upstream
+Prefer: kdelibs4:kdelibs4-branding-upstream
+Prefer: kdm:kdm-branding-upstream
+Prefer: libcinnamon-desktop-data:libcinnamon-desktop-data-branding-upstream
+Prefer: libexo-1-0:libexo-1-0-branding-upstream
+Prefer: libgarcon-1-0:libgarcon-branding-upstream
+Prefer: libgarcon-data:libgarcon-branding-upstream
+Prefer: libgio-2_0-0:gio-branding-upstream
+Prefer: libglib-2_0-0:glib2-branding-upstream
+Prefer: libpurple-branding-upstream
+Prefer: libreoffice:libreoffice-branding-upstream
+Prefer: libsocialweb:libsocialweb-branding-upstream
+Prefer: libxfce4ui:libxfce4ui-branding-upstream
+Prefer: lightdm-gtk-greeter:lightdm-gtk-greeter-branding-upstream
+Prefer: mate-desktop-gschemas:mate-desktop-gschemas-branding-upstream
+Prefer: NetworkManager:NetworkManager-branding-openSUSE
+Prefer: PackageKit:PackageKit-branding-upstream
+Prefer: plasma5-desktop:plasma5-desktop-branding-upstream
+Prefer: plasma5-workspace:plasma5-workspace-branding-upstream
+Prefer: sddm:sddm-branding-upstream
+Prefer: systemd-presets-branding-openSUSE
+Prefer: wallpaper-branding-openSUSE
+Prefer: xfce4-notifyd:xfce4-notifyd-branding-upstream
+Prefer: xfce4-settings:xfce4-settings-branding-upstream
+Prefer: xfdesktop:xfdesktop-branding-upstream
+Prefer: yast2-branding-openSUSE
+Prefer: yast2-qt:yast2-qt-branding-openSUSE
+Prefer: yast2-theme-openSUSE
+
+# Build cycle handling - prefer -mini packages were possible, break deps as 
needed
+Conflict: krb5-devel:krb5-mini
+Conflict: krb5:krb5-mini-devel
+Prefer: gettext-tools-mini gettext-runtime-mini
+Prefer: ghostscript-mini
+Prefer: krb5-mini-devel:krb5-mini
+Prefer: krb5-mini krb5-mini-devel
+Prefer: libudev-mini-devel libudev-mini1 udev-debuginfo libudev1-debuginfo
+Prefer: libunbound-devel-mini
+Prefer: log4j-mini
+Prefer: systemd-mini-devel:systemd-mini
+Prefer: systemd-mini systemd-mini-devel libsystemd0-mini
+Prefer: udev-mini libcom_err2-mini libext2fs2-mini
+Prefer: -harfbuzz-bootstrap -harfbuzz-bootstrap-devel
+
+# break dependency of the -mini packages: they are valid for OBS, but not for 
end-user-installation
+Ignore: erlang-rebar-obs:this-is-only-for-build-envs
+Ignore: harfbuzz-bootstrap:this-is-only-for-build-envs
+Ignore: jdk-bootstrap:this-is-only-for-build-envs
+Ignore: libsystemd0-mini:this-is-only-for-build-envs
+Ignore: libudev-mini1:this-is-only-for-build-envs
+Ignore: libunbound-devel-mini:this-is-only-for-build-envs
+Ignore: systemd-mini:this-is-only-for-build-envs
+Ignore: udev-mini:this-is-only-for-build-envs
+Ignore: curl-mini:this-is-only-for-build-envs
+Ignore: libcurl-mini-devel:this-is-only-for-build-envs
+Ignore: libcurl4-mini:this-is-only-for-build-envs
+
+# Let's speed up things: We don't need Mesa-dri and Mesa-gallium in the build 
system
+Ignore: Mesa:Mesa-dri
+Ignore: Mesa:Mesa-gallium
+
+# man uses cron to update the DB normally, but we don't care for that in the 
build system
+Ignore: man:cron
+
+# When kiwi comes into play, we do not want the -mini packages; -mini does not 
target end user systems
+Conflict: kiwi:curl-mini
+Conflict: kiwi:libudev-mini1
+Conflict: kiwi:systemd-mini
+# And also for python3-kiwi
+Conflict: python3-kiwi:curl-mini
+Conflict: python3-kiwi:libudev-mini1
+Conflict: python3-kiwi:systemd-mini
+
+# udev: -full and -mini packages don't mingle well
+Prefer: libudev1:udev
+Conflict: libudev1:udev-mini
+Conflict: udev:libudev-mini1
+
+# systemd: -full and -mini packages don't mingle well
+Conflict: systemd:libsystemd0-mini
+Conflict: systemd-mini-devel:systemd
+
+# curl: there is a -mini package to bootstrap and a full; some programs decide 
on what they want to build in based on what curl can do, so let's prefer full 
curl
+Prefer: cmake:libcurl4-mini
+Prefer: curl libcurl-devel libcurl4
+
+Prefer: -suse-build-key
+# Set postfix as the 'default' smtp_daemon (virtual symbol provided by all 
MTAs)
+Prefer: postfix
+
+# go exists in mutliple versions by now - we prefer the 'unversioned package' 
- current default is 1.9
+Prefer: go go1.9
+
+# python([23])-pep8 is provided by python\1-pep8 and python\1-pycodestyle - 
favoring 'the real one'
+Prefer: python2-pep8 python3-pep8
+
+# When perl provides a module that is also in a different package, but the 
consumer specifies no version, we go with perl
+Prefer: perl
+
+# Assist migration to python-pycups (python3-cups is going to be removed)
+Prefer: python3-pycups python-pycups
+
+# Apache requires a MPM - we pick prefork
+Prefer: apache2:apache2-prefork
+
+# for symbol syslog (syslogd is best as it has the least dependencies)
+Prefer: syslogd
+
+# rmt is provided by tar-rmt and star-rmt - we prefer star-rmt, which was the 
one in the past providing rmt
+Prefer: star-rmt
+
+# A couple packares require a dbus daemon to show notifications - unless 
oterhwise specified, we prefer the 'standalong notification-daemon;
+Prefer: notification-daemon
+
+# Stuff that wants to have /etc/os-release available should require 
distribution-release, which we then offer dummy-release for (openSUSE-release 
changes daily for TW)
+Prefer: dummy-release
+
+# Tumbleweed ships nodejs4 for compatibility reasons - but it's not the 
preferred version
+Prefer: -nodejs4 -nodejs6
+
+# have choice for libpulse.so.0 needed by wine-32bit: apulse-32bit 
libpulse0-32bit - prefering the 'original'
+Prefer: libpulse0-32bit
+
+# Have choice for vtk-java/vtk-tcl needed by vtk-devel
+Prefer: vtk-java vtk-tcl
+
+# wine comes in various flavors by now, we pick the unflavored ones
+Prefer: wine-32bit wine-devel-32bit wine-devel
+
+# Ruby stuff - quite a few packages exist in multiple versions in the distro; 
in each case, the Preference is on the 'unversioned' package
+Prefer: ruby2.5-rubygem-tilt
+Prefer: ruby2.5-rubygem-mail
+Prefer: ruby2.5-rubygem-addressable
+Prefer: ruby2.5-rubygem-thor
+
+# python-msgpack-python was renamed to python-msgpack with 0.5 as a 
single-spec package (provides/obsoletes in place)
+Prefer: python2-msgpack python3-msgpack
+
+# Below list still needs to be reviewed
+
+Prefer: xorg-x11-Xvnc:icewm
+Prefer: cracklib-dict-small
+Prefer: libstdc++6 libgcc_s1 libquadmath0
+Prefer: libstdc++6-32bit libstdc++6-64bit
+Prefer: libstdc++6-x86
+Prefer: libmpx2 libmpxwrappers2 libmpx2-32bit libmpxwrappers2-32bit
+%ifarch s390x
+Prefer: -libstdc++41
+%endif
+Prefer: syslog-service
+Prefer: poppler-tools
+Prefer: libjpeg8-devel libjpeg-turbo
+Prefer: microcode_ctl:kernel-default
+Prefer: gnu-jaf yast2-control-center-qt
+Prefer: vim-normal myspell-american wine
+Prefer: amarok:amarok-xine
+Prefer: kdenetwork3-vnc:tightvnc
+Prefer: libgweather0 jessie ndesk-dbus ndesk-dbus-glib tomcat-jsp-2_2-api 
tomcat-jsp-2_3-api tomcat-servlet-2_5-api
+Prefer: -dbus-1-nox11
+Prefer: -servletapi3 -servletapi4 -servletapi5
+Prefer: icewm-lite
+Prefer: yast2-ncurses-pkg
+Prefer: monodevelop: mono-addins
+Prefer: texlive-xmltex texlive-tools texlive-jadetex
+Prefer: libesd-devel:esound
+Prefer: libesd0:esound-daemon
+Prefer: package-lists-openSUSE-KDE-cd: esound-daemon
+Prefer: librest-0_7-0
+
+
+Prefer: -geronimo-jta-1_0_1B-api -geronimo-jms-1_1-api -geronimo-el-1_0-api 
-java-1_5_0-gcj-compat -geronimo-jta-1_1-api classpathx-mail
+Prefer: rhino:xmlbeans-mini
+Prefer: mx4j:log4j-mini
+
+
+Prefer: rpcbind  eclipse-source
+Prefer: libcdio_cdda0 libcdio_paranoia0
+Prefer: boo tog-pegasus
+Prefer: sysvinit(network) wicked-service
+Prefer: kdebase4-workspace:kdebase4-workspace-ksysguardd
+Prefer: kdebase4-openSUSE:kdebase4-workspace
+Prefer: ant:xerces-j2
+Prefer: dhcp-client:dhcp
+Prefer: libGLw1
+# provides typelib(St)
+Prefer: -cinnamon
+Prefer: -bundle-lang-kde-de -bundle-lang-kde-en -bundle-lang-kde-es
+Prefer: -bundle-lang-kde-fr -bundle-lang-kde-pt -bundle-lang-kde-el
+Prefer: -bundle-lang-kde-zh -bundle-lang-kde-ja -bundle-lang-kde-ru 
-bundle-lang-kde-pl
+Prefer: -bundle-lang-kde-sv -bundle-lang-kde-ko -bundle-lang-kde-fi 
-bundle-lang-kde-da
+Prefer: -bundle-lang-kde-cs -bundle-lang-kde-nl -bundle-lang-kde-hu 
-bundle-lang-kde-nb
+Prefer: -bundle-lang-kde-it -bundle-lang-kde-ca -bundle-lang-kde-ar
+Prefer: -bundle-lang-gnome-es -bundle-lang-gnome-de -bundle-lang-gnome-fr
+Prefer: -bundle-lang-gnome-pt -bundle-lang-gnome-en -bundle-lang-gnome-el
+Prefer: -bundle-lang-gnome-zh -bundle-lang-gnome-ja -bundle-lang-gnome-ru 
-bundle-lang-gnome-cs
+Prefer: -bundle-lang-gnome-ko -bundle-lang-gnome-da -bundle-lang-gnome-nl 
-bundle-lang-gnome-hu
+Prefer: -bundle-lang-gnome-pl -bundle-lang-gnome-fi -bundle-lang-gnome-nb 
-bundle-lang-gnome-sv
+Prefer: -bundle-lang-gnome-it -bundle-lang-gnome-ca -bundle-lang-gnome-ar
+Prefer: -bundle-lang-gnome-extras-es -bundle-lang-gnome-extras-de 
-bundle-lang-gnome-extras-fr
+Prefer: -bundle-lang-gnome-extras-pt -bundle-lang-gnome-extras-en 
-bundle-lang-gnome-extras-el
+Prefer: -bundle-lang-gnome-extras-zh -bundle-lang-gnome-extras-ja 
-bundle-lang-gnome-extras-ru -bundle-lang-gnome-extras-cs
+Prefer: -bundle-lang-gnome-extras-ko -bundle-lang-gnome-extras-da 
-bundle-lang-gnome-extras-nl -bundle-lang-gnome-extras-hu
+Prefer: -bundle-lang-gnome-extras-pl -bundle-lang-gnome-extras-fi 
-bundle-lang-gnome-extras-nb -bundle-lang-gnome-extras-sv
+Prefer: -bundle-lang-gnome-extras-it -bundle-lang-gnome-extras-ca 
-bundle-lang-gnome-extras-ar
+Prefer: -bundle-lang-common-es -bundle-lang-common-de -bundle-lang-common-fr
+Prefer: -bundle-lang-common-pt -bundle-lang-common-en -bundle-lang-common-el
+Prefer: -bundle-lang-common-ja -bundle-lang-common-zh -bundle-lang-common-cs 
-bundle-lang-common-ru
+Prefer: -bundle-lang-common-nl -bundle-lang-common-hu -bundle-lang-common-pl 
-bundle-lang-common-da
+Prefer: -bundle-lang-common-ko -bundle-lang-common-nb -bundle-lang-common-fi 
-bundle-lang-common-sv
+Prefer: -bundle-lang-common-it -bundle-lang-common-ca -bundle-lang-common-ar
+Prefer: -libgcc-mainline -libstdc++-mainline -gcc-mainline-c++
+Prefer: -libgcj-mainline -viewperf -compat -compat-openssl097g
+Prefer: -libreoffice -pam-laus -libgcc-tree-ssa -busybox-links
+Prefer: -python-setuptools
+Prefer: -kdenetwork3-InstantMessenger
+Prefer: -icc-profiles
+Prefer: vala
+# in doubt, take xerces
+Prefer: -crimson
+# in doubt, take higher versions
+Prefer: -rubygem-rack-1_1 -rubygem-rack-1_2 -rubygem-rack-1_3 
-rubygem-tilt-1_1 -rubygem-rack-1_4 
+Prefer: -rubygem-method_source-0_7 -rubygem-rails-2_3 -rubygem-activerecord-2_3
+Prefer: -rubygem-json_pure-1_5
+Prefer: -ruby2.4-rubygem-fast_gettext-1_1 -ruby2.4-rubygem-listen-3_0 
-ruby2.4-rubygem-nokogiri-1_6 -ruby2.4-rubygem-i18n-0_6 
-ruby2.4-rubygem-ruby_dep-1_3 -ruby2.4-rubygem-childprocess-0_6
+Prefer: -ruby2.4-rubygem-mime-types-1
+Prefer: -ruby2.5-rubygem-rspec-2_14
+Prefer: -ruby2.5-rubygem-mime-types-1
+Prefer: geronimo-servlet-2_4-api
+Prefer: openmpi-config
+Prefer: -libhdf5-0-openmpi -libhdf5_hl0-openmpi -libhdf5_hl8-openmpi 
-libhdf5-8-openmpi -libhdf5_hl9-openmpi -libhdf5-9-openmpi -libhdf5-10-openmpi 
-libhdf5_hl10-openmpi -libhdf5-11-openmpi -libhdf5_hl11-openmpi 
-libhdf5-100-openmpi -libhdf5_hl100-openmpi -libhdf5_hl100-mvapich2 
-libhdf5-101-mvapich2 -libhdf5-101-openmpi
+Prefer: -hdf5-1_8-devel
+Prefer: fftw3-devel
+# prefer the small systemd for building
+Prefer: star
+Prefer: xmlgraphics-commons:apache-commons-io
+# the -32bit stuff provides things it shouldn't (hopefully temporary)
+Prefer: -typelib-1_0-GdkPixbuf-2_0-32bit -typelib-1_0-Pango-1_0-32bit 
-glib2-devel-32bit
+Prefer: postgresql postgresql-server postgresql-devel
+Prefer: -unzip-rcc
+Prefer: -primus -primus-32bit
+Prefer: -staging-build-key
+Prefer: -sssd-wbclient
+Prefer: -clutter-gst-devel
+Prefer: -opencv-qt5-devel
+Prefer: -python-configparser2
+
+# ffmpeg-3 and ffmpeg-4 handling
+Prefer: libvpx-devel
+Prefer: ffmpeg-3-libavcodec-devel ffmpeg-3-libavdevice-devel 
ffmpeg-3-libavfilter-devel ffmpeg-3-libavformat-devel 
ffmpeg-3-libavresample-devel ffmpeg-3-libavutil-devel 
ffmpeg-3-libpostproc-devel ffmpeg-3-libswresample-devel 
ffmpeg-3-libswscale-devel ffmpeg-3-private-devel
+Prefer: -ffmpeg2-devel
+Substitute: ffmpeg2-devel ffmpeg-2-libavcodec-devel
+Prefer: -ffmpeg3-devel
+Substitute: ffmpeg3-devel ffmpeg-3-libavcodec-devel
+Prefer: -libavcodec-devel -libavdevice-devel -libavfilter-devel 
-libavformat-devel -libavresample-devel -libavutil-devel -libpostproc-devel 
-libswresample-devel -libswscale-devel -ffmpeg-private-devel
+# ffmpeg and its fork libav both provide libswscale; prefer the 'original' 
ffmpeg
+Prefer: -libswscale-libav-devel -libavformat-libav-devel 
-libavresample-libav-devel -libavcodec-libav-devel -libavdevice-libav-devel 
-libavfilter-libav-devel -libpostproc-libav-devel -libavutil-libav-devel
+
+# as long as kactivities4 exists and is provided
+Prefer: kactivities5
+# oxygen5-icon-theme osboletes oxygen-icon-theme
+Prefer: oxygen5-icon-theme
+
+# kernel bug (coolo)
+Prefer: kernel-default-devel
+
+# explicitly prefer openssl version openssl package is used, for openssl(cli)
+Prefer: openssl-1_1
+
+Prefer: wxWidgets-3_0-devel
+Prefer: libopenssl-devel
+
+Prefer: -NX -xaw3dd -db43
+Prefer: -xerces-j2-xml-resolver -xerces-j2-xml-apis
+Prefer: libgcc_s1 libgcc_s1-32bit libgcc_s1-64bit
+Prefer: libffi-devel
+Prefer: libatomic1 libcilkrts5 libitm1 liblsan0 libtsan0 libubsan0
+Prefer: libatomic1-32bit libcilkrts5-32bit libitm1-32bit libubsan0-32bit
+Prefer: libgcc_s1-x86 libgcj_bc1
+Prefer: libgomp1 libgomp1-32bit libgomp1-64bit
+Prefer: libmudflap4 libmudflap4-32bit libmudflap4-64bit
+Prefer: libobjc4 libgfortran3 libquadmath0
+Prefer: -libnetpbm -libcdio7-mini -libiso9660-5-mini -libiso9660-7-mini 
-libcdio10-mini -libcdio12-mini
+Prefer: -libcdio-mini -faac-mini -libcdio-mini-devel
+Prefer: -seamonkey
+Prefer: -libdb-4_4-devel -libdb-4_5-devel -libevoldap-2_4-2
+Prefer: libopenal0-soft openal-soft -lsb-buildenv
+Prefer: -libevent
+Prefer: gnu-crypto libusb-compat-devel
+Prefer: libusb-0_1-4
+Prefer: libreoffice:xerces-j2
+Prefer: k3b:libdvdread4
+Prefer: glibc-devel
+Prefer: -libpcap -libiniparser -loudmouth -libkonq4 -libnetcdf-4 
-libnetcdf13-openmpi libnetcdf11 netcdf-devel netcdf-devel-data
+Prefer: NetworkManager:dhcp-client
+Prefer: kdebase3-SuSE:kdebase3
+Prefer: pcre-tools
+Prefer: libpopt0 makeinfo
+Prefer: -apache2-mod_perl -otrs -qa_apache_testsuite -ctcs2
+Prefer: libgnome-keyring-devel
+Prefer: gnome-keyring-32bit
+Prefer: linux-glibc-devel
+Prefer: squid sysvinit
+Prefer: libpng16-compat-devel
+Prefer: -python3 -python3-gobject-devel -python3-gobject2-devel 
-x11-video-fglrxG02 -libpng12-0
+Prefer: python3-docutils
+Prefer: perl-Mail-SPF:perl-Error libldb0 -audit-libs
+#needed because new xml-commons package
+Prefer: xml-commons-resolver12 xml-commons-jaxp-1.3-apis
+Prefer: xmlgraphics-fop:xerces-j2
+Prefer: cogl-devel
+Prefer: -perl-XML-SAX perl-Test-YAML -perl-Pod-Usage
+Prefer: libpsm2-compat
+# choice p11-kit-nss-trust
+Prefer: mozilla-nss-certs
+# amarok dependency resolution
+Prefer: phonon-backend-gstreamer
+# replacing mkinitrd
+Prefer: dracut
+# replacing module-init-tools
+Prefer: kmod-compat
+# Temporary
+Prefer: oxygen5-cursors
+# Temporary
+Prefer: -perl-App-cpanminus
+# libmediaart is prepared for a larger update; for now favor mediaart-1.0
+Prefer: -typelib-1_0-MediaArt-2_0
+Prefer: -typelib-1_0-Gtk-2_0 -typelib-1_0-Gtk-4_0
+Prefer: -python-atspi
+Prefer: gettext-its-gtk3 gtk3-schema
+# for pkgconfig(ijs) and no one actually rely on ghostscript-mini-devel in 
Factory
+Prefer: ghostscript-devel
+# for pkgconfig(libotf) libotf-devel and libotf-devel-32bit both provides it
+Prefer: libotf-devel
+
+# have choice for mysql-devel: libmariadb-devel libmysqlclient-devel
+Prefer: libmysqlclient-devel
+
+# have choice for perl(Math::BigInt) >= 1.999808: amanda perl-Math-BigInt
+Prefer: perl-Math-BigInt
+
+Ignore: installation-images-openSUSE:cracklib-dict-full
+Ignore: systemd-sysvinit:systemd
+Ignore: 
openSUSE-release:openSUSE-release-ftp,openSUSE-release-dvd5,openSUSE-release-biarch,openSUSE-release-livecdkde,openSUSE-release-livecdgnome
+Ignore: cracklib:cracklib-dict
+Ignore: aaa_base:aaa_skel,suse-release,logrotate,ash,distribution-release,udev
+Ignore: sysvinit:mingetty
+Ignore: 
gettext-tools:libgcj,libstdc++-devel,libgcj41,libstdc++41-devel,libgcj42,libstdc++42-devel
+Ignore: libgcj43,libstdc++43-devel
+Ignore: libgcj44,libstdc++44-devel
+Ignore: libgcj45,libstdc++45-devel
+Ignore: libgcj46,libstdc++46-devel
+Ignore: libgcj47,libstdc++47-devel
+Ignore: librtas:util-linux
+Ignore: pwdutils:openslp
+Ignore: rpm:suse-build-key,build-key
+Ignore: cloud-init:cloud-init-config
+# python-pyudev requires libudev1 in normal situations
+Ignore: python-pyudev:libudev1
+Ignore: python-SPARQLWrapper:python-rdflib
+Ignore: python3-SPARQLWrapper:python3-rdflib
+Ignore: bind-utils:bind-libs
+Ignore: portmap:syslogd
+Ignore: 
xorg-x11:x11-tools,resmgr,xkeyboard-config,xorg-x11-Mesa,libusb,freetype2,libjpeg,libpng
+Ignore: xorg-x11-server:xorg-x11-driver-input,xorg-x11-driver-video
+Ignore: apache2:logrotate
+Ignore: arts:alsa,audiofile,resmgr,libogg,libvorbis
+Ignore: 
kdelibs3:alsa,arts,OpenEXR,aspell,cups-libs,mDNSResponder-lib,krb5,libjasper
+Ignore: kdelibs3-devel:libvorbis-devel
+Ignore: 
kdebase3:kdebase3-ksysguardd,OpenEXR,dbus-1,dbus-1-qt,hal,powersave,openslp,libusb
+Ignore: kdebase3-SuSE:release-notes
+Ignore: jack:alsa,libsndfile
+Ignore: libxml2-devel:readline-devel
+Ignore: 
gnome-vfs2:gnome-mime-data,desktop-file-utils,cdparanoia,dbus-1,dbus-1-glib,hal,libsmbclient,fam,file_alteration
+Ignore: libgda:file_alteration
+Ignore: gnutls:lzo,libopencdk
+Ignore: gnutls-devel:lzo-devel,libopencdk-devel
+Ignore: pango:cairo,glitz,libpixman,libpng
+Ignore: pango-devel:cairo-devel
+Ignore: cairo-devel:libpixman-devel
+Ignore: libgnomeprint:libgnomecups
+Ignore: libgnomeprintui:libgnomecups
+Ignore: orbit2-devel:indent
+Ignore: qt3:libmng
+Ignore: qt-sql:qt_database_plugin
+Ignore: libgnomecanvas-devel:glib-devel
+Ignore: libgnomeui:gnome-icon-theme,shared-mime-info
+Ignore: scrollkeeper:docbook_4
+Ignore: gnome-desktop:libgnomesu,startup-notification
+Ignore: python-devel:python-tk
+Ignore: libgtk-3-0:adwaita-icon-theme
+Ignore: libgtk-3-0:gdk-pixbuf-loader-rsvg
+Ignore: samba-libs:krb5
+Ignore: libbonoboui:gnome-desktop
+Ignore: libxfce4ui-1-0:exo-tools
+Ignore: docbook_4:iso_ent,xmlcharent
+Ignore: 
control-center2:nautilus,evolution-data-server,gnome-menus,gstreamer-plugins,gstreamer,metacity,mozilla-nspr,mozilla,libxklavier,gnome-desktop,startup-notification
+Ignore: docbook-xsl-stylesheets:xmlcharent
+Ignore: liby2util-devel:libstdc++-devel,openssl-devel
+Ignore: 
yast2:yast2-ncurses,yast2_theme,perl-Config-Crontab,yast2-xml,SuSEfirewall2
+Ignore: yast2-core:netcat,hwinfo,wireless-tools,sysfsutils
+Ignore: 
yast2-core-devel:libxcrypt-devel,hwinfo-devel,blocxx-devel,sysfsutils,libstdc++-devel
+Ignore: yast2-packagemanager-devel:rpm-devel,curl-devel,openssl-devel
+Ignore: yast2-devtools:libxslt
+Ignore: yast2-iscsi-lio-server:lio-utils
+Ignore: 
yast2-installation:yast2-update,yast2-mouse,yast2-country,yast2-bootloader,yast2-packager,yast2-network,yast2-online-update,yast2-users,release-notes,autoyast2-installation
+Ignore: yast2-bootloader:bootloader-theme
+Ignore: yast2-packager:yast2-x11,libyui_pkg
+Ignore: autoyast2:yast2-schema
+# not during build
+Ignore: yui_backend
+Ignore: yast2-x11:sax2-libsax-perl
+Ignore: yast2-network:yast2-inetd
+Ignore: openslp-devel:openssl-devel
+Ignore: 
tetex:xorg-x11-libs,expat,fontconfig,freetype2,libjpeg,ghostscript-x11,xaw3d,gd,dialog,ed
+Ignore: texlive-bin:ghostscript-x11
+Ignore: texlive-bin-omega:ghostscript-x11
+Ignore: yast2-country:yast2-trans-stats
+Ignore: tpb:tpctl-kmp
+Ignore: tpctl:tpctl-kmp
+Ignore: zaptel:zaptel-kmp
+Ignore: mkinitrd:pciutils
+Ignore: pciutils:pciutils-ids
+Ignore: postfix:iproute2
+Ignore: aaa_base:systemd
+Ignore: gpm:systemd
+Ignore: openssh:systemd
+Ignore: cronie:systemd
+Ignore: systemd:kbd
+Ignore: systemd:kmod
+Ignore: systemd:systemd-presets-branding
+Ignore: systemd:dbus-1
+Ignore: systemd:pam-config
+Ignore: systemd:udev
+Ignore: pesign:systemd
+Ignore: logrotate:cron
+Ignore: texlive-filesystem:cron
+Ignore: xinit:xterm
+Ignore: xdm:xterm
+Ignore: gnome-control-center:gnome-themes-accessibility
+
+
+Ignore: man:groff-full
+Ignore: git-core:rsync
+Ignore: apache2:systemd
+Ignore: icewm-lite:icewm
+Ignore: cluster-glue:sudo
+Ignore: libgcc:glibc-32bit
+Ignore: libgcc41:glibc-32bit
+Ignore: libgcc42:glibc-32bit
+Ignore: libgcc43:glibc-32bit
+Ignore: libgcc44:glibc-32bit
+Ignore: libgcc45:glibc-32bit
+Ignore: libgcc46:glibc-32bit
+Ignore: libgcc47:glibc-32bit
+Ignore: libstdc++:glibc-32bit
+Ignore: libstdc41++:glibc-32bit
+Ignore: libstdc42++:glibc-32bit
+Ignore: libstdc43++:glibc-32bit
+Ignore: libstdc44++:glibc-32bit
+Ignore: libstdc45++:glibc-32bit
+Ignore: libstdc46++:glibc-32bit
+Ignore: libstdc47++:glibc-32bit
+Ignore: ncurses-32bit
+
+Ignore: susehelp:susehelp_lang,suse_help_viewer
+Ignore: mailx:smtp_daemon
+Ignore: cron:smtp_daemon
+Ignore: hotplug:syslog
+Ignore: pcmcia:syslog
+Ignore: openct:syslog
+Ignore: postfix:sysvinit(syslog)
+Ignore: cups:sysvinit(syslog)
+Ignore: jython:servlet
+Ignore: ispell:ispell_dictionary,ispell_english_dictionary
+Ignore: aspell:aspel_dictionary,aspell_dictionary
+Ignore: smartlink-softmodem:kernel,kernel-nongpl
+Ignore: libreoffice-de:myspell-german-dictionary
+Ignore: libreoffice:libreoffice-i18n
+Ignore: libreoffice:libreoffice-icon-themes
+Ignore: mediawiki:php-session,php-gettext,php-zlib,php-mysql,mod_php_any
+Ignore: 
squirrelmail:mod_php_any,php-session,php-gettext,php-iconv,php-mbstring,php-openssl
+Ignore: perl-Log-Log4perl:rrdtool
+
+Ignore: simias:mono(log4net)
+Ignore: 
horde:mod_php_any,php-gettext,php-mcrypt,php-imap,php-pear-log,php-pear,php-session,php
+
+Ignore: xerces-j2:xml-commons-apis,xml-commons-resolver
+Ignore: xdg-menu:desktop-data
+Ignore: nessus-libraries:nessus-core
+Ignore: evolution:yelp
+Ignore: e17:e17-branding e17:e17-theme
+
+Ignore: 
mono-tools:mono(gconf-sharp),mono(glade-sharp),mono(gnome-sharp),mono(gtkhtml-sharp),mono(atk-sharp),mono(gdk-sharp),mono(glib-sharp),mono(gtk-sharp),mono(pango-sharp)
+Ignore: gecko-sharp2:mono(glib-sharp),mono(gtk-sharp)
+
+Ignore: 
vcdimager:libcdio.so.6,libcdio.so.6(CDIO_6),libiso9660.so.4,libiso9660.so.4(ISO9660_4)
+Ignore: libcdio:libcddb.so.2
+
+Ignore: coreutils:coreutils-lang
+Ignore: cpio:cpio-lang
+Ignore: glib2:glib2-lang
+Ignore: gtk2:gtk2-lang
+Ignore: gtk:gtk-lang
+Ignore: atk:atk-lang
+Ignore: MozillaThunderbird:pinentry-dialog
+Ignore: seamonkey:pinentry-dialog
+Ignore: pinentry:pinentry-dialog
+Ignore: gpg2:gpg2-lang
+Ignore: util-linux:util-linux-lang
+Ignore: suseRegister:distribution-release
+Ignore: compiz:compiz-decorator
+Ignore: icecream:gcc-c++
+Ignore: no
+Ignore: package
+Ignore: provides
+Ignore: j9vm/libjvm.so()(64bit)
+Ignore: kdepim3:suse_help_viewer
+Ignore: kdebase3-SuSE:kdebase3-SuSE-branding
+Ignore: kio_sysinfo:kdebase3-SuSE-branding
+Ignore: gnome-menus:gnome-menus-branding
+Ignore: epiphany:epiphany-branding
+Ignore: gnome-control-center:gnome-control-center-branding
+Ignore: phonon:phonon-backend
+Ignore: openwbem-devel
+Ignore: MozillaFirefox:MozillaFirefox-branding
+Ignore: yast2:yast2-branding
+Ignore: plymouth:plymouth-branding 
+Ignore: plymouth:suspend
+Ignore: yast2-qt:yast2-branding
+Ignore: yast2-theme-SLE:yast2-branding
+Ignore: yast2-registration:yast2-registration-branding
+Ignore: compiz:compiz-branding
+Ignore: texlive:perl-Tk texlive-bin:perl-Tk
+Ignore: xfce4-desktop:xfce4-desktop-branding
+Ignore: xfce4-panel:xfce4-panel-branding
+Ignore: xfce4-session:xfce4-session-branding
+Ignore: kdebase4-runtime:kdebase4-runtime-branding
+Ignore: kwin:kdebase4-workspace-branding
+Ignore: transmission-common:transmission-ui
+Ignore: sysvinit-tools:mkinitrd cifs-utils:mkinitrd
+Ignore: mkinitrd:sbin_init
+Ignore: opensc:pinentry
+Ignore: gpg2:pinentry
+Ignore: NetworkManager:dhcp
+Ignore: NetworkManager:iproute2
+# sysconfig requires it at runtime, not buildtime
+Ignore: sysconfig:dbus-1
+Ignore: sysconfig:procps
+Ignore: sysconfig:iproute2
+Ignore: sysconfig-network:iproute2
+Ignore: sysconfig:tunctl
+Ignore: sysconfig:sysvinit(network)
+# no build dependencies
+Ignore: libksuseinstall1:yast2-packager
+Ignore: libksuseinstall1:zypper
+Ignore: syslog-service:logrotate
+Ignore: libglue-devel:cluster-glue
+Ignore: libqca2:gpg2
+Ignore: NetworkManager:wpa_supplicant
+Ignore: NetworkManager:dhcp-client
+Ignore: libgio-2_0-0:dbus-1-x11
+Ignore: weather-wallpaper:inkscape
+Ignore: libgamin-1-0:gamin-server
+Ignore: libfam0-gamin:gamin-server
+Ignore: python3:python3-pip
+Ignore: avahi:sysvinit(network)
+Ignore: cluster-glue:sysvinit(network)
+Ignore: dracut:systemd-sysvinit
+
+%ifarch ppc64le
+#Constraint: hostlabel PPC64LE_HOST
+Constraint: hardware:cpu:flag power8
+%endif
+
+Macros:
+# RUBY - UNVERSIONED STUFF
+#
+# IMPORTANT IMPORTANT IMPORTANT IMPORTANT  IMPORTANT IMPORTANT
+#
+#  if you change any macros here you have to update the copy in the
+#  prjconf aswell.
+#
+# IMPORTANT IMPORTANT IMPORTANT IMPORTANT  IMPORTANT IMPORTANT
+#
+%rubygem() %{expand:%%{rubygems%rb_build_versions STOP %*}}
+%rubygemsSTOP() %nil
+%rubygemsxSTOP() %{expand:%%rubygemsxxSTOP -a %*}
+%rubygemsxxSTOP(a:) %{-a*}) %*
+
+%rubySTOP() %nil
+%rubyxSTOP() %*
+
+%ruby() %{expand:%%{ruby%rb_build_versions STOP %*}}
+
+%rubydevel() %{expand:%%{rubydevel%rb_build_versions STOP %*}}
+
+%rubydevelSTOP() %nil
+%rubydevelxSTOP() %*
+#
+ 
+#
+# IMPORTANT IMPORTANT IMPORTANT IMPORTANT  IMPORTANT IMPORTANT
+#
+#  if you change any macros here you have to update the copy in
+#  ruby2.5 aswell.
+#
+# IMPORTANT IMPORTANT IMPORTANT IMPORTANT  IMPORTANT IMPORTANT
+#
+
+
+%rubygemsruby25() rubygem(ruby:2.5.0:%{expand:%%rubygemsx%*} 
%{expand:%%{rubygems%*}}
+%rubygemsxruby25() %{expand:%%{rubygemsx%*}}
+
+%rubyruby25() ruby2.5 %{expand:%%rubyx%*} %{expand:%%{ruby%*}}
+%rubyxruby25() %{expand:%%{rubyx%*}}
+
+%rubydevelruby25() ruby2.5-devel %{expand:%%rubydevelx%*} 
%{expand:%%{rubydevel%*}}
+%rubydevelxruby25() %{expand:%%{rubydevelx%*}}
+
+%_with_ruby25               1
+
+### Things to define default ruby stuff for the distro
+
+%rb_default_ruby        ruby25
+%rb_default_ruby_suffix ruby2.5
+%rb_default_ruby_abi    ruby:2.5.0
+
+%rb_build_ruby_abis     ruby:2.5.0
+%rb_build_versions      ruby25
+:Macros
+
+%define _with_ruby25         1
+
+%define rb_default_ruby        ruby25
+%define rb_default_ruby_suffix ruby2.5
+%define rb_default_ruby_abi    ruby:2.5.0
+
+%define rb_build_ruby_abis     ruby:2.5.0
+%define rb_build_versions      ruby25
+
+Prefer: -ruby-stdlib
+Prefer: %{rb_default_ruby_suffix}-rubygem-gem2rpm
+Prefer: %{rb_default_ruby_suffix}-rubygem-ruby-dbus
+Prefer: %{rb_default_ruby_suffix}-rubygem-yard
+Prefer: %{rb_default_ruby_suffix}-rubygem-rspec
+Prefer: %{rb_default_ruby_suffix}-rubygem-yast-rake
+Prefer: %{rb_default_ruby_suffix}-rubygem-cheetah
+Prefer: %{rb_default_ruby_suffix}-rubygem-inifile
+Prefer: %{rb_default_ruby_suffix}-rubygem-bundler
+Prefer: %{rb_default_ruby_suffix}-rubygem-sass
+Prefer: %{rb_default_ruby_suffix}-rubygem-cfa
+Prefer: %{rb_default_ruby_suffix}-rubygem-mime-types
+
+# END RUBY STUFF
+
+# PYTHON STUFF
+
+Macros:
+%pythons  %{?!skip_python2:python2} %{?!skip_python3:python3}
+
+# This method for generating python_modules gets too deep to expand at about 5 
python flavors.
+# It is replaced by a Lua macro in macros.lua
+# However, OBS has a much higher expansion depth, so this works fine.
+%python_module_iter(a:) %{-a*}-%{args} 
%{expand:%%{?!python_module_iter_%1:%%{python_module_iter -a%*}}}
+%python_module_iter_STOP stop
+%python_module() %{expand:%%define args %{**}} %{expand:%%{python_module_iter 
-a %{pythons} STOP}}
+
+%add_python() %{expand:%%define pythons %pythons %1}
+:Macros
+
+# END PYTHON STUFF
+
+# BEGIN RUST STUFF 
+
+# Define the architectures in which Rust (and Rust crates) are available
+# NOTE: Keep this in sync with rust-srpm-macros!
+%define rust_arches x86_64 i586 i686 armv6hl armv7hl aarch64 ppc64 powerpc64 
ppc64le powerpc64le s390x
+
+Macros:
+%rust_arches x86_64 i586 i686 armv6hl armv7hl aarch64 ppc64 powerpc64 ppc64le 
powerpc64le s390x
+:Macros
+
+# END RUST STUFF
+
+# Default to Java 11
+Prefer: java-11-openjdk java-11-openjdk-devel java-11-openjdk-javadoc 
java-11-openjdk-headless
+# Fall back to Java 10, if there was no java 11 option
+Prefer: java-10-openjdk java-10-openjdk-devel java-10-openjdk-javadoc 
java-10-openjdk-headless
+# Fall back to Java 9, if there was no java 10 option
+Prefer: java-9-openjdk java-9-openjdk-devel java-9-openjdk-javadoc 
java-9-openjdk-headless
+# Prefer java 8 if java 9 was no option
+Prefer: java-1_8_0-openjdk java-1_8_0-openjdk-devel java-1_8_0-openjdk-javadoc 
java-1_8_0-openjdk-headless
+# And then fall back to java 7 if needed
+Prefer: java-1_7_0-openjdk java-1_7_0-openjdk-devel java-1_7_0-openjdk-javadoc 
java-1_7_0-openjdk-headless
+# And then fall back to java 7 bootstrap if needed
+Prefer: java-1_7_0-bootstrap java-1_7_0-bootstrap-devel 
java-1_7_0-bootstrap-javadoc java-1_7_0-bootstrap-headless
+Substitute: java2-devel-packages java-devel
+
+%ifarch x86_64 ppc64 s390x sparc64
+Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
+%else
+ %ifarch ppc sparc sparcv9
+Substitute: glibc-devel-32bit glibc-devel-64bit
+ %else
+Substitute: glibc-devel-32bit
+ %endif
+%endif
+
+%ifarch %ix86
+Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp 
kernel-debug kernel-xen
+%endif
+%ifarch ia64
+Substitute: kernel-binary-packages kernel-default kernel-debug
+%endif
+%ifarch x86_64
+Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen
+%endif
+%ifarch ppc
+Substitute: kernel-binary-packages kernel-default kernel-ppc64 kernel-ps3
+%endif
+%ifarch ppc64
+Substitute: kernel-binary-packages kernel-default kernel-ppc64
+%endif
+%ifarch s390
+Substitute: kernel-binary-packages kernel-s390
+%endif
+%ifarch s390x
+Substitute: kernel-binary-packages kernel-default
+%endif
+
+Optflags: i586 -fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches
+Optflags: i686 -march=i686 -mtune=generic -fomit-frame-pointer 
-fmessage-length=0 -grecord-gcc-switches
+Optflags: x86_64 -fmessage-length=0 -grecord-gcc-switches
+Optflags: ppc -fmessage-length=0 -grecord-gcc-switches
+Optflags: ppc64 -fmessage-length=0 -grecord-gcc-switches
+Optflags: ia64 -fmessage-length=0 -grecord-gcc-switches
+Optflags: s390 -fmessage-length=0 -grecord-gcc-switches
+Optflags: s390x -fmessage-length=0 -grecord-gcc-switches
+Optflags: armv7l -fmessage-length=0 -grecord-gcc-switches
+Optflags: armv7hl -fmessage-length=0 -grecord-gcc-switches
+Optflags: armv6l -fmessage-length=0 -grecord-gcc-switches
+Optflags: armv6hl -fmessage-length=0 -grecord-gcc-switches
+Optflags: aarch64 -fmessage-length=0 -grecord-gcc-switches
+Optflags: ppc64le -fmessage-length=0 -grecord-gcc-switches
+# need mcpu=ultrasparc to complete sparcv8plus to sparcv9 (adds, for example, 
atomic ops)
+Optflags: sparcv9 -fmessage-length=0 -grecord-gcc-switches -mcpu=ultrasparc
+Optflags: sparc64 -fmessage-length=0 -grecord-gcc-switches -mcpu=ultrasparc
+%ifarch sparcv9
+Target: sparcv9
+%endif
+%ifarch armv6l armv6hl
+Target: armv6hl-suse-linux
+%endif
+%ifarch armv7l armv7hl
+Target: armv7hl-suse-linux
+%endif
+
+
+#Optflags: * -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables 
-fasynchronous-unwind-tables
+Optflags: * -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong 
-funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection
+
+# 13.3 does not exist !
+%define suse_version 1500
+%define is_opensuse 1
+%define sle_version 150100
+
+Macros:
+%suse_version 1500
+%is_opensuse 1
+%sle_version 150100
+
+%insserv_prereq insserv sed
+%fillup_prereq fillup coreutils grep diffutils
+%suseconfig_fonts_prereq perl aaa_base
+%install_info_prereq info
+%kernel_module_package_buildreq kmod-compat kernel-syms
+%kernel_module_package_buildreqs kmod-compat kernel-syms
+
+%sles_version 0
+%ul_version 0
+%do_profiling 1
+%opensuse_bs 1
+%_vendor suse
+
+# Reproducible builds
+%source_date_epoch_from_changelog Y
+
+# define which gcc package builds the system libraries
+%product_libs_gcc_ver 7
+# The following shlibs have latest versions built from GCC 6 sources
+%product_libs_gcc_ver_libasan3 6
+%product_libs_gcc_ver_libgo9 6
+%product_libs_gcc_ver_libgfortran3 6
+# reminded by richi 2017 4/3
+%product_libs_gcc_ver_libgcj_bc1 6
+# The following shlibs have been introduced with GCC 7
+%product_libs_gcc_ver_libmpxwrappers2 7
+%product_libs_gcc_ver_libmpx2 7
+%product_libs_gcc_ver_libasan4 7
+%product_libs_gcc_ver_libgo11 7
+%product_libs_gcc_ver_libgfortran4 7
+%gcc_version 7
+
+%ext_info .gz
+%ext_man .gz
+
+%info_add(:-:) test -x /sbin/install-info -a -f 
%{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info 
--info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \
+%{nil}
+
+%info_del(:-:) test -x /sbin/install-info -a ! -f 
%{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --quiet --delete 
--info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \
+%{nil}
+:Macros
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/dist/build.changes 
new/obs-build-20181206/dist/build.changes
--- old/obs-build-20181022/dist/build.changes   2018-10-22 12:11:51.000000000 
+0200
+++ new/obs-build-20181206/dist/build.changes   2018-12-06 16:22:05.000000000 
+0100
@@ -1,4 +1,9 @@
 -------------------------------------------------------------------
+Mon Nov 26 09:24:17 UTC 2018 - Max Lin <m...@suse.com>
+
+- Add Leap 15.1 config
+
+-------------------------------------------------------------------
 Mon Oct 22 09:43:20 UTC 2018 - Adrian Schröter <adr...@suse.de>
 
 - require psmisc util for fuser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20181022/startdockerd 
new/obs-build-20181206/startdockerd
--- old/obs-build-20181022/startdockerd 2018-10-22 12:11:51.000000000 +0200
+++ new/obs-build-20181206/startdockerd 2018-12-06 16:22:05.000000000 +0100
@@ -41,7 +41,7 @@
            shift 2
            ;;
        --webserver-only)
-           WEBSERVER_ONLY="1"
+           WEBSERVER_ONLY=1
            WEBSERVER="$2"
            shift 2
            ;;
@@ -86,7 +86,15 @@
 
 rm -f $BUILD_ROOT/.startdockerd.pids
 
-if test -z "$IS_UNSHARED" -a -z "$WEBSERVER_ONLY" ; then
+if test -n "$WEBSERVER_ONLY" ; 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
+    exit 0
+fi
+
+if test -z "$IS_UNSHARED" ; then
     echo "Unsharing environment"
     # unshare mounts and network
     exec unshare -m -n $BUILD_DIR/startdockerd --isunshared --root 
"$BUILD_ROOT" --webserver "$WEBSERVER" "$@"
@@ -143,16 +151,18 @@
     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
-chroot $BUILD_ROOT $CONTAINERD_BIN --listen 
unix:///run/containerd/containerd.sock &
-CONTAINERD_PID=$!
+chroot $BUILD_ROOT $CONTAINERD_BIN --help --address 
/run/containerd/containerd.sock >& /dev/null
+if test "$?" = "0" ; then
+    # newer version knows --address option
+    chroot $BUILD_ROOT $CONTAINERD_BIN --address 
/run/containerd/containerd.sock &
+    CONTAINERD_PID=$!
+else
+    chroot $BUILD_ROOT $CONTAINERD_BIN --listen 
unix:///run/containerd/containerd.sock &
+    CONTAINERD_PID=$!
+fi
 echo "$CONTAINERD_PID $DOCKERD_PID $WEBSERVER_PID" > 
$BUILD_ROOT/.startdockerd.pids
 
 echo "Starting docker daemon"


Reply via email to