diff --git a/rpminspect.yaml b/rpminspect.yaml index 9d4a1bf..7e19000 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -5,5 +5,5 @@ pathmigration: badfuncs: allowed: - /usr/sbin/qethqoat: + /usr/bin/qethqoat: - inet_ntoa diff --git a/s390utils-2.35.0-fedora.patch b/s390utils-2.40.0-fedora.patch similarity index 100% rename from s390utils-2.35.0-fedora.patch rename to s390utils-2.40.0-fedora.patch diff --git a/s390utils.spec b/s390utils.spec index 8878c75..7da6a02 100644 --- a/s390utils.spec +++ b/s390utils.spec @@ -11,20 +11,47 @@ %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.35.0 +Version: 2.40.0 Release: 1%{?dist} Epoch: 2 -# MIT covers nearly all the files, except init files -License: MIT AND LGPL-2.1-or-later +# 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 @@ -81,32 +108,7 @@ 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(lazy_static) -BuildRequires: crate(libc) -BuildRequires: crate(log) -BuildRequires: crate(mockito) -BuildRequires: crate(openssl) -BuildRequires: crate(openssl-probe) -BuildRequires: crate(serde) -BuildRequires: crate(serde_derive) -BuildRequires: crate(serde_test) -BuildRequires: crate(serde_yaml) -BuildRequires: crate(strsim) -BuildRequires: crate(terminal_size) -BuildRequires: crate(thiserror) -BuildRequires: crate(zerocopy) -BuildRequires: rust-packaging +BuildRequires: cargo-rpm-macros >= 24 %endif %description @@ -130,6 +132,21 @@ popd %endif rm ./rust/Cargo.lock +# 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 + +# 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}" \ @@ -138,7 +155,12 @@ make \ 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 @@ -152,13 +174,17 @@ popd %install -make install \ +%make_install \ HAVE_DRACUT=1 \ %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 @@ -181,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 @@ -226,6 +253,16 @@ 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 @@ -250,22 +287,36 @@ touch %{buildroot}%{_sysconfdir}/zipl.conf %{_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/genprotimg/ +%{_datadir}/s390-tools/netboot/ +%{_datadir}/s390-tools/pvimg/ +%{bash_completions_dir}/*.bash +%{zsh_completions_dir}/_* # # enf of multi-arch section @@ -284,6 +335,7 @@ 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 @@ -359,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 @@ -375,7 +429,7 @@ This package provides minimal set of tools needed to system to boot. # %package base -License: MIT AND LGPL-2.1-or-later +License: MIT AND LGPL-2.1-or-later AND %{extra_licenses_from_rust_deps} Summary: S390 base tools Provides: s390-tools-base = %{epoch}:%{version}-%{release} Requires: coreutils @@ -395,6 +449,7 @@ BuildRequires: cryptsetup-devel >= 2.0.3 BuildRequires: json-c-devel BuildRequires: rpm-devel BuildRequires: libxml2-devel +BuildRequires: libnl3-devel %description base @@ -472,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. @@ -526,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 @@ -573,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 @@ -591,22 +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}/pvapconfig %{_bindir}/mk-s390image +%{_bindir}/pvapconfig +%{_bindir}/pvimg +%{_bindir}/pvinfo %{_bindir}/pvattest %{_bindir}/pvextract-hdr %{_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 @@ -622,25 +679,37 @@ 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/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* @@ -671,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* @@ -685,10 +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/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 @@ -710,7 +783,7 @@ BuildArch: noarch %files se-data %dir %{_datadir}/s390-tools -%{_datadir}/s390-tools/genprotimg/ +%{_datadir}/s390-tools/pvimg/ # # *********************** s390-tools osasnmpd package *********************** @@ -863,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 \ @@ -892,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 @@ -986,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 *********************** @@ -1065,6 +1135,41 @@ User-space development files for the s390/s390x architecture. %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) diff --git a/sources b/sources index aa65d49..8572938 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (s390-tools-2.35.0.tar.gz) = 1ee6e7dc5a0c504bb23bde00e5e6a2ed333e7712677056075caf68a02eb222cd9c00d16fcf17e0a7c9f89609901d343b55953b0036c0d2cab35830ea8eb53fea -SHA512 (s390-tools-2.35.0-rust-vendor.tar.xz) = 116adeac121c56d7d5bc37b3a7972a78e1ce86fd53f919d293d4bfe92999449ce6f30a592fdb3f4d48fda64817c9b19587a038bf832c7b745a715b9b469e1ee4 +SHA512 (s390-tools-2.40.0.tar.gz) = 1943429581b280bf9ea370da3700a234d509837cb45b2354cdf79b38db87d2183010d18d9132defd77b9d8e11b7e002c447ffd7c912e20a50da4cb6877758c0e +SHA512 (s390-tools-2.40.0-rust-vendor.tar.xz) = fd1894c4e950a3c51054432731a3aeef4318e794aa4af2dc5fed31da16dce2020f014a64241e44766fb40b0fd6c1ac5943366e38dcfebf264875220ecf1285b5