diff --git a/.gitignore b/.gitignore index 60549f6..a0c064b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -SOURCES/s390-tools-2.25.0.tar.gz +SOURCES/s390-tools-2.33.1-rust-vendor.tar.xz +SOURCES/s390-tools-2.33.1.tar.gz diff --git a/.s390utils.metadata b/.s390utils.metadata index dba08ad..48d9507 100644 --- a/.s390utils.metadata +++ b/.s390utils.metadata @@ -1 +1,2 @@ -e8e0d3f651179fd14dc4a40d53a1e4ef6edaae7d SOURCES/s390-tools-2.25.0.tar.gz +16b3df1ec7da8a40845ca3c81e96467f3c8beece SOURCES/s390-tools-2.33.1-rust-vendor.tar.xz +cd6394f5a08a3803100d5b7983b3bdf2544b4394 SOURCES/s390-tools-2.33.1.tar.gz diff --git a/SOURCES/s390-tools-zipl-blscfg-rpm-nvr-sort.patch b/SOURCES/s390-tools-zipl-blscfg-rpm-nvr-sort.patch index 3960de1..366efba 100644 --- a/SOURCES/s390-tools-zipl-blscfg-rpm-nvr-sort.patch +++ b/SOURCES/s390-tools-zipl-blscfg-rpm-nvr-sort.patch @@ -1,4 +1,4 @@ -From a17c57bf2b7b6d64a509cb5fb02fe46849bc550c Mon Sep 17 00:00:00 2001 +From b2daaa34776ba6afec879e362378f6f7563590a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Mon, 20 Jun 2022 17:43:05 +0200 Subject: [PATCH 1/2] Revert "zipl/src: Implement sorting bls entries by @@ -194,10 +194,10 @@ index 0cea1d4..9352f76 100644 return n; -- -2.37.3 +2.39.2 -From 7a51cfc15b870d90bffe1e24a1da922663ffe1d7 Mon Sep 17 00:00:00 2001 +From 692e70bcfc32a05e30146bd7077c41e0eaceff03 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 20 Jun 2022 17:46:59 +0200 Subject: [PATCH 2/2] blscfg: sort like rpm nvr, not like a single version @@ -213,7 +213,7 @@ Signed-off-by: Dan Horák 2 files changed, 95 insertions(+), 2 deletions(-) diff --git a/zipl/src/Makefile b/zipl/src/Makefile -index 64eabe4..7043005 100644 +index cab5655..7ec215d 100644 --- a/zipl/src/Makefile +++ b/zipl/src/Makefile @@ -9,6 +9,7 @@ ALL_LDFLAGS += -Wl,-z,noexecstack $(NO_PIE_LDFLAGS) @@ -223,7 +223,7 @@ index 64eabe4..7043005 100644 + -lrpmio -lrpm objects = misc.o error.o scan.o job.o boot.o bootmap.o fs-map.o disk.o \ - bootmap_header.o envblk.o install.o zipl.o $(rootdir)/zipl/boot/data.o + bootmap_header.o envblk.o install.o zipl.o diff --git a/zipl/src/scan.c b/zipl/src/scan.c index 9352f76..3327e2d 100644 --- a/zipl/src/scan.c @@ -344,5 +344,5 @@ index 9352f76..3327e2d 100644 static int scan_append_section_heading(struct scan_token* scan, int* index, char* name); -- -2.37.3 +2.39.2 diff --git a/SOURCES/s390utils-2.25.0-rhel.patch b/SOURCES/s390utils-2.25.0-rhel.patch deleted file mode 100644 index 94453de..0000000 --- a/SOURCES/s390utils-2.25.0-rhel.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a9fed51fbf159a98fcd4a9dddf4fef243bb433af Mon Sep 17 00:00:00 2001 -From: Ingo Franzki -Date: Fri, 20 Jan 2023 11:04:18 +0100 -Subject: [PATCH] zkey: Support EP11 host library version 4 (#2165812) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Try to load libep11.so.4 if available, but fallback to older -library versions if not. - -Reviewed-by: Jörg Schmidbauer -Signed-off-by: Ingo Franzki -Signed-off-by: Steffen Eiden -(cherry picked from commit 6222c384958729bc4b5bad61ad38967647cc3248) ---- - zkey/ep11.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/zkey/ep11.c b/zkey/ep11.c -index 58dc3c5..8359929 100644 ---- a/zkey/ep11.c -+++ b/zkey/ep11.c -@@ -35,7 +35,7 @@ - * Definitions for the EP11 library - */ - #define EP11_LIBRARY_NAME "libep11.so" --#define EP11_LIBRARY_VERSION 3 -+#define EP11_LIBRARY_VERSION 4 - #define EP11_WEB_PAGE "http://www.ibm.com/security/cryptocards" - - /** --- -2.39.1 - diff --git a/SOURCES/s390utils-2.33.1-rhel.patch b/SOURCES/s390utils-2.33.1-rhel.patch new file mode 100644 index 0000000..c97b193 --- /dev/null +++ b/SOURCES/s390utils-2.33.1-rhel.patch @@ -0,0 +1,311 @@ +From ab26b43985f44b71abf40f8d0e50bfbd0808f8b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jan=20H=C3=B6ppner?= +Date: Fri, 14 Jun 2024 14:25:40 +0200 +Subject: [PATCH 1/2] s390-tools: Replace 'which' with built-in 'command -v' +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +There are still a few scripts using the 'which' command to determine +either the full path or the mere existence of an executable. +Some of these scripts might run in minimal environments where 'which' is +not available due to dependency restriction. 'which' is also considered +unreliable for historical implementation details. + +Use the POSIX defined [1] built-in 'command -v' instead to reduce +package dependencies and improve reliability. + +[1] https://pubs.opengroup.org/onlinepubs/9699919799/ +Reviewed-by: Benjamin Block +Signed-off-by: Jan Höppner +Signed-off-by: Steffen Eiden +(cherry picked from commit 0b0960254e8c2b556cefa97f83651a92f54a5e42) +--- + iucvterm/doc/ts-shell/iucvconn_on_login | 2 +- + netboot/mk-pxelinux-ramfs | 2 +- + ziomon/ziomon | 3 +-- + 3 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/iucvterm/doc/ts-shell/iucvconn_on_login b/iucvterm/doc/ts-shell/iucvconn_on_login +index 860c4cc..92010df 100755 +--- a/iucvterm/doc/ts-shell/iucvconn_on_login ++++ b/iucvterm/doc/ts-shell/iucvconn_on_login +@@ -15,7 +15,7 @@ + prog_name=`basename $0` + guest_name=${USER:-`whoami 2>/dev/null`} + terminal=lnxhvc0 +-iucvconn=`which iucvconn 2>/dev/null` ++iucvconn=`command -v iucvconn 2>/dev/null` + + __error() { + printf "$prog_name: $@\n" >&2 +diff --git a/netboot/mk-pxelinux-ramfs b/netboot/mk-pxelinux-ramfs +index 64ebde1..07f8b07 100755 +--- a/netboot/mk-pxelinux-ramfs ++++ b/netboot/mk-pxelinux-ramfs +@@ -127,7 +127,7 @@ echo "$cmd: Copying kexec" + # Install both binary and required shared libraries + OLDPATH=$PATH + PATH=$OLDPATH:/sbin:/usr/sbin +-kexec_bin=$(which kexec) ++kexec_bin=$(command -v kexec) + kexec_sos=$(sharedobjs $kexec_bin) + PATH=$OLDPATH + +diff --git a/ziomon/ziomon b/ziomon/ziomon +index fd6248a..d1545cc 100755 +--- a/ziomon/ziomon ++++ b/ziomon/ziomon +@@ -667,8 +667,7 @@ function check_free_space_mileage() { + + + function check_blktrace() { +- which blktrace >/dev/null 2>&1; +- if [ $? -ne 0 ]; then ++ if ! command -v blktrace >/dev/null 2>&1; then + echo "$WRP_TOOLNAME: Could not find blktrace. Please make sure that the blktrace package is installed and matches the level in the documentation."; + exit 1; + fi +-- +2.45.2 + + +From 9770d8bff4b2ef6f01af1c273d1eac121b672a85 Mon Sep 17 00:00:00 2001 +From: Marc Hartmayer +Date: Thu, 6 Jun 2024 15:07:45 +0000 +Subject: [PATCH 2/2] Revert "zipl/src: Fix problems when target parameters are + specified by user" + +The commit fb0b6263d1a9 ("zipl/src: Fix problems when target parameters +are specified by user") breaks the case where the user has to provide +all target attributes via the zipl command line, because the target +device cannot be used to retrieve those attributes. + +$ zipl -V --blsdir /tmp/tmp.xHmFUdgBCi/boot//loader/entries/ --config /tmp/tmp.dSv9MJ3svs +Looking for components in '/lib/s390-tools' +Using config file '/tmp/tmp.dSv9MJ3svs' (from command line) +Using BLS config file '/tmp/tmp.xHmFUdgBCi/boot//loader/entries//50_normal.conf' +Using BLS config file '/tmp/tmp.xHmFUdgBCi/boot//loader/entries//45_normal_swiotlb.conf' +Using BLS config file '/tmp/tmp.xHmFUdgBCi/boot//loader/entries//40_pv.conf' +Using BLS config file '/tmp/tmp.xHmFUdgBCi/boot//loader/entries//30_pv_reboot.conf' +Secure boot support: yes +Target device information + Device..........................: 2b:00 + Device name.....................: nbd0 *) + Device driver name..............: nbd + Type............................: disk device + Disk layout.....................: SCSI disk layout *) + Geometry - start................: 2048 *) + File system block size..........: 4096 + Physical block size.............: 512 *) + Device size in physical blocks..: 2095071 + *) Data provided by user. +Building bootmap in '/tmp/tmp.xHmFUdgBCi/boot/' +Building menu 'zipl-automatic-menu' +Adding #1: IPL section 'Normal Guest' (default) + initial ramdisk...: /tmp/tmp.xHmFUdgBCi/boot//ramdisk-s390x + kernel image......: /tmp/tmp.xHmFUdgBCi/boot//vmlinux-s390x +zIPL environment block content: +Error: Could not add image file '/tmp/tmp.xHmFUdgBCi/boot//vmlinux-s390x': Could not get disk geometry + +This reverts commit fb0b6263d1a9a497760a21ccb178748ec5ccf955. + +Acked-by: Eduard Shishkin +Signed-off-by: Marc Hartmayer +Signed-off-by: Steffen Eiden +(cherry picked from commit 63ff07ba38dda99e2661a097d05266555c727a2e) +--- + zipl/include/job.h | 1 - + zipl/src/bootmap.c | 40 +++++++++++++++++++--------------------- + zipl/src/disk.c | 3 --- + zipl/src/job.c | 3 ++- + 4 files changed, 21 insertions(+), 26 deletions(-) + +diff --git a/zipl/include/job.h b/zipl/include/job.h +index e46788b..597d400 100644 +--- a/zipl/include/job.h ++++ b/zipl/include/job.h +@@ -152,7 +152,6 @@ static inline int target_parameters_are_set(struct job_target_data *td) + + int job_get(int argc, char* argv[], struct job_data** data); + void job_free(struct job_data* job); +-void free_target_data(struct job_target_data *td); + int type_from_target(char *target, disk_type_t *type); + int check_job_dump_images(struct job_dump_data* dump, char* name); + int check_job_images_ngdump(struct job_dump_data* dump, char* name); +diff --git a/zipl/src/bootmap.c b/zipl/src/bootmap.c +index 82b77d0..f6f5bac 100644 +--- a/zipl/src/bootmap.c ++++ b/zipl/src/bootmap.c +@@ -304,6 +304,7 @@ static int add_component_file_range(struct install_set *bis, + address_t load_address, + size_t trailer, void *component, + int add_files, ++ struct job_target_data *target, + int comp_id, int menu_idx, + int program_table_id) + { +@@ -338,15 +339,8 @@ static int add_component_file_range(struct install_set *bis, + return -1; + } + } else { +- /* +- * Make sure that file is on target device. +- * For this, retrieve info of the underlying disk without +- * any user hints +- */ +- struct job_target_data tmp = {.source = source_unknown}; +- +- rc = disk_get_info_from_file(filename, &tmp, &file_info); +- free_target_data(&tmp); ++ /* Make sure file is on correct device */ ++ rc = disk_get_info_from_file(filename, target, &file_info); + if (rc) + return -1; + if (file_info->device != bis->info->device) { +@@ -383,11 +377,12 @@ write_segment_table: + static int add_component_file(struct install_set *bis, const char *filename, + address_t load_address, size_t trailer, + void *component, int add_files, +- int comp_id, int menu_idx, int program_table_id) ++ struct job_target_data *target, int comp_id, ++ int menu_idx, int program_table_id) + { + return add_component_file_range(bis, filename, NULL, load_address, + trailer, component, add_files, +- comp_id, menu_idx, ++ target, comp_id, menu_idx, + program_table_id); + } + +@@ -549,7 +544,8 @@ static int add_ipl_program(struct install_set *bis, char *filename, + bool add_envblk, struct job_envblk_data *envblk, + struct job_ipl_data *ipl, disk_blockptr_t *program, + int verbose, int add_files, component_header_type type, +- int is_secure, int menu_idx, int program_table_id) ++ struct job_target_data *target, int is_secure, ++ int menu_idx, int program_table_id) + { + struct signature_header sig_head; + size_t ramdisk_size, image_size; +@@ -671,7 +667,7 @@ static int add_ipl_program(struct install_set *bis, char *filename, + /* Add stage 3 loader to bootmap */ + rc = add_component_file(bis, ZIPL_STAGE3_PATH, STAGE3_LOAD_ADDRESS, + signature_size, VOID_ADD(table, offset), 1, +- COMPONENT_ID_LOADER, menu_idx, ++ target, COMPONENT_ID_LOADER, menu_idx, + program_table_id); + if (rc) { + error_text("Could not add internal loader file '%s'", +@@ -749,7 +745,7 @@ static int add_ipl_program(struct install_set *bis, char *filename, + + rc = add_component_file(bis, ipl->common.image, ipl->common.image_addr, + signature_size, VOID_ADD(table, offset), +- add_files, COMPONENT_ID_KERNEL_IMAGE, ++ add_files, target, COMPONENT_ID_KERNEL_IMAGE, + menu_idx, program_table_id); + if (rc) { + error_text("Could not add image file '%s'", ipl->common.image); +@@ -809,7 +805,7 @@ static int add_ipl_program(struct install_set *bis, char *filename, + ipl->common.ramdisk_addr, + signature_size, + VOID_ADD(table, offset), +- add_files, COMPONENT_ID_RAMDISK, ++ add_files, target, COMPONENT_ID_RAMDISK, + menu_idx, program_table_id); + if (rc) { + error_text("Could not add ramdisk '%s'", +@@ -865,7 +861,7 @@ static int add_ipl_program(struct install_set *bis, char *filename, + rc = add_component_file_range(bis, filename, ®, + ipl->envblk_addr, 0, + VOID_ADD(table, offset), +- 0, ++ 0, target, + COMPONENT_ID_ENVBLK, + menu_idx, + program_table_id); +@@ -897,6 +893,7 @@ static int add_segment_program(struct install_set *bis, + struct job_segment_data *segment, + disk_blockptr_t *program, int verbose, + int add_files, component_header_type type, ++ struct job_target_data *target, + int program_table_id) + { + void *table; +@@ -916,7 +913,7 @@ static int add_segment_program(struct install_set *bis, + printf(" segment file......: %s\n", segment->segment); + + rc = add_component_file(bis, segment->segment, segment->segment_addr, 0, +- VOID_ADD(table, offset), add_files, ++ VOID_ADD(table, offset), add_files, target, + COMPONENT_ID_SEGMENT_FILE, 0 /* menu_idx */, + program_table_id); + if (rc) { +@@ -999,7 +996,7 @@ static int add_dump_program(struct install_set *bis, struct job_data *job, + ipl.common.parmline = dump->common.parmline; + ipl.common.parm_addr = dump->common.parm_addr; + return add_ipl_program(bis, NULL, false, NULL, &ipl, program, +- verbose, 1, type, SECURE_BOOT_DISABLED, ++ verbose, 1, type, target, SECURE_BOOT_DISABLED, + 0 /* menu_idx */, program_table_id); + } + +@@ -1044,7 +1041,8 @@ static int build_program_table(struct job_data *job, + true, &job->envblk, &job->data.ipl, + &table[0], verbose || job->command_line, + job->add_files, component_header, +- job->is_secure, 0, program_table_id); ++ &job->target, job->is_secure, 0, ++ program_table_id); + break; + case job_segment: + if (bis->print_details) { +@@ -1057,7 +1055,7 @@ static int build_program_table(struct job_data *job, + rc = add_segment_program(bis, &job->data.segment, &table[0], + verbose || job->command_line, + job->add_files, COMPONENT_HEADER_IPL, +- program_table_id); ++ &job->target, program_table_id); + break; + case job_dump_partition: + /* Only useful for a partition dump that uses a dump kernel*/ +@@ -1116,7 +1114,7 @@ static int build_program_table(struct job_data *job, + &table[job->data.menu.entry[i].pos], + verbose || job->command_line, + job->add_files, component_header, +- is_secure, i, ++ &job->target, is_secure, i, + program_table_id); + break; + case job_print_usage: +diff --git a/zipl/src/disk.c b/zipl/src/disk.c +index b4bd49a..38a637c 100644 +--- a/zipl/src/disk.c ++++ b/zipl/src/disk.c +@@ -528,9 +528,6 @@ static int disk_set_info_complete(struct job_target_data *td, + * config file, or special "target options" of zipl tool. + * If target parameters were specified by user, then the step 1 above + * is skipped. +- +- * To exclude any user assumptions about the DEVICE, this function +- * should be called with TD pointing to a zeroed structure. + * + * DEVICE: logical, or physical device, optionally formated with a + * file system. +diff --git a/zipl/src/job.c b/zipl/src/job.c +index 2066402..27f0181 100644 +--- a/zipl/src/job.c ++++ b/zipl/src/job.c +@@ -370,7 +370,8 @@ get_command_line(int argc, char* argv[], struct command_line* line) + } + + +-void free_target_data(struct job_target_data *data) ++static void ++free_target_data(struct job_target_data* data) + { + free(data->bootmap_dir); + free(data->targetbase); +-- +2.45.2 + diff --git a/SPECS/s390utils.spec b/SPECS/s390utils.spec index 07166b7..31fe858 100644 --- a/SPECS/s390utils.spec +++ b/SPECS/s390utils.spec @@ -1,21 +1,30 @@ # secure boot support is for RHEL only %if 0%{?rhel} >= 8 -%global signzipl 1 +%bcond_without signzipl +%else +%bcond_with signzipl %endif %if 0%{?fedora} -%global with_pandoc 1 +%bcond_without pandoc +%else +%bcond_with pandoc %endif +%bcond_without rust Name: s390utils Summary: Utilities and daemons for IBM z Systems -Version: 2.25.0 -Release: 4%{?dist} +Version: 2.33.1 +Release: 2%{?dist} Epoch: 2 License: MIT -ExclusiveArch: s390 s390x URL: https://github.com/ibm-s390-linux/s390-tools Source0: https://github.com/ibm-s390-linux/s390-tools/archive/v%{version}.tar.gz#/s390-tools-%{version}.tar.gz +# To create the vendor tarball: +# tar xf s390-tools-%%{version}.tar.gz ; pushd s390-tools-%%{version}/rust/pvsecret ; \ +# rm -f Cargo.lock && cargo vendor && \ +# tar Jvcf ../../../s390-tools-%%{version}-rust-vendor.tar.xz vendor/ ; popd +Source1: s390-tools-%{version}-rust-vendor.tar.xz Source5: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/zfcpconf.sh Source7: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/zfcp.udev Source12: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/dasd.udev @@ -29,7 +38,7 @@ Source23: 20-zipl-kernel.install Source24: 52-zipl-rescue.install Source25: 91-zipl.install -%if 0%{?signzipl} +%if %{with signzipl} %define pesign_name redhatsecureboot302 %endif @@ -38,8 +47,15 @@ Patch0: s390-tools-zipl-invert-script-options.patch Patch1: s390-tools-zipl-blscfg-rpm-nvr-sort.patch # upstream fixes/updates -Patch100: s390utils-%%{version}-rhel.patch +Patch100: s390utils-%{version}-rhel.patch +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +%ifarch s390x +# +# s390x/native package structure +# Requires: s390utils-core = %{epoch}:%{version}-%{release} Requires: s390utils-base = %{epoch}:%{version}-%{release} Requires: s390utils-osasnmpd = %{epoch}:%{version}-%{release} @@ -47,9 +63,47 @@ Requires: s390utils-cpuplugd = %{epoch}:%{version}-%{release} Requires: s390utils-mon_statd = %{epoch}:%{version}-%{release} Requires: s390utils-iucvterm = %{epoch}:%{version}-%{release} Requires: s390utils-ziomon = %{epoch}:%{version}-%{release} +%else +# +# multiarch package structure +# +Requires: s390utils-se-data = %{epoch}:%{version}-%{release} +%endif BuildRequires: make BuildRequires: gcc-c++ +BuildRequires: glib2-devel +%if %{with rust} +%if 0%{?rhel} +BuildRequires: libcurl-devel +BuildRequires: openssl-devel +BuildRequires: rust-toolset +%else +BuildRequires: crate(anstream) +BuildRequires: crate(anstyle-query) +BuildRequires: crate(anyhow) +BuildRequires: crate(byteorder) +BuildRequires: crate(cfg-if) +BuildRequires: crate(clap) +BuildRequires: crate(clap_complete) +BuildRequires: crate(clap_derive) +BuildRequires: crate(colorchoice) +BuildRequires: crate(curl) +BuildRequires: crate(is-terminal) +BuildRequires: crate(libc) +BuildRequires: crate(log) +BuildRequires: crate(openssl) +BuildRequires: crate(openssl-probe) +BuildRequires: crate(serde) +BuildRequires: crate(serde_derive) +BuildRequires: crate(serde_yaml) +BuildRequires: crate(strsim) +BuildRequires: crate(terminal_size) +BuildRequires: crate(thiserror) +BuildRequires: crate(zerocopy) +BuildRequires: rust-packaging +%endif +%endif %description This is a meta package for installing the default s390-tools sub packages. @@ -63,24 +117,35 @@ be used together with the zSeries (s390) Linux kernel and device drivers. %setup -q -n s390-tools-%{version} # Fedora/RHEL changes -%patch0 -p1 -b .zipl-invert-script-options -%patch1 -p1 -b .blscfg-rpm-nvr-sort +%patch -P 0 -p1 -b .zipl-invert-script-options +%patch -P 1 -p1 -b .blscfg-rpm-nvr-sort # upstream fixes/updates -%patch100 -p1 - -# drop -Werror from genprotimg to allow building with GCC 12 -sed -i.bak -e 's/-Werror//g' genprotimg/src/Makefile genprotimg/boot/Makefile +%patch -P 100 -p1 # remove --strip from install find . -name Makefile | xargs sed -i 's/$(INSTALL) -s/$(INSTALL)/g' +%if %{with rust} +%if 0%{?rhel} +pushd rust +%cargo_prep -V 1 +popd +%else +%cargo_prep +%endif +rm -rf ./rust/Cargo.lock +%endif + %build make \ CFLAGS="%{build_cflags}" CXXFLAGS="%{build_cxxflags}" LDFLAGS="%{build_ldflags}" \ +%if %{without rust} + HAVE_CARGO=0 \ +%endif HAVE_DRACUT=1 \ -%if 0%{?with_pandoc} +%if %{with pandoc} ENABLE_DOC=1 \ %endif NO_PIE_LDFLAGS="" \ @@ -91,8 +156,11 @@ make \ %install make install \ +%if %{without rust} + HAVE_CARGO=0 \ +%endif HAVE_DRACUT=1 \ -%if 0%{?with_pandoc} +%if %{with pandoc} ENABLE_DOC=1 \ %endif DESTDIR=%{buildroot} \ @@ -101,8 +169,12 @@ make install \ DISTRELEASE=%{release} \ V=1 +%ifarch s390x +# +# s390x/native specific %%install section +# # sign the stage3 bootloader -%if 0%{?signzipl} +%if %{with signzipl} if [ -x /usr/bin/rpm-sign ]; then pushd %{buildroot}/lib/s390-tools/ rpm-sign --key "%{pesign_name}" --lkmsign stage3.bin --output stage3.signed @@ -160,11 +232,62 @@ install -p -m 644 %{SOURCE17} %{buildroot}%{_udevrulesdir}/81-ccw.rules # zipl.conf to be ghosted touch %{buildroot}%{_sysconfdir}/zipl.conf +%endif + +%ifarch s390x +# +# s390x/native main %%files section +# +%files +%doc README.md +%else +# +# multiarch %%files section +# %files %doc README.md +%license LICENSE +%{_bindir}/genprotimg +%if %{with rust} +%{_bindir}/pvapconfig +%endif +%{_bindir}/pvattest +%{_bindir}/pvextract-hdr +%if %{with rust} +%{_bindir}/pvsecret +%endif +%{_mandir}/man1/genprotimg.1* +%if %{with rust} +%{_mandir}/man1/pvapconfig.1* +%endif +%{_mandir}/man1/pvattest.1* +%{_mandir}/man1/pvattest-create.1* +%{_mandir}/man1/pvattest-perform.1* +%{_mandir}/man1/pvattest-verify.1* +%if %{with rust} +%{_mandir}/man1/pvsecret-add.1* +%{_mandir}/man1/pvsecret-create-association.1* +%{_mandir}/man1/pvsecret-create-meta.1* +%{_mandir}/man1/pvsecret-create.1* +%{_mandir}/man1/pvsecret-list.1* +%{_mandir}/man1/pvsecret-lock.1* +%{_mandir}/man1/pvsecret-verify.1* +%{_mandir}/man1/pvsecret.1* +%endif +%dir %{_datadir}/s390-tools +%{_datadir}/s390-tools/genprotimg/ +# +# enf of multi-arch section +# +%endif + +%ifarch s390x +# +# s390x specific sub-packages +# # # ************************* s390-tools core package ************************* # @@ -208,13 +331,17 @@ This package provides minimal set of tools needed to system to boot. /lib/s390-tools/cpictl /lib/s390-tools/stage3.bin /lib/s390-tools/zdev_id +/lib/s390-tools/zdev-from-dasd_mod.dasd /lib/s390-tools/zdev-root-update +/lib/s390-tools/zdev-to-dasd_mod.dasd +/lib/s390-tools/zdev-to-rd.znet /lib/s390-tools/zipl.conf %ghost %config(noreplace) %{_sysconfdir}/zipl.conf %config(noreplace) %{_sysconfdir}/ziplenv %{_unitdir}/cpi.service %config(noreplace) %{_sysconfdir}/sysconfig/cpi /usr/lib/dracut/modules.d/95zdev/ +/usr/lib/dracut/modules.d/95zdev-kdump/ %{_mandir}/man5/zipl.conf.5* %{_mandir}/man8/chreipl.8* %{_mandir}/man8/chzdev.8* @@ -267,6 +394,7 @@ Requires: ethtool Requires: tar Requires: file Requires: s390utils-core = %{epoch}:%{version}-%{release} +Requires: s390utils-se-data = %{epoch}:%{version}-%{release} %{?systemd_requires} BuildRequires: perl-generators BuildRequires: ncurses-devel @@ -274,7 +402,6 @@ BuildRequires: glibc-static BuildRequires: cryptsetup-devel >= 2.0.3 BuildRequires: json-c-devel BuildRequires: rpm-devel -BuildRequires: glib2-devel BuildRequires: libxml2-devel @@ -340,11 +467,6 @@ s390 base tools. This collection provides the following utilities: * tunedasd: Adjust tunable parameters on DASD devices. - * vmconvert: - Convert system dumps created by the z/VM VMDUMP command into dumps with - LKCD format. These LKCD dumps can then be analyzed with the dump analysis - tool lcrash. - * vmcp: Allows Linux users to send commands to the z/VM control program (CP). The normal usage is to invoke vmcp with the command you want to @@ -430,6 +552,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_sbindir}/chccwdev %{_sbindir}/chchp %{_sbindir}/chcpumf +%{_sbindir}/chpstat %{_sbindir}/chshut %{_sbindir}/chzcrypt %{_sbindir}/dasdstat @@ -444,8 +567,9 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_sbindir}/lscss %{_sbindir}/lsdasd %{_sbindir}/lshwc -%{_sbindir}/lsqeth %{_sbindir}/lsluns +%{_sbindir}/lsqeth +%{_sbindir}/lspai %{_sbindir}/lsreipl %{_sbindir}/lsscm %{_sbindir}/lsshut @@ -476,9 +600,14 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_bindir}/dump2tar %{_bindir}/genprotimg %{_bindir}/mk-s390image +%if %{with rust} +%{_bindir}/pvapconfig +%endif %{_bindir}/pvattest %{_bindir}/pvextract-hdr -%{_bindir}/vmconvert +%if %{with rust} +%{_bindir}/pvsecret +%endif %{_bindir}/zkey %{_bindir}/zkey-cryptsetup %{_unitdir}/dumpconf.service @@ -503,11 +632,23 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_libdir}/zkey/zkey-kmip.so %{_mandir}/man1/dump2tar.1* %{_mandir}/man1/genprotimg.1* +%if %{with rust} +%{_mandir}/man1/pvapconfig.1* +%endif %{_mandir}/man1/pvattest.1* %{_mandir}/man1/pvattest-create.1* %{_mandir}/man1/pvattest-perform.1* %{_mandir}/man1/pvattest-verify.1* -%{_mandir}/man1/vmconvert.1* +%if %{with rust} +%{_mandir}/man1/pvsecret-add.1* +%{_mandir}/man1/pvsecret-create-association.1* +%{_mandir}/man1/pvsecret-create-meta.1* +%{_mandir}/man1/pvsecret-create.1* +%{_mandir}/man1/pvsecret-list.1* +%{_mandir}/man1/pvsecret-lock.1* +%{_mandir}/man1/pvsecret-verify.1* +%{_mandir}/man1/pvsecret.1* +%endif %{_mandir}/man1/zkey.1* %{_mandir}/man1/zkey-cryptsetup.1* %{_mandir}/man1/zkey-ekmfweb.1* @@ -517,6 +658,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_mandir}/man8/chccwdev.8* %{_mandir}/man8/chchp.8* %{_mandir}/man8/chcpumf.8* +%{_mandir}/man8/chpstat.8* %{_mandir}/man8/chshut.8* %{_mandir}/man8/chzcrypt.8* %{_mandir}/man8/dasdstat.8* @@ -532,6 +674,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_mandir}/man8/lsdasd.8* %{_mandir}/man8/lshwc.8* %{_mandir}/man8/lsluns.8* +%{_mandir}/man8/lspai.8* %{_mandir}/man8/lsqeth.8* %{_mandir}/man8/lsreipl.8* %{_mandir}/man8/lsscm.8* @@ -557,7 +700,6 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_mandir}/man8/znetconf.8* %{_mandir}/man8/zpcictl.8* %dir %{_datadir}/s390-tools -%{_datadir}/s390-tools/genprotimg/ %{_datadir}/s390-tools/netboot/ %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/kmip @@ -569,6 +711,18 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm # Additional Fedora/RHEL specific stuff /boot/tape0 +%package se-data +License: MIT +Summary: Data for Secure Execution +BuildArch: noarch + +%description se-data +%{summary}. + +%files se-data +%dir %{_datadir}/s390-tools +%{_datadir}/s390-tools/genprotimg/ + # # *********************** s390-tools osasnmpd package *********************** # @@ -852,7 +1006,7 @@ Summary: Use multipath information for re-IPL path failover BuildRequires: make BuildRequires: bash BuildRequires: coreutils -%if 0%{?with_pandoc} +%if %{with pandoc} BuildRequires: pandoc %endif BuildRequires: gawk @@ -873,7 +1027,7 @@ reconfigures the FCP re-IPL settings to use an operational path. %files chreipl-fcp-mpath %doc chreipl-fcp-mpath/README.md -%if 0%{?with_pandoc} +%if %{with pandoc} %doc chreipl-fcp-mpath/README.html %endif %dir %{_prefix}/lib/chreipl-fcp-mpath/ @@ -905,9 +1059,66 @@ User-space development files for the s390/s390x architecture. %{_libdir}/libekmfweb.so %{_libdir}/libkmipclient.so +# +# end of s390x specific sub-packages +# +%endif + %changelog -* Fri Apr 14 2023 MSVSphere Packaging Team - 2.25.0-4 +* Thu Jul 25 2024 Dan Horák - 2:2.33.1-2 +- avoid usage of the which tool (RHEL-38488) +- Related: RHEL-38488 + +* Fri Jun 14 2024 Dan Horák - 2:2.33.1-1 +- rebased to 2.33.1 (RHEL-23704) +- dbginfo.sh: missing data of new ROCE cards (RHEL-24109) +- SE-tooling: New IBM host-key subject locality (RHEL-30273) +- Fix disk type detection when running under QEMU (RHEL-40358) +- Resolves: RHEL-23704 RHEL-24109 RHEL-30273 RHEL-40358 + +* Mon Jan 29 2024 Dan Horák - 2:2.29.0-3 +- add s390utils-se-data as a noarch subpackage with Secure Execution data files +- Resolves: RHEL-10567 + +* Fri Jan 19 2024 Dan Horák - 2:2.29.0-2 +- SE: Secure guest tool to bind and associate APQNs (RHEL-10574) +- Resolves: RHEL-10574 + +* Fri Nov 24 2023 Dan Horák - 2:2.29.0-1 +- rebased to 2.29.0 (RHEL-11408) +- KVM: Support AP Bindings in SE Header (RHEL-10572) +- KVM: Userspace Tool for IBK Request Generation and Insertion (RHEL-10578) +- zkey: support for key type PKEY_TYPE_EP11_AES (RHEL-11440) +- vmur: fix handling of option -t (RHEL-11480) +- dbginfo.sh: global original Input Field Separator (IFS) (RHEL-16527) +- enable multi-arch build (RHEL-10567) +- Resolves: RHEL-11408 RHEL-10572 RHEL-10578 RHEL-11440 RHEL-11480 RHEL-16527 RHEL-10567 + +* Mon Aug 7 2023 Dan Horák - 2:2.27.0-4 +- zdev/dracut: fix kdump build to integrate with site support (#2229177) +- Resolves: #2229177 + +* Thu Jul 20 2023 Dan Horák - 2:2.27.0-3 +- Secure Execution APQN binding and IBK association (#2110521) +- Resolves: #2110521 + +* Mon Jul 17 2023 Dan Horák - 2:2.27.0-2 +- zdev: cleanup patches to fix warnings (#2223304) +- zdev: add missing label in the udev-rules (#2222900) +- Resolves: #2223304 #2222900 + +* Wed May 31 2023 Dan Horák - 2:2.27.0-1 +- rebased to 2.27.0 (#2160062) +- lszcrypt fails when querying a specific domain (#2177612) +- DASD autoquiesce support (#2196517) +- zcrypt DD: AP command filtering (#2170360) +- vmconvert and zgetdump consolidation (#2173924) +- Support for List-Directed dump from ECKD DASD (#2160052) +- Support for List-Directed IPL and re-IPL from ECKD DASD (#2160040) +- Resolves: #2160062 #2177612 #2196517 #2170360 #2173924 #2160052 #2160040 + +* Fri Apr 14 2023 MSVSphere Packaging Team - 2:2.25.0-4 - Rebuilt for MSVSphere 9.2 beta * Thu Feb 02 2023 Dan Horák - 2:2.25.0-4