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