openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2024
- 2 participants
- 1399 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2024-08-17 12:41:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Sat Aug 17 12:41:28 2024 rev:452 rq:1194355 version:4.6.1723817204.0aff9e8
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2024-08-14 14:17:12.454449979 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.2698/os-autoinst.changes 2024-08-17 12:41:51.317035879 +0200
@@ -1,0 +2,11 @@
+Fri Aug 16 17:18:25 UTC 2024 - okurz(a)suse.com
+
+- Update to version 4.6.1723817204.0aff9e8:
+ * Allow package builds without `Inline::Python`
+ * Avoid dependency on `File::Touch` for easier SLE submission
+ * systemd: Fix path to os-autoinst-openvswitch (regression from aa027ef4)
+ * Fix script/ folder install
+ * Consistently provide all scripts in script/
+ * Add help for os-autoinst-setup-multi-machine
+
+-------------------------------------------------------------------
Old:
----
os-autoinst-4.6.1723465309.cf7b098.obscpio
New:
----
os-autoinst-4.6.1723817204.0aff9e8.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.HiPCqo/_old 2024-08-17 12:41:52.369079627 +0200
+++ /var/tmp/diff_new_pack.HiPCqo/_new 2024-08-17 12:41:52.373079793 +0200
@@ -18,7 +18,7 @@
%define short_name os-autoinst-devel
Name: %{short_name}-test
-Version: 4.6.1723465309.cf7b098
+Version: 4.6.1723817204.0aff9e8
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ os-autoinst-openvswitch-test.spec ++++++
--- /var/tmp/diff_new_pack.HiPCqo/_old 2024-08-17 12:41:52.401080958 +0200
+++ /var/tmp/diff_new_pack.HiPCqo/_new 2024-08-17 12:41:52.405081124 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst-openvswitch
Name: %{short_name}%{?name_ext}
-Version: 4.6.1723465309.cf7b098
+Version: 4.6.1723817204.0aff9e8
Release: 0
Summary: test package for %{short_name}
License: GPL-2.0-or-later
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.HiPCqo/_old 2024-08-17 12:41:52.429082122 +0200
+++ /var/tmp/diff_new_pack.HiPCqo/_new 2024-08-17 12:41:52.433082288 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.6.1723465309.cf7b098
+Version: 4.6.1723817204.0aff9e8
Release: 0
Summary: test package for os-autoinst
License: GPL-2.0-or-later
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.HiPCqo/_old 2024-08-17 12:41:52.461083453 +0200
+++ /var/tmp/diff_new_pack.HiPCqo/_new 2024-08-17 12:41:52.465083619 +0200
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.6.1723465309.cf7b098
+Version: 4.6.1723817204.0aff9e8
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
@@ -36,7 +36,7 @@
# The following line is generated from dependencies.yaml
%define build_requires %build_base_requires cmake ninja
# The following line is generated from dependencies.yaml
-%define main_requires git-core perl(B::Deparse) perl(Carp) perl(Carp::Always) perl(Config) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Cwd) perl(Data::Dumper) perl(Digest::MD5) perl(DynaLoader) perl(English) perl(Errno) perl(Exception::Class) perl(Exporter) perl(ExtUtils::testlib) perl(Fcntl) perl(File::Basename) perl(File::Find) perl(File::Map) perl(File::Path) perl(File::Temp) perl(File::Touch) perl(File::Which) perl(File::chdir) perl(IO::Handle) perl(IO::Scalar) perl(IO::Select) perl(IO::Socket) perl(IO::Socket::INET) perl(IO::Socket::UNIX) perl(IPC::Open3) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(JSON::Validator) perl(List::MoreUtils) perl(List::Util) perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::JSON) perl(Mojo::Log) perl(Mojo::URL) perl(Mojo::UserAgent) perl(Mojolicious) >= 9.340.0 perl(Mojolicious::Lite) perl(Net::DBus) perl(Net::Domain) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(T
erm::ANSIColor) perl(Thread::Queue) perl(Time::HiRes) perl(Time::Moment) perl(Time::Seconds) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(YAML::PP) perl(YAML::XS) perl(autodie) perl(base) perl(constant) perl(integer) perl(strict) perl(version) perl(warnings) perl-base rsync sshpass
+%define main_requires git-core perl(B::Deparse) perl(Carp) perl(Carp::Always) perl(Config) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Cwd) perl(Data::Dumper) perl(Digest::MD5) perl(DynaLoader) perl(English) perl(Errno) perl(Exception::Class) perl(Exporter) perl(ExtUtils::testlib) perl(Fcntl) perl(File::Basename) perl(File::Find) perl(File::Map) perl(File::Path) perl(File::Temp) perl(File::Which) perl(File::chdir) perl(IO::Handle) perl(IO::Scalar) perl(IO::Select) perl(IO::Socket) perl(IO::Socket::INET) perl(IO::Socket::UNIX) perl(IPC::Open3) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(JSON::Validator) perl(List::MoreUtils) perl(List::Util) perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::JSON) perl(Mojo::Log) perl(Mojo::URL) perl(Mojo::UserAgent) perl(Mojolicious) >= 9.340.0 perl(Mojolicious::Lite) perl(Net::DBus) perl(Net::Domain) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(Term::ANSIColor) pe
rl(Thread::Queue) perl(Time::HiRes) perl(Time::Moment) perl(Time::Seconds) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(YAML::PP) perl(YAML::XS) perl(autodie) perl(base) perl(constant) perl(integer) perl(strict) perl(version) perl(warnings) perl-base rsync sshpass
# all requirements needed by the tests, do not require on this in the package
# itself or any sub-packages
# SLE is missing spell check requirements
@@ -67,6 +67,18 @@
%else
%bcond_with black
%endif
+# SLE is missing Python support requirements
+%if !0%{?is_opensuse}
+%bcond_without python_support
+%else
+%bcond_with python_support
+%endif
+%if %{with python_support}
+# The following line is generated from dependencies.yaml
+%define python_support_requires perl(Inline::Python)
+%else
+%define python_support_requires %{nil}
+%endif
%if %{with black}
# The following line is generated from dependencies.yaml
%define python_style_requires python3-black
@@ -95,7 +107,7 @@
# The following line is generated from dependencies.yaml
%define test_version_only_requires perl(Mojo::IOLoop::ReadWriteProcess) >= 0.28
# The following line is generated from dependencies.yaml
-%define test_requires %build_requires %ocr_requires %spellcheck_requires %test_base_requires %test_non_s390_requires %yamllint_requires perl(Inline::Python) python3-Pillow-tk
+%define test_requires %build_requires %ocr_requires %spellcheck_requires %test_base_requires %test_non_s390_requires %yamllint_requires python3-Pillow-tk
# The following line is generated from dependencies.yaml
%define devel_requires %python_style_requires %test_requires ShellCheck perl(Code::TidyAll) perl(Devel::Cover) perl(Devel::Cover::Report::Codecov) perl(Module::CPANfile) perl(Perl::Tidy) perl(Template::Toolkit) shfmt
%define s390_zvm_requires /usr/bin/xkbcomp /usr/bin/Xvnc x3270 icewm xterm xterm-console xdotool fonts-config mkfontdir mkfontscale openssh-clients
@@ -111,8 +123,10 @@
Recommends: %qemu_requires
Recommends: dumponlyconsole %s390_zvm_requires
Recommends: qemu >= 4.0.0
+%if %{with python_support}
# Optional dependency for Python test API support
Recommends: perl(Inline::Python)
+%endif
# Optional dependency for crop.py
Recommends: python3-Pillow-tk
# Optional dependency for QEMU's built-in samba service (enabled via QEMU_ENABLE_SMBD=1)
++++++ os-autoinst-4.6.1723465309.cf7b098.obscpio -> os-autoinst-4.6.1723817204.0aff9e8.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.6.1723465309.cf7b098.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.2698/os-autoinst-4.6.1723817204.0aff9e8.obscpio differ: char 50, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.HiPCqo/_old 2024-08-17 12:41:52.537086614 +0200
+++ /var/tmp/diff_new_pack.HiPCqo/_new 2024-08-17 12:41:52.541086779 +0200
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.6.1723465309.cf7b098
-mtime: 1723465309
-commit: cf7b09887c625d2094a3e6dd2e4616f859fc874b
+version: 4.6.1723817204.0aff9e8
+mtime: 1723817204
+commit: 0aff9e8a9a2361f5eb2c765e95135918e1a7edab
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openQA for openSUSE:Factory checked in at 2024-08-17 12:41:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
and /work/SRC/openSUSE:Factory/.openQA.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA"
Sat Aug 17 12:41:25 2024 rev:609 rq:1194353 version:4.6.1723815752.458533ee
Changes:
--------
openQA-devel-test.changes: same change
openQA-test.changes: same change
openQA-worker-test.changes: same change
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes 2024-08-14 14:17:05.278149987 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.2698/openQA.changes 2024-08-17 12:41:49.588964020 +0200
@@ -1,0 +2,18 @@
+Fri Aug 16 17:04:40 UTC 2024 - okurz(a)suse.com
+
+- Update to version 4.6.1723815752.458533ee:
+ * Bump datatables.net-bs5 from 2.1.3 to 2.1.4
+ * Add better help on menu items after removing obtrusive tour
+ * Remove tour as it was rather obtrusive
+ * openqa.ini: Move comment on template setting
+ * Update codecov.yml with current coverage in t/
+ * Extend test coverage of OpenQA::Git
+ * Immediately search when clearing search field
+ * Stop openQA worker processes gracefully to avoid 5xx responses
+ * Add interactive log viewer
+ * t: Remove duplication from test labels
+ * t: Avoid tampering with git checkout
+ * Fix link in live dev mode to docs
+ * Mention the possibility to specify a URL via `SCENARIO_DEF…S_YAML_FILE`
+
+-------------------------------------------------------------------
Old:
----
openQA-4.6.1723625349.2972cfd0.obscpio
New:
----
openQA-4.6.1723815752.458533ee.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.576Muq/_old 2024-08-17 12:41:50.444999617 +0200
+++ /var/tmp/diff_new_pack.576Muq/_new 2024-08-17 12:41:50.448999783 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-client
Name: %{short_name}-test
-Version: 4.6.1723625349.2972cfd0
+Version: 4.6.1723815752.458533ee
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.576Muq/_old 2024-08-17 12:41:50.477000948 +0200
+++ /var/tmp/diff_new_pack.576Muq/_new 2024-08-17 12:41:50.481001114 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1723625349.2972cfd0
+Version: 4.6.1723815752.458533ee
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.576Muq/_old 2024-08-17 12:41:50.513002445 +0200
+++ /var/tmp/diff_new_pack.576Muq/_new 2024-08-17 12:41:50.513002445 +0200
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1723625349.2972cfd0
+Version: 4.6.1723815752.458533ee
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.576Muq/_old 2024-08-17 12:41:50.541003609 +0200
+++ /var/tmp/diff_new_pack.576Muq/_new 2024-08-17 12:41:50.545003775 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1723625349.2972cfd0
+Version: 4.6.1723815752.458533ee
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.576Muq/_old 2024-08-17 12:41:50.573004940 +0200
+++ /var/tmp/diff_new_pack.576Muq/_new 2024-08-17 12:41:50.577005106 +0200
@@ -80,7 +80,7 @@
%define devel_requires %devel_no_selenium_requires chromedriver
Name: openQA
-Version: 4.6.1723625349.2972cfd0
+Version: 4.6.1723815752.458533ee
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
++++++ node_modules.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/node_modules.obscpio /work/SRC/openSUSE:Factory/.openQA.new.2698/node_modules.obscpio differ: char 303795, line 1145
++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.576Muq/_old 2024-08-17 12:41:50.653008267 +0200
+++ /var/tmp/diff_new_pack.576Muq/_new 2024-08-17 12:41:50.657008433 +0200
@@ -4,153 +4,148 @@
Source1003: https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#/@eslint-e…
Source1004: https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz#/@eslint-js-9.9.0.tgz
Source1005: https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz#…
-Source1006: https://registry.npmjs.org/@floating-ui/core/-/core-1.6.7.tgz#/@floating-ui…
-Source1007: https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.10.tgz#/@floating-ui-…
-Source1008: https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz#/@floating-…
-Source1009: https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer…
-Source1010: https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz#/@humanwh…
-Source1011: https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#/@nod…
-Source1012: https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#/@nodelib-f…
-Source1013: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#/@nodelib-f…
-Source1014: https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz#/@pkgr-core-0.1.1.tgz
-Source1015: https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core…
-Source1016: https://registry.npmjs.org/ace-builds/-/ace-builds-1.35.4.tgz#/ace-builds-1…
-Source1017: https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz#/acorn-8.12.1.tgz
-Source1018: https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2…
-Source1019: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
-Source1020: https://registry.npmjs.org/anser/-/anser-2.1.1.tgz#/anser-2.1.1.tgz
-Source1021: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#/ansi-regex-5.…
-Source1022: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles…
-Source1023: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
-Source1024: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balan…
-Source1025: https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz#/bootstrap-5.3.3…
-Source1026: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/br…
-Source1027: https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0…
-Source1028: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
-Source1029: https://registry.npmjs.org/chosen-js/-/chosen-js-1.8.7.tgz#/chosen-js-1.8.7…
-Source1030: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-c…
-Source1031: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.…
-Source1032: https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0…
-Source1033: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.…
-Source1034: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#/cross-spawn…
-Source1035: https://registry.npmjs.org/d3/-/d3-7.9.0.tgz#/d3-7.9.0.tgz
-Source1036: https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#/d3-array-3.2.4.tgz
-Source1037: https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz#/d3-axis-3.0.0.tgz
-Source1038: https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz#/d3-brush-3.0.0.tgz
-Source1039: https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz#/d3-chord-3.0.1.tgz
-Source1040: https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#/d3-color-3.1.0.tgz
-Source1041: https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz#/d3-contour-4.…
-Source1042: https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz#/d3-delaunay…
-Source1043: https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz#/d3-dispatch…
-Source1044: https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz#/d3-drag-3.0.0.tgz
-Source1045: https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz#/d3-dsv-3.0.1.tgz
-Source1046: https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz#/d3-ease-3.0.1.tgz
-Source1047: https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz#/d3-fetch-3.0.1.tgz
-Source1048: https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz#/d3-force-3.0.0.tgz
-Source1049: https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#/d3-format-3.1.0…
-Source1050: https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz#/d3-geo-3.1.1.tgz
-Source1051: https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#/d3-hierar…
-Source1052: https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#/d3-in…
-Source1053: https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz#/d3-path-3.1.0.tgz
-Source1054: https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz#/d3-polygon-3.…
-Source1055: https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz#/d3-quadtree…
-Source1056: https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz#/d3-random-3.0.1…
-Source1057: https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz#/d3-scale-4.0.2.tgz
-Source1058: https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tg…
-Source1059: https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz#/d3-select…
-Source1060: https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz#/d3-shape-3.2.0.tgz
-Source1061: https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz#/d3-time-3.1.0.tgz
-Source1062: https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz#/d3-ti…
-Source1063: https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz#/d3-timer-3.0.1.tgz
-Source1064: https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz#/d3-tran…
-Source1065: https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz#/d3-zoom-3.0.0.tgz
-Source1066: https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
-Source1067: https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
-Source1068: https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.3.tgz#/datat…
-Source1069: https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.3.tg…
-Source1070: https://registry.npmjs.org/debug/-/debug-4.3.6.tgz#/debug-4.3.6.tgz
-Source1071: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
-Source1072: https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz#/deepmerge-4.3.1…
-Source1073: https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz#/delaunator-5.…
-Source1074: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.…
-Source1075: https://registry.npmjs.org/eslint/-/eslint-9.9.0.tgz#/eslint-9.9.0.tgz
-Source1076: https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-…
-Source1077: https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-…
-Source1078: https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz#/eslint-sc…
-Source1079: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.…
-Source1080: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.…
-Source1081: https://registry.npmjs.org/espree/-/espree-10.1.0.tgz#/espree-10.1.0.tgz
-Source1082: https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
-Source1083: https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0…
-Source1084: https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.…
-Source1085: https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
-Source1086: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fas…
-Source1087: https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0…
-Source1088: https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-st…
-Source1089: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/f…
-Source1090: https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz#/fastq-1.17.1.tgz
-Source1091: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#/f…
-Source1092: https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
-Source1093: https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#/flat-cache-4.…
-Source1094: https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz#/flatted-3.3.1.tgz
-Source1095: https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awes…
-Source1096: https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent…
-Source1097: https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#/globals-14.0.0.tgz
-Source1098: https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
-Source1099: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
-Source1100: https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.…
-Source1101: https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
-Source1102: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#/import-fr…
-Source1103: https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash…
-Source1104: https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#/internmap-2.0.3…
-Source1105: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.…
-Source1106: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
-Source1107: https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#/is-pa…
-Source1108: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
-Source1109: https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
-Source1110: https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.…
-Source1111: https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
-Source1112: https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer…
-Source1113: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.…
-Source1114: https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-sta…
-Source1115: https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
-Source1116: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
-Source1117: https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path…
-Source1118: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
-Source1119: https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.me…
-Source1120: https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2…
-Source1121: https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#/ms-2.1.2.tgz
-Source1122: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/nat…
-Source1123: https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.…
-Source1124: https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
-Source1125: https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
-Source1126: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-…
-Source1127: https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists…
-Source1128: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
-Source1129: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.…
-Source1130: https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz#/prettier-3.3.3.tgz
-Source1131: https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helper…
-Source1132: https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
-Source1133: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#/que…
-Source1134: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-f…
-Source1135: https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#/reusify-1.0.4.tgz
-Source1136: https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz#…
-Source1137: https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#/run-paral…
-Source1138: https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
-Source1139: https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buf…
-Source1140: https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/she…
-Source1141: https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang…
-Source1142: https://registry.npmjs.org/shepherd.js/-/shepherd.js-11.2.0.tgz#/shepherd.j…
-Source1143: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#/strip-ansi-6.…
-Source1144: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.…
-Source1145: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/suppo…
-Source1146: https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz#/synckit-0.9.1.tgz
-Source1147: https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#/text-table-0.…
-Source1148: https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
-Source1149: https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz#/tslib-2.6.3.tgz
-Source1150: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.…
-Source1151: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
-Source1152: https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
-Source1153: https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5…
-Source1154: https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue…
+Source1006: https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer…
+Source1007: https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz#/@humanwh…
+Source1008: https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#/@nod…
+Source1009: https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#/@nodelib-f…
+Source1010: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#/@nodelib-f…
+Source1011: https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz#/@pkgr-core-0.1.1.tgz
+Source1012: https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz#/@popperjs-core…
+Source1013: https://registry.npmjs.org/ace-builds/-/ace-builds-1.35.4.tgz#/ace-builds-1…
+Source1014: https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz#/acorn-8.12.1.tgz
+Source1015: https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2…
+Source1016: https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#/ajv-6.12.6.tgz
+Source1017: https://registry.npmjs.org/anser/-/anser-2.1.1.tgz#/anser-2.1.1.tgz
+Source1018: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz#/ansi-regex-5.…
+Source1019: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#/ansi-styles…
+Source1020: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#/argparse-2.0.1.tgz
+Source1021: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz#/balan…
+Source1022: https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz#/bootstrap-5.3.3…
+Source1023: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#/br…
+Source1024: https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#/callsites-3.1.0…
+Source1025: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz#/chalk-4.1.2.tgz
+Source1026: https://registry.npmjs.org/chosen-js/-/chosen-js-1.8.7.tgz#/chosen-js-1.8.7…
+Source1027: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#/color-c…
+Source1028: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#/color-name-1.…
+Source1029: https://registry.npmjs.org/commander/-/commander-7.2.0.tgz#/commander-7.2.0…
+Source1030: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#/concat-map-0.…
+Source1031: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#/cross-spawn…
+Source1032: https://registry.npmjs.org/d3/-/d3-7.9.0.tgz#/d3-7.9.0.tgz
+Source1033: https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#/d3-array-3.2.4.tgz
+Source1034: https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz#/d3-axis-3.0.0.tgz
+Source1035: https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz#/d3-brush-3.0.0.tgz
+Source1036: https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz#/d3-chord-3.0.1.tgz
+Source1037: https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#/d3-color-3.1.0.tgz
+Source1038: https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz#/d3-contour-4.…
+Source1039: https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz#/d3-delaunay…
+Source1040: https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz#/d3-dispatch…
+Source1041: https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz#/d3-drag-3.0.0.tgz
+Source1042: https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz#/d3-dsv-3.0.1.tgz
+Source1043: https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz#/d3-ease-3.0.1.tgz
+Source1044: https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz#/d3-fetch-3.0.1.tgz
+Source1045: https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz#/d3-force-3.0.0.tgz
+Source1046: https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#/d3-format-3.1.0…
+Source1047: https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz#/d3-geo-3.1.1.tgz
+Source1048: https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#/d3-hierar…
+Source1049: https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#/d3-in…
+Source1050: https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz#/d3-path-3.1.0.tgz
+Source1051: https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz#/d3-polygon-3.…
+Source1052: https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz#/d3-quadtree…
+Source1053: https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz#/d3-random-3.0.1…
+Source1054: https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz#/d3-scale-4.0.2.tgz
+Source1055: https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tg…
+Source1056: https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz#/d3-select…
+Source1057: https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz#/d3-shape-3.2.0.tgz
+Source1058: https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz#/d3-time-3.1.0.tgz
+Source1059: https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz#/d3-ti…
+Source1060: https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz#/d3-timer-3.0.1.tgz
+Source1061: https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz#/d3-tran…
+Source1062: https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz#/d3-zoom-3.0.0.tgz
+Source1063: https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz#/dagre-0.8.5.tgz
+Source1064: https://registry.npmjs.org/dagre-d3/-/dagre-d3-0.6.4.tgz#/dagre-d3-0.6.4.tgz
+Source1065: https://registry.npmjs.org/datatables.net/-/datatables.net-2.1.4.tgz#/datat…
+Source1066: https://registry.npmjs.org/datatables.net-bs5/-/datatables.net-bs5-2.1.4.tg…
+Source1067: https://registry.npmjs.org/debug/-/debug-4.3.6.tgz#/debug-4.3.6.tgz
+Source1068: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz#/deep-is-0.1.4.tgz
+Source1069: https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz#/delaunator-5.…
+Source1070: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.…
+Source1071: https://registry.npmjs.org/eslint/-/eslint-9.9.0.tgz#/eslint-9.9.0.tgz
+Source1072: https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-…
+Source1073: https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-…
+Source1074: https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz#/eslint-sc…
+Source1075: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.…
+Source1076: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.…
+Source1077: https://registry.npmjs.org/espree/-/espree-10.1.0.tgz#/espree-10.1.0.tgz
+Source1078: https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz#/esquery-1.6.0.tgz
+Source1079: https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#/esrecurse-4.3.0…
+Source1080: https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz#/estraverse-5.…
+Source1081: https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#/esutils-2.0.3.tgz
+Source1082: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#/fas…
+Source1083: https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz#/fast-diff-1.3.0…
+Source1084: https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-st…
+Source1085: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/f…
+Source1086: https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz#/fastq-1.17.1.tgz
+Source1087: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz#/f…
+Source1088: https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz#/find-up-5.0.0.tgz
+Source1089: https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz#/flat-cache-4.…
+Source1090: https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz#/flatted-3.3.1.tgz
+Source1091: https://registry.npmjs.org/fork-awesome/-/fork-awesome-1.2.0.tgz#/fork-awes…
+Source1092: https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent…
+Source1093: https://registry.npmjs.org/globals/-/globals-14.0.0.tgz#/globals-14.0.0.tgz
+Source1094: https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
+Source1095: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#/has-flag-4.0.0.tgz
+Source1096: https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz#/iconv-lite-0.…
+Source1097: https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#/ignore-5.3.2.tgz
+Source1098: https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#/import-fr…
+Source1099: https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#/imurmurhash…
+Source1100: https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#/internmap-2.0.3…
+Source1101: https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#/is-extglob-2.…
+Source1102: https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz#/is-glob-4.0.3.tgz
+Source1103: https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz#/is-pa…
+Source1104: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#/isexe-2.0.0.tgz
+Source1105: https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz#/jquery-3.7.1.tgz
+Source1106: https://registry.npmjs.org/jquery-ujs/-/jquery-ujs-1.2.3.tgz#/jquery-ujs-1.…
+Source1107: https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#/js-yaml-4.1.0.tgz
+Source1108: https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz#/json-buffer…
+Source1109: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.…
+Source1110: https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-sta…
+Source1111: https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz#/keyv-4.5.4.tgz
+Source1112: https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#/levn-0.4.1.tgz
+Source1113: https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#/locate-path…
+Source1114: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#/lodash-4.17.21.tgz
+Source1115: https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz#/lodash.me…
+Source1116: https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz#/minimatch-3.1.2…
+Source1117: https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#/ms-2.1.2.tgz
+Source1118: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#/nat…
+Source1119: https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz#/optionator-0.…
+Source1120: https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#/p-limit-3.1.0.tgz
+Source1121: https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#/p-locate-5.0.0.tgz
+Source1122: https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#/parent-…
+Source1123: https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#/path-exists…
+Source1124: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
+Source1125: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#/prelude-ls-1.…
+Source1126: https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz#/prettier-3.3.3.tgz
+Source1127: https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helper…
+Source1128: https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz#/punycode-2.3.1.tgz
+Source1129: https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#/que…
+Source1130: https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#/resolve-f…
+Source1131: https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#/reusify-1.0.4.tgz
+Source1132: https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz#…
+Source1133: https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#/run-paral…
+Source1134: https://registry.npmjs.org/rw/-/rw-1.3.3.tgz#/rw-1.3.3.tgz
+Source1135: https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#/safer-buf…
+Source1136: https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#/she…
+Source1137: https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#/shebang…
+Source1138: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#/strip-ansi-6.…
+Source1139: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.…
+Source1140: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#/suppo…
+Source1141: https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz#/synckit-0.9.1.tgz
+Source1142: https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#/text-table-0.…
+Source1143: https://registry.npmjs.org/timeago/-/timeago-1.6.7.tgz#/timeago-1.6.7.tgz
+Source1144: https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz#/tslib-2.6.3.tgz
+Source1145: https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#/type-check-0.…
+Source1146: https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#/uri-js-4.4.1.tgz
+Source1147: https://registry.npmjs.org/which/-/which-2.0.2.tgz#/which-2.0.2.tgz
+Source1148: https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz#/word-wrap-1.2.5…
+Source1149: https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#/yocto-queue…
++++++ openQA-4.6.1723625349.2972cfd0.obscpio -> openQA-4.6.1723815752.458533ee.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/openQA-4.6.1723625349.2972cfd0.obscpio /work/SRC/openSUSE:Factory/.openQA.new.2698/openQA-4.6.1723815752.458533ee.obscpio differ: char 50, line 1
++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.576Muq/_old 2024-08-17 12:41:50.717010929 +0200
+++ /var/tmp/diff_new_pack.576Muq/_new 2024-08-17 12:41:50.721011094 +0200
@@ -1,5 +1,5 @@
name: openQA
-version: 4.6.1723625349.2972cfd0
-mtime: 1723625349
-commit: 2972cfd0b88409858febe0bc4ff21e243299bab2
+version: 4.6.1723815752.458533ee
+mtime: 1723815752
+commit: 458533ee9c51304651ab59e2f205c6df3ffe7827
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package asclock for openSUSE:Factory checked in at 2024-08-17 12:41:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/asclock (Old)
and /work/SRC/openSUSE:Factory/.asclock.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "asclock"
Sat Aug 17 12:41:23 2024 rev:17 rq:1194347 version:2.0.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/asclock/asclock.changes 2020-06-12 21:46:19.872620106 +0200
+++ /work/SRC/openSUSE:Factory/.asclock.new.2698/asclock.changes 2024-08-17 12:41:45.924811652 +0200
@@ -1,0 +2,6 @@
+Fri Aug 16 09:42:31 UTC 2024 - Martin Jambor <mjambor(a)suse.com>
+
+- Add asclock-C99.diff which declares a function defined after use so
+ that the cource code does not violate C99 and builds with GCC 14.
+
+-------------------------------------------------------------------
New:
----
asclock-C99.diff
BETA DEBUG BEGIN:
New:
- Add asclock-C99.diff which declares a function defined after use so
that the cource code does not violate C99 and builds with GCC 14.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ asclock.spec ++++++
--- /var/tmp/diff_new_pack.RPsQ02/_old 2024-08-17 12:41:46.332828619 +0200
+++ /var/tmp/diff_new_pack.RPsQ02/_new 2024-08-17 12:41:46.336828785 +0200
@@ -1,7 +1,7 @@
#
# spec file for package asclock
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -25,6 +25,7 @@
URL: http://www.tigr.net/afterstep/
Source: asclock-%{version}.tar.bz2
Patch0: gcc4.diff
+Patch1: asclock-C99.diff
BuildRequires: fdupes
BuildRequires: imake
BuildRequires: pkgconfig
++++++ asclock-C99.diff ++++++
Index: asclock.c
===================================================================
--- asclock.c.orig
+++ asclock.c
@@ -60,6 +60,7 @@ void InsertTime();
void swatch_beats(int beats_cnt);
static Atom wm_delete_window;
+int mytime();
int main(int argc,char *argv[])
{
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2024-08-17 12:41:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mksusecd (Old)
and /work/SRC/openSUSE:Factory/.mksusecd.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mksusecd"
Sat Aug 17 12:41:22 2024 rev:83 rq:1194333 version:3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes 2024-07-18 19:19:29.478649613 +0200
+++ /work/SRC/openSUSE:Factory/.mksusecd.new.2698/mksusecd.changes 2024-08-17 12:41:43.760721662 +0200
@@ -1,0 +2,12 @@
+Fri Aug 16 15:54:15 UTC 2024 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/mksusecd#76
+- make some compression settings configurable (bsc#1223982,
+ jsc#PED-8374)
+- update documentation
+- fix UEFI image rebuild detection (bsc#1227668)
+- allow updating kernel in live initrd
+- allow updating kernel in live root, support resizing live root
+- 3.0
+
+--------------------------------------------------------------------
Old:
----
mksusecd-2.19.tar.xz
New:
----
mksusecd-3.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mksusecd.spec ++++++
--- /var/tmp/diff_new_pack.50KP1B/_old 2024-08-17 12:41:45.744804167 +0200
+++ /var/tmp/diff_new_pack.50KP1B/_new 2024-08-17 12:41:45.748804333 +0200
@@ -18,7 +18,7 @@
Name: mksusecd
-Version: 2.19
+Version: 3.0
Release: 0
Summary: Tool to create SUSE Linux installation ISOs
License: GPL-3.0+
++++++ mksusecd-2.19.tar.xz -> mksusecd-3.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-2.19/VERSION new/mksusecd-3.0/VERSION
--- old/mksusecd-2.19/VERSION 2024-07-17 21:02:32.000000000 +0200
+++ new/mksusecd-3.0/VERSION 2024-08-16 17:54:15.000000000 +0200
@@ -1 +1 @@
-2.19
+3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-2.19/changelog new/mksusecd-3.0/changelog
--- old/mksusecd-2.19/changelog 2024-07-17 21:02:32.000000000 +0200
+++ new/mksusecd-3.0/changelog 2024-08-16 17:54:15.000000000 +0200
@@ -1,3 +1,12 @@
+2024-08-16: 3.0
+ - merge gh#openSUSE/mksusecd#76
+ - make some compression settings configurable (bsc#1223982,
+ jsc#PED-8374)
+ - update documentation
+ - fix UEFI image rebuild detection (bsc#1227668)
+ - allow updating kernel in live initrd
+ - allow updating kernel in live root, support resizing live root
+
2024-07-17: 2.19
- merge gh#openSUSE/mksusecd#75
- update El-Torito UEFI image to match 'EFI' directory (bsc#1227668)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-2.19/mksusecd new/mksusecd-3.0/mksusecd
--- old/mksusecd-2.19/mksusecd 2024-07-17 21:02:32.000000000 +0200
+++ new/mksusecd-3.0/mksusecd 2024-08-16 17:54:15.000000000 +0200
@@ -211,6 +211,8 @@
sub get_initrd_modules;
sub build_module_list;
sub add_modules_to_initrd;
+sub add_modules_to_instsys;
+sub update_no_compression_settings;
sub replace_kernel_mods;
sub new_products_xml;
sub prepare_addon;
@@ -291,7 +293,8 @@
my $opt_instsys_in_repo = 1;
my $opt_create_repo;
my $opt_signature_file;
-
+my $opt_no_compression;
+my $opt_instsys_size;
Getopt::Long::Configure("gnu_compat");
@@ -329,6 +332,7 @@
'filesystem=s' => \$opt_crypto_fs,
'no-iso' => \$opt_no_iso,
'size=s' => \$opt_size,
+ 'instsys-size|live-root-size=s' => \$opt_instsys_size,
'protective-mbr' => sub { $opt_no_prot_mbr = 0 },
'no-protective-mbr' => \$opt_no_prot_mbr,
'mbr-code' => sub { $opt_no_mbr_code = 0 },
@@ -336,9 +340,10 @@
'mbr-chs' => sub { $opt_no_mbr_chs = 0 },
'no-mbr-chs' => \$opt_no_mbr_chs,
'initrd=s' => \@opt_initrds,
- 'instsys=s' => \@opt_instsys,
+ 'instsys|live-root=s' => \@opt_instsys,
'rescue=s' => \@opt_rescue,
- 'rebuild-initrd' => \$opt_rebuild_initrd,
+ 'rebuild-initrd' => sub { $opt_rebuild_initrd = 2 },
+ 'no-rebuild-initrd' => sub { $opt_rebuild_initrd = 0 },
'boot=s' => \$opt_boot_options,
'grub2' => sub { $opt_loader = "grub" },
'isolinux' => sub { $opt_loader = "isolinux" },
@@ -371,6 +376,7 @@
'list-repos' => \$opt_list_repos,
'include-repos=s' => \$opt_include_repos,
'enable-repos=s' => \$opt_enable_repos,
+ 'no-compression=s' => sub { @$opt_no_compression{split /,/, $_[1]} = ( 1 .. 8 ) },
'save-temp' => \$opt_save_temp,
'verbose|v' => sub { $opt_verbose++ },
'version' => sub { print "$VERSION\n"; exit 0 },
@@ -382,12 +388,29 @@
usage 1 if defined($opt_digest) && $opt_digest !~ '^(md5|sha1|sha224|sha256|sha384|sha512)$';
usage 1 if defined($opt_enable_repos) && $opt_enable_repos !~ /^(0|1|no|yes|auto|ask)$/i;
+for (keys %$opt_no_compression) {
+ die "Option --no-compression only accepts firmware, modules, or squashfs\n" if !/^(firmware|modules|squashfs)$/;
+}
+
+if(@opt_kernel_rpms && ! defined $opt_rebuild_initrd) {
+ $opt_rebuild_initrd = 1;
+}
+
+if(@opt_kernel_modules && !@opt_kernel_rpms) {
+ die "No kernel packages specified. Use --kernel together with --modules.\n";
+}
+
die "no password\n" if $opt_crypto && $opt_crypto_password eq "";
$ENV{PATH} = "/usr/bin:/bin:/usr/sbin:/sbin";
-if($opt_rebuild_initrd && $>) {
- die "mksusecd must be run with root permissions when --rebuild-initrd is used\n"
+if($>) {
+ if($opt_rebuild_initrd == 2) {
+ die "mksusecd must be run with root permissions when --rebuild-initrd is used\n"
+ }
+ if($opt_rebuild_initrd == 1) {
+ die "mksusecd must be run with root permissions to update kernel config.\nOr use --no-rebuild-initrd.\n"
+ }
}
if(open my $f, "$ENV{HOME}/.mksusecdrc") {
@@ -460,6 +483,8 @@
my $media_style = 'suse';
my $media_variant = 'install';
my $detected_signature_file;
+my $orig_initrd_00_lib;
+my $instsys_size;
my $progress_start = 0;
my $progress_end = 100;
@@ -473,6 +498,17 @@
if(defined $opt_size) {
$image_size = eval_size $opt_size;
die "$opt_size: invalid size\n" unless $image_size;
+ printf "target image size: %.2f GiB ($image_size blocks)\n", $image_size / (1 << 21);
+}
+
+if(defined $opt_instsys_size) {
+ $instsys_size = eval_size $opt_instsys_size;
+ die "$opt_instsys_size: invalid size\n" unless defined $instsys_size;
+
+ # add at least an empty directory if we are going to resize the live root file system
+ if(!@opt_instsys) {
+ push @opt_instsys, $tmp->dir();
+ }
}
if($opt_sign_pass_file) {
@@ -764,122 +800,132 @@
General options:
- --verbose Show more detailed messages. Can be repeated to log even more.
- --version Show mksusecd version.
- --save-temp Keep temporary files.
- --help Write this help text.
+ --verbose Show more detailed messages. Can be repeated to log even more.
+ --version Show mksusecd version.
+ --save-temp Keep temporary files.
+ --help Write this help text.
Show available repositories:
- --list-repos List all available repositories in SOURCES.
+ --list-repos List all available repositories in SOURCES.
Create new image:
- -c, --create FILE Create ISO or disk image FILE from SOURCES.
+ -c, --create FILE Create ISO or disk image FILE from SOURCES.
Media type related options:
- --micro Create image with just enough files to run the installer (for testing).
- --nano Create image with just enough files for a network based installation.
- --pico Even less than --nano, keep just the bootloader (for testing).
+ --micro Create image with just enough files to run the installer (for testing).
+ --nano Create image with just enough files for a network based installation.
+ --pico Even less than --nano, keep just the bootloader (for testing).
Media integrity related options:
- --check Tag ISO to be verified before starting the installation.
- --no-check Don't tag ISO (default).
- --digest DIGEST Embed DIGEST to verify ISO integrity (default: sha256).
- --no-digest Don't embed any digest to verify ISO integrity.
- --sign-image Embed signature for entire image.
- --no-sign-image Don't embed signature for entire image. (default)
- --signature-file FILE Store embedded signature in FILE. (default: /.signature)
- --sign Re-sign '/CHECKSUMS' if it has changed (default).
- --no-sign Don't re-sign '/CHECKSUMS'.
- --sign-key KEY_FILE Use this key file instead of generating a transient key.
- --sign-key-id KEY_ID Use this key id instead of generating a transient key.
- --sign-pass-file Use the password stored in this file to open the key.
+ --check Tag ISO to be verified before starting the installation.
+ --no-check Don't tag ISO (default).
+ --digest DIGEST Embed DIGEST to verify ISO integrity (default: sha256).
+ --no-digest Don't embed any digest to verify ISO integrity.
+ --sign-image Embed signature for entire image.
+ --no-sign-image Don't embed signature for entire image. (default)
+ --signature-file FILE Store embedded signature in FILE. (default: /.signature)
+ --sign Re-sign '/CHECKSUMS' if it has changed (default).
+ --no-sign Don't re-sign '/CHECKSUMS'.
+ --sign-key KEY_FILE Use this key file instead of generating a transient key.
+ --sign-key-id KEY_ID Use this key id instead of generating a transient key.
+ --sign-pass-file Use the password stored in this file to open the key.
Initrd/instsys update related options:
- --initrd DIR|RPM|DUD Add content of DIR, RPM, or DUD to initrd (can be repeated).
- --rebuild-initrd Rebuild the entire initrd instead of appending changes.
- --instsys DIR|RPM Add content of DIR or RPM to installation system or root file
- system for Live media (can be repeated).
- --rescue DIR|RPM Add content of DIR or RPM to rescue system (can be repeated).
- --no-docs Don't include package doc files (default).
- --keep-docs Include package doc files.
+ --initrd DIR|RPM|DUD Add content of DIR, RPM, or DUD to initrd (can be repeated).
+ --rebuild-initrd Rebuild the entire initrd instead of appending changes.
+ --no-rebuild-initrd Append changes to the initrd instead of rebuilding.
+ --instsys DIR|RPM Add content of DIR or RPM to installation system or root file
+ system for Live media (can be repeated).
+ --live-root DIR|RPM Alias for --instsys.
+ --rescue DIR|RPM Add content of DIR or RPM to rescue system (can be repeated).
+ --instsys-size SIZE_SPEC Resize Live root file system.
+ --live-root-size SIZE_SPEC Alias for --instsys-size.
+ --no-docs Don't include package doc files (default).
+ --keep-docs Include package doc files.
Kernel/module update related options:
- --kernel KERNEL_RPMS Replace kernel and modules used for booting using KERNEL_RPMS.
- --modules MODULE_LIST A list of modules to be included additionally in the initrd.
+ --kernel RPM_LIST Replace kernel, kernel modules, and kernel firmware used for booting.
+ RPM_LIST is a list of kernel or firmware packages.
+ Note: this option expects a variable number of arguments.
+ Note also: implies --rebuild-initrd since mksusecd 3.0.
+ --modules MODULE_LIST A list of modules to be added to the initrd.
+ To be used together with --kernel.
+ Note: this option expects a variable number of arguments.
+ --no-compression LIST A comma-separated list of: firmware, modules, squashfs.
Add-on related options:
- --addon RPM_LIST A list of RPMs that should be made available as add-on.
- --addon-name NAME Use NAME as the add-on name.
- --addon-alias ALIAS Set repo alias to ALIAS.
- --addon-prio NUM Set add-on repository priority to NUM (default: 60).
+ --addon RPM_LIST A list of RPMs that should be made available as add-on.
+ --addon-name NAME Use NAME as the add-on name.
+ --addon-alias ALIAS Set repo alias to ALIAS.
+ --addon-prio NUM Set add-on repository priority to NUM (default: 60).
ISO file system related options:
- --joliet Use Joliet extensions (default).
- --no-joliet Don't use Joliet extensions.
- --volume VOLUME_ID Set ISO volume id to VOLUME_ID.
- --vendor VENDOR_ID Set ISO publisher id to VENDOR_ID.
- --preparer PREPARER_ID Set ISO data preparer id to PREPARER_ID.
- --application APP_ID Set ISO application id to APP_ID.
- --volume1 VOLUME_ID Specify ISO volume id of the entire image - in case it should differ
- from the ISO volume id used for the partition.
+ --joliet Use Joliet extensions (default).
+ --no-joliet Don't use Joliet extensions.
+ --volume VOLUME_ID Set ISO volume id to VOLUME_ID.
+ --vendor VENDOR_ID Set ISO publisher id to VENDOR_ID.
+ --preparer PREPARER_ID Set ISO data preparer id to PREPARER_ID.
+ --application APP_ID Set ISO application id to APP_ID.
+ --volume1 VOLUME_ID Specify ISO volume id of the entire image - in case it should differ
+ from the ISO volume id used for the partition.
General image layout related options:
- --uefi Make ISO UEFI bootable (default).
- --no-uefi Don't make ISO UEFI bootable.
- --zipl Make image zIPL bootable (default on s390x).
- --no-zipl Don't make image zIPL bootable (default if not on s390x).
- --gpt Add GPT when in isohybrid mode.
- --mbr Add MBR when in isohybrid mode (default).
- --prot-mbr When writing a GPT, write a protective MBR (default).
- --no-prot-mbr When writing a GPT, don't write a protective MBR.
- --mbr-code Include x86 MBR boot code (default).
- --no-mbr-code Don't include x86 MBR boot code.
- --mbr-chs Fill in sensible CHS values in MBR partition table (default).
- --no-mbr-chs Use 0xffffff instead of CHS values in MBR partition table.
- --no-iso Don't make image accessible as ISO9660 file system.
- --hybrid Create an image which is both an ISO and a disk (default).
- --no-hybrid Create a regular ISO image without extra gimmicks.
- --hybrid-fs FS Use file system FS for the disk partition created in hybrid mode.
- --fat Create an image that's suitable to be put on a USB disk.
- --size SIZE_SPEC The intended size of the disk image when using a FAT file.
+ --uefi Make ISO UEFI bootable (default).
+ --no-uefi Don't make ISO UEFI bootable.
+ --zipl Make image zIPL bootable (default on s390x).
+ --no-zipl Don't make image zIPL bootable (default if not on s390x).
+ --gpt Add GPT when in isohybrid mode.
+ --mbr Add MBR when in isohybrid mode (default).
+ --prot-mbr When writing a GPT, write a protective MBR (default).
+ --no-prot-mbr When writing a GPT, don't write a protective MBR.
+ --mbr-code Include x86 MBR boot code (default).
+ --no-mbr-code Don't include x86 MBR boot code.
+ --mbr-chs Fill in sensible CHS values in MBR partition table (default).
+ --no-mbr-chs Use 0xffffff instead of CHS values in MBR partition table.
+ --no-iso Don't make image accessible as ISO9660 file system.
+ --hybrid Create an image which is both an ISO and a disk (default).
+ --no-hybrid Create a regular ISO image without extra gimmicks.
+ --hybrid-fs FS Use file system FS for the disk partition created in hybrid mode.
+ --fat Create an image that's suitable to be put on a USB disk.
+ --size SIZE_SPEC The intended size of the disk image when using a FAT file.
Media repository related options:
- --merge-repos Create a common media.1/products file (default).
- --no-merge-repos Skip the special treatment of repositories and just merge all SOURCES.
- --include-repos LIST Comma-separated list of repository names to include in the final image.
- --enable-repos WHEN Whether to enable repos. WHEN can be 'auto', 'yes', 'ask', or 'no' (default: no).
- --create-repo Re-create and sign the repository (default: don't).
+ --merge-repos Create a common media.1/products file (default).
+ --no-merge-repos Skip the special treatment of repositories and just merge all SOURCES.
+ --include-repos LIST Comma-separated list of repository names to include in the final image.
+ --enable-repos WHEN Whether to enable repos. WHEN can be 'auto', 'yes', 'ask', or 'no' (default: no).
+ --create-repo Re-create and sign the repository (default: don't).
Repository location related options:
- --net URL Use URL as default network repository.
- --instsys-url URL Load the installation system from the specified URL.
- --instsys-in-repo Load installation system from repository (default).
- --no-instsys-in-repo Do not load installation system from repository but from local disks.
- --defaultrepo URL_LIST URL_LIST is a list of comma (',') separated URLs the installer will try in turn.
+ --net URL Use URL as default network repository.
+ --instsys-url URL Load the installation system from the specified URL.
+ --instsys-in-repo Load installation system from repository (default).
+ --no-instsys-in-repo Do not load installation system from repository but from local disks.
+ --defaultrepo URL_LIST URL_LIST is a list of comma (',') separated URLs the installer will try in turn.
Boot menu related options:
- --boot OPTIONS Add OPTIONS to default boot options.
- --add-entry BOOT_ENTRY Create a new boot entry with name BOOT_ENTRY.
+ --boot OPTIONS Add OPTIONS to default boot options.
+ --add-entry BOOT_ENTRY Create a new boot entry with name BOOT_ENTRY.
Image encryption related options:
- --crypto If set, an encrypted disk image is created.
- --password PASSWORD Use PASSWORD for encrypting the disk image.
- --title TITLE The password query screen uses TITLE as title (default: openSUSE).
- --top-dir DIR The installation files are placed into subdir DIR.
- --filesystem FS Use file system FS for the encrypted image (default: ext4).
+ --crypto If set, an encrypted disk image is created.
+ --password PASSWORD Use PASSWORD for encrypting the disk image.
+ --title TITLE The password query screen uses TITLE as title (default: openSUSE).
+ --top-dir DIR The installation files are placed into subdir DIR.
+ --filesystem FS Use file system FS for the encrypted image (default: ext4).
More information is available in the mksusecd(1) manual page.
= = = = = = = =
@@ -1181,7 +1227,7 @@
my $x = $legacy_eltorito[0]{eltorito}{base};
push @$todo, $legacy_eltorito[0];
if(@legacy_eltorito > 1) {
- print "More than one El Torito legacy boot entry detected, choosing /$x\n";
+ print "more than one El Torito legacy boot entry detected, choosing /$x\n";
}
}
@@ -1373,7 +1419,7 @@
elsif($opt_efi && $t eq 'efi') {
$has_efi = 1;
my $f = fname($_->{$t}{base});
- if(!$f || ! -s $f || rebuild_efi_image) {
+ if(!$f || ! -s $f || rebuild_efi_image($_->{$t}{base})) {
create_efi_image $_->{$t}{base};
$f = fname($_->{$t}{base});
}
@@ -2286,9 +2332,16 @@
my $tmp_dir = $tmp->dir();
if($opt_rebuild_initrd) {
+ print "initrd: complete rebuild\n" if $opt_verbose >= 1;
unpack_orig_initrd if !$orig_initrd;
die "initrd unpacking failed\n" if !$orig_initrd;
$tmp_dir = $orig_initrd;
+
+ if($kernel->{initrd_layout} ne 'install') {
+ # remove old modules and firmware trees
+ system "rm -rf $orig_initrd/$kernel->{target_lib_dir}/modules/$kernel->{orig_version}";
+ system "rm -rf $orig_initrd/$kernel->{target_lib_dir}/firmware";
+ }
}
for my $i (@opt_initrds) {
@@ -2315,9 +2368,11 @@
}
my $compr = 'cat';
- $compr = "xz --quiet --check=crc32 -9 -c" if $initrd_format eq "xz";
- $compr = "gzip --quiet -9c" if $initrd_format eq "gz";
- $compr = "zstd --quiet -c -T0" if $initrd_format eq "zst";
+ # don't go for -9 with xz as it doesn't lead to noticeably reduced size
+ # but substancially limits multithreading
+ $compr = "xz --quiet --threads=0 --check=crc32 -c" if $initrd_format eq "xz";
+ $compr = "gzip --quiet -9 -c" if $initrd_format eq "gz";
+ $compr = "zstd --quiet --threads=0 -19 -c" if $initrd_format eq "zst";
chmod 0755, $tmp_dir;
@@ -2434,7 +2489,7 @@
my $image_fname = copy_file $image_location;
- print "Identified root file system: $image_location\n";
+ print "identified root file system: $image_location\n";
my $new_files = prepare_new_instsys_files $file_list;
@@ -2443,7 +2498,7 @@
my $err = susystem "unsquashfs -no-progress -dest $tmp_root/root $image_fname >/dev/null";
die "extracting root file system failed\n" if $err;
- susystem "sh -c 'tar -C $new_files -cf - . | tar -C $tmp_root/root -xpf -'";
+ susystem "sh -c 'tar -C $new_files -cf - . | tar -C $tmp_root/root --keep-directory-symlink -xpf -'";
# mksquashfs expects the image *not* to exist
unlink $image_fname or die "$image_fname: $!\n";
@@ -2493,10 +2548,57 @@
susystem "chown -R $< $tmp_live/root";
susystem "chmod 644 $image_new";
+ if(defined $instsys_size) {
+ my $root_size = -s "$tmp_live/root/LiveOS/rootfs.img";
+ $root_size >>= 9;
+ $instsys_size += $root_size if $opt_instsys_size =~ /^\+/;
+ $instsys_size = $root_size - $instsys_size if $opt_instsys_size =~ /^\-/;
+
+ die "target live root fs size too small: $instsys_size blocks\n" if $instsys_size <= 0;
+
+ printf "target live root file system size: %.2f GiB\n", $instsys_size / (1 << 21);
+
+ if($instsys_size > $root_size) {
+ if(open my $f, "+<", "$tmp_live/root/LiveOS/rootfs.img") {
+ truncate $f, $instsys_size << 9;
+ close $f;
+ }
+
+ $err = susystem "resize2fs -f $tmp_live/root/LiveOS/rootfs.img >/dev/null 2>&1";
+ die "resizing live root fs failed\n" if $err;
+ }
+
+ if($instsys_size < $root_size) {
+ my $log = $tmp->file();
+ $err = susystem "resize2fs -f $tmp_live/root/LiveOS/rootfs.img ${instsys_size}s >$log 2>&1";
+ if($err) {
+ my $r = `cat $log`;
+ $r = $r =~ /No space left on device/ ? " (no space left on device)" : "";
+ die "resizing live root fs failed$r\n";
+ }
+
+ if(open my $f, "+<", "$tmp_live/root/LiveOS/rootfs.img") {
+ truncate $f, $instsys_size << 9;
+ close $f;
+ }
+ }
+ }
+
my $tmp_mnt = $tmp->dir();
die "\nLiveOS mount failed\n" if susystem "mount -oloop '$tmp_live/root/LiveOS/rootfs.img' $tmp_mnt";
- susystem "sh -c 'tar -C $new_files --owner=0 --group=0 -cf - . | tar -C $tmp_mnt -xpf -'";
+ if($opt_rebuild_initrd) {
+ susystem "rm -rf $tmp_mnt/$kernel->{target_lib_dir}/modules/$kernel->{orig_version}";
+ susystem "rm -rf $tmp_mnt/$kernel->{target_lib_dir}/firmware" unless $kernel->{keep_firmware};
+ }
+
+ susystem "sh -c 'tar -C $new_files --owner=0 --group=0 -cf - . | tar -C $tmp_mnt --keep-directory-symlink -xpf -'";
+ susystem "chmod 0755 $tmp_mnt";
+
+ for my $i (glob "$tmp_mnt/boot/* $tmp_mnt/boot/.*") {
+ susystem "rm -f '$i'" unless -e $i;
+ }
+
susystem "umount $tmp_mnt";
my $err = susystem "mksquashfs $tmp_live/root $image_new -comp xz -all-root -noappend -no-progress >/dev/null 2>&1";
@@ -4330,7 +4432,7 @@
}
elsif($_ eq 'tar') {
$cmd = "cat '$file'" if !$cmd;
- $cmd .= " | tar -C '$dir' -xpf - 2>/dev/null";
+ $cmd .= " | tar -C '$dir' --keep-directory-symlink -xpf - 2>/dev/null";
last;
}
elsif($_ eq 'cpio') {
@@ -4407,20 +4509,45 @@
{
my $unpack_dir = $tmp->dir();
+ # kernel package layout expected in initrd
+ if(-d "$orig_initrd/usr/lib/modules") {
+ $kernel->{target_usrmerge} = 1;
+ $kernel->{target_lib_dir} = "usr/lib";
+ }
+ else {
+ $kernel->{target_usrmerge} = 0;
+ $kernel->{target_lib_dir} = "lib";
+ }
+
if(-l "$orig_initrd/modules") {
$_ = readlink "$orig_initrd/modules";
if(m#/modules/([^/]+)#) {
$kernel->{orig_version} = $1;
}
}
+ elsif(opendir my $d, "$orig_initrd/$kernel->{target_lib_dir}/modules") {
+ for my $v (readdir $d) {
+ $kernel->{orig_version} = $v if $v =~ /^\d/;
+ }
+ closedir $d;
+ }
die "oops, incompatible initrd layout\n" unless $kernel->{orig_version};
+ # Note:
+ # if($kernel->{initrd_layout} == 'install') is atm the same as if($initrd_has_parts)
+ # There might turn up other layouts in future, though.
+ #
if(-f "$orig_initrd/parts/00_lib") {
+ $kernel->{initrd_layout} = 'install';
rmdir $unpack_dir;
if(system "unsquashfs -n -d $unpack_dir $orig_initrd/parts/00_lib >/dev/null 2>&1") {
die "parts/00_lib: failed to unpack squashfs image - squashfs tools too old?\n";
}
+ $orig_initrd_00_lib = $unpack_dir;
+ }
+ else {
+ $kernel->{initrd_layout} = 'live';
}
File::Find::find({
@@ -4434,10 +4561,10 @@
}
},
no_chdir => 1
- }, "$orig_initrd/modules/", $unpack_dir);
+ }, "$orig_initrd/$kernel->{target_lib_dir}/modules/$kernel->{orig_version}", $unpack_dir);
die "no initrd modules?\n" if !$kernel->{initrd_modules};
- die "no module config?\n" if !$kernel->{initrd_module_config};
+ die "no module config?\n" if $kernel->{initrd_layout} eq 'install' && !$kernel->{initrd_module_config};
}
@@ -4456,14 +4583,19 @@
unpack_archive $type, $_, $kernel->{dir};
}
- # kernel package layout expected in initrd
- if(-d "$orig_initrd/usr/lib/modules") {
- $kernel->{target_usrmerge} = 1;
- $kernel->{target_lib_dir} = "usr/lib";
- }
- else {
- $kernel->{target_usrmerge} = 0;
- $kernel->{target_lib_dir} = "lib";
+ # if kernel and firmware have different ideas about usrmerge, move firmware files to match kernel package layout
+ if(! -l "$kernel->{dir}/lib") {
+ if(-d "$kernel->{dir}/lib/modules" && -d "$kernel->{dir}/usr/lib/firmware") {
+ system "tar -C $kernel->{dir}/usr/lib -cf - firmware | tar -C $kernel->{dir}/lib --keep-directory-symlink -xpf -";
+ system "rm -rf $kernel->{dir}/usr/lib/firmware";
+ rmdir "$kernel->{dir}/usr/lib";
+ rmdir "$kernel->{dir}/usr";
+ }
+ elsif(-d "$kernel->{dir}/usr/lib/modules" && -d "$kernel->{dir}/lib/firmware") {
+ system "tar -C $kernel->{dir}/lib -cf - firmware | tar -C $kernel->{dir}/usr/lib --keep-directory-symlink -xpf -";
+ system "rm -rf $kernel->{dir}/lib/firmware";
+ rmdir "$kernel->{dir}/lib";
+ }
}
# kernel package layout in new kernel rpms
@@ -4514,6 +4646,7 @@
for my $name ( qw ( vmlinuz Image image vmlinux ) ) {
if( -f "$kernel->{dir}/$kernel_location/$name$kernel_name_suffix" ) {
$kernel->{image} = "$kernel->{dir}/$kernel_location/$name$kernel_name_suffix";
+ $kernel->{name} = $name;
last;
}
}
@@ -4521,11 +4654,35 @@
die "no module dir?\n" if $kernel->{version} eq "";
die "no kernel?\n" if !$kernel->{image};
+ # if no firmware packages were specified and we have to build a completely
+ # new initrd, keep existing firmware files
+ if($opt_rebuild_initrd && ! -d "$kernel->{dir}/$lib_dir/firmware") {
+ $kernel->{keep_firmware} = 1;
+ if($kernel->{initrd_layout} eq 'install') {
+ if($orig_initrd_00_lib && -d "$orig_initrd_00_lib/$target_lib_dir/firmware") {
+ print "kernel firmware: keep existing version\n";
+ system "cp -r $orig_initrd_00_lib/$target_lib_dir/firmware $kernel->{dir}/$lib_dir";
+ }
+ else {
+ print "kernel firmware: original firmware files missing\n";
+ }
+ }
+ else {
+ if(-d "$orig_initrd/$target_lib_dir/firmware") {
+ print "kernel firmware: keep existing version\n";
+ system "cp -r $orig_initrd/$target_lib_dir/firmware $kernel->{dir}/$lib_dir";
+ }
+ else {
+ print "kernel firmware: original firmware files missing\n";
+ }
+ }
+ }
+
for (glob "$kernel->{dir}/$lib_dir/modules/*") {
s#.*/##;
next if $_ eq $kernel->{version};
print "warning: kmp version mismatch, adjusting: $_ --> $kernel->{version}\n";
- system "tar -C '$kernel->{dir}/$lib_dir/modules/$_' -cf - . | tar -C '$kernel->{dir}/$lib_dir/modules/$kernel->{version}' -xf -";
+ system "tar -C '$kernel->{dir}/$lib_dir/modules/$_' -cf - . | tar -C '$kernel->{dir}/$lib_dir/modules/$kernel->{version}' --keep-directory-symlink -xf -";
}
# compat symlink needed for depmod
@@ -4621,11 +4778,23 @@
$kernel->{new_dir} = $tmp->dir();
- File::Path::make_path "$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd";
+ chmod 0755, $kernel->{new_dir};
+
+ if($kernel->{initrd_layout} eq 'install') {
+ File::Path::make_path "$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd";
+ }
+ else {
+ File::Path::make_path "$kernel->{new_dir}/$target_lib_dir";
+ }
for (sort keys %{$kernel->{initrd_modules}}) {
if($kernel->{modules}{$_} && !$mods_remove{$_}) {
- system "cp $kernel->{dir}/$lib_dir/modules/$kernel->{version}/$kernel->{modules}{$_} $kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd";
+ if($kernel->{initrd_layout} eq 'install') {
+ system "cp $kernel->{dir}/$lib_dir/modules/$kernel->{version}/$kernel->{modules}{$_} $kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd";
+ }
+ else {
+ system "cd $kernel->{dir}/$lib_dir && cp --parents modules/$kernel->{version}/$kernel->{modules}{$_} $kernel->{new_dir}/$target_lib_dir";
+ }
push @{$kernel->{added}}, $_ if $kernel->{initrd_modules}{$_} > 1;
}
else {
@@ -4639,16 +4808,21 @@
system "cp -f $kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.builtin{,.modinfo} $kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/";
}
- if(open my $f, "$kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.order") {
- if(open my $w, ">$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/modules.order") {
- while(<$f>) {
- chomp;
- s#.*/#initrd/#;
- print $w "$_\n" if -f "$kernel->{new_dir}/$lib_dir/modules/$kernel->{version}/$_";
+ if($kernel->{initrd_layout} eq 'install') {
+ if(open my $f, "$kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.order") {
+ if(open my $w, ">$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/modules.order") {
+ while(<$f>) {
+ chomp;
+ s#.*/#initrd/#;
+ print $w "$_\n" if -f "$kernel->{new_dir}/$lib_dir/modules/$kernel->{version}/$_";
+ }
+ close $w;
}
- close $w;
+ close $f;
}
- close $f;
+ }
+ else {
+ system "cp $kernel->{dir}/$lib_dir/modules/$kernel->{version}/modules.order $kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}";
}
# compat symlink needed for depmod
@@ -4660,6 +4834,18 @@
symlink("../lib", "$kernel->{new_dir}/usr/lib");
}
+ if($opt_no_compression->{modules}) {
+ my $dir = "$kernel->{new_dir}/$target_lib_dir/modules";
+
+ if(-d $dir) {
+ print "uncompressing kernel modules...\n";
+
+ system "find $dir -type f -name \\*.ko.zst -exec zstd -d --quiet --rm '{}' \\;";
+ system "find $dir -type f -name \\*.ko.xz -exec xz -d '{}' \\;";
+ system "find $dir -type f -name \\*.ko.gz -exec gzip -d '{}' \\;";
+ }
+ }
+
system "depmod -a -b $kernel->{new_dir} $kernel->{version}";
if($kernel->{target_usrmerge}) {
@@ -4674,19 +4860,21 @@
my %fw;
- for my $m (glob("$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}/initrd/*${kext_glob}")) {
- chomp $m;
-
- next unless -f $m;
-
- my @l;
- chomp(@l = `modinfo -F firmware $m`);
+ File::Find::find({
+ wanted => sub {
+ return if -l || ! -f; # no links, only files
+ if(m#([^/]+)${kext_regexp}$#) {
+ my @l;
+ chomp(@l = `modinfo -F firmware $_`);
- $m =~ s#.*/##;
- $m =~ s#${kext_regexp}$##;
+ s#.*/##;
+ s#${kext_regexp}$##;
- $fw{$m} = [ @l ] if @l;
- }
+ $fw{$_} = [ @l ] if @l;
+ }
+ },
+ no_chdir => 1
+ }, "$kernel->{new_dir}/$target_lib_dir/modules/$kernel->{version}");
my $kv = $kernel->{version};
my $fw_dir = "$kernel->{dir}/$lib_dir/firmware";
@@ -4712,6 +4900,26 @@
}
}
+ if($opt_no_compression->{firmware}) {
+ my $dir = "$kernel->{new_dir}/$target_lib_dir/firmware";
+
+ if(-d $dir) {
+ print "uncompressing kernel firmware...\n";
+
+ # rename symlinks
+ for my $suffix ("zst", "xz", "gz") {
+ system "find $dir -type l -name \\*.$suffix -exec rename -sl .$suffix '' '{}' \\; -exec rename -l .$suffix '' '{}' \\;";
+ }
+
+ system "find $dir -type f -name \\*.zst -exec zstd -d --quiet --rm '{}' \\;";
+ system "find $dir -type f -name \\*.xz -exec xz -d '{}' \\;";
+ system "find $dir -type f -name \\*.gz -exec gzip -d '{}' \\;";
+
+ my $broken = `find $dir -follow -type l`;
+ print STDERR "firmware uncompressing left broken symlinks:\n$broken\n" if $broken ne "";
+ }
+ }
+
printf "kernel firmware: %d/%d files updated\n", scalar(keys %fw_ok), scalar(keys %fw_ok) + scalar(keys %fw_missing);
# print Dumper(\%fw);
@@ -4773,9 +4981,18 @@
}
}
- my $err = system "mksquashfs $kernel->{new_dir} $tmp_dir/parts/$p" .
- ($mksquashfs_has_comp ? " -comp xz" : "") .
- " -noappend -no-progress >/dev/null 2>&1";
+ my $comp = $mksquashfs_has_comp ? "-comp xz" : "";
+
+ if($opt_no_compression->{squashfs}) {
+ if(!$mksquashfs_has_comp) {
+ die "mksquashfs version too old to allow setting compression algorithm\n";
+ }
+ else {
+ $comp = "-no-compression";
+ }
+ }
+
+ my $err = system "mksquashfs $kernel->{new_dir} $tmp_dir/parts/$p $comp -noappend -no-progress >/dev/null 2>&1";
die "mksquashfs failed\n" if $err;
}
else {
@@ -4783,29 +5000,108 @@
}
# add module symlink
+ if($kernel->{initrd_layout} eq 'install') {
+ symlink "$target_lib_dir/modules/$kernel->{version}/initrd", "$tmp_dir/modules";
- symlink "$target_lib_dir/modules/$kernel->{version}/initrd", "$tmp_dir/modules";
+ my $cmd = "Exec:\t\tln -snf $lib_dir/modules/`uname -r`/initrd /modules\n";
- my $cmd = "Exec:\t\tln -snf $lib_dir/modules/`uname -r`/initrd /modules\n";
+ if(open my $f, "$orig_initrd/linuxrc.config") {
+ my $cmd_found;
+ my @lines;
+ while(<$f>) {
+ push @lines, $_;
+ $cmd_found = 1 if $_ eq $cmd;
+ }
+ close $f;
- if(open my $f, "$orig_initrd/linuxrc.config") {
- my $cmd_found;
- my @lines;
- while(<$f>) {
- push @lines, $_;
- $cmd_found = 1 if $_ eq $cmd;
+ if(!$cmd_found) {
+ open my $f, ">$tmp_dir/linuxrc.config";
+ print $f $cmd;
+ print $f @lines;
+ close $f;
+ }
+ }
+ }
+
+ push @opt_initrds, $tmp_dir;
+}
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# add_modules_to_instsys()
+#
+# Add new kernel modules and firmware to instsys.
+#
+sub add_modules_to_instsys
+{
+ return if $kernel->{initrd_layout} eq 'install';
+
+ if(! -d "$kernel->{dir}/boot") {
+ mkdir "$kernel->{dir}/boot", 0755;
+
+ my $k_dir = "$kernel->{lib_dir}/modules/$kernel->{version}";
+
+ for my $i ("System.map", "config", "sysctl.conf", $kernel->{name}) {
+ symlink "../$k_dir/$i", "$kernel->{dir}/boot/$i-$kernel->{version}";
+ }
+ symlink "../$k_dir/.$kernel->{name}.hmac", "$kernel->{dir}/boot/.$kernel->{name}-$kernel->{version}.hmac" if -f "$kernel->{dir}/$k_dir/.$kernel->{name}.hmac";
+ }
+
+ symlink "$kernel->{name}-$kernel->{version}", "$kernel->{dir}/boot/$kernel->{name}";
+
+ unshift @opt_instsys, $kernel->{dir};
+}
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# update_no_compression_settings()
+#
+# Merge $opt_no_compression with .no_compression setting in initrd and
+# update initrd if necessary.
+#
+sub update_no_compression_settings
+{
+ die "oops: initrd not unpacked?\n" if !$orig_initrd;
+
+ my $has_setting = 0;
+ my $has_opt_setting = $opt_no_compression ? 1 : 0;
+
+ if(open my $f, "$orig_initrd/.no_compression") {
+ $has_setting = 1;
+ if(!$opt_no_compression) {
+ chomp (my $no_comp = <$f>);
+ for my $c (split /,/, $no_comp) {
+ $opt_no_compression->{$c} = 1;
+ }
}
close $f;
+ }
- if(!$cmd_found) {
- open my $f, ">$tmp_dir/linuxrc.config";
- print $f $cmd;
- print $f @lines;
- close $f;
+ my @keys = qw (firmware modules squashfs);
+ my $comp_str;
+
+ for my $i (@keys) {
+ if($opt_no_compression->{$i}) {
+ $comp_str .= "," if $comp_str ne "";
+ $comp_str .= "$i";
}
}
- push @opt_initrds, $tmp_dir;
+ if(($has_opt_setting || $has_setting) && $comp_str ne "") {
+ print "no compression for: $comp_str\n";
+
+ # change only if necessary
+ if($has_opt_setting) {
+ my $tmp_dir = $tmp->dir();
+
+ if(open my $f, ">$tmp_dir/.no_compression") {
+ print $f "$comp_str\n";
+ close $f;
+ }
+
+ push @opt_initrds, $tmp_dir;
+ }
+ }
}
@@ -4826,6 +5122,8 @@
die "initrd unpacking failed\n" if !$orig_initrd;
+ update_no_compression_settings;
+
get_initrd_modules;
unpack_kernel_rpms;
@@ -4846,6 +5144,8 @@
add_modules_to_initrd;
+ add_modules_to_instsys;
+
# now replace kernel
if(my $x = get_kernel_initrd) {
@@ -5011,11 +5311,15 @@
# size_string is either a numerical size like '64G' or a file or block
# device name. In this case the size of the file or block device is used.
#
+# An optional '+' or '-' at the beginning is ignored.
+#
sub eval_size
{
my $size = $_[0];
my $unit = { b => 9 - 9, k => 10 - 9, m => 20 - 9, g => 30 - 9, t => 40 - 9 };
+ $size =~ s/^[+\-]//;
+
return undef unless $size;
if($size =~ /^(\d+)\s*([bkmgt]?)/i) {
@@ -5043,8 +5347,6 @@
$size = undef;
}
- printf "target image size: %.2f GiB ($size blocks)\n", $size / (1 << 21);
-
return $size;
}
@@ -5728,7 +6030,7 @@
# copy everything except the efi config - it's already on the efi system
# partition
- system "${sudo}tar -C $iso_mount --exclude EFI -cf - . | ${sudo}tar -C $crypt_mount/$top_dir -xpf -";
+ system "${sudo}tar -C $iso_mount --exclude EFI -cf - . | ${sudo}tar -C $crypt_mount/$top_dir --keep-directory-symlink -xpf -";
show_progress 90;
@@ -5968,7 +6270,7 @@
{
return unless fname "EFI";
- print "updating UEFI image $_[0]\n";
+ print "updating UEFI image: $_[0]\n";
my $file = copy_or_new_file($_[0]);
@@ -5976,7 +6278,7 @@
for my $x (sort keys %$files) {
if($x =~ m#^EFI($|/)#) {
- system "tar -C '$files->{$x}' --mode=u+w -cf - '$x' | tar -C '$efi_dir' -xpf -";
+ system "tar -C '$files->{$x}' --mode=u+w -cf - '$x' | tar -C '$efi_dir' --keep-directory-symlink -xpf -";
}
}
@@ -5995,7 +6297,9 @@
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-# rebuild_efi_image()
+# rebuild_efi_image(efi_image_name)
+#
+# - efi_image_name: efi image file name (in ISO image)
#
# Check whether there were changes to the 'EFI' directory and we need to
# rebuild the el-torito efi image.
@@ -6004,8 +6308,12 @@
#
sub rebuild_efi_image
{
+ my $efi_image_name = $_[0];
+
my $source_list;
+ $source_list->{$files->{$efi_image_name}} = 1 if $files->{$efi_image_name};
+
for my $x (sort keys %$files) {
if($x =~ m#^EFI($|/)#) {
$source_list->{$files->{$x}} = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-2.19/mksusecd_man.adoc new/mksusecd-3.0/mksusecd_man.adoc
--- old/mksusecd-2.19/mksusecd_man.adoc 2024-07-17 21:02:32.000000000 +0200
+++ new/mksusecd-3.0/mksusecd_man.adoc 2024-08-16 17:54:15.000000000 +0200
@@ -125,14 +125,32 @@
*--rebuild-initrd*::
Rebuild the entire initrd instead of appending changes. +
-This makes the initrd smaller but requires to run mksusecd with root permissions.
+This makes the initrd smaller but requires to run mksusecd with root permissions. +
+See *Kernel update notes* below.
+
+*--no-rebuild-initrd*::
+Append changes to the initrd instead of rebuilding. +
+This makes the initrd larger but does not require to run mksusecd with root permissions. +
+See *Kernel update notes* below.
*--instsys*=_DIR_|_RPM_::
Add content of _DIR_ or _RPM_ to installation system or root file system for Live media (can be repeated).
+*--live.root*=_DIR_|_RPM_::
+Alias for *--instsys*.
+
*--rescue*=_DIR_|_RPM_::
Add content of _DIR_ or _RPM_ to rescue system (can be repeated).
+*--instsys-size*=_SIZE_SPEC_::
+Resize Live root file system.
+_SIZE_SPEC_ can be a number, optionally followed by a unit ('k',
+'m', 'g', 't') indicating kiB, MiB, GiB, or TiB, respectively.
+If _SIZE_SPEC_ starts with a '+' or '-', the size is increased or decreased, respectively.
+
+*--live-root-size*=_SIZE_SPEC_::
+Aias for *--instsys-size*.
+
*--no-docs*::
Don't include package documentation files (default).
@@ -141,21 +159,26 @@
=== Kernel/module update related options
-*--kernel*=_KERNEL_RPMS_::
-Replace kernel and modules used for booting. _KERNEL_RPMS_ is
-a list of RPMs that contain the new kernel, modules, and
-firmware files. +
+*--kernel*=_RPM_LIST_::
+Replace kernel, kernel modules, and kernel firmware used for booting. _RPM_LIST_ is
+a list of kernel or firmware packages. +
*Note*: this option takes a variable number of arguments. So
-it may be necessary to terminate the arg list with an explicit '--'.
+it may be necessary to terminate the arg list with an explicit '--'. +
+*Note also*: since mksusecd 3.0 this option automatically implies *--rebuild-initrd*. Use *--no-rebuild-inintrd* to revert this. +
+See *Kernel update notes* below.
*--modules*=_MODULE_LIST_::
-A list of modules to be included additionally to the initrd.
+A list of modules to be added to the initrd.
Use this in combination with *--kernel*.
You can prefix module names with '-' to have them removed instead. +
_MODULE_LIST_ may be space or comma separated. +
*Note*: this option takes a variable number of arguments. So
it may be necessary to terminate the arg list with an explicit '--'.
+*--no-compression*=_LIST_::
+A comma-separated list of: firmware, modules, squashfs. +
+See *Kernel compression notes* below.
+
=== Add-on related options
*--addon*=_RPM_LIST_::
@@ -206,10 +229,12 @@
=== General image layout related options
*--uefi*::
-Make ISO UEFI bootable (default).
+Make ISO UEFI bootable (default). +
+See *UEFI boot notes* below.
*--no-uefi*::
-Don't make ISO UEFI bootable.
+Don't make ISO UEFI bootable. +
+See *UEFI boot notes* below.
*--zipl*::
Make image zIPL bootable (default on s390x).
@@ -360,9 +385,9 @@
Sources can be
- existing installation media
-- skelcd-installer-<PRODUCT> packages (RPMs)
-- tftpboot-installation-<PRODUCT> packages (RPMs)
-- additional or modified files that should be added/merged into the image
+- skelcd-installer-<PRODUCT> packages
+- tftpboot-installation-<PRODUCT> packages
+- directories with additional or modified files that should be added/merged into the image
either as image/RPM file or unpacked into a directory.
@@ -371,7 +396,8 @@
If you pass a skelcd-installer-<PRODUCT> or tftpboot-installation-<PRODUCT>
RPM (or a directory with the same layout) - mksusecd will handle these
-specially and extract the relevant parts.
+specially. These packaged contain the complete installation system and mksusecd
+willl extract the relevant parts to update the installer on the medium.
=== Hybrid mode notes
@@ -449,6 +475,89 @@
the image is not the default and you have to explicitly request it with *--sign-image*.
You can also add a signature later using *tagmedia*.
+=== Kernel update notes
+
+Normally, the *--kernel* option will do what you expect but there are
+situations where it may subtly go wrong. So here is a more in-depth explanation
+how kernel updates work.
+
+The *--kernel* option accepts a mix of kernel packages and kernel firmware
+packages. That is, you can update both kernel firmware and kernel modules.
+But there must be at least one kernel package.
+
+As a special case if there are no kernel firmware packages
+specified in *--kernel*, then the old kernel firmware files are kept (kernel firmware is typically not
+kernel version dependent).
+
+The initrd typically uses a limited set of kernel modules. mksusecd will try to keep the exact list
+of modules but that may not be possible due to kernel package changes. mksusecd output will
+display the differences.
+
+If you have to adjust the kernel module list, use the *--modules* option. Kernel module
+dependencies are automatically resolved.
+
+Note that there may be not just a single package containing kernel modules (e.g. kernel-default)
+but several others (e.g. kernel-default-extra, kernel-default-optional) or even kmp packages with
+individual modules. If you see missing modules, you might need some of these packages as well.
+
+mksusecd will not add all kernel firmware files to the initrd but only those that are required by
+the kernel modules used in the initrd.
+
+For Live media, kernel modules and firmware are also present in the Live root file system. Kernel modules
+and firmware are also updated there but the complete packages are used.
+
+There are two cases: 1. the 'normal' case (*--rebuild-initrd* is active) and 2. *--no-rebuild-initrd* is active.
+
+Note that since mksusecd 3.0 *--rebuild-initrd* is automatically acivated if *--kernel* is used.
+
+1. Old kernel modules / firmware files are removed and only files from packages specified
+in *--kernel* are used. This makes initrd and Live root smaller and exactly reproduces the original
+initrd and Live root file system layouts. +
+This also means that if you forgot to add sufficient kernel firmware packages in *--kernel*, kernel
+firmware files might be missing.
+
+2. New kernel modules / firmware files are added to initrd and Live root. This means your initrd and Live root file system contain
+both the old kernel tree and the new one (making it noticeably larger). +
+If you included kernel firmware packages in *--kernel* then kernel firmware files from these packages
+are added as well, possibly replacing old kernel firmware files with the same name.
+
+In both cases, if you run out of space in the Live root file system, use *--instsys-size* to increase the
+file system size as needed.
+
+Note on usrmerge kernels: kernel packages (and kernel firmware packages) come in two variants: older packages
+with files stored in '/lib' and (typically) newer packages with files stored in '/usr/lib'.
+mksusecd will accept both and adjust the package layout to the one expected in initrd and Live root.
+
+=== Kernel compression notes
+
+For SUSE installation media, kernel modules and firmware files are kept in a
+separate squashfs image ('parts/00_lib') within the initrd.
+
+Usually, kernel firmware files and kernel modules are compressed to reduce size.
+
+In certain situations it may be better to keep individual kernel modules or
+kernel firmware files uncompressed and rely on the squashfs file system compression instead.
+
+Or use no squashfs file system compression and rely on the initrd compression.
+
+To fine-tune this, use the *--no-compression* option.
+
+Setting it to 'modules' will uncompress all kernel modules. 'firmware' will uncompress
+firmware files and 'squashfs' will turn off squashfs file system compression.
+
+The current setting is stored in the '.no_compression' file the initrd.
+
+For example, *--no-compression=firmware,modules,squashfs* turns off compression
+everywhere. This results in the smallest compressed initrd size - but it also results in
+the largest uncompressed initrd size.
+
+Note that any new *--no-compression* setting replaces the old setting entirely.
+For example, *--no-compression=modules* will not additionally turn off compression for
+kernel modules but means only kernel modules are uncompressed.
+
+Note also that you almost certainly want to use *--no-compression* together
+with *--rebuild-initrd*.
+
=== Add-on notes
The add-on created here is just a repository, not a full add-on product.
@@ -517,11 +626,8 @@
=== Fedora/RHEL notes
-Not all options apply to media with Fedora/RHEL layout. Major options that work, are:
-
-- *--boot* to add boot options
-- *--initrd* to modify the initrd (stage1)
-- *--instsys* to modify the Live installation system (stage2)
+Not all options apply to media with Fedora/RHEL layout. It doesn't make
+sense to add a SUSE driver update to a RHEL iso, for example.
mksusecd will by default create media with a SUSE-like hybrid mode (MBR
partition table with non-overlapping partitions). You can change that to
@@ -538,6 +644,23 @@
- You can use other digests instead of MD5 using *--digest DIGEST* but
checkisomd5 cannot verify these images.
+=== UEFI boot notes
+
+There are two ways UEFI firmware finds boot files on our media:
+
+1. by running the boot loader located below the '/EFI' directory
+2. by locating a FAT file system image via the El-Torito standard and running
+the boot loader stored there; this FAT file system image contains the same '/EFI' directory structure
+
+The *--uefi* option refers to method 2.
+
+Note that this FAT file system image might not be visible on the medium (e.g. KIWI produced media hide the file).
+If it is visible, it has names like '/boot/x86_64/efi', '/boot/x86_64/loader/efiboot.img', '/images/efiboot.img', or similar.
+
+If this FAT file system image is missing or files in the '/EFI' directory (on the medium) have changed,
+mksusecd will create a new FAT file system image based on the updated '/EFI' directory content.
+This generated FAT file system image will always be visible on the medium.
+
=== Crypto notes
The *--crypto* option allows you to create an encrypted installation disk.
@@ -600,6 +723,9 @@
# create foo.iso from /foo_dir
mksusecd --create foo.iso /foo_dir
+# create foo.iso from bar.iso and integrate files from /foo_dir
+mksusecd --create foo.iso bar.iso /foo_dir
+
# create foo.iso from /foo_dir, no hybrid mode
mksusecd --create foo.iso --no-hybrid /foo_dir
@@ -612,11 +738,25 @@
# create foo.iso from old.iso and add package bar to the initrd
mksusecd --create foo.iso --initrd bar.rpm old.iso
+# create foo.iso from old.iso and add a driver update to the initrd
+mksusecd --create foo.iso --initrd bar.dud old.iso
+
# create foo.iso from old.iso and add package bar to rescue system
mksusecd --create foo.iso --rescue bar.rpm old.iso
# create foo.iso from live.iso and add package bar to Live system
mksusecd --create foo.iso --instsys bar.rpm live.iso
+
+# create foo.iso from live.iso and update kernel to kernel-default.rpm
+mksusecd --create foo.iso --kernel kernel-default.rpm -- live.iso
+
+# create foo.iso from live.iso and increase Live root file system by 1 GiB
+mksusecd --create foo.iso --live-root-size +1G live.iso
+
+# create new iso from sles.iso taking an updated installer from tftpboot-installation-* package
+mksusecd --create new.iso sles.iso tftpboot-installation-SLE.rpm
+
+
----
Find more usage examples here: https://github.com/openSUSE/mksusecd/blob/master/HOWTO.md
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package postgres-16-image for openSUSE:Factory checked in at 2024-08-17 12:41:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postgres-16-image (Old)
and /work/SRC/openSUSE:Factory/.postgres-16-image.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postgres-16-image"
Sat Aug 17 12:41:21 2024 rev:20 rq:1194341 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/postgres-16-image/postgres-16-image.changes 2024-08-15 09:58:27.327295730 +0200
+++ /work/SRC/openSUSE:Factory/.postgres-16-image.new.2698/postgres-16-image.changes 2024-08-17 12:41:43.112694714 +0200
@@ -1,0 +2,5 @@
+Fri Aug 16 07:07:46 UTC 2024 - Dirk Mueller <dmueller(a)suse.com>
+
+- Correct license
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Dockerfile ++++++
--- /var/tmp/diff_new_pack.bq6MsB/_old 2024-08-17 12:41:43.552713012 +0200
+++ /var/tmp/diff_new_pack.bq6MsB/_new 2024-08-17 12:41:43.556713179 +0200
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: MIT
+# SPDX-License-Identifier: PostgreSQL
# Copyright (c) 2024 SUSE LLC
++++++ README.md ++++++
--- /var/tmp/diff_new_pack.bq6MsB/_old 2024-08-17 12:41:43.596714842 +0200
+++ /var/tmp/diff_new_pack.bq6MsB/_new 2024-08-17 12:41:43.596714842 +0200
@@ -126,9 +126,9 @@
## Licensing
-`SPDX-License-Identifier: MIT`
+`SPDX-License-Identifier: PostgreSQL`
-This documentation and the build recipe are licensed as MIT.
+This documentation and the build recipe are licensed as PostgreSQL.
The container itself contains various software components under various open source licenses listed in the associated
Software Bill of Materials (SBOM).
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package postgres-14-image for openSUSE:Factory checked in at 2024-08-17 12:41:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postgres-14-image (Old)
and /work/SRC/openSUSE:Factory/.postgres-14-image.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postgres-14-image"
Sat Aug 17 12:41:20 2024 rev:21 rq:1194339 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/postgres-14-image/postgres-14-image.changes 2024-08-15 09:58:25.995240446 +0200
+++ /work/SRC/openSUSE:Factory/.postgres-14-image.new.2698/postgres-14-image.changes 2024-08-17 12:41:41.712636496 +0200
@@ -1,0 +2,5 @@
+Fri Aug 16 07:07:46 UTC 2024 - Dirk Mueller <dmueller(a)suse.com>
+
+- Correct license
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Dockerfile ++++++
--- /var/tmp/diff_new_pack.pgFEEb/_old 2024-08-17 12:41:42.212657288 +0200
+++ /var/tmp/diff_new_pack.pgFEEb/_new 2024-08-17 12:41:42.212657288 +0200
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: MIT
+# SPDX-License-Identifier: PostgreSQL
# Copyright (c) 2024 SUSE LLC
++++++ README.md ++++++
--- /var/tmp/diff_new_pack.pgFEEb/_old 2024-08-17 12:41:42.252658951 +0200
+++ /var/tmp/diff_new_pack.pgFEEb/_new 2024-08-17 12:41:42.256659118 +0200
@@ -126,9 +126,9 @@
## Licensing
-`SPDX-License-Identifier: MIT`
+`SPDX-License-Identifier: PostgreSQL`
-This documentation and the build recipe are licensed as MIT.
+This documentation and the build recipe are licensed as PostgreSQL.
The container itself contains various software components under various open source licenses listed in the associated
Software Bill of Materials (SBOM).
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package postgres-15-image for openSUSE:Factory checked in at 2024-08-17 12:41:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postgres-15-image (Old)
and /work/SRC/openSUSE:Factory/.postgres-15-image.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postgres-15-image"
Sat Aug 17 12:41:21 2024 rev:22 rq:1194340 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/postgres-15-image/postgres-15-image.changes 2024-08-15 09:58:26.691269333 +0200
+++ /work/SRC/openSUSE:Factory/.postgres-15-image.new.2698/postgres-15-image.changes 2024-08-17 12:41:42.440666769 +0200
@@ -1,0 +2,5 @@
+Fri Aug 16 07:07:46 UTC 2024 - Dirk Mueller <dmueller(a)suse.com>
+
+- Correct license
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Dockerfile ++++++
--- /var/tmp/diff_new_pack.mDLatu/_old 2024-08-17 12:41:42.868684568 +0200
+++ /var/tmp/diff_new_pack.mDLatu/_new 2024-08-17 12:41:42.872684735 +0200
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: MIT
+# SPDX-License-Identifier: PostgreSQL
# Copyright (c) 2024 SUSE LLC
++++++ README.md ++++++
--- /var/tmp/diff_new_pack.mDLatu/_old 2024-08-17 12:41:42.908686231 +0200
+++ /var/tmp/diff_new_pack.mDLatu/_new 2024-08-17 12:41:42.916686564 +0200
@@ -126,9 +126,9 @@
## Licensing
-`SPDX-License-Identifier: MIT`
+`SPDX-License-Identifier: PostgreSQL`
-This documentation and the build recipe are licensed as MIT.
+This documentation and the build recipe are licensed as PostgreSQL.
The container itself contains various software components under various open source licenses listed in the associated
Software Bill of Materials (SBOM).
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package grafana-image for openSUSE:Factory checked in at 2024-08-17 12:41:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grafana-image (Old)
and /work/SRC/openSUSE:Factory/.grafana-image.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grafana-image"
Sat Aug 17 12:41:17 2024 rev:18 rq:1194334 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/grafana-image/grafana-image.changes 2024-08-15 09:58:09.314544209 +0200
+++ /work/SRC/openSUSE:Factory/.grafana-image.new.2698/grafana-image.changes 2024-08-17 12:41:34.244325937 +0200
@@ -1,0 +2,5 @@
+Fri Aug 16 07:07:46 UTC 2024 - Dirk Mueller <dmueller(a)suse.com>
+
+- Correct license
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Dockerfile ++++++
--- /var/tmp/diff_new_pack.Qpgf3i/_old 2024-08-17 12:41:35.612382826 +0200
+++ /var/tmp/diff_new_pack.Qpgf3i/_new 2024-08-17 12:41:35.644384156 +0200
@@ -1,4 +1,4 @@
-# SPDX-License-Identifier: Apache-2.0
+# SPDX-License-Identifier: AGPL-3.0-only
# Copyright (c) 2024 SUSE LLC
++++++ LICENSE ++++++
++++ 866 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/grafana-image/LICENSE
++++ and /work/SRC/openSUSE:Factory/.grafana-image.new.2698/LICENSE
++++++ README.md ++++++
--- /var/tmp/diff_new_pack.Qpgf3i/_old 2024-08-17 12:41:36.000398960 +0200
+++ /var/tmp/diff_new_pack.Qpgf3i/_new 2024-08-17 12:41:36.024399958 +0200
@@ -5,9 +5,9 @@
## Licensing
-`SPDX-License-Identifier: Apache-2.0`
+`SPDX-License-Identifier: AGPL-3.0-only`
-This documentation and the build recipe are licensed as Apache-2.0.
+This documentation and the build recipe are licensed as AGPL-3.0-only.
The container itself contains various software components under various open source licenses listed in the associated
Software Bill of Materials (SBOM).
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package hawk2 for openSUSE:Factory checked in at 2024-08-17 12:41:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hawk2 (Old)
and /work/SRC/openSUSE:Factory/.hawk2.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hawk2"
Sat Aug 17 12:41:14 2024 rev:10 rq:1194308 version:2.6.5+git.1723815804.bb4dbd8
Changes:
--------
--- /work/SRC/openSUSE:Factory/hawk2/hawk2.changes 2024-07-31 13:30:11.810028428 +0200
+++ /work/SRC/openSUSE:Factory/.hawk2.new.2698/hawk2.changes 2024-08-17 12:41:31.800224303 +0200
@@ -1,0 +2,6 @@
+Fri Aug 16 13:52:13 UTC 2024 - aburlakov(a)suse.com
+
+- Update to version 2.6.5+git.1723815804.bb4dbd8:
+ * Update copyright 2018 --> 2024
+
+-------------------------------------------------------------------
Old:
----
hawk2-2.6.5+git.1722332489.55c71c1.tar.bz2
New:
----
hawk2-2.6.5+git.1723815804.bb4dbd8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hawk2.spec ++++++
--- /var/tmp/diff_new_pack.S5ljOz/_old 2024-08-17 12:41:32.580256740 +0200
+++ /var/tmp/diff_new_pack.S5ljOz/_new 2024-08-17 12:41:32.580256740 +0200
@@ -39,7 +39,7 @@
Summary: HA Web Konsole
License: GPL-2.0-only
Group: %{pkg_group}
-Version: 2.6.5+git.1722332489.55c71c1
+Version: 2.6.5+git.1723815804.bb4dbd8
Release: 0
URL: http://www.clusterlabs.org/wiki/Hawk
Source: %{name}-%{version}.tar.bz2
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.S5ljOz/_old 2024-08-17 12:41:32.636259068 +0200
+++ /var/tmp/diff_new_pack.S5ljOz/_new 2024-08-17 12:41:32.644259401 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/ClusterLabs/hawk.git</param>
- <param name="changesrevision">55c71c1d624c7829ee9fb8382b196dce892c1c17</param></service></servicedata>
+ <param name="changesrevision">bb4dbd85d78ec7889749d215a028edde72b6805a</param></service></servicedata>
(No newline at EOF)
++++++ hawk2-2.6.5+git.1722332489.55c71c1.tar.bz2 -> hawk2-2.6.5+git.1723815804.bb4dbd8.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/hawk2/hawk2-2.6.5+git.1722332489.55c71c1.tar.bz2 /work/SRC/openSUSE:Factory/.hawk2.new.2698/hawk2-2.6.5+git.1723815804.bb4dbd8.tar.bz2 differ: char 11, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package emacs-libgit2 for openSUSE:Factory checked in at 2024-08-17 12:41:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/emacs-libgit2 (Old)
and /work/SRC/openSUSE:Factory/.emacs-libgit2.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "emacs-libgit2"
Sat Aug 17 12:41:13 2024 rev:4 rq:1194309 version:471.373defa
Changes:
--------
--- /work/SRC/openSUSE:Factory/emacs-libgit2/emacs-libgit2.changes 2024-03-28 14:26:01.623326367 +0100
+++ /work/SRC/openSUSE:Factory/.emacs-libgit2.new.2698/emacs-libgit2.changes 2024-08-17 12:41:31.044192865 +0200
@@ -1,0 +2,6 @@
+Fri Aug 16 12:46:52 UTC 2024 - Martin Jambor <mjambor(a)suse.com>
+
+- Add -Wno-error=incompatible-pointer-types to optflags to work around
+ C99 violations that prevent building with GCC 14. [boo#1229236]
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ emacs-libgit2.spec ++++++
--- /var/tmp/diff_new_pack.3ZRNXY/_old 2024-08-17 12:41:31.592215654 +0200
+++ /var/tmp/diff_new_pack.3ZRNXY/_new 2024-08-17 12:41:31.596215819 +0200
@@ -40,6 +40,8 @@
%autosetup -p1 -n libegit2-%{version}
%build
+# Work around boo#1229236 and a C99 violation that prevents building with GCC 14
+%global optflags %{optflags} -Wno-error=incompatible-pointer-types
%cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_SYSTEM_LIBGIT2=ON
%cmake_build
1
0