Compare commits

...

81 Commits
f32 ... rawhide

Author SHA1 Message Date
Neal Gompa 93479b677f Add 's390-tools' Provides to all packages
The upstream name of this is 's390-tools', and nearly all
other Linux distributions ship it as such. Make life easier
for people by also providing this name.
2024-03-08 10:45:47 -05:00
Dan Horák 882b26e468 unconditionally build with rust 2024-02-05 11:25:21 +00:00
Dan Horák 0226a1b211 - rebased to 2.31.0 (rhbz#2262499) 2024-02-05 11:07:42 +00:00
Dan Horák 3eddb1a036 - add s390utils-se-data as a noarch subpackage with Secure Execution data files 2024-01-26 08:38:00 +00:00
Dan Horák ad9e1ad7a0 - rebased to 2.30.0 (rhbz#2252519) 2024-01-02 14:26:47 +00:00
Yaakov Selkowitz 0f03699129 Fix build with libxml2-2.12.0
https://github.com/ibm-s390-linux/s390-tools/pull/160
2023-12-12 19:50:01 -05:00
Fabio Valentini f00ff2ac55
Rebuild for openssl crate >= v0.10.60 (RUSTSEC-2023-0044, RUSTSEC-2023-0072) 2023-12-01 16:17:48 +01:00
Dan Horák 2c0b6d2ea2 enable multi-arch builds
Select tools are expected to be used on non-s390x platforms, so drop
ExclusiveArch and add a special %files section for this case. The tools
will be available in the s390utils binary rpm.
2023-11-13 10:10:17 +01:00
Dan Horák 8a3c26800a - fix upstream kernel installations
Apply changes from the grub2 kernel install helper script to the zipl
helper.

Related: rhbz#2239008
2023-11-10 12:11:25 +01:00
Dan Horák ca71fe340e let cp remove the destination files
clone of e1206cf45b?branch=rawhide
2023-11-10 11:59:34 +01:00
Dan Horák 7a5c89e84a do not preserve ownership or xattrs on copied files
clone of 8800efcb0b?branch=rawhide
2023-11-10 11:48:10 +01:00
Dan Horák 40db3a57ae rename installed kernel to match name used in boot entry
clone of af4f1536b6?branch=rawhide
2023-11-10 11:41:36 +01:00
Dan Horák 70bd1af9bd request a specific version of zerocopy as we have a newer one too 2023-11-09 11:20:35 +01:00
Dan Horák 51cd104ddd use %license for LICENSE 2023-11-09 09:46:07 +01:00
Dan Horák 5184801f0e switch to %autosetup 2023-10-24 13:40:29 +00:00
Yaakov Selkowitz 535cc10766 Use vendored dependencies in RHEL builds
RHEL does not package individual rust crate dependencies.  Instead,
rust-based packages must vendor these, and use the RHEL macros to
build them.
2023-10-23 20:50:30 -04:00
Jakub Čajka 3b4ba770c1
Move all package options to bconds 2023-09-06 11:00:23 +02:00
Jakub Čajka 702b044c20
Enable rust based tools 2023-09-01 12:44:40 +02:00
Jakub Čajka 3fa397e687
Fix missing semicolon
Resolves: BZ#2235734
2023-08-31 13:08:54 +02:00
Jakub Čajka 9e549c2e6c Convert to the SPDX 2023-08-08 08:51:16 +00:00
Dan Horák 087a10568c - rebased to 2.29.0 2023-08-07 08:50:46 +00:00
Fedora Release Engineering 262d603726 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 00:55:06 +00:00
Dan Horák 4b655c64f1 add rpminspect.yaml 2023-07-14 10:04:29 +02:00
Dan Horák d81d4fd383 - rebased to 2.28.0 2023-07-13 15:10:59 +00:00
Dan Horák da9838c800 modernize %patch usage 2023-05-31 13:10:36 +00:00
Dan Horák b43bfd7eed - rebased to 2.27.0 2023-05-31 12:44:16 +00:00
Petr Písař a6e30a308a Unescape Patch100 definition
Broken with commit 9e98b44d8b.
2023-05-19 16:40:48 +02:00
Petr Písař 57b37fee1f Rebuild against rpm-4.19 (https://fedoraproject.org/wiki/Changes/RPM-4.19) 2023-05-19 16:25:40 +02:00
Dan Horák d6f3723e10 - rebased to 2.26.0 2023-03-03 10:01:46 +00:00
Dan Horák 9e98b44d8b - add post GA fixes 2023-01-31 15:24:52 +01:00
Dan Horák 607a6825f4 Revert "Generate /etc/kernel/cmdline if it does not exist"
This reverts commit 77693cd7eb.

Although it fixes the situation when a new kernel is being installed in
a %post script, it breaks the initial kernel installation, because the
BLS snippet doesn't exists yet.
2023-01-23 13:26:41 +00:00
Dan Horák 685ce32c07 - update kernel install script to write /etc/kernel/cmdline 2023-01-19 10:00:30 +01:00
Robbie Harwood 77693cd7eb Generate /etc/kernel/cmdline if it does not exist
Don't fall back to reading /proc/cmdline: that will likely reflect the
installer environment which will result in a non-booting kernel entry.

See-also: rhbz#1940288
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
2023-01-17 11:35:16 -05:00
Dan Horák c33643ba10 - rebased to 2.25.0 2022-12-09 13:54:52 +00:00
Dan Horák bef2b35dc9 - update for Transparent DASD PPRC (Peer-to-Peer Remote Copy) handling 2022-11-22 17:35:10 +00:00
Dan Horák af41c81d1b - rebased to 2.24.0 2022-11-10 16:45:34 +00:00
Dan Horák 473c14c9ab - rebased to 2.23.0 2022-08-19 09:04:27 +00:00
Fedora Release Engineering a7424a8ff0 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 07:54:12 +00:00
Dan Horák 6f524eab5a add missing BR 2022-06-27 11:49:35 +00:00
Dan Horák ca6b193ac3 - rebased to 2.22.0 2022-06-27 10:20:07 +00:00
Dan Horák cc536faf67 - do not fail on emtpy /proc/cmdline when installing kernel (#1899759) 2022-05-31 11:54:12 +00:00
Dan Horák f7710610d8 chreipl-fcp-mpath man page is distributed pregenerated 2022-04-26 11:47:55 +02:00
Dan Horák 1c93647293 Revert "fix cpictl permissions (#2024102)"
This reverts commit 78ef6e86e5.
2022-04-26 11:15:46 +02:00
Dan Horák a2cb8e5beb - rebased to 2.21.0 2022-04-22 13:27:04 +00:00
Dan Horák 6dc91fa6ea - rebased to 2.20.0
- switch to fuse3
2022-02-07 09:53:18 +00:00
Fedora Release Engineering ad7942bd0c - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 00:14:49 +00:00
Dan Horák a483890884 - update ccw udev rules 2021-11-26 16:49:21 +01:00
Dan Horák 78ef6e86e5 fix cpictl permissions (#2024102) 2021-11-18 12:06:45 +00:00
Dan Horák b385215ded - rebased to 2.19.0
- cmsfs-fuse Requires glibc-gconv-extra (#2022652)
2021-11-16 15:38:15 +00:00
Dan Horák c69c48c992 - move vmcp to core (#1931287) 2021-10-21 13:13:40 +02:00
Dan Horák ea8f5ea852 - rebased to 2.18.0 2021-10-05 10:10:21 +00:00
Fedora Release Engineering 083020797b - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 16:57:00 +00:00
Dan Horák a8e761756e drop trailing slash when listing dirs with %dir in %files 2021-07-15 10:48:13 +02:00
Dan Horák 287377b414 base should own the /usr/lib64/zkey directory 2021-07-15 10:46:57 +02:00
Dan Horák c1e8b3a309 workaround a build issue with new ld (binutils >= 2.36)
The new ld doesn't ignore an unrecorgnized -no-pie option.

Related: https://github.com/ibm-s390-linux/s390-tools/pull/106
2021-07-14 14:26:27 +02:00
Dan Horák 0419550a2a remove a comment 2021-07-08 11:44:55 +02:00
Dan Horák 9e8e130a7c use URLs for RHEL/Fedora specific scripts and configs 2021-07-08 11:42:31 +02:00
Dan Horák 2a913049ee modernize ccw udev rules 2021-07-08 11:38:29 +02:00
Dan Horák ce7722eab4 - rebased to 2.17.0 2021-07-07 17:49:40 +00:00
Dan Horák e4da637a53 zfcpconf: set exit code explicitly (#1977434) 2021-06-30 11:36:03 +02:00
Dan Horák b2e74b0a3e mk-s390image script requires file 2021-06-22 21:31:28 +02:00
Dan Horák 2bf7d95c95 - drop obsolete setting from device_cio_free.service 2021-06-17 10:00:57 +02:00
Dan Horák 02409651fa - drop superfluous Require from s390utils-base 2021-03-01 10:54:27 +00:00
Dan Horák 3d1d949272 - rebased to 2.16.0 2021-02-24 18:05:21 +00:00
Fedora Release Engineering d792b32be1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 19:51:30 +00:00
Tom Stellard 7a34f7d689 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 21:02:58 +00:00
Dan Horák 6ce1f4d14f - move lszdev to core 2021-01-05 16:28:32 +00:00
Dan Horák 1409803b15 - move fdasd to core 2021-01-04 16:53:36 +01:00
Dan Horák a823de10da move cio_ignore man page to core too 2020-11-03 16:33:34 +01:00
Petr Šabata ab939b3c36 Fix the development package dependency by adding epoch
Signed-off-by: Petr Šabata <contyk@redhat.com>
2020-10-29 11:15:12 +01:00
Dan Horák 0450181b8e - rebased to 2.15.1 2020-10-29 07:38:46 +00:00
Dan Horák 4a5ecf837b - move mk-s390image to /usr/bin 2020-10-28 08:04:41 +00:00
Dan Horák 1cc3998852 - rebased to 2.15.0 2020-10-27 10:17:25 +00:00
Dan Horák 2ff6f78332 move cio_ignore to core
Seems dracut needs cio_ignore when creating initrd during kernel installation.
2020-10-26 11:16:40 +01:00
Dan Horák 1b35631849 - update scripts for https://fedoraproject.org/wiki/Changes/NetworkManager_keyfile_instead_of_ifcfg_rh 2020-10-07 15:09:59 +02:00
Dan Horák 2f9ebbc0ab bump release 2020-09-21 17:38:52 +02:00
Dan Horák 83bfc0e7d7 - rebuilt for net-snmp 5.9 2020-09-21 17:38:11 +02:00
Dan Horák cf1344b04d fix date in changelog 2020-08-26 10:50:18 +02:00
Dan Horák a895d0c8be - add support for auto LUN scan to zfcpconf.sh (#1552697) 2020-08-26 10:49:18 +02:00
Dan Horák a9bf2dafeb - rebased to 2.14.0 2020-08-25 09:44:19 +02:00
Fedora Release Engineering 1f19dda30e - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 10:09:21 +00:00
14 changed files with 782 additions and 141 deletions

17
.gitignore vendored
View File

@ -5,18 +5,5 @@ src_vipa-2.0.4.tar.gz
/lib-zfcp-hbaapi-2.1.tar.gz
/src_vipa-2.1.0.tar.gz
/s390-tools-*.tar.bz2
/s390-tools-2.0.0.tar.gz
/s390-tools-2.1.0.tar.gz
/s390-tools-2.2.0.tar.gz
/s390-tools-2.3.0.tar.gz
/s390-tools-2.4.0.tar.gz
/s390-tools-2.5.0.tar.gz
/s390-tools-2.6.0.tar.gz
/s390-tools-2.7.0.tar.gz
/s390-tools-2.7.1.tar.gz
/s390-tools-2.8.0.tar.gz
/s390-tools-2.9.0.tar.gz
/s390-tools-2.10.0.tar.gz
/s390-tools-2.11.0.tar.gz
/s390-tools-2.12.0.tar.gz
/s390-tools-2.13.0.tar.gz
/s390-tools-*.tar.gz
/s390-tools-*-rust-vendor.tar.xz

View File

@ -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-<version>.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
@ -88,16 +92,10 @@ case "$COMMAND" in
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
[[ -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}"
@ -118,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/")"

View File

@ -29,12 +29,6 @@ case "$COMMAND" in
done
fi
if ! [[ ${BOOT_OPTIONS[*]} ]]; then
echo "Could not determine the kernel command line parameters." >&2
echo "Please specify the kernel command line in /etc/kernel/cmdline!" >&2
exit 1
fi
BLS_RESCUE="${BLS_DIR}/${MACHINE_ID}-0-rescue.conf"
if [[ -f "${BLS_RESCUE}" ]] && grep -q '^options.*$kernelopts' "${BLS_RESCUE}"; then
sed -i -e "s,^linux.*,linux /boot/vmlinuz-0-rescue-${MACHINE_ID},g" "${BLS_RESCUE}"

View File

@ -1,13 +1,4 @@
ACTION!="add|change", GOTO="ccw_end"
ACTION!="add|bind|change", GOTO="ccw_end"
SUBSYSTEM!="ccw", GOTO="ccw_end"
ATTRS{cutype}=="1731/01", RUN+="ccw_init"
ATTRS{cutype}=="1731/02", RUN+="ccw_init"
ATTRS{cutype}=="1731/05", RUN+="ccw_init"
ATTRS{cutype}=="1731/06", RUN+="ccw_init"
ATTRS{cutype}=="3088/01", RUN+="ccw_init"
ATTRS{cutype}=="3088/08", RUN+="ccw_init"
ATTRS{cutype}=="3088/60", RUN+="ccw_init"
ATTRS{cutype}=="3088/61", RUN+="ccw_init"
ATTRS{cutype}=="3088/1e", RUN+="ccw_init"
ATTRS{cutype}=="3088/1f", RUN+="ccw_init"
DRIVER=="ctcm|lcs|qeth", RUN+="ccw_init"
LABEL="ccw_end"

View File

@ -35,6 +35,14 @@ get_config_by_subchannel ()
| LC_ALL=C sed -e "$__sed_discard_ignored_files"
}
get_config_by_subchannel_nm ()
{
LANG=C grep -E -i -l \
"^s390-subchannels=([0-9]\.[0-9]\.[a-f0-9]+;){0,2}${1};([0-9]\.[0-9]\.[a-f0-9]+;){0,2}$" \
/etc/NetworkManager/system-connections/*.nmconnection \
| LC_ALL=C sed -e "$__sed_discard_ignored_files"
}
CHANNEL=${DEVPATH##*/}
if [ $MODE = "dracut" ]; then
@ -65,7 +73,14 @@ elif [ $MODE = "normal" ]; then
if [ -n "$CONFIG_FILE" ]; then
. $CONFIG_FILE
else
exit 1
CONFIG_FILE=$(get_config_by_subchannel_nm $CHANNEL)
if [ -n "$CONFIG_FILE" ]; then
NETTYPE=$(sed -nr "/^\[ethernet\]/ { :l /^s390-nettype[ ]*=/ { s/.*=[ ]*//; p; q;}; n; b l;}" $CONFIG_FILE)
SUBCHANNELS=$(sed -nr "/^\[ethernet\]/ { :l /^s390-subchannels[ ]*=/ { s/.*=[ ]*//; p; q;}; n; b l;}" $CONFIG_FILE | sed -e "s/;/,/g" -e "s/,$//")
LAYER2=$(sed -nr "/^\[ethernet-s390-options\]/ { :l /^layer2[ ]*=/ { s/.*=[ ]*//; p; q;}; n; b l;}" $CONFIG_FILE)
else
exit 1
fi
fi
else
echo "Unknown mode=$MODE"

View File

@ -306,6 +306,14 @@ if [ $MODE_ZNET ]; then
eval "$line"
free_device $SUBCHANNELS
done
for line in $(LANG=C grep -E -i -h \
"^s390-subchannels=([0-9]\.[0-9]\.[a-f0-9]+;){2,3}$" \
$( (ls /etc/NetworkManager/system-connections/*.nmconnection 2> /dev/null || echo "__no_config_file") | \
LC_ALL=C sed -e "$__sed_discard_ignored_files") 2> /dev/null)
do
SUBCHANNELS="$(echo $line | sed -e "s/s390-subchannels=//" -e "s/;/,/g")"
free_device $SUBCHANNELS
done
fi
[ -z "$ALL_DEVICES" ] && exit 0

View File

@ -7,7 +7,6 @@ Before=sysinit.target systemd-udev-trigger.service
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/device_cio_free
StandardOutput=syslog
[Install]
WantedBy=sysinit.target

8
rpminspect.yaml Normal file
View File

@ -0,0 +1,8 @@
---
pathmigration:
excluded_paths:
- /lib/s390-tools
badfuncs:
ignore:
- /usr/sbin/qethqoat

View File

@ -1,19 +1,234 @@
diff -up s390-tools-2.9.0/zipl/src/Makefile.blscfg-rpm-nvr-sort s390-tools-2.9.0/zipl/src/Makefile
--- s390-tools-2.9.0/zipl/src/Makefile.blscfg-rpm-nvr-sort 2019-05-22 08:16:17.317273801 -0400
+++ s390-tools-2.9.0/zipl/src/Makefile 2019-05-22 08:18:02.947273801 -0400
@@ -7,7 +7,7 @@ ALL_CPPFLAGS += -I../include -I../boot \
-D_FILE_OFFSET_BITS=64 $(NO_PIE_CFLAGS)
ALL_LDFLAGS += -Wl,-z,noexecstack $(NO_PIE_LDFLAGS)
From b2daaa34776ba6afec879e362378f6f7563590a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
Date: Mon, 20 Jun 2022 17:43:05 +0200
Subject: [PATCH 1/2] Revert "zipl/src: Implement sorting bls entries by
versions"
This reverts commit a0dba6bfdb50ff373fa710ffe2a307cc0748f18b.
---
zipl/src/scan.c | 139 ++----------------------------------------------
1 file changed, 3 insertions(+), 136 deletions(-)
diff --git a/zipl/src/scan.c b/zipl/src/scan.c
index 0cea1d4..9352f76 100644
--- a/zipl/src/scan.c
+++ b/zipl/src/scan.c
@@ -10,7 +10,6 @@
*
*/
-libs = $(rootdir)/libutil/libutil.a
+libs = $(rootdir)/libutil/libutil.a -lrpmio
-static const char *VERSION_KEYWORD = "version";
objects = misc.o error.o scan.o job.o boot.o bootmap.o disk.o \
install.o zipl.o $(rootdir)/zipl/boot/data.o
diff -up s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort s390-tools-2.9.0/zipl/src/scan.c
--- s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort 2019-05-21 09:13:36.000000000 -0400
+++ s390-tools-2.9.0/zipl/src/scan.c 2019-05-22 08:16:17.317273801 -0400
@@ -33,6 +33,8 @@
/* Need ISOC99 function isblank() in ctype.h */
#ifndef __USE_ISOC99
@@ -646,7 +645,7 @@ scan_file(const char* filename, struct scan_token** token)
static int
-bls_filter_by_names(const struct dirent *ent)
+bls_filter(const struct dirent *ent)
{
int offset = strlen(ent->d_name) - strlen(".conf");
@@ -656,111 +655,13 @@ bls_filter_by_names(const struct dirent *ent)
return strncmp(ent->d_name + offset, ".conf", strlen(".conf")) == 0;
}
-struct version {
- char *line; /* pointer to a line with version keyword */
- int offset; /* offset of version value in the line */
-};
-
-/*
- * Locate version in bls file represented by ENT
- */
-static void get_version(const struct dirent *ent, struct version *v)
-{
- char *line = NULL;
- size_t len = 0;
- char *d_name;
- FILE *stream;
- ssize_t read;
-
- memset(v, 0, sizeof(*v));
- d_name = misc_make_path((char *)blsdir, (char *)ent->d_name);
- if (!d_name)
- return;
-
- stream = fopen(d_name, "r");
- free(d_name);
- if (!stream)
- return;
-
- while ((read = getline(&line, &len, stream)) != -1) {
- if (line[read - 1] == '\n') {
- line[read - 1] = '\0';
- read--;
- }
- if ((size_t)read <= strlen(VERSION_KEYWORD) + 1)
- continue;
- if (strcmp(VERSION_KEYWORD, line) > 0)
- continue;
- if (!isblank(line[strlen(VERSION_KEYWORD)]))
- continue;
- /* skip blanks */
- v->offset = strlen(VERSION_KEYWORD) + 1;
- while (v->offset < read - 1 && isblank(line[v->offset]))
- v->offset++;
- if (isblank(line[v->offset]))
- /*
- * all characters after the keyword
- * are blanks. Invalid version
- */
- continue;
- v->line = line;
- fclose(stream);
- return;
- }
- free(line);
- fclose(stream);
-}
-
-static void put_version(struct version *v)
-{
- free(v->line);
-}
-
-/**
- * Check version in bls file represented by ENT.
- * Return 1 if version is valid. Otherwise return 0
- */
-static int bls_filter_by_versions(const struct dirent *ent)
-{
- struct version v;
-
- if (bls_filter_by_names(ent) == 0)
- return 0;
-
- get_version(ent, &v);
- if (v.line) {
- put_version(&v);
- return 1;
- }
- return 0;
-}
-
static int
-bls_sort_by_names(const struct dirent **ent_a, const struct dirent **ent_b)
+bls_sort(const struct dirent **ent_a, const struct dirent **ent_b)
{
return strverscmp((*ent_a)->d_name, (*ent_b)->d_name);
}
-static int
-bls_sort_by_versions(const struct dirent **ent_a, const struct dirent **ent_b)
-{
- struct version v1, v2;
- int ret;
-
- get_version(*ent_a, &v1);
- get_version(*ent_b, &v2);
- /*
- * Both versions are valid.
- * It is guaranteed by bls_filter_by_versions()
- */
- ret = strverscmp(v1.line + v1.offset, v2.line + v2.offset);
-
- put_version(&v1);
- put_version(&v2);
-
- return ret;
-}
static int
scan_append_section_heading(struct scan_token* scan, int* index, char* name);
@@ -1110,40 +1011,6 @@ scan_count_target_keywords(char* keyword[])
return num;
}
-static int bls_scandir(struct dirent ***bls_entries)
-{
- struct dirent **entries1;
- struct dirent **entries2;
- int n1, n2;
-
- /* arrange by names */
- n1 = scandir(blsdir, &entries1,
- bls_filter_by_names, bls_sort_by_names);
- if (n1 <= 0)
- return n1;
- /* arrange by versions */
- n2 = scandir(blsdir, &entries2,
- bls_filter_by_versions, bls_sort_by_versions);
-
- if (n2 <= 0 || n2 < n1) {
- /*
- * failed to sort by versions,
- * fall back to sorting by filenames
- */
- *bls_entries = entries1;
- while (n2--)
- free(entries2[n2]);
- free(entries2);
- return n1;
- }
- /* use arrangement by versions */
- *bls_entries = entries2;
- while (n1--)
- free(entries1[n1]);
- free(entries1);
- return n2;
-}
-
int
scan_check_target_data(char* keyword[], int* line)
{
@@ -1464,7 +1331,7 @@ int scan_bls(struct scan_token **token, int scan_size)
if (!(stat(blsdir, &sb) == 0 && S_ISDIR(sb.st_mode)))
return 0;
- n = bls_scandir(&bls_entries);
+ n = scandir(blsdir, &bls_entries, bls_filter, bls_sort);
if (n <= 0)
return n;
--
2.39.2
From 692e70bcfc32a05e30146bd7077c41e0eaceff03 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 20 Jun 2022 17:46:59 +0200
Subject: [PATCH 2/2] blscfg: sort like rpm nvr, not like a single version
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Dan Horák <dan@danny.cz>
---
zipl/src/Makefile | 1 +
zipl/src/scan.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 95 insertions(+), 2 deletions(-)
diff --git a/zipl/src/Makefile b/zipl/src/Makefile
index cab5655..7ec215d 100644
--- a/zipl/src/Makefile
+++ b/zipl/src/Makefile
@@ -9,6 +9,7 @@ ALL_LDFLAGS += -Wl,-z,noexecstack $(NO_PIE_LDFLAGS)
libs = $(rootdir)/libutil/libutil.a \
$(rootdir)/libvtoc/libvtoc.a \
+ -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
diff --git a/zipl/src/scan.c b/zipl/src/scan.c
index 9352f76..3327e2d 100644
--- a/zipl/src/scan.c
+++ b/zipl/src/scan.c
@@ -35,6 +35,8 @@
#include "lib/util_base.h"
@ -22,7 +237,7 @@ diff -up s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort s390-tools-2.9.0/z
#include "boot.h"
#include "error.h"
#include "misc.h"
@@ -653,13 +655,103 @@ bls_filter(const struct dirent *ent)
@@ -655,13 +657,103 @@ bls_filter(const struct dirent *ent)
return strncmp(ent->d_name + offset, ".conf", strlen(".conf")) == 0;
}
@ -128,3 +343,6 @@ diff -up s390-tools-2.9.0/zipl/src/scan.c.blscfg-rpm-nvr-sort s390-tools-2.9.0/z
static int
scan_append_section_heading(struct scan_token* scan, int* index, char* name);
--
2.39.2

View File

@ -61,10 +61,10 @@ index 871935c783f..d8d5eca5867 100755
;;
--)
shift
diff --git a/scripts/zipl-switch-to-blscfg.1 b/scripts/zipl-switch-to-blscfg.1
diff --git a/scripts/zipl-switch-to-blscfg.8 b/scripts/zipl-switch-to-blscfg.8
index 6bd14d00d14..71b904ffd1c 100644
--- a/scripts/zipl-switch-to-blscfg.1
+++ b/scripts/zipl-switch-to-blscfg.1
--- a/scripts/zipl-switch-to-blscfg.8
+++ b/scripts/zipl-switch-to-blscfg.8
@@ -37,9 +37,9 @@ The DIRECTORY where the BLS fragments will be generated. The directory is create
The FILE used for zipl configuration file, defaults to /etc/zipl.conf.

View File

View File

@ -1,33 +1,44 @@
# 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}
%bcond_without pandoc
%else
%bcond_with pandoc
%endif
Name: s390utils
Summary: Utilities and daemons for IBM z Systems
Version: 2.13.0
Release: 4%{?dist}
Version: 2.31.0
Release: 2%{?dist}
Epoch: 2
License: MIT
ExclusiveArch: s390 s390x
#URL: http://www.ibm.com/developerworks/linux/linux390/s390-tools.html
URL: https://github.com/ibm-s390-tools/s390-tools
Source0: https://github.com/ibm-s390-tools/s390-tools/archive/v%{version}.tar.gz#/s390-tools-%{version}.tar.gz
Source5: zfcpconf.sh
Source7: zfcp.udev
# files for DASD initialization
Source12: dasd.udev
Source13: dasdconf.sh
Source14: device_cio_free
Source15: device_cio_free.service
Source16: ccw_init
Source17: ccw.udev
Source21: normalize_dasd_arg
# MIT covers nearly all the files, except init files
License: MIT AND LGPL-2.1-or-later
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
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
Source13: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/dasdconf.sh
Source14: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/device_cio_free
Source15: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/device_cio_free.service
Source16: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/ccw_init
Source17: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/ccw.udev
Source21: https://fedorapeople.org/cgit/sharkcz/public_git/utils.git/tree/normalize_dasd_arg
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
@ -35,6 +46,19 @@ Source25: 91-zipl.install
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
# 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}
@ -42,8 +66,48 @@ 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: 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
%endif
%description
This is a meta package for installing the default s390-tools sub packages.
@ -54,20 +118,25 @@ 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}
# Fedora/RHEL changes
%patch0 -p1 -b .zipl-invert-script-options
%patch1 -p1 -b .blscfg-rpm-nvr-sort
# remove --strip from install
find . -name Makefile | xargs sed -i 's/$(INSTALL) -s/$(INSTALL)/g'
%autosetup -n s390-tools-%{version} -p1
%if 0%{?rhel}
pushd rust
%cargo_prep -V 1
popd
%else
%cargo_prep
%endif
rm ./rust/Cargo.lock
%build
make \
CFLAGS="%{build_cflags}" CXXFLAGS="%{build_cflags}" LDFLAGS="%{build_ldflags}" \
CFLAGS="%{build_cflags}" CXXFLAGS="%{build_cxxflags}" LDFLAGS="%{build_ldflags}" \
HAVE_DRACUT=1 \
%if %{with pandoc}
ENABLE_DOC=1 \
%endif
NO_PIE_LDFLAGS="" \
BINDIR=/usr/sbin \
DISTRELEASE=%{release} \
V=1
@ -76,14 +145,21 @@ make \
%install
make install \
HAVE_DRACUT=1 \
%if %{with pandoc}
ENABLE_DOC=1 \
%endif
DESTDIR=%{buildroot} \
BINDIR=/usr/sbin \
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
@ -94,6 +170,9 @@ else
fi
%endif
# move tools to searchable dir
mv %{buildroot}%{_datadir}/s390-tools/netboot/mk-s390image %{buildroot}%{_bindir}
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
install -p -m 755 %{SOURCE5} %{buildroot}%{_sbindir}
@ -138,17 +217,61 @@ 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
%{_bindir}/pvapconfig
%{_bindir}/pvattest
%{_bindir}/pvextract-hdr
%{_bindir}/pvsecret
%{_mandir}/man1/genprotimg.1*
%{_mandir}/man1/pvapconfig.1*
%{_mandir}/man1/pvattest.1*
%{_mandir}/man1/pvattest-create.1*
%{_mandir}/man1/pvattest-perform.1*
%{_mandir}/man1/pvattest-verify.1*
%{_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*
%dir %{_datadir}/s390-tools
%{_datadir}/s390-tools/genprotimg/
#
# 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
%{?systemd_requires}
# BRs are covered via the base package
@ -169,29 +292,45 @@ This package provides minimal set of tools needed to system to boot.
%systemd_postun_with_restart cpi.service
%files core
%doc README.md zdev/src/*.txt
%doc LICENSE
%doc README.md zdev/src/chzdev_usage.txt
%license LICENSE
%{_sbindir}/chreipl
%{_sbindir}/chzdev
%{_sbindir}/cio_ignore
%{_sbindir}/dasdfmt
%{_sbindir}/dasdinfo
%{_sbindir}/fdasd
%{_sbindir}/lszdev
%{_sbindir}/vmcp
%{_sbindir}/zipl
%dir /lib/s390-tools/
%{_sbindir}/zipl-editenv
%dir /lib/s390-tools
/lib/s390-tools/{zipl,chreipl}_helper.*
/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*
%{_mandir}/man8/cio_ignore.8*
%{_mandir}/man8/dasdfmt.8*
%{_mandir}/man8/dasdinfo.8*
%{_mandir}/man8/fdasd.8*
%{_mandir}/man8/lszdev.8*
%{_mandir}/man8/vmcp.8*
%{_mandir}/man8/zipl.8*
%{_mandir}/man8/zipl-editenv.8*
# Additional Fedora/RHEL specific stuff
%ghost %config(noreplace) %{_sysconfdir}/dasd.conf
@ -211,6 +350,7 @@ This package provides minimal set of tools needed to system to boot.
%{_udevrulesdir}/59-dasd.rules
%{_udevrulesdir}/60-readahead.rules
%{_udevrulesdir}/81-ccw.rules
%{_udevrulesdir}/81-dpm.rules
%{_udevrulesdir}/90-cpi.rules
%{_sysconfdir}/kernel/install.d/20-grubby.install
%{_prefix}/lib/kernel/install.d/10-zfcpdump.install
@ -224,23 +364,24 @@ This package provides minimal set of tools needed to system to boot.
#
%package base
License: MIT
License: MIT AND LGPL-2.1-or-later
Summary: S390 base tools
Provides: s390-tools-base = %{epoch}:%{version}-%{release}
Requires: gawk sed coreutils
Requires: sysfsutils
Requires: sg3_utils
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
BuildRequires: libpfm-devel
BuildRequires: glibc-static
BuildRequires: cryptsetup-devel >= 2.0.3
BuildRequires: json-c-devel
BuildRequires: rpm-devel
BuildRequires: glib2-devel
BuildRequires: libxml2-devel
%description base
@ -305,11 +446,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
@ -391,42 +527,45 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%systemd_postun_with_restart dumpconf.service
%files base
%doc README.md zdev/src/*.txt
%doc LICENSE
%doc README.md zdev/src/lszdev_usage.txt
%{_sbindir}/chccwdev
%{_sbindir}/chchp
%{_sbindir}/chcpumf
%{_sbindir}/chshut
%{_sbindir}/chzcrypt
%{_sbindir}/cio_ignore
%{_sbindir}/dasdstat
%{_sbindir}/dasdview
%{_sbindir}/dbginfo.sh
%{_sbindir}/fdasd
%{_sbindir}/hsavmcore
%{_sbindir}/hsci
%{_sbindir}/hyptop
%{_sbindir}/ip_watcher.pl
%{_sbindir}/lschp
%{_sbindir}/lscpumf
%{_sbindir}/lscss
%{_sbindir}/lsdasd
%{_sbindir}/lsqeth
%{_sbindir}/lshwc
%{_sbindir}/lsluns
%{_sbindir}/lsqeth
%{_sbindir}/lspai
%{_sbindir}/lsreipl
%{_sbindir}/lsscm
%{_sbindir}/lsshut
%{_sbindir}/lsstp
%{_sbindir}/lstape
%{_sbindir}/lszcrypt
%{_sbindir}/lszdev
%{_sbindir}/lszfcp
%{_sbindir}/pai
%{_sbindir}/qetharp
%{_sbindir}/qethconf
%{_sbindir}/qethqoat
%{_sbindir}/scsi_logging_level
%{_sbindir}/sclpdbf
%{_sbindir}/start_hsnc.sh
%{_sbindir}/tape390_crypt
%{_sbindir}/tape390_display
%{_sbindir}/ttyrun
%{_sbindir}/tunedasd
%{_sbindir}/vmcp
%{_sbindir}/vmur
%{_sbindir}/xcec-bridge
%{_sbindir}/zcryptctl
@ -436,54 +575,84 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%{_sbindir}/zipl-switch-to-blscfg
%{_sbindir}/znetconf
%{_sbindir}/zpcictl
%{_bindir}/lscpumf
%{_bindir}/dump2tar
%{_bindir}/genprotimg
%{_bindir}/vmconvert
%{_bindir}/pvapconfig
%{_bindir}/mk-s390image
%{_bindir}/pvattest
%{_bindir}/pvextract-hdr
%{_bindir}/pvsecret
%{_bindir}/zkey
%{_bindir}/zkey-cryptsetup
%{_unitdir}/dumpconf.service
%ghost %config(noreplace) %{_sysconfdir}/zipl.conf
%config(noreplace) %{_sysconfdir}/sysconfig/dumpconf
/lib/s390-tools/cpumf_helper
%{_sysconfdir}/mdevctl.d/*
/usr/lib/dracut/modules.d/99ngdump/
# own the mdevctl dirs until new release is available
%dir /usr/lib/mdevctl
%dir /usr/lib/mdevctl/scripts.d
%dir /usr/lib/mdevctl/scripts.d/callouts
/usr/lib/mdevctl/scripts.d/callouts/ap-check
/lib/s390-tools/dumpconf
/lib/s390-tools/lsznet.raw
/lib/s390-tools/zfcpdump
%dir /lib/s390-tools/zfcpdump
/lib/s390-tools/zfcpdump/zfcpdump-initrd
/lib/s390-tools/znetcontrolunits
%{_mandir}/man1/dbginfo.sh.1*
%{_libdir}/libekmfweb.so.*
%{_libdir}/libkmipclient.so.*
%dir %{_libdir}/zkey
%{_libdir}/zkey/zkey-ekmfweb.so
%{_libdir}/zkey/zkey-kmip.so
%{_mandir}/man1/dump2tar.1*
%{_mandir}/man1/lscpumf.1*
%{_mandir}/man1/vmconvert.1*
%{_mandir}/man1/zfcpdbf.1*
%{_mandir}/man1/zipl-switch-to-blscfg.1*
%{_mandir}/man1/genprotimg.1*
%{_mandir}/man1/pvapconfig.1*
%{_mandir}/man1/pvattest.1*
%{_mandir}/man1/pvattest-create.1*
%{_mandir}/man1/pvattest-perform.1*
%{_mandir}/man1/pvattest-verify.1*
%{_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*
%{_mandir}/man1/zkey.1*
%{_mandir}/man1/zkey-cryptsetup.1*
%{_mandir}/man1/zkey-ekmfweb.1*
%{_mandir}/man1/zkey-kmip.1*
%{_mandir}/man4/prandom.4*
%{_mandir}/man5/hsavmcore.conf.5*
%{_mandir}/man8/chccwdev.8*
%{_mandir}/man8/chchp.8*
%{_mandir}/man8/chcpumf.8*
%{_mandir}/man8/chshut.8*
%{_mandir}/man8/chzcrypt.8*
%{_mandir}/man8/cio_ignore.8*
%{_mandir}/man8/dasdstat.8*
%{_mandir}/man8/dasdview.8*
%{_mandir}/man8/dbginfo.sh.8*
%{_mandir}/man8/dumpconf.8*
%{_mandir}/man8/fdasd.8*
%{_mandir}/man8/genprotimg.8.*
%{_mandir}/man8/hsavmcore.8*
%{_mandir}/man8/hsci.8*
%{_mandir}/man8/hyptop.8*
%{_mandir}/man8/lschp.8*
%{_mandir}/man8/lscpumf.8*
%{_mandir}/man8/lscss.8*
%{_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*
%{_mandir}/man8/lsshut.8*
%{_mandir}/man8/lsstp.8*
%{_mandir}/man8/lstape.8*
%{_mandir}/man8/lszcrypt.8*
%{_mandir}/man8/lszdev.8*
%{_mandir}/man8/lszfcp.8*
%{_mandir}/man8/pai.8*
%{_mandir}/man8/qetharp.8*
%{_mandir}/man8/qethconf.8*
%{_mandir}/man8/qethqoat.8*
@ -491,28 +660,45 @@ getent group zkeyadm > /dev/null || groupadd -r zkeyadm
%{_mandir}/man8/tape390_display.8*
%{_mandir}/man8/ttyrun.8*
%{_mandir}/man8/tunedasd.8*
%{_mandir}/man8/vmcp.8*
%{_mandir}/man8/vmur.8*
%{_mandir}/man8/zcryptctl.8*
%{_mandir}/man8/zcryptstats.8*
%{_mandir}/man8/zfcpdbf.8*
%{_mandir}/man8/zgetdump.8*
%{_mandir}/man8/zipl-switch-to-blscfg.8*
%{_mandir}/man8/znetconf.8*
%{_mandir}/man8/zpcictl.8*
%dir %{_datadir}/s390-tools/
%{_datadir}/s390-tools/cpumf/
%{_datadir}/s390-tools/genprotimg/
%dir %{_datadir}/s390-tools
%{_datadir}/s390-tools/netboot/
%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey
%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/kmip
%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/kmip/profiles
%config(noreplace) %attr(0660,root,zkeyadm)%{_sysconfdir}/zkey/kmip/profiles/*.profile
%dir %attr(0770,root,zkeyadm) %{_sysconfdir}/zkey/repository
%config(noreplace) %attr(0660,root,zkeyadm)%{_sysconfdir}/zkey/kms-plugins.conf
# 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/genprotimg/
#
# *********************** 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
@ -532,6 +718,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}
@ -571,6 +758,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
@ -600,6 +788,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
@ -638,6 +827,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
@ -700,8 +890,10 @@ fi
#
%package cmsfs-fuse
Summary: CMS file system based on FUSE
BuildRequires: fuse-devel
Requires: 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
%description cmsfs-fuse
@ -718,8 +910,10 @@ This package contains the CMS file system based on FUSE.
#
%package zdsfs
Summary: z/OS data set access based on FUSE
BuildRequires: fuse-devel
Requires: 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.
@ -733,8 +927,9 @@ This package contains the z/OS data set access based on FUSE.
#
%package hmcdrvfs
Summary: HMC drive file system based on FUSE
BuildRequires: fuse-devel
Requires: 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
@ -751,11 +946,13 @@ 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
Requires(pre): shadow-utils
BuildRequires: systemd
BuildRequires: systemd-devel
%description cpacfstatsd
The cpacfstats tools provide a client/server application set to monitor
@ -780,20 +977,224 @@ getent group cpacfstats >/dev/null || groupadd -r cpacfstats
%{_mandir}/man8/cpacfstatsd.8*
%{_unitdir}/cpacfstatsd.service
#
# *********************** chreipl-fcp-mpath package ***********************
#
%package chreipl-fcp-mpath
Summary: Use multipath information for re-IPL path failover
BuildRequires: make
BuildRequires: bash
BuildRequires: coreutils
%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
Requires: systemd-udev
Requires: device-mapper-multipath
Requires: dracut
%description chreipl-fcp-mpath
The chreipl-fcp-mpath toolset monitors udev events about paths to the re-IPL
volume. If the currently configured FCP re-IPL path becomes unavailable, the
toolset checks for operational paths to the same volume. If available, it
reconfigures the FCP re-IPL settings to use an operational path.
%files chreipl-fcp-mpath
%doc chreipl-fcp-mpath/README.md
%if %{with pandoc}
%doc chreipl-fcp-mpath/README.html
%endif
%dir %{_prefix}/lib/chreipl-fcp-mpath/
%{_prefix}/lib/chreipl-fcp-mpath/*
%{_prefix}/lib/dracut/dracut.conf.d/70-chreipl-fcp-mpath.conf
%{_prefix}/lib/udev/chreipl-fcp-mpath-is-ipl-tgt
%{_prefix}/lib/udev/chreipl-fcp-mpath-is-ipl-vol
%{_prefix}/lib/udev/chreipl-fcp-mpath-is-reipl-zfcp
%{_prefix}/lib/udev/chreipl-fcp-mpath-record-volume-identifier
%{_prefix}/lib/udev/chreipl-fcp-mpath-try-change-ipl-path
%{_udevrulesdir}/70-chreipl-fcp-mpath.rules
%{_mandir}/man7/chreipl-fcp-mpath.7*
#
# *********************** devel package ***********************
#
%package devel
Summary: Development files
Provides: s390-tools-devel = %{epoch}:%{version}-%{release}
Requires: %{name}-base%{?_isa} = %{epoch}:%{version}-%{release}
%description devel
User-space development files for the s390/s390x architecture.
%files devel
%{_includedir}/%{name}
%{_includedir}/%{name}/
%{_includedir}/ekmfweb/
%{_includedir}/kmipclient/
%{_libdir}/libekmfweb.so
%{_libdir}/libkmipclient.so
#
# end of s390x specific sub-packages
#
%endif
%changelog
* Fri Mar 08 2024 Neal Gompa <ngompa@fedoraproject.org> - 2:2.31.0-2
- Add 's390-tools' Provides to all packages
* Mon Feb 05 2024 Dan Horák <dan[at]danny.cz> - 2:2.31.0-1
- rebased to 2.31.0 (rhbz#2262499)
* Thu Jan 25 2024 Dan Horák <dan[at]danny.cz> - 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 <dan[at]danny.cz> - 2:2.30.0-1
- rebased to 2.30.0 (rhbz#2252519)
* Fri Dec 01 2023 Fabio Valentini <decathorpe@gmail.com> - 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 <dan[at]danny.cz> - 2:2.29.0-5
- enable multi-arch build
* Fri Nov 10 2023 Dan Horák <dan[at]danny.cz> - 2:2.29.0-4
- fix upstream kernel installations
* Mon Oct 23 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 2:2.29.0-3
- Use vendored dependencies in RHEL builds
* Thu Aug 31 2023 Jakub Čajka <jcajka[at]redhat.com> - 2:2.29.0-2
- enable rust based tools
* Mon Aug 07 2023 Dan Horák <dan[at]danny.cz> - 2:2.29.0-1
- rebased to 2.29.0
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.28.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 Dan Horák <dan[at]danny.cz> - 2:2.28.0-1
- rebased to 2.28.0
* Wed May 31 2023 Dan Horák <dan[at]danny.cz> - 2:2.27.0-1
- rebased to 2.27.0
* Fri May 19 2023 Petr Pisar <ppisar@redhat.com> - 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 <dan[at]danny.cz> - 2:2.26.0-1
- rebased to 2.26.0
* Tue Jan 31 2023 Dan Horák <dan[at]danny.cz> - 2:2.25.0-4
- add post GA fixes
* Mon Jan 23 2023 Dan Horák <dan[at]danny.cz> - 2:2.25.0-3
- revert the kernel install script change
* Thu Jan 19 2023 Dan Horák <dan[at]danny.cz> - 2:2.25.0-2
- update kernel install script to write /etc/kernel/cmdline
* Fri Dec 09 2022 Dan Horák <dan[at]danny.cz> - 2:2.25.0-1
- rebased to 2.25.0
* Tue Nov 22 2022 Dan Horák <dan[at]danny.cz> - 2:2.24.0-2
- update for Transparent DASD PPRC (Peer-to-Peer Remote Copy) handling
* Thu Nov 10 2022 Dan Horák <dan[at]danny.cz> - 2:2.24.0-1
- rebased to 2.24.0
* Fri Aug 19 2022 Dan Horák <dan[at]danny.cz> - 2:2.23.0-1
- rebased to 2.23.0
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.22.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 20 2022 Dan Horák <dan[at]danny.cz> - 2:2.22.0-1
- rebased to 2.22.0
* Tue May 31 2022 Dan Horák <dan[at]danny.cz> - 2:2.21.0-2
- do not fail on emtpy /proc/cmdline when installing kernel (#1899759)
* Fri Apr 22 2022 Dan Horák <dan[at]danny.cz> - 2:2.21.0-1
- rebased to 2.21.0
* Mon Feb 07 2022 Dan Horák <dan[at]danny.cz> - 2:2.20.0-1
- rebased to 2.20.0
- switch to fuse3
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.19.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Nov 26 2021 Dan Horák <dan[at]danny.cz> - 2:2.19.0-2
- update ccw udev rules
* Fri Nov 12 2021 Dan Horák <dan[at]danny.cz> - 2:2.19.0-1
- rebased to 2.19.0
- cmsfs-fuse Requires glibc-gconv-extra (#2022652)
* Wed Oct 20 2021 Dan Horák <dan[at]danny.cz> - 2:2.18.0-2
- move vmcp to core (#1931287)
* Tue Oct 05 2021 Dan Horák <dan[at]danny.cz> - 2:2.18.0-1
- rebased to 2.18.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.17.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 07 2021 Dan Horák <dan[at]danny.cz> - 2:2.17.0-1
- rebased to 2.17.0
- zfcpconf: set exit code explicitly (#1977434)
- mk-s390image script requires file (#1973239)
- drop obsolete setting from device_cio_free.service (#1972449)
* Mon Mar 01 2021 Dan Horák <dan[at]danny.cz> - 2:2.16.0-2
- drop superfluous Require from s390utils-base
* Wed Feb 24 2021 Dan Horák <dan[at]danny.cz> - 2:2.16.0-1
- rebased to 2.16.0
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.15.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 05 2021 Dan Horák <dan[at]danny.cz> - 2:2.15.1-4
- move lszdev to core
* Mon Jan 04 2021 Dan Horák <dan[at]danny.cz> - 2:2.15.1-3
- move fdasd to core
* Thu Oct 29 2020 Petr Šabata <contyk@redhat.com> - 2:2.15.1-2
- Fix the development package dependency by adding epoch
* Thu Oct 29 2020 Dan Horák <dan[at]danny.cz> - 2:2.15.1-1
- rebased to 2.15.1
* Wed Oct 28 2020 Dan Horák <dan[at]danny.cz> - 2:2.15.0-2
- move mk-s390image to /usr/bin
* Tue Oct 27 2020 Dan Horák <dan[at]danny.cz> - 2:2.15.0-1
- rebased to 2.15.0
* Wed Oct 07 2020 Dan Horák <dan[at]danny.cz> - 2:2.14.0-4
- update scripts for https://fedoraproject.org/wiki/Changes/NetworkManager_keyfile_instead_of_ifcfg_rh
* Mon Sep 21 2020 Dan Horák <dan[at]danny.cz> - 2:2.14.0-3
- rebuilt for net-snmp 5.9
* Wed Aug 26 2020 Dan Horák <dan[at]danny.cz> - 2:2.14.0-2
- add support for auto LUN scan to zfcpconf.sh (#1552697)
* Tue Aug 25 2020 Dan Horák <dan[at]danny.cz> - 2:2.14.0-1
- rebased to 2.14.0
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.13.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 03 2020 Javier Martinez Canillas <javierm@redhat.com> - 2:2.13.0-4
- add a default entry in zipl.conf if there isn't one present (#1698363)

View File

@ -1 +1,2 @@
SHA512 (s390-tools-2.13.0.tar.gz) = 5c031f46fef91b120cda68a00fd3b867ea1b5bdfda537838e123e721a740597a64c28536879002f7dfd5b2291652066fbbb75f7848f3bb40765e9ef62c642aaa
SHA512 (s390-tools-2.31.0.tar.gz) = d05722dff760605baad92b25a7a9264b3c936ff851b87a02ab39604a74d02ae4e14632d9b3d83eb9cb82a14bfcbb0d40bb4797896051ed3dd36d7690abfb1c64
SHA512 (s390-tools-2.31.0-rust-vendor.tar.xz) = f9dc2887bb2502ba6f71ef7ea807380c322a46df8c65f0fc7993f3fb4eec4da120369d3e380dbcca9b6250307da0f6236a649504d542f44730e8009ace8ed450

View File

@ -2,10 +2,12 @@
# config file syntax:
# deviceno WWPN FCPLUN
# deviceno # allowed when auto LUN scan is enabled and port is in NPIV mode
#
# Example:
# 0.0.4000 0x5005076300C213e9 0x5022000000000000
# 0.0.4001 0x5005076300c213e9 0x5023000000000000
# 0.0.5000
#
#
# manual setup:
@ -21,12 +23,20 @@
CONFIG=/etc/zfcp.conf
PATH=/bin:/sbin
set_online()
{
DEVICE=$1
[ `cat /sys/bus/ccw/drivers/zfcp/${DEVICE}/online` = "0" ] \
&& echo 1 > /sys/bus/ccw/drivers/zfcp/${DEVICE}/online
}
if [ -f "$CONFIG" ]; then
if [ ! -d /sys/bus/ccw/drivers/zfcp ]; then
modprobe zfcp
fi
if [ ! -d /sys/bus/ccw/drivers/zfcp ]; then
return
exit 1
fi
sed 'y/ABCDEF/abcdef/' < $CONFIG | while read line; do
case $line in
@ -34,6 +44,17 @@ if [ -f "$CONFIG" ]; then
*)
[ -z "$line" ] && continue
set $line
if [ $# -eq 1 ]; then
DEVICE=${1##*0x}
if [ `cat /sys/module/zfcp/parameters/allow_lun_scan` = "Y" ]; then
set_online ${DEVICE}
grep -q NPIV /sys/bus/ccw/devices/${DEVICE}/host*/fc_host/host*/port_type || \
echo "Error: Only device ID (${DEVICE}) given, but port not in NPIV mode"
else
echo "Error: Only device ID (${DEVICE}) given, but LUN scan is disabled for the zfcp module"
fi
continue
fi
if [ $# -eq 5 ]; then
DEVICE=$1
SCSIID=$2
@ -46,11 +67,11 @@ if [ -f "$CONFIG" ]; then
WWPN=$2
FCPLUN=$3
fi
[ `cat /sys/bus/ccw/drivers/zfcp/${DEVICE}/online` = "0" ] \
&& echo 1 > /sys/bus/ccw/drivers/zfcp/${DEVICE}/online
set_online ${DEVICE}
[ ! -d /sys/bus/ccw/drivers/zfcp/${DEVICE}/${WWPN}/${FCPLUN} ] \
&& echo $FCPLUN > /sys/bus/ccw/drivers/zfcp/${DEVICE}/${WWPN}/unit_add
;;
esac
done
fi
exit 0