Hello community,

here is the log from the commit of package build for openSUSE:Factory checked 
in at 2019-07-21 11:29:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build (Old)
 and      /work/SRC/openSUSE:Factory/.build.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "build"

Sun Jul 21 11:29:38 2019 rev:124 rq:715678 version:20190709

Changes:
--------
--- /work/SRC/openSUSE:Factory/build/build.changes      2019-07-13 
13:34:36.727332404 +0200
+++ /work/SRC/openSUSE:Factory/.build.new.4126/build.changes    2019-07-21 
11:29:39.524824795 +0200
@@ -1,0 +2,9 @@
+Tue Jul  9 13:33:36 UTC 2019 - Adrian Schröter <[email protected]>
+
+- fail build on preinstall failure
+- avoid dependency errors on Fedora 30
+- fixes for simpleimage vm build support
+- support zstd decompression with old rpms
+- license tag fixes
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ build.spec ++++++
--- /var/tmp/diff_new_pack.qhDPGy/_old  2019-07-21 11:29:40.080824701 +0200
+++ /var/tmp/diff_new_pack.qhDPGy/_new  2019-07-21 11:29:40.084824701 +0200
@@ -22,7 +22,7 @@
 Summary:        A Script to Build SUSE Linux RPMs
 License:        GPL-2.0-only OR GPL-3.0-only
 Group:          Development/Tools/Building
-Version:        20190627
+Version:        20190709
 Release:        0
 Source:         obs-build-%{version}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.qhDPGy/_old  2019-07-21 11:29:40.112824696 +0200
+++ /var/tmp/diff_new_pack.qhDPGy/_new  2019-07-21 11:29:40.112824696 +0200
@@ -1,5 +1,5 @@
 pkgname=build
-pkgver=20190627
+pkgver=20190709
 pkgrel=0
 pkgdesc="Build packages in sandbox"
 arch=('i686' 'x86_64')

++++++ build.dsc ++++++
--- /var/tmp/diff_new_pack.qhDPGy/_old  2019-07-21 11:29:40.144824691 +0200
+++ /var/tmp/diff_new_pack.qhDPGy/_new  2019-07-21 11:29:40.144824691 +0200
@@ -1,6 +1,6 @@
 Format: 1.0
 Source: build
-Version: 20190627
+Version: 20190709
 Binary: build
 Maintainer: Adrian Schroeter <[email protected]>
 Architecture: all

++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.qhDPGy/_old  2019-07-21 11:29:40.168824686 +0200
+++ /var/tmp/diff_new_pack.qhDPGy/_new  2019-07-21 11:29:40.172824686 +0200
@@ -1,4 +1,4 @@
-build (20190627) unstable; urgency=low
+build (20190709) unstable; urgency=low
 
   * Update to current git trunk
     - add sles11sp2 build config and adapt autodetection

++++++ obs-build-20190627.tar.gz -> obs-build-20190709.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/build new/obs-build-20190709/build
--- old/obs-build-20190627/build        2019-06-27 16:43:46.000000000 +0200
+++ new/obs-build-20190709/build        2019-07-09 15:37:13.000000000 +0200
@@ -73,6 +73,7 @@
 DO_LINT=
 DO_CHECKS=true
 CLEAN_BUILD=
+GENBUILDREQS_CLEAN_BUILD=
 RECIPEFILES=()
 SRCDIR=
 BUILD_JOBS=
@@ -753,6 +754,29 @@
     fi
 }
 
+mount_stuff() {
+    if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then
+       test -d $BUILD_ROOT/dev/shm || rm -f $BUILD_ROOT/dev/shm
+       mkdir -p $BUILD_ROOT/proc
+       mkdir -p $BUILD_ROOT/sys
+       mkdir -p $BUILD_ROOT/dev/pts
+       mkdir -p $BUILD_ROOT/dev/shm
+       mount -n -tproc none $BUILD_ROOT/proc
+       mount -n -tdevpts -omode=0620,gid=5 none $BUILD_ROOT/dev/pts
+       mount -n -ttmpfs none $BUILD_ROOT/dev/shm
+    fi
+}
+
+umount_stuff() {
+    if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then
+       umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2>/dev/null || true
+       umount -n $BUILD_ROOT/proc 2>/dev/null || true
+       umount -n $BUILD_ROOT/dev/pts 2>/dev/null || true
+       umount -n $BUILD_ROOT/dev/shm 2>/dev/null || true
+       umount -n $BUILD_ROOT/sys 2>/dev/null || true
+    fi
+}
+
 #### main ####
 
 trap fail_exit EXIT
@@ -803,6 +827,7 @@
        DO_CHECKS=false
       ;;
       -clean)
+       test "$CLEAN_BUILD" = '--clean' && GENBUILDREQS_CLEAN_BUILD='--clean'
        CLEAN_BUILD='--clean'
       ;;
       -wipe)
@@ -1256,17 +1281,7 @@
        copy_oldpackages
     fi
 
-    # mount stuff (/dev/shm needed for POSIX semaphores)
-    if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then
-       test -d $BUILD_ROOT/dev/shm || rm -f $BUILD_ROOT/dev/shm
-       mkdir -p $BUILD_ROOT/proc
-       mkdir -p $BUILD_ROOT/sys
-       mkdir -p $BUILD_ROOT/dev/pts
-       mkdir -p $BUILD_ROOT/dev/shm
-       mount -n -tproc none $BUILD_ROOT/proc
-       mount -n -tdevpts -omode=0620,gid=5 none $BUILD_ROOT/dev/pts
-       mount -n -ttmpfs none $BUILD_ROOT/dev/shm
-    fi
+    mount_stuff
 
     # hack to process preinstallimages early
     if test "$BUILDTYPE" = preinstallimage ; then
@@ -1441,7 +1456,30 @@
     fi
 
     RECIPE_BUILD_START_TIME=`date +%s`
+    GEN_BUILDREQS_PACKS=()
     recipe_build
+
+    if test "$BUILD_SUCCEEDED" = genbuildreqs -a "$DO_INIT" = true -a -z 
"$RPMLIST" -a -z "$RUNNING_IN_VM" -a -n "${GEN_BUILDREQS_PACKS[*]}" ; then
+       # re-expand deps with GEN_BUILDREQS_PACKS extra packages
+       umount_stuff
+       set -- init_buildsystem --configdir "$CONFIG_DIR" --cachedir 
"$CACHE_DIR" "${initbuildsysstuff[@]}" "${definesnstuff[@]}" "${repos[@]}" 
$DLNOSIGNATURE $USEUSEDFORBUILD $CREATE_BUILD_BINARIES $RPMLIST 
"$MYSRCDIR/$RECIPEFILE" $ADDITIONAL_PACKS "${GEN_BUILDREQS_PACKS[@]}"
+       echo "$* ..."
+       "$@" || cleanup_and_exit 1
+       check_exit
+       mount_stuff
+       BUILD_SUCCEEDED=false
+       recipe_build
+    fi
+
+    if test "$BUILD_SUCCEEDED" = genbuildreqs ; then
+       recipe_cleanup
+       if test -n "$RUNNING_IN_VM" ; then
+           vm_exit_statistics
+           vm_wrapup_build OTHER
+       fi
+       cleanup_and_exit 1
+    fi
+
     test "$BUILD_SUCCEEDED" = true || cleanup_and_exit 1
 
     recipe_build_time_statistics
@@ -1449,14 +1487,7 @@
 
     test -d "$SRCDIR" && cd "$SRCDIR"
 
-    # unmount stuff
-    if test -n "$BUILD_ROOT" -a "$BUILD_ROOT" != / ; then
-       umount -n $BUILD_ROOT/proc/sys/fs/binfmt_misc 2>/dev/null || true
-       umount -n $BUILD_ROOT/proc 2>/dev/null || true
-       umount -n $BUILD_ROOT/dev/pts 2>/dev/null || true
-       umount -n $BUILD_ROOT/dev/shm 2>/dev/null || true
-       umount -n $BUILD_ROOT/sys 2>/dev/null || true
-    fi
+    umount_stuff
 done
 
 if test -n "$RUNNING_IN_VM" ; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/build-pkg-rpm 
new/obs-build-20190709/build-pkg-rpm
--- old/obs-build-20190627/build-pkg-rpm        2019-06-27 16:43:46.000000000 
+0200
+++ new/obs-build-20190709/build-pkg-rpm        2019-07-09 15:37:13.000000000 
+0200
@@ -174,9 +174,9 @@
        fi
     fi
     if test "$PAYLOADDECOMPRESS" = cat ; then
-       rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $CPIO
+       rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $CPIO || 
cleanup_and_exit 1
     else
-       rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $PAYLOADDECOMPRESS 
| $CPIO
+       rpm2cpio "$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" | $PAYLOADDECOMPRESS 
| $CPIO || cleanup_and_exit 1
     fi
     if test -e ".init_b_cache/scripts/$PKG.run" ; then
        rpm -qp --nodigest --nosignature --qf "%{PREIN}" 
"$BUILD_ROOT/.init_b_cache/rpms/$PKG.rpm" > ".init_b_cache/scripts/$PKG.pre"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/build-recipe-spec 
new/obs-build-20190709/build-recipe-spec
--- old/obs-build-20190627/build-recipe-spec    2019-06-27 16:43:46.000000000 
+0200
+++ new/obs-build-20190709/build-recipe-spec    2019-07-09 15:37:13.000000000 
+0200
@@ -121,6 +121,11 @@
     test -x $BUILD_ROOT/usr/bin/rpmbuild || rpmbuild=rpm
     test "$BUILDTYPE" = debbuild && rpmbuild=debbuild
 
+    HAVE_DYNAMIC_BUILDREQUIRES=
+    if egrep '^%generate_buildrequires' 
"$BUILD_ROOT$TOPDIR/SOURCES/$RECIPEFILE" >/dev/null ; then
+       HAVE_DYNAMIC_BUILDREQUIRES=true
+    fi
+
     # XXX: move _srcdefattr to macro file?
     rpmbopts=("$BUILD_RPM_BUILD_STAGE" "--define" "_srcdefattr (-,root,root)")
     if test "$DO_CHECKS" != true ; then
@@ -159,6 +164,41 @@
        rpmbopts[${#rpmbopts[@]}]="$buildrootoverride"
     fi
 
+    GEN_BUILDREQS_PACKS=()
+    if test -n "$HAVE_DYNAMIC_BUILDREQUIRES" -a -z "$RUN_SHELL" ; then
+       # query dynamic build requires
+       rm -f "$BUILD_ROOT$TOPDIR/SRPMS/"*.buildreqs.nosrc.rpm
+       rpmdynbropts=("${rpmbopts[@]}")
+       rpmdynbropts[0]=-br
+       toshellscript $rpmbuild \
+               --nodeps \
+               "${definesnstuff[@]}" \
+               "${rpmdynbropts[@]}" \
+               "$TOPDIR/SOURCES/$RECIPEFILE" \
+               > $BUILD_ROOT/.build.command
+       chmod 755 $BUILD_ROOT/.build.command
+       chroot $BUILD_ROOT su -c /.build.command - $BUILD_USER < /dev/null
+       st=$?
+       if test "$st" != 0 -a "$st" != 11 ; then
+           return
+       fi
+       : > $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs
+       if test "$st" = 11 ; then
+           reqsfile=
+           for i in "$BUILD_ROOT$TOPDIR/SRPMS/"*.buildreqs.nosrc.rpm ; do
+               test -f "$i" && reqsfile=${i##*/}
+           done
+           test -n "$reqsfile" || cleanup_and_exit 1 "no buildreqs.nosrc.rpm 
file?"
+           chroot $BUILD_ROOT rpm -qp --requires "$TOPDIR/SRPMS/$reqsfile" | 
grep -v '^rpmlib(' | sort -u > $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp
+           chroot $BUILD_ROOT rpmspec -q --srpm --requires 
"$TOPDIR/SOURCES/$RECIPEFILE" >> 
$BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp || cleanup_and_exit 1 "rpm -q 
--spec failed"
+           sort < $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp | uniq -u 
> $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs
+           rm -f $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs_tmp
+           while read db ; do
+               GEN_BUILDREQS_PACKS[${#GEN_BUILDREQS_PACKS[@]}]="$db"
+           done < $BUILD_ROOT$TOPDIR/OTHER/_generated_buildreqs
+       fi
+    fi
+
     # su involves a shell which would require even more
     # complicated quoting to bypass than this
     toshellscript $rpmbuild \
@@ -171,7 +211,10 @@
     if test -n "$RUN_SHELL"; then
        chroot $BUILD_ROOT su -
     else
-       chroot $BUILD_ROOT su -c /.build.command - $BUILD_USER < /dev/null && 
BUILD_SUCCEEDED=true
+       chroot $BUILD_ROOT su -c /.build.command - $BUILD_USER < /dev/null
+       st=$?
+       test "$st" = 0 && BUILD_SUCCEEDED=true
+       test "$st" = 11 -a -n "$HAVE_DYNAMIC_BUILDREQUIRES" && 
BUILD_SUCCEEDED=genbuildreqs
     fi
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/build-vm-openstack 
new/obs-build-20190709/build-vm-openstack
--- old/obs-build-20190627/build-vm-openstack   2019-06-27 16:43:46.000000000 
+0200
+++ new/obs-build-20190709/build-vm-openstack   2019-07-09 15:37:13.000000000 
+0200
@@ -271,7 +271,7 @@
         sleep 1
     done
 
-    if ! $BUILD_DIR/openstack-console "${WS_URL}" ; then
+    if ! python $BUILD_DIR/openstack-console "${WS_URL}" ; then
         $NOVACLIENT delete $OPENSTACK_BUILD_ID
         cleanup_and_exit 3
     else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/debtransform 
new/obs-build-20190709/debtransform
--- old/obs-build-20190627/debtransform 2019-06-27 16:43:46.000000000 +0200
+++ new/obs-build-20190709/debtransform 2019-07-09 15:37:13.000000000 +0200
@@ -462,7 +462,7 @@
 if (! -s "$out/${name}_$version.diff") {
   unlink("$out/${name}_$version.diff");
 } else {
-  system('gzip', '-9', "$out/${name}_$version.diff");
+  system('gzip', '-n9', "$out/${name}_$version.diff");
   if (-f "$out/${name}_$version.diff.gz") {
     push @files, addfile("$out/${name}_$version.diff.gz", "MD5");
     push @checksums_sha1, addfile("$out/${name}_$version.diff.gz", "SHA1");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/dist/build.changes 
new/obs-build-20190709/dist/build.changes
--- old/obs-build-20190627/dist/build.changes   2019-06-27 16:43:46.000000000 
+0200
+++ new/obs-build-20190709/dist/build.changes   2019-07-09 15:37:13.000000000 
+0200
@@ -1,4 +1,13 @@
 -------------------------------------------------------------------
+Tue Jul  9 13:33:36 UTC 2019 - Adrian Schröter <[email protected]>
+
+- fail build on preinstall failure
+- avoid dependency errors on Fedora 30
+- fixes for simpleimage vm build support
+- support zstd decompression with old rpms
+- license tag fixes
+
+-------------------------------------------------------------------
 Wed Jun 26 10:41:38 UTC 2019 - Dominique Leuenberger <[email protected]>
 
 - configs/15.5.conf: add libzstd1 to preinstall list: RPM is being
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/dist/build.spec 
new/obs-build-20190709/dist/build.spec
--- old/obs-build-20190627/dist/build.spec      2019-06-27 16:43:46.000000000 
+0200
+++ new/obs-build-20190709/dist/build.spec      2019-07-09 15:37:13.000000000 
+0200
@@ -22,7 +22,7 @@
 Summary:        A Script to Build SUSE Linux RPMs
 License:        GPL-2.0-only OR GPL-3.0-only
 Group:          Development/Tools/Building
-Version:        20190123
+Version:        20190709
 Release:        0
 Source:         obs-build-%{version}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/expanddeps 
new/obs-build-20190709/expanddeps
--- old/obs-build-20190627/expanddeps   2019-06-27 16:43:46.000000000 +0200
+++ new/obs-build-20190709/expanddeps   2019-07-09 15:37:13.000000000 +0200
@@ -245,103 +245,41 @@
 my $dofileprovides = %{$cf->{'fileprovides'}};
 $dofileprovides = 1 if ($binarytype || 'rpm') ne 'rpm';
 
-for my $pack (keys %packs) {
-  my $r = {};
-  my (@s, $s, @pr, @re, @co, @ob, @rc, @su);
-  @s = split(' ', $prov{$packs{$pack}} || '');
-  while (@s) {
-    $s = shift @s;
-    next if !$dofileprovides && $s =~ /^\//;
-    if ($s =~ /^rpmlib\(/) {
-      splice(@s, 0, 2);
-      next;
-    }
-    push @pr, $s;
-    while (@s && $s[0] =~ /^[\(<=>|]/) {
-      $pr[-1] .= " $s[0] $s[1]";
-      $pr[-1] =~ s/ \((.*)\)/ $1/;
-      $pr[-1] =~ s/(<|>){2}/$1/;
-      splice(@s, 0, 2);
-    }
-  }
-  @s = split(' ', $req{$packs{$pack}} || '');
-  while (@s) {
-    $s = shift @s;
-    next if !$dofileprovides && $s =~ /^\//;
-    if ($s =~ /^rpmlib\(/) {
-      splice(@s, 0, 2);
-      next;
-    }
-    push @re, $s;
-    while (@s && $s[0] =~ /^[\(<=>|]/) {
-      $re[-1] .= " $s[0] $s[1]";
-      $re[-1] =~ s/ \((.*)\)/ $1/;
-      $re[-1] =~ s/(<|>){2}/$1/;
-      splice(@s, 0, 2);
-    }
-  }
-  @s = split(' ', $con{$packs{$pack}} || '');
-  while (@s) {
-    $s = shift @s;
-    next if !$dofileprovides && $s =~ /^\//;
-    push @co, $s;
-    while (@s && $s[0] =~ /^[\(<=>|]/) {
-      $co[-1] .= " $s[0] $s[1]";
-      $co[-1] =~ s/ \((.*)\)/ $1/;
-      $co[-1] =~ s/(<|>){2}/$1/;
-      splice(@s, 0, 2);
-    }
-  }
-  @s = split(' ', $obs{$packs{$pack}} || '');
-  while (@s) {
-    $s = shift @s;
-    next if !$dofileprovides && $s =~ /^\//;
-    push @ob, $s;
-    while (@s && $s[0] =~ /^[\(<=>|]/) {
-      $ob[-1] .= " $s[0] $s[1]";
-      $ob[-1] =~ s/ \((.*)\)/ $1/;
-      $ob[-1] =~ s/(<|>){2}/$1/;
-      splice(@s, 0, 2);
-    }
-  }
-  @s = split(' ', $rec{$packs{$pack}} || '');
+sub parsedepline {
+  return [] unless defined $_[0];
+  my @s = split(' ', $_[0]);
+  my @r;
   while (@s) {
-    $s = shift @s;
+    my $s = shift @s;
     next if !$dofileprovides && $s =~ /^\//;
     if ($s =~ /^rpmlib\(/) {
       splice(@s, 0, 2);
       next;
     }
-    push @rc, $s;
-    while (@s && $s[0] =~ /^[\(<=>|]/) {
-      $rc[-1] .= " $s[0] $s[1]";
-      $rc[-1] =~ s/ \((.*)\)/ $1/;
-      $rc[-1] =~ s/(<|>){2}/$1/;
-      splice(@s, 0, 2);
-    }
-  }
-  @s = split(' ', $sup{$packs{$pack}} || '');
-  while (@s) {
-    $s = shift @s;
-    next if !$dofileprovides && $s =~ /^\//;
-    if ($s =~ /^rpmlib\(/) {
-      splice(@s, 0, 2);
+    if ($s =~ /^\(/) {
+      unshift @s, $s;
+      push @r, Build::Rpm::shiftrich(\@s);
       next;
     }
-    push @su, $s;
+    push @r, $s;
     while (@s && $s[0] =~ /^[\(<=>|]/) {
-      $su[-1] .= " $s[0] $s[1]";
-      $su[-1] =~ s/ \((.*)\)/ $1/;
-      $su[-1] =~ s/(<|>){2}/$1/;
+      $r[-1] .= " $s[0] $s[1]";
+      $r[-1] =~ s/ \((.*)\)/ $1/;
+      $r[-1] =~ s/(<|>){2}/$1/;
       splice(@s, 0, 2);
     }
   }
-  $r->{'provides'} = \@pr;
-  $r->{'requires'} = \@re;
-  $r->{'conflicts'} = \@co;
-  $r->{'obsoletes'} = \@ob;
-  $r->{'recommends'} = \@rc;
-  $r->{'supplements'} = \@su;
+  return \@r;
+}
+
+for my $pack (keys %packs) {
+  my $r = {};
+  $r->{'provides'} = parsedepline($prov{$packs{$pack}});
+  $r->{'requires'} = parsedepline($req{$packs{$pack}});
+  $r->{'conflicts'} = parsedepline($con{$packs{$pack}});
+  $r->{'obsoletes'} = parsedepline($obs{$packs{$pack}});
+  $r->{'recommends'} = parsedepline($rec{$packs{$pack}});
+  $r->{'supplements'} = parsedepline($sup{$packs{$pack}});
   $repo{$pack} = $r;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/obs-build-20190627/openstack-console 
new/obs-build-20190709/openstack-console
--- old/obs-build-20190627/openstack-console    2019-06-27 16:43:46.000000000 
+0200
+++ new/obs-build-20190709/openstack-console    2019-07-09 15:37:13.000000000 
+0200
@@ -1,5 +1,3 @@
-#!/usr/bin/python
-
 ################################################################
 #
 # Copyright (c) 2017 SUSE Linux Products GmbH


Reply via email to