From 16326310fb3cb8c31535e0b1686b6187f13136ccdbed18d83800101419901e98 Mon Sep 17 00:00:00 2001 From: Nikolay Gueorguiev Date: Mon, 28 Aug 2023 12:27:50 +0000 Subject: [PATCH] Accepting request 1107184 from home:ngueorguiev:branches:Base:System - Amended read_value.c for newer z16 models (bsc#1214534), the patches were updated by quilt. OBS-URL: https://build.opensuse.org/request/show/1107184 OBS-URL: https://build.opensuse.org/package/show/Base:System/s390-tools?expand=0&rev=178 --- _service | 15 +++++ read_values.c | 52 +++++++++++++--- s390-tools-ALP-zdev-live.patch | 22 ++++--- ...tools-sles12-create-filesystem-links.patch | 10 ++-- ...-partition-check-and-BLKRRPART-ioctl.patch | 8 ++- ...-links-on-change-and-add-action.patch.suse | 6 +- s390-tools-sles12-zipl_boot_msg.patch | 8 ++- ...sles15-sysconfig-compatible-dumpconf.patch | 6 +- ...ev-Do-not-call-zipl-on-initrd-update.patch | 8 ++- ...5sp3-Allow-multiple-device-arguments.patch | 60 ++++++++++--------- ...sles15sp3-Format-devices-in-parallel.patch | 32 +++++----- ...ools-sles15sp3-Implement-Y-yast_mode.patch | 36 ++++++----- ...mplement-f-for-backwards-compability.patch | 20 ++++--- ...-retry-BIODASDINFO-if-device-is-busy.patch | 10 ++-- ...es15sp5-remove-no-pie-link-arguments.patch | 8 ++- s390-tools.changes | 5 ++ vendor.tar.gz | 4 +- 17 files changed, 202 insertions(+), 108 deletions(-) create mode 100644 _service diff --git a/_service b/_service new file mode 100644 index 0000000..bc6bf7b --- /dev/null +++ b/_service @@ -0,0 +1,15 @@ + + + s390-tools-2.29.0.tar.gz + zst + true + ../../vendor + /rust/pvsecret/Cargo.toml + /rust/pv/Cargo.toml + /rust/pv/openssl_extentions/Cargo.toml + /rust/utils/Cargo.toml + + + s390-tools-2.29.0.tar.gz + + diff --git a/read_values.c b/read_values.c index 2e2072d..e227889 100644 --- a/read_values.c +++ b/read_values.c @@ -76,8 +76,10 @@ struct machinetype { { 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 @@ if (layers > 2) { 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 @@ struct utsname uts; 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_does_not_exist: return; } /* print_secure_mode */ + /******************************************************************************/ /* */ /* print out the uuid for this machine */ diff --git a/s390-tools-ALP-zdev-live.patch b/s390-tools-ALP-zdev-live.patch index 4b48c2c..c9881d4 100644 --- a/s390-tools-ALP-zdev-live.patch +++ b/s390-tools-ALP-zdev-live.patch @@ -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)/ diff --git a/s390-tools-sles12-create-filesystem-links.patch b/s390-tools-sles12-create-filesystem-links.patch index 5052d3c..aefbac4 100644 --- a/s390-tools-sles12-create-filesystem-links.patch +++ b/s390-tools-sles12-create-filesystem-links.patch @@ -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" diff --git a/s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch b/s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch index 16e2a0d..49a2123 100644 --- a/s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch +++ b/s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch @@ -15,9 +15,11 @@ Signed-off-by: Hannes Reinecke 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) { diff --git a/s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse b/s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse index d8ec409..9c6a1d7 100644 --- a/s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse +++ b/s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse @@ -13,8 +13,10 @@ Signed-off-by: Robert Milasan 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" diff --git a/s390-tools-sles12-zipl_boot_msg.patch b/s390-tools-sles12-zipl_boot_msg.patch index 4cd2231..158455e 100644 --- a/s390-tools-sles12-zipl_boot_msg.patch +++ b/s390-tools-sles12-zipl_boot_msg.patch @@ -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(); diff --git a/s390-tools-sles15-sysconfig-compatible-dumpconf.patch b/s390-tools-sles15-sysconfig-compatible-dumpconf.patch index 510ba60..fca4db9 100644 --- a/s390-tools-sles15-sysconfig-compatible-dumpconf.patch +++ b/s390-tools-sles15-sysconfig-compatible-dumpconf.patch @@ -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 diff --git a/s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch b/s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch index 4b32289..0572a92 100644 --- a/s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch +++ b/s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch @@ -35,9 +35,11 @@ Signed-off-by: Peter Oberparleiter 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 } diff --git a/s390-tools-sles15sp3-Allow-multiple-device-arguments.patch b/s390-tools-sles15sp3-Allow-multiple-device-arguments.patch index bca6b59..aead870 100644 --- a/s390-tools-sles15sp3-Allow-multiple-device-arguments.patch +++ b/s390-tools-sles15sp3-Allow-multiple-device-arguments.patch @@ -11,9 +11,11 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke .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 @@ Signed-off-by: Hannes Reinecke #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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke } 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke } 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke } /* -@@ -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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke /* * 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke /* 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke return; } } -@@ -1466,12 +1468,12 @@ +@@ -1466,12 +1468,12 @@ static void do_format_dasd(volume_label_ break; } @@ -303,7 +307,7 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke /* 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 @@ Signed-off-by: Hannes Reinecke 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"); diff --git a/s390-tools-sles15sp3-Format-devices-in-parallel.patch b/s390-tools-sles15sp3-Format-devices-in-parallel.patch index 94606ee..5d67800 100644 --- a/s390-tools-sles15sp3-Format-devices-in-parallel.patch +++ b/s390-tools-sles15sp3-Format-devices-in-parallel.patch @@ -11,8 +11,10 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke .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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke \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 #include @@ -60,7 +64,7 @@ Signed-off-by: Hannes Reinecke #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 @@ Signed-off-by: Hannes Reinecke } 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke .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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke /* 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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."); diff --git a/s390-tools-sles15sp3-Implement-Y-yast_mode.patch b/s390-tools-sles15sp3-Implement-Y-yast_mode.patch index 3c7a5f5..4cabd78 100644 --- a/s390-tools-sles15sp3-Implement-Y-yast_mode.patch +++ b/s390-tools-sles15sp3-Implement-Y-yast_mode.patch @@ -11,8 +11,10 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke .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 @@ Signed-off-by: Hannes Reinecke \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 @@ Signed-off-by: Hannes Reinecke } 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke printf("\n"); /* -@@ -780,8 +787,9 @@ +@@ -780,8 +787,9 @@ static void check_hashmarks(void) g.hashstep = 10; } @@ -87,7 +91,7 @@ Signed-off-by: Hannes Reinecke } } -@@ -1475,17 +1483,19 @@ +@@ -1475,17 +1483,19 @@ static void do_format_dasd(volume_label_ break; } @@ -110,7 +114,7 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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."); diff --git a/s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch b/s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch index 0f48337..ef1c322 100644 --- a/s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch +++ b/s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch @@ -13,9 +13,11 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke .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 @@ Signed-off-by: Hannes Reinecke \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 @@ Signed-off-by: Hannes Reinecke 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; diff --git a/s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch b/s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch index f0e79a5..e8350e3 100644 --- a/s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch +++ b/s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch @@ -19,9 +19,11 @@ Signed-off-by: Hannes Reinecke 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 @@ Signed-off-by: Hannes Reinecke 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) { diff --git a/s390-tools-sles15sp5-remove-no-pie-link-arguments.patch b/s390-tools-sles15sp5-remove-no-pie-link-arguments.patch index 3aef336..4a62335 100644 --- a/s390-tools-sles15sp5-remove-no-pie-link-arguments.patch +++ b/s390-tools-sles15sp5-remove-no-pie-link-arguments.patch @@ -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'),) diff --git a/s390-tools.changes b/s390-tools.changes index 38b56c0..7d2aec5 100644 --- a/s390-tools.changes +++ b/s390-tools.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Aug 28 15:52:15 UTC 2023 - Nikolay Gueorguiev + +- Amended read_value.c for newer z16 models (bsc#1214534) + ------------------------------------------------------------------- Tue Aug 8 08:00:14 UTC 2023 - Nikolay Gueorguiev diff --git a/vendor.tar.gz b/vendor.tar.gz index 113d090..d8bf27d 100644 --- a/vendor.tar.gz +++ b/vendor.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:455bc9c25133edc03abdd4c9b5979a99b98e67cc4344c609e2946f9a777a1502 -size 37521988 +oid sha256:d233de3dd3d74e7ce6fdedd99f6f0cc70ed80fe78b01c9321ca459ce06a7469c +size 37524839