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 2023-08-28 17:18:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/s390-tools (Old) and /work/SRC/openSUSE:Factory/.s390-tools.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "s390-tools" Mon Aug 28 17:18:04 2023 rev:63 rq:1107201 version:2.29.0 Changes: -------- --- /work/SRC/openSUSE:Factory/s390-tools/s390-tools.changes 2023-06-14 16:32:39.515692356 +0200 +++ /work/SRC/openSUSE:Factory/.s390-tools.new.1766/s390-tools.changes 2023-08-28 17:18:05.506848591 +0200 @@ -1,0 +2,28 @@ +Mon Aug 28 15:52:15 UTC 2023 - Nikolay Gueorguiev <[email protected]> + +- Amended read_value.c for newer z16 models (bsc#1214534) + +------------------------------------------------------------------- +Tue Aug 8 08:00:14 UTC 2023 - Nikolay Gueorguiev <[email protected]> + +- Upgrade to version 2.29.0 (jsc#PED-3275) + * s390-tools now supports tools written in Rust. + * Add compdb Makefile target to create 'compile_commands.json' to support LSP + backends in IDEs and editors +- Add new tools / libraries: + * rust/pv: Library for pv tools written in rust + * rust/pvsecret: Tool to manage UV-secrets +- Changes of existing tools: + * dbginfo.sh: Global IFS variable + * genprotimg: Add support for add-secret requests + * genprotimg: Build debuginfo files for bootloader + * hyptop: Add real SMT utilization field + * hyptop: Allow users to set speedup factor + * pvattest: Add yaml-output for verify command + * zipl: Build debuginfo files for bootloader +- Bug Fixes: + * dump2tar: Fix truncated paths + * zdev/dracut: fix kdump build to integrate with site support +- Amended .spec for version 2.29.0, including Rust integration + +------------------------------------------------------------------- Old: ---- s390-tools-2.27.0.tar.gz New: ---- _service cargo_config s390-tools-2.29.0.tar.gz vendor.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ s390-tools.spec ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:12.399096090 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:12.403096234 +0200 @@ -33,7 +33,7 @@ %endif Name: s390-tools -Version: 2.27.0 +Version: 2.29.0 Release: 0 Summary: S/390 tools like zipl and dasdfmt License: MIT @@ -127,6 +127,9 @@ Source98: zfcp_disk_configure.8 Source99: zfcp_host_configure.8 ### +Source200: cargo_config +Source201: vendor.tar.gz +### # IBM patches ### @@ -171,6 +174,12 @@ BuildRequires: systemd-devel BuildRequires: tcpd-devel BuildRequires: zlib-devel-static +### Cargo +BuildRequires: rust +BuildRequires: cargo +BuildRequires: cargo-packaging +BuildRequires: openssl +### # Don't build with pie to avoid problems with zipl #!BuildIgnore: gcc-PIE Requires: coreutils @@ -308,10 +317,19 @@ %prep %autosetup -p1 +# cp -vi %{SOURCE22} CAUTION +# + +### +install -D -m 0644 %{SOURCE200} .cargo/config +tar -xzvf %{SOURCE201} +### %build +# +# # The "DISTRELEASE=%%{release}" needs to be on both the make and make install # commands, since make install runs sed commands against various scripts to # modify the "-v" output appropriately. @@ -322,10 +340,13 @@ ZFCPDUMP_DIR=%{_prefix}/lib/s390-tools/zfcpdump \ DISTRELEASE=%{release} \ UDEVRUNDIR=/run/udev \ + HAVE_CARGO=1 \ HAVE_DRACUT=1 gcc -static -o read_values ${OPT_FLAGS} %{SOURCE86} -lqc %install + +# mkdir -p %{buildroot}/boot/zipl mkdir -p %{buildroot}%{_sysconfdir}/zkey/repository %make_install \ @@ -333,6 +354,7 @@ DISTRELEASE=%{release} \ SYSTEMDSYSTEMUNITDIR=%{_unitdir} \ UDEVRUNDIR=/run/udev \ + HAVE_CARGO=1 \ HAVE_DRACUT=1 # The make install command puts things in /etc/sysconfig and not the @@ -422,7 +444,7 @@ fi install -D -m755 %{SOURCE24} %{buildroot}%{_bindir}/cputype -install -m644 -t %{buildroot}/%{_mandir}/man8 %{SOURCE25} +install -m644 -t %{buildroot}/%{_mandir}/man1 %{SOURCE25} # If building for openSUSE, move all the binaries installed via # the IBM-provided Makefile from /sbin to /usr/sbin/ to ++++++ _service ++++++ <services> <service name="cargo_vendor" mode="disabled"> <param name="srctar">s390-tools-2.29.0.tar.gz</param> <param name="compression">zst</param> <param name="update">true</param> <param name="cargotoml">../../vendor</param> <param name="cargotoml">/rust/pvsecret/Cargo.toml</param> <param name="cargotoml">/rust/pv/Cargo.toml</param> <param name="cargotoml">/rust/pv/openssl_extentions/Cargo.toml</param> <param name="cargotoml">/rust/utils/Cargo.toml</param> </service> <service name="cargo_audit" mode="disabled"> <param name="srctar">s390-tools-2.29.0.tar.gz</param> </service> </services> ++++++ cargo_config ++++++ [source.crates-io] replace-with = "vendored-sources" [source.vendored-sources] directory = "vendor/" ++++++ read_values.c ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:12.775109593 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:12.779109736 +0200 @@ -76,8 +76,10 @@ { QC_TYPE_FAMILY_LINUXONE, "8561", "8561 = IBM LinuxONE III LT1" }, { QC_TYPE_FAMILY_IBMZ, "8562", "8562 = z15 T02 IBM z15 T02" }, { QC_TYPE_FAMILY_LINUXONE, "8562", "8562 = IBM LinuxONE III LT2" }, - { QC_TYPE_FAMILY_IBMZ, "3931", "3931 = z16 IBM z16 A01" }, + { QC_TYPE_FAMILY_IBMZ, "3931", "3931 = z16 A01 IBM z16 A01" }, { QC_TYPE_FAMILY_LINUXONE, "3931", "3931 = IBM LinuxONE Emperor 4" }, + { QC_TYPE_FAMILY_IBMZ, "3932", "3932 = z16 A02 IBM z16 A02" }, + { QC_TYPE_FAMILY_LINUXONE, "3932", "3932 = IBM LinuxONE Rockhopper 4" }, }; int debug = 0; @@ -260,6 +262,40 @@ return; } /* print_scc */ + +/******************************************************************************/ +/* */ +/* Secure boot support models ( check_model () ) */ +/* Only the following machines support secure boot: */ +/* z14, z14 ZR1, z15, z16 */ +/* */ +/******************************************************************************/ + +int check_model (const char *cpu) { + + #define IBM_Models 6 /* Number of IBM models listed below */ + char *types[IBM_Models] = { + "3906", + "3907", + "8561", + "8562", + "3931", + "3932", + }; + + int i; + int models = sizeof(types) / sizeof(types[0]); + + for ( i = 0; i < models; i++) { + + if ( !strcmp(cpu,types[i]) ) { + return 1; + }; + } + return 0; +} /* check_model */ + + /******************************************************************************/ /* */ /* print out whether secure boot is enabled */ @@ -310,17 +346,14 @@ printf("Print_secure called\n"); #endif /* - * Only the following machines support secure boot: z14, z14 ZR1, z15 - * 3906, 3907, 8561 + * Only the following machines support secure boot: z14, z14 ZR1, z15, z16 + * 3906, 3907, 8561, 8562, 3931, 3932 */ erg = qc_get_attribute_string(configuration_handle, qc_type, 0, &cpu_type); if (erg == 1 && cpu_type != NULL) { - if (strcmp(cpu_type, "3906") != 0) { - if (strcmp(cpu_type, "3907") != 0) { - if (strcmp(cpu_type, "8561") != 0) { - goto return_does_not_exist; - } /* endif */ - } /* endif */ + + if ( check_model(cpu_type) ) { + goto return_does_not_exist; } /* endif */ } /* endif */ print_attribute("Secure mode on", 1, qc_has_secure, integer, WITH_KEY); @@ -335,6 +368,7 @@ return; } /* print_secure_mode */ + /******************************************************************************/ /* */ /* print out the uuid for this machine */ ++++++ s390-tools-2.27.0.tar.gz -> s390-tools-2.29.0.tar.gz ++++++ ++++ 15125 lines of diff (skipped) ++++++ s390-tools-ALP-zdev-live.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.143122808 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.147122952 +0200 @@ -5,8 +5,10 @@ zdev/dracut/Makefile | 15 ++++++++++-- 4 files changed, 92 insertions(+), 2 deletions(-) +Index: s390-tools-2.29.0/zdev/dracut/96zdev-live/module-setup.sh +=================================================================== --- /dev/null -+++ b/zdev/dracut/96zdev-live/module-setup.sh ++++ s390-tools-2.29.0/zdev/dracut/96zdev-live/module-setup.sh @@ -0,0 +1,32 @@ +#!/bin/bash + @@ -40,8 +42,10 @@ + inst_hook cleanup 41 "$moddir/write-udev-live.sh" + inst_multiple chzdev +} +Index: s390-tools-2.29.0/zdev/dracut/96zdev-live/parse-zdev-live.sh +=================================================================== --- /dev/null -+++ b/zdev/dracut/96zdev-live/parse-zdev-live.sh ++++ s390-tools-2.29.0/zdev/dracut/96zdev-live/parse-zdev-live.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# @@ -79,8 +83,10 @@ + fi +done + +Index: s390-tools-2.29.0/zdev/dracut/96zdev-live/write-udev-live.sh +=================================================================== --- /dev/null -+++ b/zdev/dracut/96zdev-live/write-udev-live.sh ++++ s390-tools-2.29.0/zdev/dracut/96zdev-live/write-udev-live.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# @@ -93,9 +99,11 @@ +if [ -w /sysroot/etc/udev/rules.d ]; then + cp -p /etc/udev/rules.d/41-* /sysroot/etc/udev/rules.d +fi ---- a/zdev/dracut/Makefile -+++ b/zdev/dracut/Makefile -@@ -3,17 +3,23 @@ +Index: s390-tools-2.29.0/zdev/dracut/Makefile +=================================================================== +--- s390-tools-2.29.0.orig/zdev/dracut/Makefile ++++ s390-tools-2.29.0/zdev/dracut/Makefile +@@ -3,17 +3,23 @@ include ../../common.mak ZDEVDIR := 95zdev ZDEVKDUMPDIR := 95zdev-kdump @@ -121,7 +129,7 @@ ifeq ($(HAVE_DRACUT),1) install: $(INSTALL) -m 755 -d $(DESTDIR)$(DRACUTMODDIR)/ -@@ -25,4 +31,9 @@ +@@ -25,4 +31,9 @@ install: $(INSTALL) -m 755 -d $(DESTDIR)$(DRACUTMODDIR)/$(ZDEVKDUMPDIR) $(INSTALL) -m 755 $(ZDEVKDUMPDIR)/module-setup.sh \ $(DESTDIR)$(DRACUTMODDIR)/$(ZDEVKDUMPDIR)/ ++++++ s390-tools-sles12-create-filesystem-links.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.167123670 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.171123814 +0200 @@ -2,9 +2,11 @@ etc/udev/rules.d/59-dasd.rules | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) ---- a/etc/udev/rules.d/59-dasd.rules -+++ b/etc/udev/rules.d/59-dasd.rules -@@ -15,7 +15,7 @@ +Index: s390-tools-2.29.0/etc/udev/rules.d/59-dasd.rules +=================================================================== +--- s390-tools-2.29.0.orig/etc/udev/rules.d/59-dasd.rules ++++ s390-tools-2.29.0/etc/udev/rules.d/59-dasd.rules +@@ -15,7 +15,7 @@ KERNEL=="dasd*[!0-9]", ENV{ID_XUID}=="?* LABEL="dasd_block_end" @@ -13,7 +15,7 @@ # for partitions import parent information KERNEL=="dasd*[0-9]", IMPORT{parent}=="ID_*" -@@ -24,6 +24,14 @@ +@@ -24,6 +24,14 @@ KERNEL=="dasd*[0-9]", ENV{ID_SERIAL}=="? KERNEL=="dasd*[0-9]", ENV{ID_UID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_UID}-part%n" KERNEL=="dasd*[0-9]", ENV{ID_XUID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_XUID}-part%n" ++++++ s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.183124245 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.183124245 +0200 @@ -15,9 +15,11 @@ fdasd/fdasd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---- a/fdasd/fdasd.c -+++ b/fdasd/fdasd.c -@@ -1231,10 +1231,12 @@ +Index: s390-tools-2.29.0/fdasd/fdasd.c +=================================================================== +--- s390-tools-2.29.0.orig/fdasd/fdasd.c ++++ s390-tools-2.29.0/fdasd/fdasd.c +@@ -1231,10 +1231,12 @@ static int fdasd_get_volser(fdasd_anchor */ static void fdasd_reread_partition_table(fdasd_anchor_t *anc) { ++++++ s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.199124819 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.203124963 +0200 @@ -13,8 +13,10 @@ etc/udev/rules.d/59-dasd.rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ---- a/etc/udev/rules.d/59-dasd.rules -+++ b/etc/udev/rules.d/59-dasd.rules +Index: s390-tools-2.29.0/etc/udev/rules.d/59-dasd.rules +=================================================================== +--- s390-tools-2.29.0.orig/etc/udev/rules.d/59-dasd.rules ++++ s390-tools-2.29.0/etc/udev/rules.d/59-dasd.rules @@ -6,7 +6,7 @@ SUBSYSTEM!="block", GOTO="dasd_symlinks_end" KERNEL!="dasd*", GOTO="dasd_symlinks_end" ++++++ s390-tools-sles12-zipl_boot_msg.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.211125250 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.215125394 +0200 @@ -2,9 +2,11 @@ zipl/boot/menu.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ---- a/zipl/boot/menu.c -+++ b/zipl/boot/menu.c -@@ -168,8 +168,11 @@ +Index: s390-tools-2.29.0/zipl/boot/menu.c +=================================================================== +--- s390-tools-2.29.0.orig/zipl/boot/menu.c ++++ s390-tools-2.29.0/zipl/boot/menu.c +@@ -168,8 +168,11 @@ int menu(void) /* print config list */ menu_list(); ++++++ s390-tools-sles15-sysconfig-compatible-dumpconf.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.227125825 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.227125825 +0200 @@ -2,8 +2,10 @@ etc/sysconfig/dumpconf | 162 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 114 insertions(+), 48 deletions(-) ---- a/etc/sysconfig/dumpconf -+++ b/etc/sysconfig/dumpconf +Index: s390-tools-2.29.0/etc/sysconfig/dumpconf +=================================================================== +--- s390-tools-2.29.0.orig/etc/sysconfig/dumpconf ++++ s390-tools-2.29.0/etc/sysconfig/dumpconf @@ -1,71 +1,137 @@ +## Path: System/Dumpconf +## Description: Configures the actions which should be performed after a kernel panic ++++++ s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.239126255 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.243126399 +0200 @@ -35,9 +35,11 @@ zdev/src/zdev-root-update.dracut | 6 ------ 1 file changed, 6 deletions(-) ---- a/zdev/src/zdev-root-update.dracut -+++ b/zdev/src/zdev-root-update.dracut -@@ -20,10 +20,4 @@ +Index: s390-tools-2.29.0/zdev/src/zdev-root-update.dracut +=================================================================== +--- s390-tools-2.29.0.orig/zdev/src/zdev-root-update.dracut ++++ s390-tools-2.29.0/zdev/src/zdev-root-update.dracut +@@ -20,10 +20,4 @@ dracut -f || { exit 1 } ++++++ s390-tools-sles15sp3-Allow-multiple-device-arguments.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.251126687 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.255126830 +0200 @@ -11,9 +11,11 @@ dasdfmt/dasdfmt.c | 197 +++++++++++++++++++++++++++++++----------------------- 2 files changed, 119 insertions(+), 83 deletions(-) ---- a/dasdfmt/dasdfmt.8 -+++ b/dasdfmt/dasdfmt.8 -@@ -11,14 +11,15 @@ +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.8 +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.8 ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.8 +@@ -11,14 +11,15 @@ dasdfmt \- formatting of DASD (ECKD) dis .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br @@ -31,8 +33,10 @@ .br \fBWARNING\fR: Careless usage of \fBdasdfmt\fR can result in ---- a/dasdfmt/dasdfmt.c -+++ b/dasdfmt/dasdfmt.c +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.c +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.c ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.c @@ -25,6 +25,8 @@ #include "dasdfmt.h" @@ -42,7 +46,7 @@ #define BUSIDSIZE 8 #define SEC_PER_DAY (60 * 60 * 24) #define SEC_PER_HOUR (60 * 60) -@@ -57,7 +59,9 @@ +@@ -57,7 +59,9 @@ static const struct util_prg prg = { static struct dasdfmt_globals { dasd_information2_t dasd_info; char *dev_path; /* device path entered by user */ @@ -52,7 +56,7 @@ int verbosity; int testmode; int withoutprompt; -@@ -484,15 +488,15 @@ +@@ -484,15 +488,15 @@ static void program_interrupt_signal(int program_interrupt_in_progress = 1; if (disk_disabled) { @@ -71,7 +75,7 @@ } else { printf("Exiting...\n"); } -@@ -512,9 +516,6 @@ +@@ -512,9 +516,6 @@ static void get_device_name(int optind, unsigned int maj, min; struct stat dev_stat; @@ -81,7 +85,7 @@ if (optind >= argc) error("No device specified!"); -@@ -610,10 +611,10 @@ +@@ -610,10 +611,10 @@ static void check_disk(void) error("the ioctl call to retrieve read/write status information failed: %s", strerror(err)); if (ro) @@ -94,7 +98,7 @@ } if (strncmp(g.dasd_info.type, "ECKD", 4) != 0) { warnx("Unsupported disk type"); -@@ -700,7 +701,7 @@ +@@ -700,7 +701,7 @@ static void set_geo(unsigned int *cylind struct dasd_eckd_characteristics *characteristics; if (g.verbosity > 0) @@ -103,7 +107,7 @@ characteristics = (struct dasd_eckd_characteristics *) &g.dasd_info.characteristics; -@@ -728,13 +729,13 @@ +@@ -728,13 +729,13 @@ static void set_label(volume_label_t *vl "Cylinders above this limit will not be" " accessible as a linux partition!\n" "Type \"yes\" to continue, no will leave" @@ -120,7 +124,7 @@ return; } } -@@ -872,7 +873,7 @@ +@@ -872,7 +873,7 @@ static void check_disk_format(unsigned i check_params->start_unit = 0; check_params->stop_unit = (cylinders * heads) - 1; @@ -129,7 +133,7 @@ if (g.testmode) { printf("Test mode active, omitting ioctl.\n"); -@@ -896,7 +897,7 @@ +@@ -896,7 +897,7 @@ static void check_disk_format(unsigned i if (process_tracks(cylinders, heads, check_params)) error("Use --mode=full to perform a clean format."); @@ -138,7 +142,7 @@ } /* -@@ -946,8 +947,8 @@ +@@ -946,8 +947,8 @@ static void dasdfmt_print_info(volume_la printf("Device Type: %s Provisioned\n", g.ese ? "Thinly" : "Fully"); @@ -149,7 +153,7 @@ printf(" Device number of device : 0x%x\n", g.dasd_info.devno); printf(" Labelling device : %s\n", (g.writenolabel) ? "no" : "yes"); -@@ -1012,7 +1013,7 @@ +@@ -1012,7 +1013,7 @@ static void dasdfmt_write_labels(volume_ int ipl1_record_len, ipl2_record_len; if (g.verbosity > 0) @@ -158,7 +162,7 @@ get_blocksize(&blksize); -@@ -1030,7 +1031,7 @@ +@@ -1030,7 +1031,7 @@ static void dasdfmt_write_labels(volume_ /* write empty bootstrap (initial IPL records) */ if (g.verbosity > 0) @@ -167,7 +171,7 @@ /* * Note: ldl labels do not contain the key field -@@ -1089,7 +1090,7 @@ +@@ -1089,7 +1090,7 @@ static void dasdfmt_write_labels(volume_ label_position = g.dasd_info.label_block * blksize; if (g.verbosity > 0) @@ -176,7 +180,7 @@ rc = lseek(fd, label_position, SEEK_SET); if (rc != label_position) { -@@ -1120,7 +1121,7 @@ +@@ -1120,7 +1121,7 @@ static void dasdfmt_write_labels(volume_ } if (g.verbosity > 0) @@ -185,7 +189,7 @@ label_position = (VTOC_START_CC * heads + VTOC_START_HH) * geo.sectors * blksize; -@@ -1242,7 +1243,7 @@ +@@ -1242,7 +1243,7 @@ static int dasdfmt_release_space(void) if (!g.ese || g.no_discard) return 0; @@ -194,7 +198,7 @@ err = dasd_release_space(g.dev_node, &r); /* * Warn or Error on failing RAS depending on QUICK mode set explicitly or automatically -@@ -1270,20 +1271,21 @@ +@@ -1270,20 +1271,21 @@ static void dasdfmt_prepare_and_format(u int err; if (!(g.withoutprompt && g.verbosity < 1)) @@ -221,7 +225,7 @@ /* except track 0 from standard formatting procss */ p->start_unit = 1; -@@ -1291,19 +1293,19 @@ +@@ -1291,19 +1293,19 @@ static void dasdfmt_prepare_and_format(u process_tracks(cylinders, heads, p); if (g.verbosity > 0) @@ -244,7 +248,7 @@ disk_enable(); } -@@ -1315,18 +1317,18 @@ +@@ -1315,18 +1317,18 @@ static void dasdfmt_expand_format(unsign format_data_t *p) { if (!(g.withoutprompt && g.verbosity < 1)) @@ -267,7 +271,7 @@ if (g.verbosity > 0) printf("Re-accessing the device...\n"); -@@ -1435,16 +1437,16 @@ +@@ -1435,16 +1437,16 @@ static void do_format_dasd(volume_label_ if (!g.withoutprompt) { printf("\n"); if (mode != EXPAND) @@ -288,7 +292,7 @@ return; } } -@@ -1466,12 +1468,12 @@ +@@ -1466,12 +1468,12 @@ static void do_format_dasd(volume_label_ break; } @@ -303,7 +307,7 @@ err = dasd_reread_partition_table(g.dev_node, 5); if (err != 0) { ERRMSG("%s: error during rereading the partition " -@@ -1485,7 +1487,7 @@ +@@ -1485,7 +1487,7 @@ static void do_format_dasd(volume_label_ static void eval_format_mode(void) { if (!g.force && g.mode_specified && g.ese && mode == EXPAND) { @@ -312,7 +316,7 @@ warnx("Format mode 'expand' is not feasible."); error("Use --mode=full or --mode=quick to perform a clean format"); } -@@ -1508,20 +1510,70 @@ +@@ -1508,20 +1510,70 @@ static void set_prog_name(char *s) prog_name = p + 1; } @@ -387,7 +391,7 @@ /* Establish a handler for interrupt signals. */ signal(SIGTERM, program_interrupt_signal); -@@ -1657,6 +1709,9 @@ +@@ -1657,6 +1709,9 @@ int main(int argc, char *argv[]) break; /* exit loop if finished */ } @@ -397,7 +401,7 @@ CHECK_SPEC_MAX_ONCE(g.blksize_specified, "blocksize"); CHECK_SPEC_MAX_ONCE(g.labelspec, "label"); CHECK_SPEC_MAX_ONCE(g.writenolabel, "omit-label-writing flag"); -@@ -1675,48 +1730,28 @@ +@@ -1675,48 +1730,28 @@ int main(int argc, char *argv[]) if (g.print_hashmarks) PARSE_PARAM_INTO(g.hashstep, hashstep_str, 10, "hashstep"); ++++++ s390-tools-sles15sp3-Format-devices-in-parallel.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.267127261 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.267127261 +0200 @@ -11,8 +11,10 @@ dasdfmt/dasdfmt.c | 58 ++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 60 insertions(+), 14 deletions(-) ---- a/dasdfmt/dasdfmt.8 -+++ b/dasdfmt/dasdfmt.8 +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.8 +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.8 ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.8 @@ -7,7 +7,7 @@ dasdfmt \- formatting of DASD (ECKD) disk drives. @@ -22,7 +24,7 @@ .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br -@@ -96,7 +96,7 @@ +@@ -96,7 +96,7 @@ Do not use this option if you are using running in background or redirecting the output to a file. .TP @@ -31,7 +33,7 @@ Print one line for each formatted cylinder showing the number of the cylinder and percentage of formatting process. Intended to be used by higher level interfaces. -@@ -164,6 +164,18 @@ +@@ -164,6 +164,18 @@ Specify blocksize to be used. \fIblksize and always be a power of two. The recommended blocksize is 4096 bytes. .TP @@ -50,8 +52,10 @@ \fB-l\fR \fIvolser\fR or \fB--label\fR=\fIvolser\fR Specify the volume serial number or volume identifier to be written to disk after formatting. If no label is specified, a sensible default ---- a/dasdfmt/dasdfmt.c -+++ b/dasdfmt/dasdfmt.c +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.c +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.c ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.c @@ -13,6 +13,7 @@ #include <sys/sysmacros.h> #include <sys/time.h> @@ -60,7 +64,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; @@ -68,7 +72,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, }, @@ -80,7 +84,7 @@ UTIL_OPT_SECTION("FORMAT OPTIONS"), { .option = { "blocksize", required_argument, NULL, 'b' }, -@@ -162,7 +169,7 @@ +@@ -162,7 +169,7 @@ static struct util_opt opt_vec[] = { .desc = "Show a progressbar", }, { @@ -89,7 +93,7 @@ .desc = "Show progress in percent", }, UTIL_OPT_SECTION("MISC"), -@@ -311,7 +318,7 @@ +@@ -311,7 +318,7 @@ static void draw_progress(int cyl, unsig } if (g.print_hashmarks && (cyl / g.hashstep - hashcount) != 0) { @@ -98,7 +102,7 @@ fflush(stdout); hashcount++; } -@@ -1573,7 +1580,11 @@ +@@ -1573,7 +1580,11 @@ int main(int argc, char *argv[]) char *reqsize_param_str = NULL; char *hashstep_str = NULL; @@ -111,7 +115,7 @@ /* Establish a handler for interrupt signals. */ signal(SIGTERM, program_interrupt_signal); -@@ -1636,7 +1647,7 @@ +@@ -1636,7 +1647,7 @@ int main(int argc, char *argv[]) g.print_hashmarks = 1; } break; @@ -120,7 +124,7 @@ if (!(g.print_hashmarks || g.print_progressbar)) g.print_percentage = 1; break; -@@ -1695,6 +1706,9 @@ +@@ -1695,6 +1706,9 @@ int main(int argc, char *argv[]) case OPT_NODISCARD: g.no_discard = 1; break; @@ -130,7 +134,7 @@ case OPT_CHECK: g.check = 1; break; -@@ -1746,15 +1760,35 @@ +@@ -1746,15 +1760,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.hjGi38/_old 2023-08-28 17:18:13.279127692 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.283127836 +0200 @@ -11,8 +11,10 @@ dasdfmt/dasdfmt.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 72 insertions(+), 8 deletions(-) ---- a/dasdfmt/dasdfmt.8 -+++ b/dasdfmt/dasdfmt.8 +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.8 +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.8 ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.8 @@ -7,7 +7,7 @@ dasdfmt \- formatting of DASD (ECKD) disk drives. @@ -22,7 +24,7 @@ .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br -@@ -113,6 +113,11 @@ +@@ -113,6 +113,11 @@ The value will be at least as big as the .br .TP @@ -34,9 +36,11 @@ \fB-M\fR \fImode\fR or \fB--mode\fR=\fImode\fR Specify the \fImode\fR to be used to format the device. Valid modes are: .RS ---- a/dasdfmt/dasdfmt.c -+++ b/dasdfmt/dasdfmt.c -@@ -83,6 +83,7 @@ +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.c +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.c ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.c +@@ -83,6 +83,7 @@ static struct dasdfmt_globals { int ese; int no_discard; int procnum; @@ -44,7 +48,7 @@ } g = { .dasd_info = { 0 }, }; -@@ -172,6 +173,10 @@ +@@ -172,6 +173,10 @@ static struct util_opt opt_vec[] = { .option = { "percentage", no_argument, NULL, 'Q' }, .desc = "Show progress in percent", }, @@ -55,7 +59,7 @@ UTIL_OPT_SECTION("MISC"), { .option = { "check_host_count", no_argument, NULL, 'C' }, -@@ -318,7 +323,9 @@ +@@ -318,7 +323,9 @@ static void draw_progress(int cyl, unsig } if (g.print_hashmarks && (cyl / g.hashstep - hashcount) != 0) { @@ -66,7 +70,7 @@ fflush(stdout); hashcount++; } -@@ -392,7 +399,7 @@ +@@ -392,7 +399,7 @@ static void evaluate_format_error(format unsigned int kl = 0; int blksize = cdata->expect.blksize; @@ -75,7 +79,7 @@ printf("\n"); /* -@@ -780,8 +787,9 @@ +@@ -780,8 +787,9 @@ static void check_hashmarks(void) g.hashstep = 10; } @@ -87,7 +91,7 @@ } } -@@ -1475,17 +1483,19 @@ +@@ -1475,17 +1483,19 @@ static void do_format_dasd(volume_label_ break; } @@ -110,7 +114,7 @@ printf("ok\n"); } } -@@ -1561,6 +1571,7 @@ +@@ -1561,6 +1571,7 @@ void process_dasd(volume_label_t *orig_v error("%s", str); set_geo(&cylinders, &heads); @@ -118,7 +122,7 @@ set_label(&vlabel, &format_params, cylinders); if (g.check) -@@ -1570,6 +1581,29 @@ +@@ -1570,6 +1581,29 @@ void process_dasd(volume_label_t *orig_v } @@ -148,7 +152,7 @@ int main(int argc, char *argv[]) { volume_label_t vlabel; -@@ -1706,6 +1740,10 @@ +@@ -1706,6 +1740,10 @@ int main(int argc, char *argv[]) case OPT_NODISCARD: g.no_discard = 1; break; @@ -159,7 +163,7 @@ case 'P': max_parallel = atoi(optarg); break; -@@ -1741,6 +1779,21 @@ +@@ -1741,6 +1779,21 @@ int main(int argc, char *argv[]) reqsize = DEFAULT_REQUESTSIZE; } @@ -181,7 +185,7 @@ if (g.print_hashmarks) PARSE_PARAM_INTO(g.hashstep, hashstep_str, 10, "hashstep"); -@@ -1760,6 +1813,12 @@ +@@ -1760,6 +1813,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."); ++++++ s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.295128267 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.295128267 +0200 @@ -13,9 +13,11 @@ dasdfmt/dasdfmt.c | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) ---- a/dasdfmt/dasdfmt.8 -+++ b/dasdfmt/dasdfmt.8 -@@ -11,7 +11,7 @@ +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.8 +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.8 ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.8 +@@ -11,7 +11,7 @@ dasdfmt \- formatting of DASD (ECKD) dis .br [-r \fIcylinder\fR] [-b \fIblksize\fR] [-l \fIvolser\fR] [-d \fIlayout\fR] .br @@ -24,7 +26,7 @@ .SH DESCRIPTION \fBdasdfmt\fR formats one or several DASD (ECKD) disk drive to prepare it -@@ -42,6 +42,10 @@ +@@ -42,6 +42,10 @@ out, what it \fBwould\fR do. Increases verbosity. .TP @@ -35,9 +37,11 @@ \fB-y\fR Start formatting without further user-confirmation. ---- a/dasdfmt/dasdfmt.c -+++ b/dasdfmt/dasdfmt.c -@@ -113,6 +113,10 @@ +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.c +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.c ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.c +@@ -113,6 +113,10 @@ static struct util_opt opt_vec[] = { .desc = "Format devices in parallel", .flags = UTIL_OPT_FLAG_NOLONG, }, @@ -48,7 +52,7 @@ UTIL_OPT_SECTION("FORMAT OPTIONS"), { .option = { "blocksize", required_argument, NULL, 'b' }, -@@ -1662,6 +1666,12 @@ +@@ -1662,6 +1666,12 @@ int main(int argc, char *argv[]) } g.layout_specified = 1; break; ++++++ s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.307128697 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.311128841 +0200 @@ -19,9 +19,11 @@ dasdfmt/dasdfmt.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) ---- a/dasdfmt/dasdfmt.c -+++ b/dasdfmt/dasdfmt.c -@@ -621,7 +621,7 @@ +Index: s390-tools-2.29.0/dasdfmt/dasdfmt.c +=================================================================== +--- s390-tools-2.29.0.orig/dasdfmt/dasdfmt.c ++++ s390-tools-2.29.0/dasdfmt/dasdfmt.c +@@ -621,7 +621,7 @@ static void check_layout(unsigned int in */ static void check_disk(void) { @@ -30,7 +32,7 @@ bool ro; err = dasd_is_ro(g.dev_node, &ro); -@@ -631,6 +631,23 @@ +@@ -631,6 +631,23 @@ static void check_disk(void) if (ro) error("Disk %s is read only!", g.dev_path); if (!g.force) { ++++++ s390-tools-sles15sp5-remove-no-pie-link-arguments.patch ++++++ --- /var/tmp/diff_new_pack.hjGi38/_old 2023-08-28 17:18:13.319129128 +0200 +++ /var/tmp/diff_new_pack.hjGi38/_new 2023-08-28 17:18:13.323129272 +0200 @@ -2,9 +2,11 @@ common.mak | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---- a/common.mak -+++ b/common.mak -@@ -328,8 +328,8 @@ +Index: s390-tools-2.29.0/common.mak +=================================================================== +--- s390-tools-2.29.0.orig/common.mak ++++ s390-tools-2.29.0/common.mak +@@ -338,8 +338,8 @@ export INSTALL CFLAGS CXXFLAGS \ LDFLAGS CPPFLAGS ALL_CFLAGS ALL_CXXFLAGS ALL_LDFLAGS ALL_CPPFLAGS ifneq ($(shell $(CC_SILENT) -dumpspecs 2>/dev/null | grep -e '[^f]no-pie'),)
