diff --git a/.gitignore b/.gitignore index 7a88321..4b33380 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ src_vipa-2.0.4.tar.gz /src_vipa-2.1.0.tar.gz /s390-tools-*.tar.bz2 /s390-tools-*.tar.gz +/s390-tools-*-rust-vendor.tar.xz diff --git a/20-zipl-kernel.install b/20-zipl-kernel.install index 4fadd1d..8cb8d86 100755 --- a/20-zipl-kernel.install +++ b/20-zipl-kernel.install @@ -54,21 +54,25 @@ EOF case "$COMMAND" in add) if [[ "${KERNEL_DIR}" != "/boot" ]]; then + # rename to match the name used in the pseudo-BLS snippet above + cp --remove-destination --preserve=timestamps -T "${KERNEL_IMAGE}" "/boot/vmlinuz-${KERNEL_VERSION}" + command -v restorecon &>/dev/null && \ + restorecon -R "/boot/vmlinuz-${KERNEL_VERSION}" + for i in \ - "$KERNEL_IMAGE" \ "$KERNEL_DIR"/System.map \ "$KERNEL_DIR"/config \ "$KERNEL_DIR"/zImage.stub do [[ -e "$i" ]] || continue - cp -aT "$i" "/boot/${i##*/}-${KERNEL_VERSION}" + cp --preserve=timestamps -T "$i" "/boot/${i##*/}-${KERNEL_VERSION}" command -v restorecon &>/dev/null && \ restorecon -R "/boot/${i##*/}-${KERNEL_VERSION}" done # hmac is .vmlinuz-.hmac so needs a special treatment i="$KERNEL_DIR/.${KERNEL_IMAGE##*/}.hmac" if [[ -e "$i" ]]; then - cp -a "$i" "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac" + cp --preserve=timestamps "$i" "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac" command -v restorecon &>/dev/null && \ restorecon "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac" fi @@ -91,7 +95,7 @@ case "$COMMAND" in [[ -d "$BLS_DIR" ]] || mkdir -m 0700 -p "$BLS_DIR" BLS_TARGET="${BLS_DIR}/${MACHINE_ID}-${KERNEL_VERSION}.conf" if [[ -f "${KERNEL_DIR}/bls.conf" ]]; then - cp -aT "${KERNEL_DIR}/bls.conf" "${BLS_TARGET}" || exit $? + cp --preserve=timestamps -T "${KERNEL_DIR}/bls.conf" "${BLS_TARGET}" || exit $? sed -i -e "s,^linux.*,linux /boot/vmlinuz-${KERNEL_VERSION},g" "${BLS_TARGET}" sed -i -e "s,^initrd.*,initrd /boot/initramfs-${KERNEL_VERSION}.img,g" "${BLS_TARGET}" sed -i -e "s#^options.*#options ${BOOT_OPTIONS[*]}#g" "${BLS_TARGET}" @@ -112,7 +116,7 @@ case "$COMMAND" in if [ "x${MAKEDEBUG}" = "xyes" ]; then BLS_DEBUG="$(echo ${BLS_TARGET} | sed -e "s/${KERNEL_VERSION}/${KERNEL_VERSION}~debug/")" - cp -aT "${BLS_TARGET}" "${BLS_DEBUG}" + cp --preserve=timestamps -T "${BLS_TARGET}" "${BLS_DEBUG}" TITLE="$(grep '^title[ \t]' "${BLS_DEBUG}" | sed -e 's/^title[ \t]*//')" VERSION="$(grep '^version[ \t]' "${BLS_DEBUG}" | sed -e 's/^version[ \t]*//')" BLSID="$(grep '^id[ \t]' "${BLS_DEBUG}" | sed -e "s/${KERNEL_VERSION}/${KERNEL_VERSION}~debug/")" diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..7e19000 --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,9 @@ +--- +pathmigration: + excluded_paths: + - /lib/s390-tools + +badfuncs: + allowed: + /usr/bin/qethqoat: + - inet_ntoa diff --git a/s390-tools-zipl-blscfg-rpm-nvr-sort.patch b/s390-tools-zipl-blscfg-rpm-nvr-sort.patch index 3960de1..366efba 100644 --- a/s390-tools-zipl-blscfg-rpm-nvr-sort.patch +++ b/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/s390utils-2.25.0-fedora.patch b/s390utils-2.25.0-fedora.patch deleted file mode 100644 index ee35822..0000000 --- a/s390utils-2.25.0-fedora.patch +++ /dev/null @@ -1,77 +0,0 @@ -From d721eb018973842a432869f6f9efd5752b2e7f19 Mon Sep 17 00:00:00 2001 -From: Marc Hartmayer -Date: Mon, 19 Dec 2022 09:51:51 +0000 -Subject: [PATCH 1/2] zgetdump/Makefile: don't use `.check_dep_zgetdump` as - linker input - -The `.check_dep_zgetdump` file is used to cache the result of the -dependency checks and should not be used as input for linking or -anything else. Let's add it as dependency for the objects file. This -shouldn't cause any problems since the Makefile rule for object files is -defined in `common.mak` as follows: - -%.o: %.c - $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c $< -o $@ - -Fixes: https://github.com/ibm-s390-linux/s390-tools/issues/147 -Fixes: 8d8d5e9746a4 ("zdump: Fix Makefile dependencies") -Signed-off-by: Marc Hartmayer -Reviewed-by: Jan Hoeppner -Signed-off-by: Jan Hoeppner ---- - zdump/Makefile | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/zdump/Makefile b/zdump/Makefile -index ca8aadc..934dc47 100644 ---- a/zdump/Makefile -+++ b/zdump/Makefile -@@ -119,7 +119,9 @@ libs = $(rootdir)/libutil/libutil.a $(LIBPV) - - all: $(BUILD_TARGETS) - --zgetdump: .check_dep_zgetdump $(OBJECTS) $(libs) -+$(OBJECTS): .check_dep_zgetdump -+ -+zgetdump: $(OBJECTS) $(libs) - - skip-zgetdump: - echo " SKIP zgetdump due to unresolved dependencies" --- -2.39.1 - - -From d9f54f76e2e6f17e0b5bafdc0d09ff0e72edd474 Mon Sep 17 00:00:00 2001 -From: Ingo Franzki -Date: Fri, 20 Jan 2023 11:04:18 +0100 -Subject: [PATCH 2/2] zkey: Support EP11 host library version 4 -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 ---- - 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/s390utils-2.40.0-fedora.patch b/s390utils-2.40.0-fedora.patch new file mode 100644 index 0000000..e69de29 diff --git a/s390utils.spec b/s390utils.spec index 065b0da..7da6a02 100644 --- a/s390utils.spec +++ b/s390utils.spec @@ -1,21 +1,57 @@ # 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 +# Also controls whether %%cargo_generate_buildrequires generates dev-dependencies +%bcond_without check + Name: s390utils Summary: Utilities and daemons for IBM z Systems -Version: 2.25.0 -Release: 4%{?dist} +Version: 2.40.0 +Release: 1%{?dist} Epoch: 2 -License: MIT -ExclusiveArch: s390 s390x +# MIT covers nearly all the files, except init files (LGPL-2.1-or-later) +# +# Statically-linked Rust dependencies contribute additional license terms, +# listed in the output of %%{cargo_license_summary}: +# +# (MIT OR Apache-2.0) AND Unicode-DFS-2016 +# Apache-2.0 +# Apache-2.0 OR BSL-1.0 +# Apache-2.0 OR MIT +# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT +# BSD-2-Clause OR Apache-2.0 OR MIT +# MIT +# MIT OR Apache-2.0 +# Unlicense OR MIT +%global extra_licenses_from_rust_deps %{shrink: +Apache-2.0 AND +(Apache-2.0 OR BSL-1.0) AND +(Apache-2.0 OR MIT) AND +(Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND +(BSD-2-Clause OR Apache-2.0 OR MIT) AND +Unicode-DFS-2016 AND +(Unlicense OR MIT) +} +License: MIT AND LGPL-2.1-or-later AND %{extra_licenses_from_rust_deps} 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 ; \ +# rm -f Cargo.lock && cargo vendor && \ +# tar Jvcf ../../s390-tools-%%{version}-rust-vendor.tar.xz vendor/ ; popd +%if 0%{?rhel} +Source1: s390-tools-%{version}-rust-vendor.tar.xz +%endif 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 +65,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 +74,18 @@ Patch0: s390-tools-zipl-invert-script-options.patch Patch1: s390-tools-zipl-blscfg-rpm-nvr-sort.patch # upstream fixes/updates -Patch100: s390utils-%%{version}-fedora.patch +#Patch100: s390utils-%%{version}-fedora.patch +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +# Add Provides for upstream name +Provides: s390-tools = %{epoch}:%{version}-%{release} + +%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 +93,23 @@ 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 0%{?rhel} +BuildRequires: libcurl-devel +BuildRequires: openssl-devel +BuildRequires: rust-toolset +%else +BuildRequires: cargo-rpm-macros >= 24 +%endif %description This is a meta package for installing the default s390-tools sub packages. @@ -60,49 +120,81 @@ The s390utils packages contain a set of user space utilities that should to be used together with the zSeries (s390) Linux kernel and device drivers. %prep -%setup -q -n s390-tools-%{version} +%autosetup -n s390-tools-%{version} -p1 -# Fedora/RHEL changes -%patch0 -p1 -b .zipl-invert-script-options -%patch1 -p1 -b .blscfg-rpm-nvr-sort +%if 0%{?rhel} +pushd rust +tar xf %{SOURCE1} +%cargo_prep -v vendor +popd +%else +%cargo_prep +%endif +rm ./rust/Cargo.lock -# upstream fixes/updates -%patch100 -p1 +# Create sysusers config files +echo 'g zkeyadm' > s390utils-base.conf.usr +echo 'g ts-shell' > s390utils-iucvterm.conf.usr +echo 'g cpacfstats' > s390utils-cpacfstatsd.conf.usr -# drop -Werror from genprotimg to allow building with GCC 12 -sed -i.bak -e 's/-Werror//g' genprotimg/src/Makefile genprotimg/boot/Makefile - -# remove --strip from install -find . -name Makefile | xargs sed -i 's/$(INSTALL) -s/$(INSTALL)/g' +# Create tmpfiles config files +echo 'd /var/log/ts-shell 2770 root ts-shell' > s390utils-iucvterm.conf.tmp +%if !0%{?rhel} +%generate_buildrequires +pushd rust >/dev/null +%cargo_generate_buildrequires +popd >/dev/null +%endif %build make \ CFLAGS="%{build_cflags}" CXXFLAGS="%{build_cxxflags}" LDFLAGS="%{build_ldflags}" \ HAVE_DRACUT=1 \ -%if 0%{?with_pandoc} +%if %{with pandoc} ENABLE_DOC=1 \ %endif NO_PIE_LDFLAGS="" \ +%if "%{_sbindir}" == "%{_bindir}" + BINDIR=/usr/bin \ + USRSBINDIR=/usr/bin \ +%else BINDIR=/usr/sbin \ +%endif DISTRELEASE=%{release} \ V=1 +pushd rust +%cargo_license_summary +%{cargo_license} > LICENSE.dependencies +%if 0%{?rhel} +%cargo_vendor_manifest +%endif +popd + %install -make install \ +%make_install \ HAVE_DRACUT=1 \ -%if 0%{?with_pandoc} +%if %{with pandoc} ENABLE_DOC=1 \ %endif - DESTDIR=%{buildroot} \ +%if "%{_sbindir}" == "%{_bindir}" + BINDIR=/usr/bin \ + USRSBINDIR=/usr/bin \ +%else BINDIR=/usr/sbin \ +%endif SYSTEMDSYSTEMUNITDIR=%{_unitdir} \ 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 @@ -115,6 +207,7 @@ fi # move tools to searchable dir mv %{buildroot}%{_datadir}/s390-tools/netboot/mk-s390image %{buildroot}%{_bindir} +mv %{buildroot}%{_datadir}/s390-tools/netboot/mk-s390image.1 %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}{/boot,%{_udevrulesdir},%{_sysconfdir}/{profile.d,sysconfig},%{_prefix}/lib/modules-load.d} install -p -m 644 zipl/boot/tape0.bin %{buildroot}/boot/tape0 @@ -161,17 +254,88 @@ install -p -m 644 %{SOURCE17} %{buildroot}%{_udevrulesdir}/81-ccw.rules # zipl.conf to be ghosted touch %{buildroot}%{_sysconfdir}/zipl.conf +# install systemd sysusers and tmpfiles +mkdir -p %{buildroot}{%{_sysusersdir},%{_tmpfilesdir}}/ +for f in s390utils-*.conf.usr; do + install -p -m 644 $f %{buildroot}%{_sysusersdir}/$(basename -s .usr $f) +done +for f in s390utils-*.conf.tmp; do + install -p -m 644 $f %{buildroot}%{_tmpfilesdir}/$(basename -s .tmp $f) +done +%endif + +%ifarch s390x +# +# s390x/native main %%files section +# %files %doc README.md +%else +# +# multiarch %%files section +# + +%files +%doc README.md +%license LICENSE +%license rust/LICENSE.dependencies +%if 0%{?rhel} +%license rust/cargo-vendor.txt +%endif +%{_bindir}/genprotimg +%{_bindir}/pvattest +%{_bindir}/pvextract-hdr +%{_bindir}/pvimg +%{_bindir}/pvsecret +%{_bindir}/pvverify +%{_mandir}/man1/genprotimg.1* +%{_mandir}/man1/pvattest.1* +%{_mandir}/man1/pvattest-check.1* +%{_mandir}/man1/pvattest-create.1* +%{_mandir}/man1/pvattest-perform.1* +%{_mandir}/man1/pvattest-verify.1* +%{_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-update-cck.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* +%{_mandir}/man1/pvverify.1* +%dir %{_datadir}/s390-tools +%{_datadir}/s390-tools/netboot/ +%{_datadir}/s390-tools/pvimg/ +%{bash_completions_dir}/*.bash +%{zsh_completions_dir}/_* + +# +# enf of multi-arch section +# +%endif + +%ifarch s390x +# +# s390x specific sub-packages +# # # ************************* s390-tools core package ************************* # %package core License: MIT Summary: S390 core tools +Provides: s390-tools-core = %{epoch}:%{version}-%{release} Requires: coreutils +Requires: makedumpfile %{?systemd_requires} # BRs are covered via the base package @@ -192,7 +356,7 @@ This package provides minimal set of tools needed to system to boot. %files core %doc README.md zdev/src/chzdev_usage.txt -%doc LICENSE +%license LICENSE %{_sbindir}/chreipl %{_sbindir}/chzdev %{_sbindir}/cio_ignore @@ -208,13 +372,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* @@ -243,10 +411,12 @@ This package provides minimal set of tools needed to system to boot. %{_udevrulesdir}/56-dasd.rules %{_udevrulesdir}/56-zfcp.rules %{_udevrulesdir}/59-dasd.rules +%{_udevrulesdir}/59-virtio-blk.rules %{_udevrulesdir}/60-readahead.rules %{_udevrulesdir}/81-ccw.rules %{_udevrulesdir}/81-dpm.rules %{_udevrulesdir}/90-cpi.rules +%{_udevrulesdir}/80-hotplug-cpu.rules %{_sysconfdir}/kernel/install.d/20-grubby.install %{_prefix}/lib/kernel/install.d/10-zfcpdump.install %{_prefix}/lib/kernel/install.d/20-zipl-kernel.install @@ -259,14 +429,18 @@ This package provides minimal set of tools needed to system to boot. # %package base -License: MIT +License: MIT AND LGPL-2.1-or-later AND %{extra_licenses_from_rust_deps} Summary: S390 base tools -Requires: gawk sed coreutils -Requires: sg3_utils +Provides: s390-tools-base = %{epoch}:%{version}-%{release} +Requires: coreutils Requires: ethtool -Requires: tar Requires: file +Requires: gawk +Requires: sed +Requires: sg3_utils +Requires: tar Requires: s390utils-core = %{epoch}:%{version}-%{release} +Requires: s390utils-se-data = %{epoch}:%{version}-%{release} %{?systemd_requires} BuildRequires: perl-generators BuildRequires: ncurses-devel @@ -274,8 +448,8 @@ BuildRequires: glibc-static BuildRequires: cryptsetup-devel >= 2.0.3 BuildRequires: json-c-devel BuildRequires: rpm-devel -BuildRequires: glib2-devel BuildRequires: libxml2-devel +BuildRequires: libnl3-devel %description base @@ -340,11 +514,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 @@ -358,9 +527,6 @@ s390 base tools. This collection provides the following utilities: feature. Those traces are filtered with the zfcpdbf script, i.e. merge several traces, make it more readable etc. - * scsi_logging_level: - Create, get or set the logging level for the SCSI logging facility. - * zconf: Set of scripts to configure and list status information of Linux for zSeries IO devices. @@ -412,10 +578,6 @@ For more information refer to the following publications: * "Device Drivers, Features, and Commands" chapter "Useful Linux commands" * "Using the dump tools" -%pre base -# check for zkeyadm group and create it -getent group zkeyadm > /dev/null || groupadd -r zkeyadm - %post base %systemd_post dumpconf.service @@ -427,9 +589,14 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %files base %doc README.md zdev/src/lszdev_usage.txt +%license rust/LICENSE.dependencies +%if 0%{?rhel} +%license rust/cargo-vendor.txt +%endif %{_sbindir}/chccwdev %{_sbindir}/chchp %{_sbindir}/chcpumf +%{_sbindir}/chpstat %{_sbindir}/chshut %{_sbindir}/chzcrypt %{_sbindir}/dasdstat @@ -444,8 +611,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 @@ -453,11 +621,11 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_sbindir}/lstape %{_sbindir}/lszcrypt %{_sbindir}/lszfcp +%{_sbindir}/opticsmon %{_sbindir}/pai %{_sbindir}/qetharp %{_sbindir}/qethconf %{_sbindir}/qethqoat -%{_sbindir}/scsi_logging_level %{_sbindir}/sclpdbf %{_sbindir}/start_hsnc.sh %{_sbindir}/tape390_crypt @@ -471,21 +639,31 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_sbindir}/zfcpdbf %{_sbindir}/zgetdump %{_sbindir}/zipl-switch-to-blscfg +%{_sbindir}/zmemtopo %{_sbindir}/znetconf %{_sbindir}/zpcictl +%{_bindir}/cpacfinfo %{_bindir}/dump2tar %{_bindir}/genprotimg %{_bindir}/mk-s390image +%{_bindir}/pvapconfig +%{_bindir}/pvimg +%{_bindir}/pvinfo %{_bindir}/pvattest %{_bindir}/pvextract-hdr -%{_bindir}/vmconvert +%{_bindir}/pvsecret +%{_bindir}/pvverify %{_bindir}/zkey %{_bindir}/zkey-cryptsetup +%{_bindir}/zpwr %{_unitdir}/dumpconf.service +%{_unitdir}/opticsmon.service %ghost %config(noreplace) %{_sysconfdir}/zipl.conf %config(noreplace) %{_sysconfdir}/sysconfig/dumpconf %{_sysconfdir}/mdevctl.d/* +%{_sysusersdir}/s390utils-base.conf /usr/lib/dracut/modules.d/99ngdump/ +/usr/lib/dracut/dracut.conf.d/99-pkey.conf # own the mdevctl dirs until new release is available %dir /usr/lib/mdevctl %dir /usr/lib/mdevctl/scripts.d @@ -501,22 +679,43 @@ 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* +%{_mandir}/man1/mk-s390image.1* +%{_mandir}/man1/pvapconfig.1* %{_mandir}/man1/pvattest.1* +%{_mandir}/man1/pvattest-check.1* %{_mandir}/man1/pvattest-create.1* %{_mandir}/man1/pvattest-perform.1* %{_mandir}/man1/pvattest-verify.1* -%{_mandir}/man1/vmconvert.1* +%{_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-update-cck.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* +%{_mandir}/man1/pvverify.1* %{_mandir}/man1/zkey.1* %{_mandir}/man1/zkey-cryptsetup.1* %{_mandir}/man1/zkey-ekmfweb.1* %{_mandir}/man1/zkey-kmip.1* +%{_mandir}/man1/zpwr.1* %{_mandir}/man4/prandom.4* %{_mandir}/man5/hsavmcore.conf.5* %{_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 +731,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* @@ -540,6 +740,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* @@ -554,11 +755,13 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm %{_mandir}/man8/zfcpdbf.8* %{_mandir}/man8/zgetdump.8* %{_mandir}/man8/zipl-switch-to-blscfg.8* +%{_mandir}/man8/zmemtopo.8* %{_mandir}/man8/znetconf.8* %{_mandir}/man8/zpcictl.8* %dir %{_datadir}/s390-tools -%{_datadir}/s390-tools/genprotimg/ %{_datadir}/s390-tools/netboot/ +%{bash_completions_dir}/*.bash +%{zsh_completions_dir}/_* %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/kmip %dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/kmip/profiles @@ -569,11 +772,25 @@ 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 +Provides: s390-tools-se-data = %{epoch}:%{version}-%{release} +BuildArch: noarch + +%description se-data +%{summary}. + +%files se-data +%dir %{_datadir}/s390-tools +%{_datadir}/s390-tools/pvimg/ + # # *********************** s390-tools osasnmpd package *********************** # %package osasnmpd Summary: SNMP sub-agent for OSA-Express cards +Provides: s390-tools-osasnmpd = %{epoch}:%{version}-%{release} Requires: net-snmp Requires: psmisc BuildRequires: net-snmp-devel @@ -593,6 +810,7 @@ ATM Ethernet LAN Emulation in QDIO mode. # %package mon_statd Summary: Monitoring daemons for Linux in z/VM +Provides: s390-tools-mon_statd = %{epoch}:%{version}-%{release} Requires: coreutils %{?systemd_requires} @@ -632,6 +850,7 @@ Monitoring daemons for Linux in z/VM: # %package cpuplugd Summary: Daemon that manages CPU and memory resources +Provides: s390-tools-cpuplugd = %{epoch}:%{version}-%{release} %{?systemd_requires} BuildRequires: systemd @@ -661,6 +880,7 @@ memory can be increased or decreased exploiting the CMM1 feature. # %package ziomon Summary: S390 ziomon tools +Provides: s390-tools-ziomon = %{epoch}:%{version}-%{release} Requires: blktrace Requires: coreutils Requires: device-mapper-multipath @@ -699,6 +919,7 @@ Tool set to collect data for zfcp performance analysis and report. # %package iucvterm Summary: z/VM IUCV terminal applications +Provides: s390-tools-iucvterm = %{epoch}:%{version}-%{release} Requires(pre): shadow-utils Requires(post): grep Requires(postun): grep @@ -715,10 +936,6 @@ active TCP/IP connection between two Linux guest operating systems. - ts-shell: Terminal server shell to authorize and control IUCV terminal connections for individual Linux users. -%pre iucvterm -# check for ts-shell group and create it -getent group ts-shell > /dev/null || groupadd -r ts-shell - %post iucvterm # /etc/shells is provided by "setup" grep -q '^/usr/bin/ts-shell$' /etc/shells \ @@ -744,13 +961,16 @@ fi %{_bindir}/ts-shell %{_sbindir}/chiucvallow %{_sbindir}/lsiucvallow -%dir %attr(2770,root,ts-shell) /var/log/ts-shell +%{_sysusersdir}/s390utils-iucvterm.conf +%{_tmpfilesdir}/s390utils-iucvterm.conf +%ghost %dir %attr(2770,root,ts-shell) /var/log/ts-shell %doc iucvterm/doc/ts-shell %{_mandir}/man1/iucvconn.1* %{_mandir}/man1/iucvtty.1* %{_mandir}/man1/ts-shell.1* %{_mandir}/man7/af_iucv.7* %{_mandir}/man8/chiucvallow.8* +%{_mandir}/man8/lsiucvallow.8* %{_mandir}/man9/hvc_iucv.9* %{_unitdir}/iucvtty-login@.service %{_unitdir}/ttyrun-getty@.service @@ -763,6 +983,7 @@ fi Summary: CMS file system based on FUSE BuildRequires: fuse3-devel Requires: fuse3 +Provides: s390-tools-cmsfs-fuse = %{epoch}:%{version}-%{release} Requires: glibc-gconv-extra Obsoletes: %{name}-cmsfs < 2:2.7.0-3 @@ -783,6 +1004,7 @@ Summary: z/OS data set access based on FUSE BuildRequires: fuse3-devel BuildRequires: libcurl-devel Requires: fuse3 +Provides: s390-tools-zdsfs = %{epoch}:%{version}-%{release} %description zdsfs This package contains the z/OS data set access based on FUSE. @@ -798,6 +1020,7 @@ This package contains the z/OS data set access based on FUSE. Summary: HMC drive file system based on FUSE BuildRequires: fuse3-devel Requires: fuse3 +Provides: s390-tools-hmcdrvfs = %{epoch}:%{version}-%{release} %description hmcdrvfs This package contains a HMC drive file system based on FUSE and a tool @@ -814,6 +1037,7 @@ to list files and directories. # %package cpacfstatsd Summary: Monitor and maintain CPACF activity counters +Provides: s390-tools-cpacfstatsd = %{epoch}:%{version}-%{release} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -834,15 +1058,13 @@ and maintain CPACF activity counters. %postun cpacfstatsd %systemd_postun_with_restart cpacfstatsd.service -%pre cpacfstatsd -getent group cpacfstats >/dev/null || groupadd -r cpacfstats - %files cpacfstatsd %{_bindir}/cpacfstats %{_sbindir}/cpacfstatsd %{_mandir}/man1/cpacfstats.1* %{_mandir}/man8/cpacfstatsd.8* %{_unitdir}/cpacfstatsd.service +%{_sysusersdir}/s390utils-cpacfstatsd.conf # # *********************** chreipl-fcp-mpath package *********************** @@ -852,12 +1074,13 @@ 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 BuildRequires: gzip BuildRequires: sed +Provides: s390-tools-chreipl-fcp-mpath = %{epoch}:%{version}-%{release} Requires: bash Requires: coreutils Requires: util-linux @@ -873,7 +1096,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/ @@ -892,7 +1115,7 @@ reconfigures the FCP re-IPL settings to use an operational path. # %package devel Summary: Development files - +Provides: s390-tools-devel = %{epoch}:%{version}-%{release} Requires: %{name}-base%{?_isa} = %{epoch}:%{version}-%{release} %description devel @@ -905,8 +1128,118 @@ User-space development files for the s390/s390x architecture. %{_libdir}/libekmfweb.so %{_libdir}/libkmipclient.so +# +# end of s390x specific sub-packages +# +%endif + %changelog +* Tue Jan 06 2026 Dan Horák - 2:2.40.0-1 +- rebased to 2.40.0 (rhbz#2421447) + +* Thu Nov 13 2025 Dan Horák - 2:2.39.0-1 +- rebased to 2.39.0 (rhbz#2403755) + +* Fri Jul 25 2025 Fedora Release Engineering - 2:2.38.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jun 27 2025 Dan Horák - 2:2.38.0-1 +- rebased to 2.38.0 (rhbz#2374765) + +* Thu Mar 13 2025 Benjamin A. Beasley - 2:2.37.0-2 +- Properly generate Rust BuildRequires on Fedora +- Update License (for s390utils/s390utils-base) to reflect Rust deps. + +* Thu Feb 27 2025 Jakub Čajka - 2:2.37.0-1 +- rebased to 2.37.0 (rhbz#2330787) + +* Mon Feb 24 2025 Dan Horák - 2:2.36.0-1 +- rebased to 2.36.0 (rhbz#2330787) + +* Thu Feb 06 2025 Fabio Valentini - 2:2.35.0-5 +- Rebuild for openssl crate >= v0.10.70 (RUSTSEC-2025-0004) + +* Mon Jan 20 2025 Dan Horák - 2:2.35.0-4 +- fix build with gcc15 +- Resolves: rhbz#2338176 + +* Wed Jan 15 2025 Zbigniew Jedrzejewski-Szmek - 2:2.35.0-3 +- Add sysusers.d config + +* Tue Jan 14 2025 Dan Horák - 2:2.35.0-2 +- updated for https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin + +* Thu Oct 03 2024 Dan Horák - 2:2.35.0-1 +- rebased to 2.35.0 (rhbz#2316232) + +* Mon Aug 26 2024 Dan Horák - 2:2.34.0-2 +- don't make Rust warnings fatal + +* Mon Aug 12 2024 Dan Horák - 2:2.34.0-1 +- rebased to 2.34.0 (rhbz#2302462) + +* Sat Jul 20 2024 Fedora Release Engineering - 2:2.33.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jul 15 2024 Dan Horák - 2:2.33.1-3 +- "which" is not required any more +- Revert "zipl/src: Fix problems when target parameters are specified by user" + +* Thu Jun 20 2024 Dan Horák - 2:2.33.1-2 +- add which as a dependency for base and ziomon subpackages (RHEL-38488) + +* Tue May 28 2024 Dan Horák - 2:2.33.1-1 +- rebased to 2.33.1 (rhbz#2283542) + +* Thu Apr 04 2024 Dan Horák - 2:2.32.0-1 +- rebased to 2.32.0 (rhbz#2273003) + +* Fri Mar 08 2024 Neal Gompa - 2:2.31.0-2 +- Add 's390-tools' Provides to all packages + +* Mon Feb 05 2024 Dan Horák - 2:2.31.0-1 +- rebased to 2.31.0 (rhbz#2262499) + +* Thu Jan 25 2024 Dan Horák - 2:2.30.0-2 +- add s390utils-se-data as a noarch subpackage with Secure Execution data files + +* Tue Jan 02 2024 Dan Horák - 2:2.30.0-1 +- rebased to 2.30.0 (rhbz#2252519) + +* Fri Dec 01 2023 Fabio Valentini - 2:2.29.0-6 +- Rebuild for openssl crate >= v0.10.60 (RUSTSEC-2023-0044, RUSTSEC-2023-0072) + +* Fri Nov 10 2023 Dan Horák - 2:2.29.0-5 +- enable multi-arch build + +* Fri Nov 10 2023 Dan Horák - 2:2.29.0-4 +- fix upstream kernel installations + +* Mon Oct 23 2023 Yaakov Selkowitz - 2:2.29.0-3 +- Use vendored dependencies in RHEL builds + +* Thu Aug 31 2023 Jakub Čajka - 2:2.29.0-2 +- enable rust based tools + +* Mon Aug 07 2023 Dan Horák - 2:2.29.0-1 +- rebased to 2.29.0 + +* Sat Jul 22 2023 Fedora Release Engineering - 2:2.28.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Dan Horák - 2:2.28.0-1 +- rebased to 2.28.0 + +* Wed May 31 2023 Dan Horák - 2:2.27.0-1 +- rebased to 2.27.0 + +* Fri May 19 2023 Petr Pisar - 2:2.26.0-2 +- Rebuild against rpm-4.19 (https://fedoraproject.org/wiki/Changes/RPM-4.19) + +* Fri Mar 03 2023 Dan Horák - 2:2.26.0-1 +- rebased to 2.26.0 + * Tue Jan 31 2023 Dan Horák - 2:2.25.0-4 - add post GA fixes diff --git a/sources b/sources index 4fb12d4..8572938 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (s390-tools-2.25.0.tar.gz) = 1c766a4bd19c957596c741a80141712acf150591c0ff1a47caf1aa8a17f7153c1441560f05aef78bb3f05bd35c1fef431569cabd7e7d6b003bd74beedb7213d9 +SHA512 (s390-tools-2.40.0.tar.gz) = 1943429581b280bf9ea370da3700a234d509837cb45b2354cdf79b38db87d2183010d18d9132defd77b9d8e11b7e002c447ffd7c912e20a50da4cb6877758c0e +SHA512 (s390-tools-2.40.0-rust-vendor.tar.xz) = fd1894c4e950a3c51054432731a3aeef4318e794aa4af2dc5fed31da16dce2020f014a64241e44766fb40b0fd6c1ac5943366e38dcfebf264875220ecf1285b5