import CS s390utils-2.36.0-2.el9

This commit is contained in:
eabdullin 2025-03-20 13:29:44 +00:00
parent d0d5fe32f8
commit 1bf7103a38
5 changed files with 9823 additions and 324 deletions

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/s390-tools-2.33.1-rust-vendor.tar.xz
SOURCES/s390-tools-2.33.1.tar.gz
SOURCES/s390-tools-2.36.0-rust-vendor.tar.xz
SOURCES/s390-tools-2.36.0.tar.gz

View File

@ -1,2 +1,2 @@
16b3df1ec7da8a40845ca3c81e96467f3c8beece SOURCES/s390-tools-2.33.1-rust-vendor.tar.xz
cd6394f5a08a3803100d5b7983b3bdf2544b4394 SOURCES/s390-tools-2.33.1.tar.gz
0d9c47df20772a8973ee868c68d02e95871c2de2 SOURCES/s390-tools-2.36.0-rust-vendor.tar.xz
8fc35ffa5dd6d4235c9894a1368e9592ad34c1ff SOURCES/s390-tools-2.36.0.tar.gz

View File

@ -1,311 +0,0 @@
From ab26b43985f44b71abf40f8d0e50bfbd0808f8b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20H=C3=B6ppner?= <hoeppner@linux.ibm.com>
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 <bblock@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
(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 <mhartmay@linux.ibm.com>
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 <edward6@linux.ibm.com>
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
(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, &reg,
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

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@
Name: s390utils
Summary: Utilities and daemons for IBM z Systems
Version: 2.33.1
Version: 2.36.0
Release: 2%{?dist}
Epoch: 2
License: MIT
@ -141,6 +141,7 @@ rm -rf ./rust/Cargo.lock
%build
make \
CFLAGS="%{build_cflags}" CXXFLAGS="%{build_cxxflags}" LDFLAGS="%{build_ldflags}" \
RUSTFLAGS="%{build_rustflags}" \
%if %{without rust}
HAVE_CARGO=0 \
%endif
@ -156,6 +157,7 @@ make \
%install
make install \
RUSTFLAGS="%{build_rustflags}" \
%if %{without rust}
HAVE_CARGO=0 \
%endif
@ -250,34 +252,36 @@ touch %{buildroot}%{_sysconfdir}/zipl.conf
%doc README.md
%license LICENSE
%{_bindir}/genprotimg
%if %{with rust}
%{_bindir}/pvapconfig
%endif
%{_bindir}/pvattest
%{_bindir}/pvextract-hdr
%if %{with rust}
%{_bindir}/pvimg
%{_bindir}/pvsecret
%endif
%{_mandir}/man1/genprotimg.1*
%if %{with rust}
%{_mandir}/man1/pvapconfig.1*
%endif
%{_mandir}/man1/pvattest.1*
%{_mandir}/man1/pvattest-check.1*
%{_mandir}/man1/pvattest-create.1*
%{_mandir}/man1/pvattest-perform.1*
%{_mandir}/man1/pvattest-verify.1*
%if %{with rust}
%{_mandir}/man1/pvimg.1*
%{_mandir}/man1/pvimg-create.1*
%{_mandir}/man1/pvimg-info.1*
%{_mandir}/man1/pvimg-test.1*
%{_mandir}/man1/pvsecret-add.1*
%{_mandir}/man1/pvsecret-create-association.1*
%{_mandir}/man1/pvsecret-create-meta.1*
%{_mandir}/man1/pvsecret-create-retrievable.1*
%{_mandir}/man1/pvsecret-create.1*
%{_mandir}/man1/pvsecret-list.1*
%{_mandir}/man1/pvsecret-lock.1*
%{_mandir}/man1/pvsecret-retrieve.1*
%{_mandir}/man1/pvsecret-verify.1*
%{_mandir}/man1/pvsecret.1*
%endif
%dir %{_datadir}/s390-tools
%{_datadir}/s390-tools/genprotimg/
%{_datadir}/s390-tools/pvimg/
#
# enf of multi-arch section
@ -403,6 +407,7 @@ BuildRequires: cryptsetup-devel >= 2.0.3
BuildRequires: json-c-devel
BuildRequires: rpm-devel
BuildRequires: libxml2-devel
BuildRequires: libnl3-devel
%description base
@ -577,6 +582,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%{_sbindir}/lstape
%{_sbindir}/lszcrypt
%{_sbindir}/lszfcp
%{_sbindir}/opticsmon
%{_sbindir}/pai
%{_sbindir}/qetharp
%{_sbindir}/qethconf
@ -597,8 +603,11 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%{_sbindir}/zipl-switch-to-blscfg
%{_sbindir}/znetconf
%{_sbindir}/zpcictl
%{_bindir}/cpacfinfo
%{_bindir}/dump2tar
%{_bindir}/genprotimg
%{_bindir}/pvapconfig
%{_bindir}/pvimg
%{_bindir}/mk-s390image
%if %{with rust}
%{_bindir}/pvapconfig
@ -611,6 +620,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%{_bindir}/zkey
%{_bindir}/zkey-cryptsetup
%{_unitdir}/dumpconf.service
%{_unitdir}/opticsmon.service
%ghost %config(noreplace) %{_sysconfdir}/zipl.conf
%config(noreplace) %{_sysconfdir}/sysconfig/dumpconf
%{_sysconfdir}/mdevctl.d/*
@ -630,22 +640,30 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%dir %{_libdir}/zkey
%{_libdir}/zkey/zkey-ekmfweb.so
%{_libdir}/zkey/zkey-kmip.so
%{_mandir}/man1/cpacfinfo.1*
%{_mandir}/man1/dump2tar.1*
%{_mandir}/man1/genprotimg.1*
%if %{with rust}
%{_mandir}/man1/pvapconfig.1*
%endif
%{_mandir}/man1/pvattest.1*
%{_mandir}/man1/pvattest-check.1*
%{_mandir}/man1/pvattest-create.1*
%{_mandir}/man1/pvattest-perform.1*
%{_mandir}/man1/pvattest-verify.1*
%if %{with rust}
%{_mandir}/man1/pvimg.1*
%{_mandir}/man1/pvimg-create.1*
%{_mandir}/man1/pvimg-info.1*
%{_mandir}/man1/pvimg-test.1*
%{_mandir}/man1/pvsecret-add.1*
%{_mandir}/man1/pvsecret-create-association.1*
%{_mandir}/man1/pvsecret-create-meta.1*
%{_mandir}/man1/pvsecret-create-retrievable.1*
%{_mandir}/man1/pvsecret-create.1*
%{_mandir}/man1/pvsecret-list.1*
%{_mandir}/man1/pvsecret-lock.1*
%{_mandir}/man1/pvsecret-retrieve.1*
%{_mandir}/man1/pvsecret-verify.1*
%{_mandir}/man1/pvsecret.1*
%endif
@ -683,6 +701,7 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%{_mandir}/man8/lstape.8*
%{_mandir}/man8/lszcrypt.8*
%{_mandir}/man8/lszfcp.8*
%{_mandir}/man8/opticsmon.8*
%{_mandir}/man8/pai.8*
%{_mandir}/man8/qetharp.8*
%{_mandir}/man8/qethconf.8*
@ -721,7 +740,7 @@ BuildArch: noarch
%files se-data
%dir %{_datadir}/s390-tools
%{_datadir}/s390-tools/genprotimg/
%{_datadir}/s390-tools/pvimg/
#
# *********************** s390-tools osasnmpd package ***********************
@ -1066,6 +1085,30 @@ User-space development files for the s390/s390x architecture.
%changelog
* Thu Jan 30 2025 Dan Horák <dhorak@redhat.com> - 2:2.36.0-2
- pvimg/genprotimg: Fix confidential dump support (RHEL-76912)
- Resolves: RHEL-76912
* Fri Jan 17 2025 Dan Horák <dhorak@redhat.com> - 2:2.36.0-1
- rebased to 2.36.0 (RHEL-50026)
- cpacfinfo: new tool to provide CPACF information (RHEL-50020)
- chpstat: Additional Channel Measurements (RHEL-50023)
- zPCI: Optics Monitoring for PF Access Mode (RHEL-50024)
- KVM: Support extended attestation for Secure Execution (RHEL-50009)
- KVM: genprotimg: validate if SE image can run on particular host(s) (RHEL-50008)
- Vertical CPU Polarization Support Stage 2 (RHEL-64705)
- KVM: Support unencrypted SE images by exposing resp. SE header flag (RHEL-70853)
- KVM: Rewrite genprotimg in Rust (RHEL-72023)
- Provide genprotimg / pvimg info command to display encrypted & unencrypted SE image information (RHEL-71819)
- KVM: Support retrievable secrets in Secure Execution guests (RHEL-50019)
- zkey key support for dm-crypt with XTS keys (RHEL-50010)
- Resolves: RHEL-50026 RHEL-50020 RHEL-50023 RHEL-50024 RHEL-50009 RHEL-50008 RHEL-64705 RHEL-70853 RHEL-72023 RHEL-71819 RHEL-50019 RHEL-50010
* Tue Oct 08 2024 Dan Horák <dhorak@redhat.com> - 2:2.35.0-1
- rebased to 2.35.0 (RHEL-50026)
- cpacfstats: support MSA 10 and MSA 11 (RHEL-50030)
- Resolves: RHEL-50026 RHEL-50030
* Thu Jul 25 2024 Dan Horák <dhorak@redhat.com> - 2:2.33.1-2
- avoid usage of the which tool (RHEL-38488)
- Related: RHEL-38488