Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package product-builder-plugin-Tumbleweed 
for openSUSE:Factory checked in at 2023-01-18 11:17:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/product-builder-plugin-Tumbleweed (Old)
 and      
/work/SRC/openSUSE:Factory/.product-builder-plugin-Tumbleweed.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "product-builder-plugin-Tumbleweed"

Wed Jan 18 11:17:18 2023 rev:20 rq: version:1.7.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/product-builder-plugin-Tumbleweed/product-builder-plugin-Tumbleweed.changes
      2021-10-04 18:40:40.886127354 +0200
+++ 
/work/SRC/openSUSE:Factory/.product-builder-plugin-Tumbleweed.new.32243/product-builder-plugin-Tumbleweed.changes
   2023-01-18 11:17:19.586895406 +0100
@@ -1,0 +2,7 @@
+Wed Jan 18 10:16:20 UTC 2023 - Adrian Schröter <[email protected]>
+
+- 1.7.0
+  * switch to SHA512 hashes for repomd meta data
+  * various smaller fixes for fedora media
+
+-------------------------------------------------------------------

Old:
----
  product-builder-plugins-1.6.0.obscpio

New:
----
  product-builder-plugins-1.7.0.obscpio

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

Other differences:
------------------
++++++ product-builder-plugin-Tumbleweed.spec ++++++
--- /var/tmp/diff_new_pack.fImmRr/_old  2023-01-18 11:17:20.306899138 +0100
+++ /var/tmp/diff_new_pack.fImmRr/_new  2023-01-18 11:17:20.310899159 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package product-builder-plugin-Tumbleweed
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 Summary:        openSUSE - KIWI Image System
 License:        GPL-2.0-or-later
 Group:          System/Management
-Version:        1.6.0
+Version:        1.7.0
 Release:        0
 Source:         product-builder-plugins-%version.tar.xz
 Provides:       product-builder-plugin = %version-%release

++++++ _service ++++++
--- /var/tmp/diff_new_pack.fImmRr/_old  2023-01-18 11:17:20.342899325 +0100
+++ /var/tmp/diff_new_pack.fImmRr/_new  2023-01-18 11:17:20.346899346 +0100
@@ -5,8 +5,8 @@
     <param name="revision">SLE_15</param>
 -->
     <param name="scm">git</param>
-    <param name="version">1.6.0</param>
-    <param name="revision">1.6.0</param>
+    <param name="version">1.7.0</param>
+    <param name="revision">1.7.0</param>
   </service>
   <service mode="manual" name="set_version" />
   <service mode="buildtime" name="tar"/>

++++++ product-builder-plugins-1.6.0.obscpio -> 
product-builder-plugins-1.7.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/product-builder-plugins-1.6.0/KIWIBootIsoPlugin.ini 
new/product-builder-plugins-1.7.0/KIWIBootIsoPlugin.ini
--- old/product-builder-plugins-1.6.0/KIWIBootIsoPlugin.ini     1970-01-01 
01:00:00.000000000 +0100
+++ new/product-builder-plugins-1.7.0/KIWIBootIsoPlugin.ini     2023-01-18 
11:14:52.000000000 +0100
@@ -0,0 +1,14 @@
+# INI file for KIWIMiniIsoPlugin.pm
+# Written by Jan-Christoph Bornschlegel <[email protected]>
+# Provides configuration for the plugin:
+# - required binaries
+# - required directories
+# - target file name
+# - unique order number
+# - package name providing the required binaries, if packaged
+
+[base]
+name = KIWIBootIsoPlugin
+order = 8
+defaultenable = 1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/product-builder-plugins-1.6.0/KIWIBootIsoPlugin.pm 
new/product-builder-plugins-1.7.0/KIWIBootIsoPlugin.pm
--- old/product-builder-plugins-1.6.0/KIWIBootIsoPlugin.pm      1970-01-01 
01:00:00.000000000 +0100
+++ new/product-builder-plugins-1.7.0/KIWIBootIsoPlugin.pm      2023-01-18 
11:14:52.000000000 +0100
@@ -0,0 +1,143 @@
+################################################################
+# Copyright (c) 2014, 2015 SUSE LLC
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 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 LICENSE); if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+#
+################################################################
+package KIWIBootIsoPlugin;
+
+use strict;
+use warnings;
+
+use base "KIWIBasePlugin";
+use Data::Dumper;
+use Config::IniFiles;
+use File::Find;
+use FileHandle;
+use Carp;
+use File::Basename qw /dirname/;
+
+sub new {
+    # ...
+    # Create a new KIWIMiniIsoPlugin object
+    # ---
+    my $class   = shift;
+    my $handler = shift;
+    my $config  = shift;
+    my $configpath;
+    my $configfile;
+    my $this = KIWIBasePlugin -> new($handler);
+    bless ($this, $class);
+    if ($config =~ m{(.*)/([^/]+)$}x) {
+        $configpath = $1;
+        $configfile = $2;
+    }
+    if ((! $configpath) || (! $configfile)) {
+        $this->logMsg("E",
+            "wrong parameters in plugin initialisation\n"
+        );
+        return;
+    }
+    ## plugin content:
+    #-----------------
+    #[base]
+    # name = KIWIEulaPlugin
+    # order = 3
+    # defaultenable = 1
+    #
+    #[target]
+    # targetfile = content
+    # targetdir = $PRODUCT_DIR
+    # media = (list of numbers XOR "all")
+    #
+    my $ini = Config::IniFiles -> new (
+        -file => "$configpath/$configfile"
+    );
+    my $name   = $ini->val('base', 'name');
+    my $order  = $ini->val('base', 'order');
+    my $enable = $ini->val('base', 'defaultenable');
+    # if any of those isn't set, complain!
+    if (not defined($name)
+        or not defined($order)
+        or not defined($enable)
+    ) {
+        $this->logMsg("E",
+            "Plugin ini file <$config> seems broken!\n"
+        );
+        return;
+    }
+    $this->name($name);
+    $this->order($order);
+    if($enable != 0) {
+        $this->ready(1);
+    }
+    return $this;
+}
+
+sub execute {
+    my $this = shift;
+    if(not ref($this)) {
+        return;
+    }
+    if($this->{m_ready} == 0) {
+        return 0;
+    }
+    my $isboot = $this->collect()->productData()->getVar("FLAVOR");
+    if(not defined($isboot)) {
+        $this->logMsg("W", "FLAVOR not set?");
+        return 0;
+    }
+    if ($isboot !~ m{boot}i) {
+        $this->logMsg("I",
+            "Nothing to do for media type <$isboot>"
+        );
+        return 0;
+    }
+    
+    my @rootfiles;
+    find(
+        sub { find_cb($this, '.*/root$', \@rootfiles) },
+        $this->handler()->collect()->basedir()
+    );
+    $this->removeRepoData();
+}
+
+sub removeRepoData {
+    my $this = shift;
+    my $basedir = $this->handler()->collect()->basedir();
+
+    $this->logMsg("I", "removing repodata from <$basedir>");
+    system("find", $basedir, "-name", "repodata", "-a", "-type", "d", "-exec", 
"rm", "-rv", "{}", ";");
+    system("find", $basedir, "-name", ".treeinfo", "-a", "-type", "f", 
"-exec", "rm", "-v", "{}", ";");
+    system("find", $basedir, "-name", "media.repo", "-a", "-type", "f", 
"-exec", "rm", "-v", "{}", ";");
+    return 0;
+}
+
+sub find_cb {
+    my $this = shift;
+    return if not ref($this);
+
+    my $pat = shift;
+    my $listref = shift;
+    if(not defined($listref) or not defined($pat)) {
+        return;
+    }
+    if($File::Find::name =~ m{$pat}x) {
+        push @{$listref}, $File::Find::name;
+    }
+    return $this;
+}
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/product-builder-plugins-1.6.0/KIWIDescrPlugin.pm 
new/product-builder-plugins-1.7.0/KIWIDescrPlugin.pm
--- old/product-builder-plugins-1.6.0/KIWIDescrPlugin.pm        2021-09-24 
10:07:52.000000000 +0200
+++ new/product-builder-plugins-1.7.0/KIWIDescrPlugin.pm        2023-01-18 
11:14:52.000000000 +0100
@@ -157,7 +157,7 @@
 
       $cmd = "$this->{m_modifyrepo}";
       $cmd .= " --unique-md-filenames";
-      $cmd .= " --checksum=sha256";
+      $cmd .= " --checksum=sha512";
       $cmd .= " $masterpath/$licensename.tar $masterpath/repodata";
 
       $call = $this -> callCmd($cmd);
@@ -185,7 +185,7 @@
     # the glob is only matching on files, so we need it for every directory 
depth
     $cmd .= " --excludes=boot/*.rpm";
     $cmd .= " --excludes=boot/*/*.rpm";
-    $cmd .= " --checksum=sha256";
+    $cmd .= " --checksum=sha512";
     $cmd .= " --no-database";
     $cmd .= " --error-exit-val"; # is not working with old createrepo
     foreach my $repoid (split(/\s+/, $repoids)) {
@@ -281,19 +281,22 @@
              "Called $cmd exit status: <$status> output: $out"
          );
          return 1 if $status;
-         $cmd = "/usr/bin/modifyrepo $masterpath/repodata/modules.yaml 
$masterpath/repodata/";
-         $call = $this -> callCmd($cmd);
-         $status = $call->[0];
-         $out = join("\n",@{$call->[2]});
-         $this->logMsg("I",
-             "Called $cmd exit status: <$status> output: $out"
-         );
-         return 1 if $status;
+         if (-s "$masterpath/repodata/modules.yaml") {
+             $cmd = "/usr/bin/modifyrepo $masterpath/repodata/modules.yaml 
$masterpath/repodata/";
+             $call = $this -> callCmd($cmd);
+             $status = $call->[0];
+             $out = join("\n",@{$call->[2]});
+             $this->logMsg("I",
+                 "Called $cmd exit status: <$status> output: $out"
+             );
+             return 1 if $status;
+         }
          unlink("$masterpath/repodata/modules.yaml");
       }
 
       # comps files from metapackages
       #
+      my $out;
       if (-d "$masterpath/comps") {
          opendir(DH, "$masterpath/comps");
          foreach my $comps (readdir(DH)) {
@@ -303,7 +306,7 @@
                $cmd = "gunzip $masterpath/comps/$comps";
                $call = $this -> callCmd($cmd);
                $status = $call->[0];
-               my $out = join("\n",@{$call->[2]});
+               $out = join("\n",@{$call->[2]});
                $this->logMsg("I",
                    "Called $cmd exit status: <$status> output: $out"
                );
@@ -315,7 +318,7 @@
            $cmd = "/usr/bin/modifyrepo --no-compress --mdtype=group 
$masterpath/comps/$comps $masterpath/repodata/";
            $call = $this -> callCmd($cmd);
            $status = $call->[0];
-           my $out = join("\n",@{$call->[2]});
+           $out = join("\n",@{$call->[2]});
            $this->logMsg("I",
                "Called $cmd exit status: <$status> output: $out"
            );
@@ -325,7 +328,7 @@
            $cmd = "/usr/bin/modifyrepo --compress-type=xz --mdtype=group_xz 
$masterpath/comps/$comps $masterpath/repodata/";
            $call = $this -> callCmd($cmd);
            $status = $call->[0];
-           my $out = join("\n",@{$call->[2]});
+           $out = join("\n",@{$call->[2]});
            $this->logMsg("I",
                "Called $cmd exit status: <$status> output: $out"
            );
@@ -341,7 +344,7 @@
       $cmd = "sign -d $masterpath/repodata/repomd.xml";
       $call = $this -> callCmd($cmd);
       $status = $call->[0];
-      my $out = join("\n",@{$call->[1]});
+      $out = join("\n",@{$call->[1]});
       $this->logMsg("I", "Called $cmd exit status: <$status> output: $out");
       return 1 if $status;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/product-builder-plugins-1.6.0/KIWIDnfRepoclosurePlugin.ini 
new/product-builder-plugins-1.7.0/KIWIDnfRepoclosurePlugin.ini
--- old/product-builder-plugins-1.6.0/KIWIDnfRepoclosurePlugin.ini      
2021-09-24 10:07:52.000000000 +0200
+++ new/product-builder-plugins-1.7.0/KIWIDnfRepoclosurePlugin.ini      
2023-01-18 11:14:52.000000000 +0100
@@ -1,5 +1,5 @@
 [base]
-name = KIWIDnfRepoclosure
+name = KIWIDnfRepoclosurePlugin
 order = 99
 defaultenable = 1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/product-builder-plugins-1.6.0/KIWIDnfRepoclosurePlugin.pm 
new/product-builder-plugins-1.7.0/KIWIDnfRepoclosurePlugin.pm
--- old/product-builder-plugins-1.6.0/KIWIDnfRepoclosurePlugin.pm       
2021-09-24 10:07:52.000000000 +0200
+++ new/product-builder-plugins-1.7.0/KIWIDnfRepoclosurePlugin.pm       
2023-01-18 11:14:52.000000000 +0100
@@ -47,12 +47,13 @@
 
     my $collect = $this->collect();
     my $enabled = 
$this->collect()->productData()->getOpt("RUN_DEPENDENCY_CHECK");
-    return 0 if ($enabled || '') ne 'true';
+    return 0 if ($enabled || '') ne 'error' && ($enabled || '') ne 'warn';
 
     my @archs = keys(%{$collect->{m_archlist}->{m_archs}});
 
     $this->logMsg("I", "Basedir " . $this->handler()->collect()->basedir());
     my @targetmedia = $this->collect()->getMediaNumbers();
+    my $validation_failed;
     foreach my $cd (@targetmedia) {
         my $dir = $this->collect()->basesubdirs()->{$cd};
         next unless -d "$dir/repodata";
@@ -66,11 +67,15 @@
              my $status = $call->[0];
              if ($status) {
                  my $out = join("\n",@{$call->[1]});
-                 $this->logMsg("E", "Validation failed: $out");
-                 return 1;
+                 $this->logMsg("W", "Validation failed: $out");
+                 $validation_failed = 1;
              }
         }
     }
+    if ($enabled eq 'error' && $validation_failed) {
+        $this->logMsg("E", "Any validation failed and check is enforced");
+        return 1;
+    }
     return 0;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/product-builder-plugins-1.6.0/KIWIInstallCheckPlugin.ini 
new/product-builder-plugins-1.7.0/KIWIInstallCheckPlugin.ini
--- old/product-builder-plugins-1.6.0/KIWIInstallCheckPlugin.ini        
1970-01-01 01:00:00.000000000 +0100
+++ new/product-builder-plugins-1.7.0/KIWIInstallCheckPlugin.ini        
2023-01-18 11:14:52.000000000 +0100
@@ -0,0 +1,5 @@
+[base]
+name = KIWIInstallCheckPlugin
+order = 98
+defaultenable = 1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/product-builder-plugins-1.6.0/KIWIInstallCheckPlugin.pm 
new/product-builder-plugins-1.7.0/KIWIInstallCheckPlugin.pm
--- old/product-builder-plugins-1.6.0/KIWIInstallCheckPlugin.pm 1970-01-01 
01:00:00.000000000 +0100
+++ new/product-builder-plugins-1.7.0/KIWIInstallCheckPlugin.pm 2023-01-18 
11:14:52.000000000 +0100
@@ -0,0 +1,82 @@
+################################################################
+# Copyright (c) 2019 SUSE
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 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 LICENSE); if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+#
+################################################################
+package KIWIInstallCheckPlugin;
+
+use strict;
+use warnings;
+
+use base "KIWIBasePlugin";
+use Data::Dumper;
+use Config::IniFiles;
+use File::Find;
+use File::Basename;
+
+sub new {
+    # ...
+    # Create a new KIWIPackagesDVDPlugin object
+    # ---
+    my ($class, $handler, $config) = @_;
+    my $this = KIWIBasePlugin -> new($handler);
+    bless ($this, $class);
+
+    $this->name('KIWIInstallCheckPlugin');
+    $this->order(98);
+    $this->ready(1);
+    return $this;
+}
+
+sub execute {
+    my $this = shift;
+    return unless ref($this);
+
+    my $collect = $this->collect();
+    my $enabled = 
$this->collect()->productData()->getOpt("RUN_DEPENDENCY_CHECK");
+    return 0 if ($enabled || '') ne 'error' && ($enabled || '') ne 'warn';
+
+    my @archs = keys(%{$collect->{m_archlist}->{m_archs}});
+
+    $this->logMsg("I", "Basedir " . $this->handler()->collect()->basedir());
+    my @targetmedia = $this->collect()->getMediaNumbers();
+    my $validation_failed;
+    foreach my $cd (@targetmedia) {
+        my $dir = $this->collect()->basesubdirs()->{$cd};
+        next unless -d "$dir/repodata";
+        foreach my $arch (@archs) {
+             next if $arch eq 'noarch';
+             $this->logMsg("I", "Verifing dependencies in <$cd>");
+             $this->logMsg("I", "Pass $dir");
+             my $cmd = "/usr/bin/installcheck $arch --withobsoletes 
$dir/repodata/*-primary.xml.gz $dir/repodata/*-filelists.xml.gz  2>&1"; # 
verbose output
+             $this->logMsg("I", "Executing command <$cmd>");
+             my $call = $this -> callCmd($cmd);
+             my $status = $call->[0];
+             if ($status) {
+                 my $out = join("\n",@{$call->[1]});
+                 $this->logMsg("W", "Validation failed: $out");
+                 $validation_failed = 1;
+             }
+        }
+    }
+    if ($enabled eq 'error' && $validation_failed) {
+        $this->logMsg("E", "Any validation failed and check is enforced");
+        return 1;
+    }
+    return 0;
+}
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/product-builder-plugins-1.6.0/KIWIPackagesDVDPlugin.pm 
new/product-builder-plugins-1.7.0/KIWIPackagesDVDPlugin.pm
--- old/product-builder-plugins-1.6.0/KIWIPackagesDVDPlugin.pm  2021-09-24 
10:07:52.000000000 +0200
+++ new/product-builder-plugins-1.7.0/KIWIPackagesDVDPlugin.pm  2023-01-18 
11:14:52.000000000 +0100
@@ -90,6 +90,9 @@
         print $report "</report>\n";
         close($report);
         close($products);
+
+        # drop main repodata on on fedora
+        system("rm -rf $dir/repodata") if -e "$dir/.discinfo";
     }
     return 0;
 }

++++++ product-builder-plugins.obsinfo ++++++
--- /var/tmp/diff_new_pack.fImmRr/_old  2023-01-18 11:17:20.454899905 +0100
+++ /var/tmp/diff_new_pack.fImmRr/_new  2023-01-18 11:17:20.454899905 +0100
@@ -1,6 +1,5 @@
 name: product-builder-plugins
-version: 1.6.0
-mtime: 1632470872
-commit: b59bf7b3c5876304dabcc344baf0e95e8705b578
-
+version: 1.7.0
+mtime: 1674036892
+commit: c95fe9dc0df1d003dcef734b0b252074e1b0d04a
 

Reply via email to