Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package s390-tools for openSUSE:Factory checked in at 2021-11-15 15:26:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/s390-tools (Old) and /work/SRC/openSUSE:Factory/.s390-tools.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "s390-tools" Mon Nov 15 15:26:19 2021 rev:41 rq:931286 version:2.19.0 Changes: -------- --- /work/SRC/openSUSE:Factory/s390-tools/s390-tools.changes 2021-10-20 20:23:19.893342788 +0200 +++ /work/SRC/openSUSE:Factory/.s390-tools.new.1890/s390-tools.changes 2021-11-15 15:27:56.289849338 +0100 @@ -1,0 +2,105 @@ +Mon Nov 8 20:08:54 UTC 2021 - Mark Post <mp...@suse.com> + +- Upgraded to version 2.19.0 (jsc#SLE-18324) + * v2.19.0 (2021-11-10)__ + Add new tools / libraries: + - chreipl-fcp-mpath: New toolset that uses multipath information to change + the configured FCP re-IPL path on detecting issues with the current path + Changes of existing tools: + - dbginfo.sh: Add retry timeout and remove possible blocking "blockdev --report" + - dbginfo.sh: Collect config- and debug-data for chreipl-fcp-mpath + - hsci: Add support for multiple MAC addresses + Bug Fixes: + - lshwc: Fix compile error for gcc <8.1 + - zdump: Various clean-ups and fixes + - ziomon: Correct throughput calculation in ziorep_printers + - zipl: Fix segmentation fault when setting stage3_parms + * v2.18.0 (2021-10-01)__ + Add new tools: + - scripts: Add tool for parsing sclp s390dbf logs + - zdev: Add udev rule helper tool + - zipl-editenv: Add tool to operate with zIPL environment installed in the boot record + Changes of existing tools: + - Makefile: Fix order of build of libraries for parallel builds + - dbginfo.sh: Add collection in area of timedate, coredump and --check option + - dbginfo.sh: Add exception on dump2tar for /sys/kernel/mm/page_idle/bitmap + - dbginfo.sh: Cleanup of outdated sections and general code rework + - dbginfo.sh: Collect zipl boot menu entries from boot loader specification + - lszcrypt: Add support for vfio-ap status field + - lszcrypt: Improved output for deconfig cards and queues + - lszfcp: Add linkdown case to host marker of extended output + - zdev: Add auto-config for PCI and crypto devices + - zdump: Introduce multi-level message logging + - zipl: Add support for environment block interpretation + - zkey-cryptsetup: Support LUKS2 volumes with integrity support enabled + Bug Fixes: + - hsavmcore: Avoid recompilation of overlay during install step + - libkmipclient: Fix parsing of hex values for XML and JSON encoding + - vmur/vmur.cpp: Fix error handling on transfer failure + - zdump: Lots of smaller fixes across the board + * v2.17.0 (2021-07-07)__ + Add new tools / libraries: + - hsavmcore: New utility to make the dump process with kdump more efficient + - libkmipclient: Add KMIP client shared library + - libseckey: Add a secure key library + - lshwc: New tool to extract and list complete counter sets + Changes of existing tools: + - genprotimg: Add '--(enable|disable)-pckmo' options + - genprotimg: Add OpenSSL 3.0 support + - genprotimg: Change plaintext control flags defaults so PCKMO functions are allowed + - libutil: Introduce multi-level message logging (util_log) + - libutil: Introduce util_arch module + - udev/dasd: Change DASD udev-rule to set none scheduler + - zdsfs: Add transparent codepage conversion + - zkey: Add support for KMIP-based key management systems + Bug Fixes: + - ttyrun-getty: Avoid conflicts with serial-getty@ + - dbginfo: add /proc/kallsyms - refresh zVM, lscpu - fix WORKARCHIVE handling + - dbginfo: add KVM data collection for server and guest - fix lszdev + - genprotimg: Add missing return values in error paths + - zkey: Fix conversion of CCA DATA keys to CCA CIPHER keys + - znetconf: avoid conflict with "chzdev -e" + * v2.16.0 (2021-02-19)__ + Add new tool: + - hsci: New tool to manage HSCI (HiperSockets Converged Interfaces) + Changes of existing tools: + - genprotimg: Add host-key document verification support + - genprotimg: boot: Make boot loader -march=z900 compatible + - libekmfweb: Make install directory for shared libraries configurable + - lsdasd: Add FC Endpoint Security information + - make: Add address sanitizer support + - netboot: Add version information to scripts + - netboot: Bump busybox version in pxelinux.0 build + - zdev: Add FC Endpoint Security information for DASD devices + - zdev: Add build option to update initial RAM-disk by default + - zkey-ekmfweb: Avoid sequence number clash when generating keys + - zkey/zkey-ekmfweb: Install KMS plugins into configurable location + - zkey: Add support to store LUKS2 dummy passphrase in key repository + Bug Fixes: + - dasdfmt: Fix segfault when an incorrect option is specified + - genprotimg: Fix several build issues + - genprotimg: Require argument for 'ramdisk' and 'parmfile' options + - zcryptstats: Fix handling of partial results with many domains + - zfcpdbf: Deal with crash 7.2.9 change in caller name formatting + - zipl/boot: Fix memory use after free in stage2 + - zipl/boot: Fix potential heap overflow in stage2 + - zipl: Fix reading 4k disk's geometry +- Removed the following obsolete patches + * s390-tools-sles15sp3-dasdfmt-Fix-segfault-when-an-incorrect-option-is-spe.patch + * s390-tools-sles15sp3-libutil-Compare-proc-entries-to-vfstype.patch + * s390-tools-sles15sp3-01-zdev-Add-FC-Endpoint-Security-information-for-DASD-d.patch + * s390-tools-sles15sp3-02-lsdasd-Add-FC-Endpoint-Security-information.patch + * s390-tools-sles15sp3-hsci-Add-new-tool-to-control-HiperSockets-Converged-.patch + * s390-tools-sles15sp3-zcryptstats-Fix-handling-of-partial-results-with-man.patch + * s390-tools-sles15sp3-01-genprotimg-abort-if-one-of-the-recursive-targets-is-.patch + * s390-tools-sles15sp3-02-genprotimg-fix-two-memory-leaks.patch + * s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk-and-parmfile.patch + * s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch + * s390-tools-sles15sp3-zkey-Fix-APQN-property-names.patch + * s390-tools-sles15sp3-zipl-fix-4k-scsi-ipl.patch + * s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch + * s390-tools-sles15sp3-check-return-code-from-util_file_read_l.patch +- Removed an obsolete "export ROOT_BUILD_DIR" statement from the spec file. +- Removed unnecessary defattr statements in the files section. + +------------------------------------------------------------------- @@ -8,0 +114,20 @@ + +------------------------------------------------------------------- +Fri Jun 18 20:55:06 UTC 2021 - Mark Post <mp...@suse.com> + +- Reworked s390-tools-sles15sp2-Implement-Y-yast_mode.patch (yet + again). If more DASD volumes are to be formatted than are allowed + by the "maximum number to do in parallel" parameter, dasdfmt + waits until one of the child processes ends before starting another. + For YaST to be able to figure out how many cylinders a particular + DASD volume has, that information has to be output for _all_ of the + volumes, before any of the child processes are spawned. + (bsc#1187012) + +------------------------------------------------------------------- +Wed May 26 21:13:23 UTC 2021 - Mark Post <mp...@suse.com> + +- Modified the following patches to correct the output from the + dasdfmt command when *not* using "YaST mode." (bsc#1182816, bsc#1182820) + * s390-tools-sles15sp3-Format-devices-in-parallel.patch + * s390-tools-sles15sp3-Implement-Y-yast_mode.patch Old: ---- s390-tools-2.15.1.tar.gz s390-tools-sles15sp3-01-genprotimg-abort-if-one-of-the-recursive-targets-is-.patch s390-tools-sles15sp3-01-zdev-Add-FC-Endpoint-Security-information-for-DASD-d.patch s390-tools-sles15sp3-02-genprotimg-fix-two-memory-leaks.patch s390-tools-sles15sp3-02-lsdasd-Add-FC-Endpoint-Security-information.patch s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk-and-parmfile.patch s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch s390-tools-sles15sp3-check-return-code-from-util_file_read_l.patch s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch s390-tools-sles15sp3-dasdfmt-Fix-segfault-when-an-incorrect-option-is-spe.patch s390-tools-sles15sp3-hsci-Add-new-tool-to-control-HiperSockets-Converged-.patch s390-tools-sles15sp3-libutil-Compare-proc-entries-to-vfstype.patch s390-tools-sles15sp3-zcryptstats-Fix-handling-of-partial-results-with-man.patch s390-tools-sles15sp3-zipl-fix-4k-scsi-ipl.patch s390-tools-sles15sp3-zkey-Fix-APQN-property-names.patch New: ---- s390-tools-2.19.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ s390-tools.spec ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:57.249849607 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:57.249849607 +0100 @@ -23,7 +23,7 @@ %endif Name: s390-tools -Version: 2.15.1 +Version: 2.19.0 Release: 0 Summary: S/390 tools like zipl and dasdfmt License: MIT @@ -87,20 +87,6 @@ Source99: zfcp_host_configure.8 ### -Patch1: s390-tools-sles15sp3-dasdfmt-Fix-segfault-when-an-incorrect-option-is-spe.patch -Patch2: s390-tools-sles15sp3-libutil-Compare-proc-entries-to-vfstype.patch -Patch3: s390-tools-sles15sp3-01-zdev-Add-FC-Endpoint-Security-information-for-DASD-d.patch -Patch4: s390-tools-sles15sp3-02-lsdasd-Add-FC-Endpoint-Security-information.patch -Patch5: s390-tools-sles15sp3-hsci-Add-new-tool-to-control-HiperSockets-Converged-.patch -Patch6: s390-tools-sles15sp3-zcryptstats-Fix-handling-of-partial-results-with-man.patch -Patch7: s390-tools-sles15sp3-01-genprotimg-abort-if-one-of-the-recursive-targets-is-.patch -Patch8: s390-tools-sles15sp3-02-genprotimg-fix-two-memory-leaks.patch -Patch9: s390-tools-sles15sp3-03-genprotimg-require-argument-for-ramdisk-and-parmfile.patch -Patch10: s390-tools-sles15sp3-04-genprotimg-add-host-key-document-verification-suppor.patch -Patch11: s390-tools-sles15sp3-zkey-Fix-APQN-property-names.patch -Patch12: s390-tools-sles15sp3-zipl-fix-4k-scsi-ipl.patch -Patch13: s390-tools-sles15sp3-dasd-change-DASD-udev-rule-to-set-none-scheduler.patch - # SUSE patches Patch900: s390-tools-sles12-zipl_boot_msg.patch Patch901: s390-tools-sles15-sysconfig-compatible-dumpconf.patch @@ -113,8 +99,7 @@ Patch908: s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch Patch909: s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch Patch910: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch -Patch911: s390-tools-sles15sp3-check-return-code-from-util_file_read_l.patch -Patch912: s390-tools-sles15sp3-remove-no-pie-link-arguments.patch +Patch911: s390-tools-sles15sp3-remove-no-pie-link-arguments.patch BuildRequires: curl-devel BuildRequires: dracut @@ -127,8 +112,10 @@ BuildRequires: libcryptsetup-devel > 2.0.3 BuildRequires: libjson-c-devel BuildRequires: libpfm-devel +BuildRequires: libxml2-devel BuildRequires: ncurses-devel BuildRequires: net-snmp-devel +BuildRequires: openssl-devel >= 1.1.1l BuildRequires: pesign-obs-integration BuildRequires: qclib-devel-static BuildRequires: tcpd-devel @@ -211,7 +198,7 @@ Summary: IBM Enterprise Key Management Foundation - Web Edition client library License: MIT Group: Development/Libraries/C and C++ -Requires: libekmfweb1 +Requires: libekmfweb1 = %{version} %description -n libekmfweb1-devel libekmfweb1 is a client library that provides access to IBM' Enterprise Key @@ -219,6 +206,54 @@ security-rich centralized key management for IBM z/OS data set encryption on IBM Z servers. +%package -n libkmipclient1 +Summary: IBM Key Management Interoperability Protocol (KMIP) client library +License: MIT +Group: System/Libraries + +%description -n libkmipclient1 +Key Management Interoperability Protocol (KMIP) is a client/server +communication protocol for the storage and maintenance of key, +certificate, and secret objects. This client library enables secure +creation and storage of cryptographic objects on the IBM Security Key +Lifecycle Manager server. You must configure client devices to connect +to the server for key management operations. + +%package -n libkmipclient1-devel +Summary: Header files for the IBM Z KMIP client library +License: MIT +Group: Development/Libraries/C and C++ +Requires: libkmipclient1 = %{version} + +%description -n libkmipclient1-devel +This package provides the header files and symbolic link to the +shared library for the IBM Z KMIP client library. + +%package chreipl-fcp-mpath +Summary: Use multipath information for re-IPL path failover +License: MIT +Group: System/Boot +BuildRequires: bash +BuildRequires: coreutils +## Required for build+install with ENABLE_DOC=1 +#BuildRequires: pandoc +BuildRequires: sed +#BuildRequires: gawk +#BuildRequires: gzip +Requires: bash +# Required for use with HAVE_DRACUT=1 +Requires: dracut +Requires: multipath-tools +Requires: udev +Requires(post): udev + +%description chreipl-fcp-mpath +The chreipl-fcp-mpath toolset monitors udev events about paths to the +re-IPL volume. If the currently configured FCP re-IPL path becomes +unavailable, the toolset checks for operational paths to the same +volume. If available, it reconfigures the FCP re-IPL settings to use an +operational path. + %prep %autosetup -p1 @@ -234,7 +269,9 @@ export KERNELIMAGE_MAKEFLAGS="%%{?_smp_mflags}" %make_build \ ZFCPDUMP_DIR=%{_prefix}/lib/s390-tools/zfcpdump \ - DISTRELEASE=%{release} + DISTRELEASE=%{release} \ + UDEVRUNDIR=/run/udev \ + HAVE_DRACUT=1 gcc -static -o read_values ${OPT_FLAGS} %{SOURCE86} -lqc %install @@ -244,6 +281,7 @@ ZFCPDUMP_DIR=%{_prefix}/lib/s390-tools/zfcpdump \ DISTRELEASE=%{release} \ SYSTEMDSYSTEMUNITDIR=%{_unitdir} \ + UDEVRUNDIR=/run/udev \ HAVE_DRACUT=1 # The make install command puts things in /etc/sysconfig and not the @@ -258,8 +296,13 @@ install -m 755 read_values %{buildroot}/%{_bindir}/ install -m644 -t %{buildroot}/%{_mandir}/man8 %{SOURCE87} -export ROOT_BUILD_DIR="%{_builddir}/%{name}-%{version}/zfcpdump/kernel" +# The "usrmerge" has happened in openSUSE:Factory, but not yet in SLES. +# Make sure we look for the zfcpdump kernel image in the right place. +%if 0%{?usrmerged} install -D -m600 %{_prefix}/lib/modules/*-zfcpdump/image %{buildroot}%{_prefix}/lib/s390-tools/zfcpdump/zfcpdump-image +%else +install -D -m600 /boot/image-*-zfcpdump %{buildroot}%{_prefix}/lib/s390-tools/zfcpdump/zfcpdump-image +%endif install -D -m644 etc/cpuplugd.conf %{buildroot}%{_sysconfdir}/cpuplugd.conf install -D -m644 etc/udev/rules.d/40-z90crypt.rules %{buildroot}%{_prefix}/lib/udev/rules.d/40-z90crypt.rules @@ -343,7 +386,7 @@ find . ! -type d | sed 's/^.//;\-/man/-s/^.*$/%doc &.gz/' > %{_builddir}/%{name}-filelist -grep -v -E 'osasnmp|*\.conf$|ekmfweb.so|ekmfweb.h' %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.list +grep -v -E 'osasnmp|*\.conf$|ekmfweb.so|ekmfweb.h|kmipclient|kmip/profiles/*\.profile|chreipl-fcp-mpath' %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.list grep osasnmp[^-] %{_builddir}/%{name}-filelist >%{_builddir}/%{name}.osasnmp touch boot/zipl/active_devices.txt @@ -435,6 +478,12 @@ %post -n libekmfweb1 ldconfig +%post -n libkmipclient1 +ldconfig + +%post chreipl-fcp-mpath +%udev_rules_update + %preun %service_del_preun appldata.service %service_del_preun cio_ignore.service @@ -466,6 +515,9 @@ %postun -n libekmfweb1 ldconfig +%postun -n libkmipclient1 +ldconfig + # Even though SLES15+ is systemd based, the build service doesn't # run it, so we have to make sure we can safely issue the # systemctl command. @@ -496,7 +548,7 @@ %{stop_on_removal osasnmpd} %files -f %{_builddir}/%{name}.list -%defattr(-,root,root) + %doc README.md %doc README.SUSE @@ -509,7 +561,10 @@ %config %attr(0640,root,ts-shell) %{_sysconfdir}/iucvterm/ts-shell.conf %config %attr(0640,root,ts-shell) %{_sysconfdir}/iucvterm/unrestricted.conf %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey +%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/kmip +%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/kmip/profiles %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/repository +%config %{_sysconfdir}/zkey/kmip/profiles/* %config %{_sysconfdir}/modprobe.d/90-s390-tools.conf %config %{_sysconfdir}/cpuplugd.conf %config %{_sysconfdir}/zkey/kms-plugins.conf @@ -540,24 +595,20 @@ %exclude %{_mandir}/man8/lshmc.8.gz %files -n osasnmpd -f %{_builddir}/%{name}.osasnmp -%defattr(-,root,root) %{_libexecdir}/net-snmp/agents/osasnmpd %files zdsfs -%defattr(-,root,root) %doc CAUTION %{_bindir}/zdsfs %{_mandir}/man1/zdsfs.1%{?ext_man} %files hmcdrvfs -%defattr(-,root,root) %{_bindir}/hmcdrvfs %{_sbindir}/lshmc %{_mandir}/man1/hmcdrvfs.1%{?ext_man} %{_mandir}/man8/lshmc.8%{?ext_man} %files -n libekmfweb1 -%defattr(-,root,root) %{_libdir}/libekmfweb.so.* %files -n libekmfweb1-devel @@ -565,4 +616,28 @@ %dir %attr(755,root,root) %{_includedir}/ekmfweb %attr(644,root,root) %{_includedir}/ekmfweb/ekmfweb.h +%files -n libkmipclient1 +%{_libdir}/libkmipclient.so.* + +%files -n libkmipclient1-devel +%{_libdir}/libkmipclient.so +%dir %attr(755,root,root) %{_includedir}/kmipclient +%attr(644,root,root) %{_includedir}/kmipclient/kmipclient.h + +%files chreipl-fcp-mpath +%doc chreipl-fcp-mpath/README.md +## Requires build+install with ENABLE_DOC=1 +#doc chreipl-fcp-mpath/README.html +%dir %{_prefix}/lib/chreipl-fcp-mpath/ +%{_prefix}/lib/chreipl-fcp-mpath/* +%{_prefix}/lib/dracut/dracut.conf.d/70-chreipl-fcp-mpath.conf +%{_prefix}/lib/udev/chreipl-fcp-mpath-is-ipl-tgt +%{_prefix}/lib/udev/chreipl-fcp-mpath-is-ipl-vol +%{_prefix}/lib/udev/chreipl-fcp-mpath-is-reipl-zfcp +%{_prefix}/lib/udev/chreipl-fcp-mpath-record-volume-identifier +%{_prefix}/lib/udev/chreipl-fcp-mpath-try-change-ipl-path +%{_udevrulesdir}/70-chreipl-fcp-mpath.rules +## Requires build+install with ENABLE_DOC=1 +#{_mandir}/man7/chreipl-fcp-mpath.7.gz + %changelog ++++++ s390-tools-2.15.1.tar.gz -> s390-tools-2.19.0.tar.gz ++++++ ++++ 75197 lines of diff (skipped) ++++++ s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:57.961849807 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:57.961849807 +0100 @@ -27,7 +27,7 @@ if (!anc->silent) printf("rereading partition table...\n"); -- if (dasd_reread_partition_table(options.device, 1) != 0) { +- if (dasd_reread_partition_table(options.device, 5) != 0) { + rc = dasd_reread_partition_table(options.device, 1); + if (rc == EINVAL && !anc->force_virtual) { fdasd_error(anc, unable_to_ioctl, "Error while rereading " ++++++ s390-tools-sles12-zipl_boot_msg.patch ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:57.969849808 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:57.973849810 +0100 @@ -1,6 +1,6 @@ --- s390-tools-1.24.1/zipl/boot/menu.c 2013-12-18 11:11:45.000000000 -0500 +++ s390-tools-1.24.1/zipl/boot/menu.c 2013-12-18 11:59:18.000000000 -0500 -@@ -167,8 +167,11 @@ +@@ -168,8 +168,11 @@ /* print config list */ menu_list(); ++++++ s390-tools-sles15sp3-Format-devices-in-parallel.patch ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:57.985849813 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:57.985849813 +0100 @@ -63,7 +63,7 @@ #include "lib/dasd_base.h" #include "lib/dasd_sys.h" -@@ -81,6 +82,7 @@ +@@ -81,6 +82,7 @@ static struct dasdfmt_globals { int mode_specified; int ese; int no_discard; @@ -71,7 +71,7 @@ } g = { .dasd_info = { 0 }, }; -@@ -105,6 +107,11 @@ +@@ -105,6 +107,11 @@ static struct util_opt opt_vec[] = { .desc = "Perform complete format check on device", .flags = UTIL_OPT_FLAG_NOSHORT, }, @@ -83,7 +83,7 @@ UTIL_OPT_SECTION("FORMAT OPTIONS"), { .option = { "blocksize", required_argument, NULL, 'b' }, -@@ -162,7 +170,7 @@ +@@ -162,7 +169,7 @@ static struct util_opt opt_vec[] = { .desc = "Show a progressbar", }, { @@ -92,16 +92,7 @@ .desc = "Show progress in percent", }, UTIL_OPT_SECTION("MISC"), -@@ -297,7 +305,7 @@ - p_old = p_new; - barlength = cyl * 33 / cylinders; - for (i = 1; i <= barlength; i++) -- printf("#"); -+ printf("%d|", g.procnum); - for (i = barlength + 1; i <= 33; i++) - printf("-"); - printf("|%3d%%", p_new); -@@ -311,7 +318,7 @@ +@@ -311,7 +318,7 @@ static void draw_progress(int cyl, unsig } if (g.print_hashmarks && (cyl / g.hashstep - hashcount) != 0) { @@ -110,7 +101,7 @@ fflush(stdout); hashcount++; } -@@ -1560,7 +1568,11 @@ +@@ -1560,7 +1567,11 @@ int main(int argc, char *argv[]) char *reqsize_param_str = NULL; char *hashstep_str = NULL; @@ -123,7 +114,7 @@ /* Establish a handler for interrupt signals. */ signal(SIGTERM, program_interrupt_signal); -@@ -1623,7 +1635,7 @@ +@@ -1623,7 +1634,7 @@ int main(int argc, char *argv[]) g.print_hashmarks = 1; } break; @@ -132,7 +123,7 @@ if (!(g.print_hashmarks || g.print_progressbar)) g.print_percentage = 1; break; -@@ -1682,6 +1694,9 @@ +@@ -1682,6 +1693,9 @@ int main(int argc, char *argv[]) case OPT_NODISCARD: g.no_discard = 1; break; @@ -142,7 +133,7 @@ case OPT_CHECK: g.check = 1; break; -@@ -1733,15 +1748,35 @@ +@@ -1733,15 +1747,35 @@ int main(int argc, char *argv[]) if (numdev > 1 && g.labelspec) error("Specifying a volser to be written doesn't make sense when formatting multiple DASD volumes."); ++++++ s390-tools-sles15sp3-Implement-Y-yast_mode.patch ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:57.989849814 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:57.993849815 +0100 @@ -60,7 +60,18 @@ UTIL_OPT_SECTION("MISC"), { .option = { "check_host_count", no_argument, NULL, 'C' }, -@@ -392,7 +397,7 @@ static void evaluate_format_error(format +@@ -318,7 +323,9 @@ static void draw_progress(int cyl, unsig + } + + if (g.print_hashmarks && (cyl / g.hashstep - hashcount) != 0) { +- printf("%d|", g.procnum); ++ if (g.yast_mode) ++ printf("%d|", g.procnum); ++ else printf("#"); + fflush(stdout); + hashcount++; + } +@@ -392,7 +399,7 @@ static void evaluate_format_error(format unsigned int kl = 0; int blksize = cdata->expect.blksize; @@ -69,7 +80,7 @@ printf("\n"); /* -@@ -780,8 +785,9 @@ static void check_hashmarks(void) +@@ -780,8 +787,9 @@ static void check_hashmarks(void) g.hashstep = 10; } @@ -81,7 +92,7 @@ } } -@@ -1462,17 +1468,19 @@ static void do_format_dasd(volume_label_ +@@ -1462,17 +1470,19 @@ static void do_format_dasd(volume_label_ break; } @@ -104,18 +115,45 @@ printf("ok\n"); } } -@@ -1548,6 +1556,10 @@ +@@ -1548,6 +1558,7 @@ void process_dasd(volume_label_t *orig_v error("%s", str); set_geo(&cylinders, &heads); -+ if (g.yast_mode) { -+ printf("%d\n", cylinders); -+ fflush(stdout); -+ } ++ set_label(&vlabel, &format_params, cylinders); if (g.check) -@@ -1693,6 +1703,10 @@ int main(int argc, char *argv[]) +@@ -1557,6 +1568,29 @@ void process_dasd(volume_label_t *orig_v + + } + ++static void yast_print_cylinfo(const char *dev_filename) ++{ ++ unsigned int cylinders = -1u; ++ int fd; ++ dasd_information2_t dasd_info; ++ struct dasd_eckd_characteristics *characteristics; ++ ++ fd = open(dev_filename, O_RDONLY); ++ if ((fd != -1) && ( ! ioctl(fd, BIODASDINFO2, &dasd_info))) { ++ ++ characteristics = (struct dasd_eckd_characteristics *) &dasd_info.characteristics; ++ if (characteristics->no_cyl == LV_COMPAT_CYL && characteristics->long_no_cyl) ++ cylinders = characteristics->long_no_cyl; ++ else ++ cylinders = characteristics->no_cyl; ++ } ++ ++ if (fd != -1) ++ close(fd); ++ printf("%u\n", cylinders); ++ fflush(stdout); ++} ++ + int main(int argc, char *argv[]) + { + volume_label_t vlabel; +@@ -1693,6 +1727,10 @@ int main(int argc, char *argv[]) case OPT_NODISCARD: g.no_discard = 1; break; @@ -126,6 +164,41 @@ case 'P': max_parallel = atoi(optarg); break; +@@ -1728,6 +1766,21 @@ int main(int argc, char *argv[]) + reqsize = DEFAULT_REQUESTSIZE; + } + ++/* If -Y (YaST mode) was specified by the caller, then we need to suppress ++ * most of all the other output that might be generated. But, we _do_ want ++ * hashmarks printed so that YaST can track what's going on. If it wasn't ++ * specified on the command line, set it to a default of 10 cylinders. ++ */ ++ if (g.yast_mode) { ++ g.verbosity = 0; ++ g.print_progressbar = 0; ++ g.print_percentage = 0; ++ if (! g.print_hashmarks) { ++ g.print_hashmarks = 1; ++ hashstep_str = "10"; ++ } ++ } ++ + if (g.print_hashmarks) + PARSE_PARAM_INTO(g.hashstep, hashstep_str, 10, "hashstep"); + +@@ -1747,6 +1800,12 @@ int main(int argc, char *argv[]) + if (numdev > 1 && g.labelspec) + error("Specifying a volser to be written doesn't make sense when formatting multiple DASD volumes."); + ++ if (g.yast_mode) { ++ for (numproc = 0; numproc < numdev; numproc++) ++ yast_print_cylinfo(g.dev_path_array[numproc]); ++ ++ } ++ + for (numproc = 0; numproc < numdev; numproc++) { + chpid = fork(); + if (chpid == -1 ) -- 1.7.12.4 ++++++ s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:58.001849818 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:58.001849818 +0100 @@ -52,7 +52,7 @@ UTIL_OPT_SECTION("FORMAT OPTIONS"), { .option = { "blocksize", required_argument, NULL, 'b' }, -@@ -1627,6 +1631,12 @@ +@@ -1649,6 +1653,12 @@ } g.layout_specified = 1; break; ++++++ s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:58.005849818 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:58.009849820 +0100 @@ -23,7 +23,7 @@ index e1877ac..f03cbad 100644 --- a/dasdfmt/dasdfmt.c +++ b/dasdfmt/dasdfmt.c -@@ -619,7 +619,7 @@ +@@ -621,7 +621,7 @@ */ static void check_disk(void) { @@ -32,7 +32,7 @@ bool ro; err = dasd_is_ro(g.dev_node, &ro); -@@ -629,6 +629,23 @@ +@@ -631,6 +631,23 @@ if (ro) error("Disk %s is read only!", g.dev_path); if (!g.force) { ++++++ s390-tools-sles15sp3-remove-no-pie-link-arguments.patch ++++++ --- /var/tmp/diff_new_pack.iMm55i/_old 2021-11-15 15:27:58.017849822 +0100 +++ /var/tmp/diff_new_pack.iMm55i/_new 2021-11-15 15:27:58.017849822 +0100 @@ -1,6 +1,6 @@ --- s390-tools-2.15.1/common.mak 2020-10-28 10:31:59.000000000 -0400 +++ s390-tools-2.15.1/common.mak 2021-03-01 11:16:20.285597140 -0500 -@@ -224,8 +224,8 @@ +@@ -252,8 +252,8 @@ ifneq ($(shell $(CC_SILENT) -dumpspecs 2>/dev/null | grep -e '[^f]no-pie'),) NO_PIE_CFLAGS := -fno-pie