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