Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package s390-tools for openSUSE:Factory checked in at 2026-02-06 21:30:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/s390-tools (Old) and /work/SRC/openSUSE:Factory/.s390-tools.new.1670 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "s390-tools" Fri Feb 6 21:30:29 2026 rev:105 rq:1331735 version:2.40.0 Changes: -------- --- /work/SRC/openSUSE:Factory/s390-tools/s390-tools.changes 2026-01-07 16:03:31.304379107 +0100 +++ /work/SRC/openSUSE:Factory/.s390-tools.new.1670/s390-tools.changes 2026-02-06 21:31:13.604429760 +0100 @@ -1,0 +2,25 @@ +Fri Feb 6 10:12:57 UTC 2026 - Nikolay Gueorguiev <[email protected]> + +- Reworked and combined all s390-tools patches +- Applied new combined patches + * s390-tools-dasdfmt-reworked.patch + * s390-tools-combined.patch +- Removed obsolete patches + * s390-tools-sles15sp3-Allow-multiple-device-arguments.patch + * s390-tools-sles15sp3-Format-devices-in-parallel.patch + * s390-tools-sles15sp3-Format-devices-in-parallel-1.patch + * s390-tools-sles15sp3-Implement-Y-yast_mode.patch + * s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch + * s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch + * s390-tools-sles12-create-filesystem-links.patch + * s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch + * s390-tools-sles12-zipl_boot_msg.patch + * s390-tools-sles15-sysconfig-compatible-dumpconf.patch + * s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch + * s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch + * s390-tools-slfo-01-parse-ipl-device-for-activation.patch + * s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.opensuse + * s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse +- Re-vendor-ed vendor.tar.zst + +------------------------------------------------------------------- Old: ---- s390-tools-sles12-create-filesystem-links.patch s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.opensuse s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse s390-tools-sles12-zipl_boot_msg.patch s390-tools-sles15-sysconfig-compatible-dumpconf.patch s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch s390-tools-sles15sp3-Allow-multiple-device-arguments.patch s390-tools-sles15sp3-Format-devices-in-parallel-1.patch s390-tools-sles15sp3-Format-devices-in-parallel.patch s390-tools-sles15sp3-Implement-Y-yast_mode.patch s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch s390-tools-slfo-01-parse-ipl-device-for-activation.patch New: ---- s390-tools-combined.patch s390-tools-dasdfmt-reworked.patch ----------(Old B)---------- Old: * s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch * s390-tools-sles12-create-filesystem-links.patch * s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch Old: * s390-tools-sles12-create-filesystem-links.patch * s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch * s390-tools-sles12-zipl_boot_msg.patch Old: * s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch * s390-tools-sles12-zipl_boot_msg.patch * s390-tools-sles15-sysconfig-compatible-dumpconf.patch Old: * s390-tools-sles12-zipl_boot_msg.patch * s390-tools-sles15-sysconfig-compatible-dumpconf.patch * s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch Old: * s390-tools-sles15-sysconfig-compatible-dumpconf.patch * s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch * s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch Old:- Removed obsolete patches * s390-tools-sles15sp3-Allow-multiple-device-arguments.patch * s390-tools-sles15sp3-Format-devices-in-parallel.patch Old: * s390-tools-sles15sp3-Format-devices-in-parallel.patch * s390-tools-sles15sp3-Format-devices-in-parallel-1.patch * s390-tools-sles15sp3-Implement-Y-yast_mode.patch Old: * s390-tools-sles15sp3-Allow-multiple-device-arguments.patch * s390-tools-sles15sp3-Format-devices-in-parallel.patch * s390-tools-sles15sp3-Format-devices-in-parallel-1.patch Old: * s390-tools-sles15sp3-Format-devices-in-parallel-1.patch * s390-tools-sles15sp3-Implement-Y-yast_mode.patch * s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch Old: * s390-tools-sles15sp3-Implement-Y-yast_mode.patch * s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch * s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch Old: * s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch * s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch * s390-tools-sles12-create-filesystem-links.patch Old: * s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch * s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch * s390-tools-slfo-01-parse-ipl-device-for-activation.patch Old: * s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch * s390-tools-slfo-01-parse-ipl-device-for-activation.patch * s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.opensuse ----------(Old E)---------- ----------(New B)---------- New: * s390-tools-dasdfmt-reworked.patch * s390-tools-combined.patch - Removed obsolete patches New:- Applied new combined patches * s390-tools-dasdfmt-reworked.patch * s390-tools-combined.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ s390-tools.spec ++++++ --- /var/tmp/diff_new_pack.pCWhd8/_old 2026-02-06 21:31:16.268541535 +0100 +++ /var/tmp/diff_new_pack.pCWhd8/_new 2026-02-06 21:31:16.268541535 +0100 @@ -135,26 +135,10 @@ # IBM patches ### # SUSE patches -Patch900: s390-tools-sles12-zipl_boot_msg.patch -Patch901: s390-tools-sles15-sysconfig-compatible-dumpconf.patch -Patch902: s390-tools-sles12-create-filesystem-links.patch -%if 0%{?suse_version} >= 1550 -Patch903: s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.opensuse -%else -Patch903: s390-tools-sles12-update-by_id-links-on-change-and-add-action.patch.suse -%endif -Patch904: s390-tools-sles15sp3-Allow-multiple-device-arguments.patch -Patch905: s390-tools-sles15sp3-Format-devices-in-parallel.patch -Patch906: s390-tools-sles15sp3-Format-devices-in-parallel-1.patch -Patch907: s390-tools-sles15sp3-Implement-Y-yast_mode.patch -Patch908: s390-tools-sles15sp3-Implement-f-for-backwards-compability.patch -Patch909: s390-tools-sles15sp3-dasdfmt-retry-BIODASDINFO-if-device-is-busy.patch -Patch910: s390-tools-sles12-fdasd-skip-partition-check-and-BLKRRPART-ioctl.patch -Patch911: s390-tools-sles15sp1-11-zdev-Do-not-call-zipl-on-initrd-update.patch -Patch912: s390-tools-ALP-zdev-live.patch -Patch913: s390-tools-sles15sp6-kdump-initrd-59-zfcp-compat-rules.patch +Patch900: s390-tools-combined.patch +Patch901: s390-tools-dasdfmt-reworked.patch ### -Patch990: s390-tools-slfo-01-parse-ipl-device-for-activation.patch +Patch910: s390-tools-ALP-zdev-live.patch ### BuildRequires: curl-devel ++++++ s390-tools-combined.patch ++++++ diff -Naur a/etc/sysconfig/dumpconf b/etc/sysconfig/dumpconf --- a/etc/sysconfig/dumpconf 2025-12-11 17:03:28.000000000 +0100 +++ b/etc/sysconfig/dumpconf 2026-02-06 14:03:46.482188674 +0100 @@ -1,3 +1,4 @@ +########################################################################################### # # s390 dump config # @@ -78,3 +79,135 @@ # dumpconf becomes active immediately during system startup. # # ON_PANIC=reipl + +############################ Begin Definitions ########################################### +## Path: System/Dumpconf +## Description: Configures the actions which should be performed after a kernel panic +## Type: list(stop,dump,vmcmd,reipl,dump_reipl) +## Default: "stop" +## ServiceRestart: dumpconf +# +# Define the action that should be taken if a kernel panic happens. +# +ON_PANIC="stop" + +## Type: integer(0:300) +## Default: 5 +## ServiceRestart: dumpconf +# +# Using reipl or dump_reipl actions with ON_PANIC can lead to the system +# looping with alternating IPLs and crashes. Use DELAY_MINUTES to prevent +# such a loop. DELAY_MINUTES delays activating the specified panic action +# for a newly started system. When the specified time has elapsed, dumpconf +# activates the specified panic action. This action is taken should the +# system subsequently crash. If the system crashes before the time has +# elapsed the previously defined action is taken. If no previous action has +# been defined the default action (STOP) is performed. +# +DELAY_MINUTES="5" + +## Type: list(ccw,fcp,nvme) +## Default: "" +## ServiceRestart: dumpconf +# +# Define the type, ccw for DASD, fcp for zFCP, or nvme for NVMe Disk. +# +DUMP_TYPE="" + +## Type: string +## Default: "" +## ServiceRestart: dumpconf +# +# Define the device id for a DASD or SCSI over zFCP dump device. +# +# For example (DASD and SCSI over zFCP have the same structure): DEVICE=0.0.4711 +# +DEVICE="" + +# Type: string +## Default: "" +## ServiceRestart: dumpconf +# +# Define the WWPN for a zFCP dump device. +# +# For example: WWPN=0x5005076303004711 +# +WWPN="" + +## Type: string +## Default: "" +## ServiceRestart: dumpconf +# +# Define the LUN for a zFCP dump device. +# +# For example: LUN=0x4711000000000000 +# +LUN="" + +## Type: integer(0:30) +## Default: "0" +## ServiceRestart: dumpconf +# +# Define the Boot program selector for a zFCP dump device. +# +# A decimal value between 0 and 30 specifying the program to be loaded from +# the FCP-I/O device. +# +BOOTPROG="0" + +## Type: string +## Default: "0" +## ServiceRestart: dumpconf +# +# Define the Boot record logical block address for a zFCP dump device. +# +# The hexadecimal digits designating the logical-block address of the boot record of the FCP-I/O device. +# It must be a value from 0-FFFFFFFF FFFFFFFF. For values longer than 8 hex characters at least one separator +# blank is required after the 8th character. +# +BR_LBA="0" + +## Type: string +## Default: "" +## ServiceRestart: dumpconf +# +# Define the Function ID for NVMe dump device. +# +# The hexadecimal digits designating the Function ID for the NMVe disk. +# +# For example: FID=0x00000300 +# +FID="" + +## Type: string +## Default: "" +## ServiceRestart: dumpconf +# +# Define the Namespace ID for the NVMe dump device +# +# The hexadecimal digits designating the Namespace ID for the NMVe disk. +# +# For example: NSID=0x00000001 +# +NSID="" + +## Type: string +## Default: "" +## ServiceRestart: dumpconf +# +# VMCMD_<X> +# Specifies a CP command, <X> is a number from one to eight. You can +# specify up to eight CP commands that are executed in case of a kernel +# panic. Note that VM commands, device adresses, and VM guest names +# must be uppercase. +# +VMCMD_1="" +VMCMD_2="" +VMCMD_3="" +VMCMD_4="" +VMCMD_5="" +VMCMD_6="" +VMCMD_7="" +VMCMD_8="" + +############################### End Definitions ############################################## diff -Naur a/etc/udev/rules.d/59-dasd.rules b/etc/udev/rules.d/59-dasd.rules --- a/etc/udev/rules.d/59-dasd.rules 2025-12-11 17:03:28.000000000 +0100 +++ b/etc/udev/rules.d/59-dasd.rules 2026-02-06 15:49:49.132244953 +0100 @@ -6,16 +6,17 @@ SUBSYSTEM!="block", GOTO="dasd_symlinks_end" KERNEL!="dasd*", GOTO="dasd_symlinks_end" -ACTION!="change", GOTO="dasd_block_end" +ACTION!="change|add", GOTO="dasd_block_end" # by-id (hardware serial number) KERNEL=="dasd*[!0-9]", ATTRS{status}=="online", IMPORT{program}="/sbin/dasdinfo -a -e -b $kernel" +KERNEL=="dasd*[!0-9]", ATTRS{status}=="online", IMPORT{program}="/usr/sbin/dasdinfo -a -e -b $kernel" KERNEL=="dasd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="dasd*[!0-9]", ENV{ID_UID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_UID}" KERNEL=="dasd*[!0-9]", ENV{ID_XUID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_XUID}" LABEL="dasd_block_end" -ACTION!="change|add", GOTO="dasd_symlinks_end" +ACTION!="change|add", GOTO="dasd_partition_end" # for partitions import parent information KERNEL=="dasd*[0-9]", IMPORT{parent}=="ID_*" @@ -24,6 +25,14 @@ KERNEL=="dasd*[0-9]", ENV{ID_UID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_UID}-part%n" KERNEL=="dasd*[0-9]", ENV{ID_XUID}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_XUID}-part%n" +LABEL="dasd_partition_end" + +ENV{ID_SERIAL}!="?*", GOTO="dasd_symlinks_end" +# by-label/by-uuid (filesystem properties) +IMPORT{builtin}="blkid" +ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}" +ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}" + LABEL="dasd_symlinks_end" # on device add set request queue scheduler to none diff -Naur a/fdasd/fdasd.c b/fdasd/fdasd.c --- a/fdasd/fdasd.c 2025-12-11 17:03:28.000000000 +0100 +++ b/fdasd/fdasd.c 2026-02-06 14:10:08.461803766 +0100 @@ -1232,10 +1232,13 @@ */ static void fdasd_reread_partition_table(fdasd_anchor_t *anc) { + int rc = 0 ; + if (!anc->silent) printf("rereading partition table...\n"); - if (dasd_reread_partition_table(options.device, 5) != 0) { + rc = dasd_reread_partition_table(options.device, 1); + if (rc == EINVAL && !anc->force_virtual) { fdasd_error(anc, unable_to_ioctl, "Error while rereading " "partition table.\nPlease reboot!"); } diff -Naur a/zdev/dracut/95zdev/parse-dasd.sh b/zdev/dracut/95zdev/parse-dasd.sh --- a/zdev/dracut/95zdev/parse-dasd.sh 2025-12-11 17:03:28.000000000 +0100 +++ b/zdev/dracut/95zdev/parse-dasd.sh 2026-02-06 14:13:41.947730795 +0100 @@ -10,6 +10,8 @@ # parameters are evaluated and used to configure dasd devices. # +zdev_dasd_base_args="--no-settle --yes --no-root-update --force" + # shellcheck source=/dev/null type zdev_parse_dasd_list > /dev/null 2>&1 || . /lib/s390-tools/zdev-from-dasd_mod.dasd @@ -27,9 +29,21 @@ zdev_parse_rd_dasd() { local _zdev_dasd _zdev_dasd_list - for _zdev_dasd in $(getargs rd.dasd -d 'rd_DASD='); do - _zdev_dasd_list="${_zdev_dasd_list:+${_zdev_dasd_list},}$_zdev_dasd" - done + # autodetect active bootdev from zipl device + if ! getargbool 0 'rd.dasd' \ + && [[ -f /sys/firmware/ipl/ipl_type ]] \ + && [[ $(< /sys/firmware/ipl/ipl_type) == "ccw" ]]; then + read -r _ccw < /sys/firmware/ipl/device + + if lszdev --offline "$_ccw" &>/dev/null; then + chzdev --offline --existing --enable --active $zdev_dasd_base_args \ + dasd "$_ccw" + fi + else + for _zdev_dasd in $(getargs rd.dasd -d 'rd_DASD='); do + _zdev_dasd_list="${_zdev_dasd_list:+${_zdev_dasd_list},}$_zdev_dasd" + done + fi echo "$_zdev_dasd_list" } diff -Naur a/zdev/dracut/95zdev/parse-zfcp.sh b/zdev/dracut/95zdev/parse-zfcp.sh --- a/zdev/dracut/95zdev/parse-zfcp.sh 2025-12-11 17:03:28.000000000 +0100 +++ b/zdev/dracut/95zdev/parse-zfcp.sh 2026-02-06 14:18:29.630327561 +0100 @@ -11,26 +11,44 @@ # zdev_zfcp_base_args="--no-settle --yes --no-root-update --force" +zdev_vinfo() { + local _zdev_vinfo_line + while read -r _zdev_vinfo_line || [ -n "$_zdev_vinfo_line" ]; do + # Prefix "<30>" represents facility LOG_DAEMON 3 and loglevel INFO 6: + # (facility << 3) | level. + echo "<30>dracut: $_zdev_vinfo_line" > /dev/kmsg + done +} -for zdev_zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do - ( - IFS_SAVED="$IFS" - IFS="," # did not work in front of built-in set command below - # shellcheck disable=SC2086 - set -- $zdev_zfcp_arg - IFS=":" args="$*" - IFS="$IFS_SAVED" - echo "rd.zfcp ${zdev_zfcp_arg} :" | zdev_vinfo - if [ "$#" -eq 1 ]; then - # shellcheck disable=SC2086 - chzdev --enable --persistent $zdev_zfcp_base_args \ - zfcp-host "$args" 2>&1 | zdev_vinfo +# autodetect active bootdev from zipl device +if ! getargbool 0 'rd.zfcp' \ + && [[ -f /sys/firmware/ipl/ipl_type ]] \ + && [[ $(< /sys/firmware/ipl/ipl_type) == "fcp" ]]; then + chzdev --offline --existing --enable --active $zdev_zfcp_base_args \ + zfcp-host 2>&1 | zdev_vinfo +else + for zdev_zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do + ( + IFS_SAVED="$IFS" + IFS="," # did not work in front of built-in set command below else # shellcheck disable=SC2086 - chzdev --enable --persistent $zdev_zfcp_base_args \ - zfcp-lun "$args" 2>&1 | zdev_vinfo - fi - ) -done + set -- $zdev_zfcp_arg + IFS=":" args="$*" + IFS="$IFS_SAVED" + echo "rd.zfcp ${zdev_zfcp_arg} :" | zdev_vinfo + if [ "$#" -eq 1 ]; then + # shellcheck disable=SC2086 + chzdev --enable --persistent $zdev_zfcp_base_args \ + zfcp-host "$args" 2>&1 | zdev_vinfo + else + # shellcheck disable=SC2086 + chzdev --enable --persistent $zdev_zfcp_base_args \ + zfcp-lun "$args" 2>&1 | zdev_vinfo + fi + ) + done +fi + unset zdev_zfcp_arg unset zdev_zfcp_base_args diff -Naur a/zdev/dracut/95zdev-kdump/module-setup.sh b/zdev/dracut/95zdev-kdump/module-setup.sh --- a/zdev/dracut/95zdev-kdump/module-setup.sh 2025-12-11 17:03:28.000000000 +0100 +++ b/zdev/dracut/95zdev-kdump/module-setup.sh 2026-02-06 14:20:29.803412303 +0100 @@ -78,6 +78,7 @@ inst_multiple /lib/s390-tools/zdev-from-dasd_mod.dasd inst_rules "59-dasd.rules" + inst_rules "59-zfcp-compat.rules" # Obtain kdump target device configuration diff -Naur a/zdev/src/zdev-root-update.dracut b/zdev/src/zdev-root-update.dracut --- a/zdev/src/zdev-root-update.dracut 2025-12-11 17:03:28.000000000 +0100 +++ b/zdev/src/zdev-root-update.dracut 2026-02-06 14:25:03.817945754 +0100 @@ -20,10 +20,4 @@ exit 1 } -echo "Installing IPL record" -zipl --noninteractive || { - echo "${TOOLNAME}: Error: Could not install IPL record" >&2 - exit 1 -} - exit 0 diff -Naur a/zipl/boot/menu.c b/zipl/boot/menu.c --- a/zipl/boot/menu.c 2025-12-11 17:03:28.000000000 +0100 +++ b/zipl/boot/menu.c 2026-02-06 14:29:07.392321346 +0100 @@ -191,8 +191,11 @@ /* print config list */ menu_list(); - if (is_zvm()) - printf("Note: VM users please use '#cp vi vmsg <input>'\n"); + if (is_zvm()) { + printf(" \n"); + printf("Note: VM users please use '#cp vi vmsg <input> <kernel-parameters>'\n"); + printf(" \n"); + } value = menu_read(); ++++++ s390-tools-dasdfmt-reworked.patch ++++++ ++++ 744 lines (skipped) ++++++ vendor.tar.zst ++++++ /work/SRC/openSUSE:Factory/s390-tools/vendor.tar.zst /work/SRC/openSUSE:Factory/.s390-tools.new.1670/vendor.tar.zst differ: char 7, line 1
