Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package suse-module-tools for openSUSE:Factory checked in at 2021-07-04 22:10:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/suse-module-tools (Old) and /work/SRC/openSUSE:Factory/.suse-module-tools.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "suse-module-tools" Sun Jul 4 22:10:39 2021 rev:43 rq:903663 version:16.0.5 Changes: -------- --- /work/SRC/openSUSE:Factory/suse-module-tools/suse-module-tools.changes 2021-06-21 20:35:15.218596255 +0200 +++ /work/SRC/openSUSE:Factory/.suse-module-tools.new.2625/suse-module-tools.changes 2021-07-04 22:10:42.237247123 +0200 @@ -1,0 +2,13 @@ +Thu Jul 1 21:03:49 UTC 2021 - Martin Wilck <mwi...@suse.com> + +- Update to version 16.0.5 + * moved config files to /usr/lib/modprobe.d and /usr/lib/depmod.d + * "modprobe $FS" for a blacklisted file system now offers to + unblacklist the module permanently + * disabled automatic un-blacklisting of filesystem modules loaded + at installation time + * added faster substitute for lsinitrd to speed up weak-modules2 + * added README.md + * modprobe.conf cleanup + +------------------------------------------------------------------- Old: ---- suse-module-tools-16.0.4.obscpio New: ---- suse-module-tools-16.0.5.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ suse-module-tools.spec ++++++ --- /var/tmp/diff_new_pack.PFjzrV/_old 2021-07-04 22:10:43.077240626 +0200 +++ /var/tmp/diff_new_pack.PFjzrV/_new 2021-07-04 22:10:43.077240626 +0200 @@ -15,20 +15,30 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # +# missing in SLE15 (systemd-rpm-macros) +%{!?_modulesloaddir: %global _modulesloaddir /usr/lib/modules-load.d} -# Define _rpmmacrodir if it's not defined yet -%{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d} -%define modules_load_dir /usr/lib/modules-load.d +# Location for modprobe and depmod .conf files +# +# This assumes post-usr-merge (20210527) for Tumbleweed +%if 0%{?suse_version} >= 1550 +%global modprobe_dir /usr/lib/modprobe.d +%global depmod_dir /usr/lib/depmod.d +%else +%global modprobe_dir /lib/modprobe.d +%global depmod_dir /lib/depmod.d +%endif # List of legacy file systems to be blacklisted by default %global fs_blacklist adfs affs bfs befs cramfs efs erofs exofs freevxfs hfs hpfs jfs minix nilfs2 ntfs omfs qnx4 qnx6 sysv ufs -%if 0%{?sle_version} >= 120200 && 0%{?sle_version} < 150000 -%global softdep_br_netfilter 1 -%endif +# List of all files installed under modprobe.d +# Note: this list contains files installed by previous versions, like 00-system-937216.conf! +%global modprobe_conf_files 00-system 00-system-937216 10-unsupported-modules 50-blacklist 60-blacklist_fs-* 99-local +%global modprobe_conf_rpmsave %(echo "%{modprobe_conf_files}" | sed 's,\\([^ ]*\\),%{_sysconfdir}/modprobe.d/\\1.conf.rpmsave,g') Name: suse-module-tools -Version: 16.0.4 +Version: 16.0.5 Release: 0 Summary: Configuration for module loading and SUSE-specific utilities for KMPs License: GPL-2.0-or-later @@ -41,6 +51,7 @@ Requires: /usr/bin/sed Requires: coreutils Requires: findutils +Requires: systemd-rpm-macros Requires: rpm Requires(post): /usr/bin/grep Requires(post): /usr/bin/sed @@ -52,6 +63,10 @@ Recommends: kmod # This release requires the dracut module 90nvdimm Conflicts: dracut < 49.1 +# TW: conflict with pre-usrmerge +%if 0%{?suse_version} >= 1550 +Conflicts: filesystem < 15.5-40.2 +%endif %description This package contains helper scripts for KMP installation and @@ -76,6 +91,7 @@ %setup -q %build +sed -i 's/@FS_BLACKLIST@.*/%{fs_blacklist}/' README.md %install # now assemble the parts for modprobe.conf @@ -86,27 +102,23 @@ if [ -f "modprobe.conf/modprobe.conf.$RPM_ARCH" ]; then cat "modprobe.conf/modprobe.conf.$RPM_ARCH" >>00-system.conf fi +install -d -m 755 "%{buildroot}%{modprobe_dir}" install -d -m 755 "%{buildroot}%{_sysconfdir}/modprobe.d" install -pm644 "10-unsupported-modules.conf" \ - "%{buildroot}%{_sysconfdir}/modprobe.d/" -install -pm644 00-system.conf "%{buildroot}%{_sysconfdir}/modprobe.d/" + "%{buildroot}%{modprobe_dir}/" +install -pm644 00-system.conf "%{buildroot}%{modprobe_dir}/" -%if 0%{?softdep_br_netfilter} -# softdep bridge->br_netfilter, SLE only -install -pm644 modprobe.conf/00-system-937216.conf %{buildroot}%{_sysconfdir}/modprobe.d -%endif %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 -install -pm644 modprobe.conf/modprobe.conf.blacklist "%{buildroot}%{_sysconfdir}/modprobe.d/50-blacklist.conf" +install -pm644 modprobe.conf/modprobe.conf.blacklist "%{buildroot}%{modprobe_dir}/50-blacklist.conf" %endif -install -pm644 modprobe.conf/modprobe.conf.local "%{buildroot}%{_sysconfdir}/modprobe.d/99-local.conf" +install -d -m 755 "%{buildroot}/%{depmod_dir}" install -d -m 755 "%{buildroot}%{_sysconfdir}/depmod.d" -install -pm 644 "depmod-00-system.conf" \ - "%{buildroot}%{_sysconfdir}/depmod.d/00-system.conf" +install -pm 644 "depmod-00-system.conf" "%{buildroot}%{depmod_dir}/00-system.conf" # "/usr/lib/module-init-tools" name hardcoded in KMPs, mkinitrd, etc. install -d -m 755 "%{buildroot}/usr/lib/module-init-tools" -install -pm 755 weak-modules{,2} "%{buildroot}/usr/lib/module-init-tools/" -install -pm 755 driver-check.sh "%{buildroot}/usr/lib/module-init-tools/" +install -pm 755 -t "%{buildroot}/usr/lib/module-init-tools/" \ + weak-modules{,2} driver-check.sh unblacklist lsinitrd-quick %if 0%{?suse_version} < 1550 # rpm macros and helper @@ -126,8 +138,8 @@ # Ensure that the sg driver is loaded early (bsc#1036463) # Not needed in SLE11, where sg is loaded via udev rule. -install -d -m 755 "%{buildroot}%{modules_load_dir}" -install -pm 644 sg.conf "%{buildroot}%{modules_load_dir}" +install -d -m 755 "%{buildroot}%{_modulesloaddir}" +install -pm 644 sg.conf "%{buildroot}%{_modulesloaddir}" %ifarch ppc64 ppc64le install -d -m 755 %{buildroot}/usr/lib/systemd/system-generators install -m 755 udev-trigger-generator %{buildroot}/usr/lib/systemd/system-generators @@ -138,131 +150,58 @@ %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 for mod in %{fs_blacklist}; do echo "\ +# DO NOT EDIT THIS FILE! +# # The $mod file system is blacklisted by default because it isn't actively # supported by SUSE, not well maintained, or may have security vulnerabilites. -# To enable autoloading the $mod file system module, comment out the -# \"blacklist $mod\" statement below. ENABLE AT YOUR OWN RISK. -# -# File system modules loaded at installation time of the %{name} package -# are not blacklisted. This is achieved by commenting out the blacklist -# line in the post-installation script. To prevent the post-installation -# script from modifying this file, delete the line containing \"THIS FILE MAY -# BE MODIFIED\" at the bottom. blacklist $mod -# __THIS FILE MAY BE MODIFIED__" \ - >%{buildroot}%{_sysconfdir}/modprobe.d/60-blacklist_fs-"$mod".conf +# The filesystem can be un-blacklisted by running \"modprobe $mod\". +# See README.md in the %{name} package for details. +install $mod /usr/lib/module-init-tools/unblacklist $mod; /sbin/modprobe --ignore-install $mod +" \ + >%{buildroot}%{modprobe_dir}/60-blacklist_fs-"$mod".conf done %endif %post -%if 0%{?sle_version} >= 150000 -# Delete obsolete unsupported-modules file from SLE11 -rm -f %{_sysconfdir}/modprobe.d/unsupported-modules -%else -# Logic for releases below CODE 15 -%if 0%{?is_opensuse} == 1 -allowed=1 -%else -allowed=0 -%endif -test_allow_on_install() -{ - # configure handling of unsupported modules - # default is to allow them - allow=1 - # if the obsolete LOAD_UNSUPPORTED_MODULES_AUTOMATICALLY variable is - # set to no, don't allow (this was used in SLES 9 and 10) - if test -e %{_sysconfdir}/sysconfig/hardware/config; then - . %{_sysconfdir}/sysconfig/hardware/config - if test "x$LOAD_UNSUPPORTED_MODULES_AUTOMATICALLY" = "xno"; then - allow=0 - fi - # obsolete - rm %{_sysconfdir}/sysconfig/hardware/config - fi - # don't change the setting during upgrade - if test "$1" != 1; then - allow= - return - fi - # on SLES, the default is not to allow unsupported modules - if grep -qs "Enterprise Server" %{_sysconfdir}/os-release; then - allow=0 - else - return - fi - # unless the admin passed "oem-modules=1" to the kernel during install - if grep -qs '\<oem-modules=1\>' /proc/cmdline; then - allow=1 - return - fi - # or if the installer already loaded some unsupported modules - # (see TAINT_NO_SUPPORT in /etc/src/linux/include/linux/kernel.h) - tainted=$(cat /proc/sys/kernel/tainted 2>/dev/null || echo 0) - if test $((tainted & (1<<30))) != 0; then - allow=1 - return - fi -} -# upgrade from old locations -if test -e %{_sysconfdir}/modprobe.d/unsupported-modules; then - mv -f %{_sysconfdir}/modprobe.d/unsupported-modules \ - %{_sysconfdir}/modprobe.d/10-unsupported-modules.conf -fi -test_allow_on_install "$@" -if test -n "$allow" -a "$allow" != "$allowed"; then - sed -ri 's/^( *allow_unsupported_modules *) [01]/\1 '"$allow"'/' \ - %{_sysconfdir}/modprobe.d/10-unsupported-modules.conf -fi -%endif +exit 0 -# upgrade from old locations -if test -e %{_sysconfdir}/modprobe.conf.local; then - mv -f %{_sysconfdir}/modprobe.conf.local \ - %{_sysconfdir}/modprobe.d/99-local.conf +%pre +# Avoid restoring old .rpmsave files in %posttrans +for f in %{modprobe_conf_rpmsave}; do + if [ -f ${f} ]; then + mv -f ${f} ${f}.%{name} + fi +done +if [ -f %{_sysconfdir}/depmod.d/00-system.conf.rpmsave ]; then + mv -f %{_sysconfdir}/depmod.d/00-system.conf.rpmsave \ + %{_sysconfdir}/depmod.d/00-system.conf.rpmsave.%{name} fi +exit 0 -# Avoid systems becoming unbootable by blacklisting filesystem -# modules. Modules loaded at installation time will not be -# blacklisted (the blacklist statement is commented out). -# config(noreplace) makes sure that this is not overwritten by rpm. -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 -for mod in %{fs_blacklist}; do - conf=%{_sysconfdir}/modprobe.d/60-blacklist_fs-"$mod".conf - if [ -f "$conf" ] && \ - grep -q '^# __THIS FILE MAY BE MODIFIED__$' "$conf" && \ - sed '/^nodev/d;' /proc/filesystems | grep -q "\<$mod\>"; then - sed -i ' -/^# next line was commented out by postinstall script of %{name}$/d -/^blacklist '"$mod"'/{i\ -# next line was commented out by postinstall script of %{name} -s/^/# / -}' "$conf" +%posttrans +# If the user had modified any of the configuration files installed under +# /etc, they'll now be renamed to .rpmsave files. Restore them. +for f in %{modprobe_conf_rpmsave}; do + if [ -f ${f} ]; then + mv -fv ${f} ${f%.rpmsave} fi done -%endif +if [ -f %{_sysconfdir}/depmod.d/00-system.conf.rpmsave ]; then + mv -fv %{_sysconfdir}/depmod.d/00-system.conf.rpmsave \ + %{_sysconfdir}/depmod.d/00-system.conf +fi +exit 0 %files %defattr(-,root,root) -%if 0%{?sle_version:%{sle_version}}%{!?sle_version:150000} <= 120200 -%dir %{_defaultlicensedir} -%endif %license LICENSE -%doc README.SUSE +%doc README.md +%{modprobe_dir} %dir %{_sysconfdir}/modprobe.d -%config %{_sysconfdir}/modprobe.d/00-system.conf -%if 0%{?softdep_br_netfilter} -%config(noreplace) %{_sysconfdir}/modprobe.d/00-system-937216.conf -%endif -%config(noreplace) %{_sysconfdir}/modprobe.d/10-unsupported-modules.conf -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 -%config(noreplace) %{_sysconfdir}/modprobe.d/50-blacklist.conf -%config(noreplace) %{_sysconfdir}/modprobe.d/60-blacklist_fs-*.conf -%endif -%config(noreplace) %{_sysconfdir}/modprobe.d/99-local.conf +%{depmod_dir} %dir %{_sysconfdir}/depmod.d -%config %{_sysconfdir}/depmod.d/00-system.conf %if 0%{?suse_version} < 1550 %{_rpmmacrodir}/macros.initrd %endif @@ -270,8 +209,7 @@ /usr/lib/module-init-tools %exclude /usr/lib/module-init-tools/weak-modules %{_unitdir}/systemd-sysctl.service.d -%dir %{modules_load_dir} -%{modules_load_dir}/sg.conf +%{_modulesloaddir} %ifarch ppc64 ppc64le /usr/lib/systemd/system-generators %endif ++++++ _service ++++++ --- /var/tmp/diff_new_pack.PFjzrV/_old 2021-07-04 22:10:43.101240440 +0200 +++ /var/tmp/diff_new_pack.PFjzrV/_new 2021-07-04 22:10:43.101240440 +0200 @@ -15,7 +15,6 @@ <param name="files">*/suse-module-tools.spec</param> <param name="outfilename">suse-module-tools.spec</param> </service> - <service name="set_version" mode="manual"/> <service name="tar" mode="buildtime"/> <service name="recompress" mode="buildtime"> <param name="file">*.tar</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.PFjzrV/_old 2021-07-04 22:10:43.117240316 +0200 +++ /var/tmp/diff_new_pack.PFjzrV/_new 2021-07-04 22:10:43.117240316 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/suse-module-tools.git</param> - <param name="changesrevision">fe422e7058c691493567eeffc162f278b2120549</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">25069795b35b36f37a9f22688fd612be43475363</param></service></servicedata> \ No newline at end of file ++++++ suse-module-tools-16.0.4.obscpio -> suse-module-tools-16.0.5.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/README.SUSE new/suse-module-tools-16.0.5/README.SUSE --- old/suse-module-tools-16.0.4/README.SUSE 2021-06-17 16:41:56.000000000 +0200 +++ new/suse-module-tools-16.0.5/README.SUSE 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -Please don't edit /etc/modprobe.conf. Place your settings into -/etc/modprobe.conf.local instead. - - -To avoid loading backup files of various tools and editors, modprobe skips -files under /etc/modprobe.d/ that have the following prefixes - -"." -"~" - -and the following suffixes - -".rpmsave" -".rpmorig" -".rpmnew" -".bak" -".YaST2save" -".-" -"~" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/README.md new/suse-module-tools-16.0.5/README.md --- old/suse-module-tools-16.0.4/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/suse-module-tools-16.0.5/README.md 2021-07-01 22:29:34.000000000 +0200 @@ -0,0 +1,96 @@ +# suse-module-tools + +This package contains a collection of tools and configuration files for +handling kernel modules and setting module parameters. The configuration files +represent a carefully engineered, recommended default configuration. In +certain cases, it may be necessary to modify or revert some of these settings. +It's ok to do so, but make sure you know what you're doing if you do. + +Please don't edit any of the configuration files shipped in this package. +Instead, copy the files from `/lib/modprobe.d` to `/etc/modprobe.d`, preserving +the file name, and edit the copy under `/etc/modprobe.d`. +Likewise for `/lib/depmod.d` vs. `/etc/depmod.d` and `/usr/lib/modules-load.d` vs. +`/etc/modules-load.d`. + +To completely mask the directives in a configuration file, it's recommended +to create a symlink to `/dev/null` with the same name as the file to be masked +in the respective directory under `/etc`. E.g. to mask +`/lib/modprobe.d/20-foo.conf`, run + + ln -s /dev/null /etc/modprobe.d/20-foo.conf + + +## Blacklisted file systems + +In the Linux kernel, file system types are implemented as kernel +modules. While many of these file systems are well maintained, some of the +older and less frequently used ones are not. This poses a security risk, +because maliciously crafted file system images might open security holes when +mounted either automatically or by an inadvertent user. + +These file systems are therefore **blacklisted** by default under openSUSE and +SUSE Enterprise Linux. This means that the on-demand loading of file system +modules at mount time is disabled. Blacklisting is accomplished by placing +configuration files called `60-blacklist_fs-$SOME_FS.conf` under +`/lib/modprobe.d`. The current list of blacklisted filesystems is: + + @FS_BLACKLIST@ # will be filled from spec file during package build + +### CAVEAT + +In the very unlikely case that one of the blacklisted file systems is necessary +for your system to boot, make sure you un-blacklist your file system before +rebooting. + +### Un-blacklisting a file system + +If a user tries to **mount(8)** a device with a blacklisted file system, the +mount command prints an error message like this: + + mount: /mnt/mx: unknown filesystem type 'minix' (hint: possibly blacklisted, see mount(8)). + +(**mount(8)** can't distinguish between a file system for which no kernel +module exists at all, and a file system for which a module exists which +is blacklisted). + +Users who need the blacklisted file systems and therefore want to override +the blacklisting can load the blacklisted module directly using `modprobe +$SOME_FS` in a terminal. This will call a script that offers to "un-blacklist" +the module for future use. + + # modprobe minix + unblacklist: *** NOTE: minix will be loaded even if you answer "n" below. *** + unblacklist: minix is currently blacklisted, do you want to un-blacklist it (y/n)? y + unblacklist: minix un-blacklisted by creating /etc/modprobe.d/60-blacklist_fs-minix.conf + +If the user selects **y**, the module is un-blacklisted by creating a symlink +to `/dev/null` (see above). Future attempts to mount minix file systems will +work with no issue, even after reboot, because the kernel's auto-loading +mechanism works for this file system again. If the user selects **n**, the +module remains blacklisted. Regardless of the user's answer, the module will be +loaded for the time being; i.e. subsequent **mount** commands for devices with +this file system will succeed until the module is unloaded or the system is +rebooted. + +For security reasons, it's recommended that you only un-blacklist file system +modules that you know you'll use on a regular basis, and just enable them +temporarily otherwise. + + +## Weak modules + +This package contains the script `weak-modules2` which is necessary to make +3rd party kernel modules installed for one kernel available to +KABI-compatible kernels. SUSE ensures KABI compatibility over the life +time of a service pack in SUSE Enterprise Linux. See the +[SUSE SolidDriver Program](https://drivers.suse.com/doc/SolidDriver/) for +details. + + +## Kernel-specific sysctl settings + +This package installs the file `50-kernel-uname_r.conf` which makes sure +that sysctl settings which are recommended for the currently running kernel +are applied by **systemd-sysctl.service** at boot time. These settings are +shipped in the file `/boot/sysctl.conf-$(uname -r)`, which is part of the +kernel package. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/lsinitrd-quick new/suse-module-tools-16.0.5/lsinitrd-quick --- old/suse-module-tools-16.0.4/lsinitrd-quick 1970-01-01 01:00:00.000000000 +0100 +++ new/suse-module-tools-16.0.5/lsinitrd-quick 2021-07-01 22:29:34.000000000 +0200 @@ -0,0 +1,92 @@ +#! /bin/bash + +trap 'echo error in $BASH_COMMAND >&2; exit 1' ERR + +MG_CPIO=$'\x71\xc7' +MG_CPIO1=070701 +MG_GZ=$'\x1f\x8b' +MG_GZ1=$'\x1f\x9e' +MG_BZ="BZh" +MG_XZ=$'\xfd7zXZ' +MG_LZ4=$'\x02\x21' +MG_LZO=$'\x89LZO' +MG_ZSTD=$'\x28\xB5\x2F\xFD' + +check_fmt() { + case $1 in + $MG_CPIO*|$MG_CPIO1) + echo cpio;; + $MG_GZ*|$MG_GZ1*) + echo gzip;; + $MG_BZ*) + echo bz2;; + $MG_XZ*) + echo xz;; + $MG_LZ4*) + echo lz4;; + $MG_LZO*) + echo lzo;; + $MG_ZSTD*) + echo zstd;; + esac +} + +uncomp() { + case $1 in + $MG_CPIO*|$MG_CPIO1) + cat;; + $MG_GZ*) + zcat;; + $MG_BZ*) + bzcat;; + $MG_XZ*) + xzcat;; + $MG_LZ4*) + lz4 -d -c;; + $MG_LZO*) + lzop -d -c;; + $MG_ZSTD*) + zstd -d -c;; + esac +} + +check_size () { + [[ "$SIZE" -gt $1 ]] || { + echo "$INITRD: file too small, cannot read magic" >&2 + exit 1 + } +} + +INITRD=$1 +[[ "$INITRD" && -f "$INITRD" ]] || { + echo "$INITRD: file not found" >&2 + exit 1 +} +SIZE=$(stat -L -c %s "$INITRD") +check_size 6 + +read -r -d'\0' -n 6 MAGIC <"$INITRD" +FMT=$(check_fmt "$MAGIC") +BYTES=0 +if [[ ! $FMT ]]; then + echo "$INITRD: unknown format" >&2 + exit 1 +elif [[ "$FMT" = cpio ]]; then + # check for "early CPIO" image + TMPFILE=$(mktemp "${TMPDIR:-/tmp}/initrd-XXXXXX") + EARLY=$(cpio -t early_cpio "kernel/*/microcode/*.bin" \ + <"$INITRD" 2>"$TMPFILE") + BLOCKS=$(cut -d" " -f1 "$TMPFILE") + rm -f "$TMPFILE" + if [[ -z "$EARLY" ]]; then + # just plain uncompressed cpio + cpio -t <"$INITRD" 2>/dev/null + exit + fi + BYTES=$((512*BLOCKS)) + check_size $((BYTES + 6)) + read -r -d '\0' -n 6 MAGIC \ + < <(dd if="$INITRD" bs=1b count=1 skip=$BLOCKS 2>/dev/null) +fi + +tail -c +$((BYTES + 1)) "$INITRD" | uncomp "$MAGIC" | cpio -t 2>/dev/null diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/modprobe.conf/00-system-937216.conf new/suse-module-tools-16.0.5/modprobe.conf/00-system-937216.conf --- old/suse-module-tools-16.0.4/modprobe.conf/00-system-937216.conf 2021-06-17 16:41:56.000000000 +0200 +++ new/suse-module-tools-16.0.5/modprobe.conf/00-system-937216.conf 2021-07-01 22:29:34.000000000 +0200 @@ -1,3 +1,5 @@ +# DO NOT EDIT - copy to /etc/modprobe.d/00-system-937216.conf and edit the copy +# # Since kernel 3.18 br_netfilter is needed to pass bridged packets to # netfilter. Load br_netfilter automatically to avoid regressions in SLE12 SP2+ # service packs (bsc#937216). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/modprobe.conf/modprobe.conf.common new/suse-module-tools-16.0.5/modprobe.conf/modprobe.conf.common --- old/suse-module-tools-16.0.4/modprobe.conf/modprobe.conf.common 2021-06-17 16:41:56.000000000 +0200 +++ new/suse-module-tools-16.0.5/modprobe.conf/modprobe.conf.common 2021-07-01 22:29:34.000000000 +0200 @@ -1,22 +1,23 @@ # # Copyright (c) 1996-2002 SuSE Linux AG Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC +# # All rights reserved. # # Author: Hubert Mantel <man...@suse.de>, 1996-2002 # -# Configuration file for loadable modules; used by modprobe -# -# Please don't edit this file. Place your settings into -# /etc/modprobe.d/99-local.conf instead. +# === PLEASE DO NOT EDIT THIS FILE === # +# If you need to make changes, copy this file to /etc/modprobe.d +# and apply changes there. # +# Configuration file for loadable modules; used by modprobe + ######################################################################## # If you want to use the new autofs4 ######################################################################## - alias autofs autofs4 - ######################################################################## # block dev aliases ######################################################################## diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/modprobe.conf/modprobe.conf.i386 new/suse-module-tools-16.0.5/modprobe.conf/modprobe.conf.i386 --- old/suse-module-tools-16.0.4/modprobe.conf/modprobe.conf.i386 2021-06-17 16:41:56.000000000 +0200 +++ new/suse-module-tools-16.0.5/modprobe.conf/modprobe.conf.i386 2021-07-01 22:29:34.000000000 +0200 @@ -23,7 +23,7 @@ options sisfb mode=none mem=12288 # ata_piix can't handle ICH6 in AHCI mode -install ata_piix /sbin/modprobe ahci 2>&1 |:; /sbin/modprobe --ignore-install ata_piix +softdep ata_piix pre: ahci # QEMU/KVM can handle ACPI Hotplugging alias dmi:bvnQEMU:bvrQEMU:* acpiphp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/modprobe.conf/modprobe.conf.x86_64 new/suse-module-tools-16.0.5/modprobe.conf/modprobe.conf.x86_64 --- old/suse-module-tools-16.0.4/modprobe.conf/modprobe.conf.x86_64 2021-06-17 16:41:56.000000000 +0200 +++ new/suse-module-tools-16.0.5/modprobe.conf/modprobe.conf.x86_64 2021-07-01 22:29:34.000000000 +0200 @@ -10,7 +10,7 @@ # options parport_pc io=0x378,0x278 irq=none,none # ata_piix can't handle ICH6 in AHCI mode -install ata_piix /sbin/modprobe ahci 2>&1 |:; /sbin/modprobe --ignore-install ata_piix +softdep ata_piix pre: ahci # QEMU/KVM can handle ACPI Hotplugging alias dmi:bvnQEMU:bvrQEMU:* acpiphp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/suse-module-tools.spec new/suse-module-tools-16.0.5/suse-module-tools.spec --- old/suse-module-tools-16.0.4/suse-module-tools.spec 2021-06-17 16:41:56.000000000 +0200 +++ new/suse-module-tools-16.0.5/suse-module-tools.spec 2021-07-01 22:29:34.000000000 +0200 @@ -15,20 +15,30 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # +# missing in SLE15 (systemd-rpm-macros) +%{!?_modulesloaddir: %global _modulesloaddir /usr/lib/modules-load.d} -# Define _rpmmacrodir if it's not defined yet -%{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d} -%define modules_load_dir /usr/lib/modules-load.d +# Location for modprobe and depmod .conf files +# +# This assumes post-usr-merge (20210527) for Tumbleweed +%if 0%{?suse_version} >= 1550 +%global modprobe_dir /usr/lib/modprobe.d +%global depmod_dir /usr/lib/depmod.d +%else +%global modprobe_dir /lib/modprobe.d +%global depmod_dir /lib/depmod.d +%endif # List of legacy file systems to be blacklisted by default %global fs_blacklist adfs affs bfs befs cramfs efs erofs exofs freevxfs hfs hpfs jfs minix nilfs2 ntfs omfs qnx4 qnx6 sysv ufs -%if 0%{?sle_version} >= 120200 && 0%{?sle_version} < 150000 -%global softdep_br_netfilter 1 -%endif +# List of all files installed under modprobe.d +# Note: this list contains files installed by previous versions, like 00-system-937216.conf! +%global modprobe_conf_files 00-system 00-system-937216 10-unsupported-modules 50-blacklist 60-blacklist_fs-* 99-local +%global modprobe_conf_rpmsave %(echo "%{modprobe_conf_files}" | sed 's,\\([^ ]*\\),%{_sysconfdir}/modprobe.d/\\1.conf.rpmsave,g') Name: suse-module-tools -Version: 16.0.4 +Version: 16.0.5 Release: 0 Summary: Configuration for module loading and SUSE-specific utilities for KMPs License: GPL-2.0-or-later @@ -41,6 +51,7 @@ Requires: /usr/bin/sed Requires: coreutils Requires: findutils +Requires: systemd-rpm-macros Requires: rpm Requires(post): /usr/bin/grep Requires(post): /usr/bin/sed @@ -52,6 +63,10 @@ Recommends: kmod # This release requires the dracut module 90nvdimm Conflicts: dracut < 49.1 +# TW: conflict with pre-usrmerge +%if 0%{?suse_version} >= 1550 +Conflicts: filesystem < 15.5-40.2 +%endif %description This package contains helper scripts for KMP installation and @@ -76,6 +91,7 @@ %setup -q %build +sed -i 's/@FS_BLACKLIST@.*/%{fs_blacklist}/' README.md %install # now assemble the parts for modprobe.conf @@ -86,27 +102,23 @@ if [ -f "modprobe.conf/modprobe.conf.$RPM_ARCH" ]; then cat "modprobe.conf/modprobe.conf.$RPM_ARCH" >>00-system.conf fi +install -d -m 755 "%{buildroot}%{modprobe_dir}" install -d -m 755 "%{buildroot}%{_sysconfdir}/modprobe.d" install -pm644 "10-unsupported-modules.conf" \ - "%{buildroot}%{_sysconfdir}/modprobe.d/" -install -pm644 00-system.conf "%{buildroot}%{_sysconfdir}/modprobe.d/" + "%{buildroot}%{modprobe_dir}/" +install -pm644 00-system.conf "%{buildroot}%{modprobe_dir}/" -%if 0%{?softdep_br_netfilter} -# softdep bridge->br_netfilter, SLE only -install -pm644 modprobe.conf/00-system-937216.conf %{buildroot}%{_sysconfdir}/modprobe.d -%endif %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 -install -pm644 modprobe.conf/modprobe.conf.blacklist "%{buildroot}%{_sysconfdir}/modprobe.d/50-blacklist.conf" +install -pm644 modprobe.conf/modprobe.conf.blacklist "%{buildroot}%{modprobe_dir}/50-blacklist.conf" %endif -install -pm644 modprobe.conf/modprobe.conf.local "%{buildroot}%{_sysconfdir}/modprobe.d/99-local.conf" +install -d -m 755 "%{buildroot}/%{depmod_dir}" install -d -m 755 "%{buildroot}%{_sysconfdir}/depmod.d" -install -pm 644 "depmod-00-system.conf" \ - "%{buildroot}%{_sysconfdir}/depmod.d/00-system.conf" +install -pm 644 "depmod-00-system.conf" "%{buildroot}%{depmod_dir}/00-system.conf" # "/usr/lib/module-init-tools" name hardcoded in KMPs, mkinitrd, etc. install -d -m 755 "%{buildroot}/usr/lib/module-init-tools" -install -pm 755 weak-modules{,2} "%{buildroot}/usr/lib/module-init-tools/" -install -pm 755 driver-check.sh "%{buildroot}/usr/lib/module-init-tools/" +install -pm 755 -t "%{buildroot}/usr/lib/module-init-tools/" \ + weak-modules{,2} driver-check.sh unblacklist lsinitrd-quick %if 0%{?suse_version} < 1550 # rpm macros and helper @@ -126,8 +138,8 @@ # Ensure that the sg driver is loaded early (bsc#1036463) # Not needed in SLE11, where sg is loaded via udev rule. -install -d -m 755 "%{buildroot}%{modules_load_dir}" -install -pm 644 sg.conf "%{buildroot}%{modules_load_dir}" +install -d -m 755 "%{buildroot}%{_modulesloaddir}" +install -pm 644 sg.conf "%{buildroot}%{_modulesloaddir}" %ifarch ppc64 ppc64le install -d -m 755 %{buildroot}/usr/lib/systemd/system-generators install -m 755 udev-trigger-generator %{buildroot}/usr/lib/systemd/system-generators @@ -138,131 +150,58 @@ %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 for mod in %{fs_blacklist}; do echo "\ +# DO NOT EDIT THIS FILE! +# # The $mod file system is blacklisted by default because it isn't actively # supported by SUSE, not well maintained, or may have security vulnerabilites. -# To enable autoloading the $mod file system module, comment out the -# \"blacklist $mod\" statement below. ENABLE AT YOUR OWN RISK. -# -# File system modules loaded at installation time of the %{name} package -# are not blacklisted. This is achieved by commenting out the blacklist -# line in the post-installation script. To prevent the post-installation -# script from modifying this file, delete the line containing \"THIS FILE MAY -# BE MODIFIED\" at the bottom. blacklist $mod -# __THIS FILE MAY BE MODIFIED__" \ - >%{buildroot}%{_sysconfdir}/modprobe.d/60-blacklist_fs-"$mod".conf +# The filesystem can be un-blacklisted by running \"modprobe $mod\". +# See README.md in the %{name} package for details. +install $mod /usr/lib/module-init-tools/unblacklist $mod; /sbin/modprobe --ignore-install $mod +" \ + >%{buildroot}%{modprobe_dir}/60-blacklist_fs-"$mod".conf done %endif %post -%if 0%{?sle_version} >= 150000 -# Delete obsolete unsupported-modules file from SLE11 -rm -f %{_sysconfdir}/modprobe.d/unsupported-modules -%else -# Logic for releases below CODE 15 -%if 0%{?is_opensuse} == 1 -allowed=1 -%else -allowed=0 -%endif -test_allow_on_install() -{ - # configure handling of unsupported modules - # default is to allow them - allow=1 - # if the obsolete LOAD_UNSUPPORTED_MODULES_AUTOMATICALLY variable is - # set to no, don't allow (this was used in SLES 9 and 10) - if test -e %{_sysconfdir}/sysconfig/hardware/config; then - . %{_sysconfdir}/sysconfig/hardware/config - if test "x$LOAD_UNSUPPORTED_MODULES_AUTOMATICALLY" = "xno"; then - allow=0 - fi - # obsolete - rm %{_sysconfdir}/sysconfig/hardware/config - fi - # don't change the setting during upgrade - if test "$1" != 1; then - allow= - return - fi - # on SLES, the default is not to allow unsupported modules - if grep -qs "Enterprise Server" %{_sysconfdir}/os-release; then - allow=0 - else - return - fi - # unless the admin passed "oem-modules=1" to the kernel during install - if grep -qs '\<oem-modules=1\>' /proc/cmdline; then - allow=1 - return - fi - # or if the installer already loaded some unsupported modules - # (see TAINT_NO_SUPPORT in /etc/src/linux/include/linux/kernel.h) - tainted=$(cat /proc/sys/kernel/tainted 2>/dev/null || echo 0) - if test $((tainted & (1<<30))) != 0; then - allow=1 - return - fi -} -# upgrade from old locations -if test -e %{_sysconfdir}/modprobe.d/unsupported-modules; then - mv -f %{_sysconfdir}/modprobe.d/unsupported-modules \ - %{_sysconfdir}/modprobe.d/10-unsupported-modules.conf -fi -test_allow_on_install "$@" -if test -n "$allow" -a "$allow" != "$allowed"; then - sed -ri 's/^( *allow_unsupported_modules *) [01]/\1 '"$allow"'/' \ - %{_sysconfdir}/modprobe.d/10-unsupported-modules.conf -fi -%endif +exit 0 -# upgrade from old locations -if test -e %{_sysconfdir}/modprobe.conf.local; then - mv -f %{_sysconfdir}/modprobe.conf.local \ - %{_sysconfdir}/modprobe.d/99-local.conf +%pre +# Avoid restoring old .rpmsave files in %posttrans +for f in %{modprobe_conf_rpmsave}; do + if [ -f ${f} ]; then + mv -f ${f} ${f}.%{name} + fi +done +if [ -f %{_sysconfdir}/depmod.d/00-system.conf.rpmsave ]; then + mv -f %{_sysconfdir}/depmod.d/00-system.conf.rpmsave \ + %{_sysconfdir}/depmod.d/00-system.conf.rpmsave.%{name} fi +exit 0 -# Avoid systems becoming unbootable by blacklisting filesystem -# modules. Modules loaded at installation time will not be -# blacklisted (the blacklist statement is commented out). -# config(noreplace) makes sure that this is not overwritten by rpm. -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 -for mod in %{fs_blacklist}; do - conf=%{_sysconfdir}/modprobe.d/60-blacklist_fs-"$mod".conf - if [ -f "$conf" ] && \ - grep -q '^# __THIS FILE MAY BE MODIFIED__$' "$conf" && \ - sed '/^nodev/d;' /proc/filesystems | grep -q "\<$mod\>"; then - sed -i ' -/^# next line was commented out by postinstall script of %{name}$/d -/^blacklist '"$mod"'/{i\ -# next line was commented out by postinstall script of %{name} -s/^/# / -}' "$conf" - fi +%posttrans +# If the user had modified any of the configuration files installed under +# /etc, they'll now be renamed to .rpmsave files. Restore them. +for f in %{modprobe_conf_rpmsave}; do + if [ -f ${f} ]; then + mv -fv ${f} ${f%.rpmsave} + fi done -%endif +if [ -f %{_sysconfdir}/depmod.d/00-system.conf.rpmsave ]; then + mv -fv %{_sysconfdir}/depmod.d/00-system.conf.rpmsave \ + %{_sysconfdir}/depmod.d/00-system.conf +fi +exit 0 %files %defattr(-,root,root) -%if 0%{?sle_version:%{sle_version}}%{!?sle_version:150000} <= 120200 -%dir %{_defaultlicensedir} -%endif %license LICENSE -%doc README.SUSE +%doc README.md +%{modprobe_dir} %dir %{_sysconfdir}/modprobe.d -%config %{_sysconfdir}/modprobe.d/00-system.conf -%if 0%{?softdep_br_netfilter} -%config(noreplace) %{_sysconfdir}/modprobe.d/00-system-937216.conf -%endif -%config(noreplace) %{_sysconfdir}/modprobe.d/10-unsupported-modules.conf -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150100 -%config(noreplace) %{_sysconfdir}/modprobe.d/50-blacklist.conf -%config(noreplace) %{_sysconfdir}/modprobe.d/60-blacklist_fs-*.conf -%endif -%config(noreplace) %{_sysconfdir}/modprobe.d/99-local.conf +%{depmod_dir} %dir %{_sysconfdir}/depmod.d -%config %{_sysconfdir}/depmod.d/00-system.conf %if 0%{?suse_version} < 1550 %{_rpmmacrodir}/macros.initrd %endif @@ -270,8 +209,7 @@ /usr/lib/module-init-tools %exclude /usr/lib/module-init-tools/weak-modules %{_unitdir}/systemd-sysctl.service.d -%dir %{modules_load_dir} -%{modules_load_dir}/sg.conf +%{_modulesloaddir} %ifarch ppc64 ppc64le /usr/lib/systemd/system-generators %endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/unblacklist new/suse-module-tools-16.0.5/unblacklist --- old/suse-module-tools-16.0.4/unblacklist 1970-01-01 01:00:00.000000000 +0100 +++ new/suse-module-tools-16.0.5/unblacklist 2021-07-01 22:29:34.000000000 +0200 @@ -0,0 +1,86 @@ +#! /bin/sh +# Copyright (c) 2021 SUSE LLC +# SPDX-License-Identifier: GPL-2.0-or-later + +# Never unblacklist non-interactively +if ! tty -s <&0; then + exit 0 +fi + +ME=$(basename "$0") +if [ $UID -ne 0 ]; then + echo "$ME: you must be root to run this program" >&2 + exit 1 +fi + +if [ $# -ne 1 ]; then + echo "Usage: $ME module" >&2 + exit 1 +fi + +MODULE=$1 +if [ -z "$MODULE" ] || \ + [ ! -f /lib/modprobe.d/60-blacklist_fs-"$MODULE".conf -a \ + ! -f /usr/lib/modprobe.d/60-blacklist_fs-"$MODULE".conf ]; then + echo "$ME: Invalid or unknown module \"$MODULE\"" >&2 + exit 1 +fi + +CONF=/etc/modprobe.d/60-blacklist_fs-"$MODULE".conf +if [ -L "$CONF" ]; then + if [ x"$(readlink -f "$CONF")" = x/dev/null ]; then + # already linked to /dev/null + exit 0 + else + echo "$ME: $CONF is in unexpected state, exiting" >&2 + exit 1 + fi +elif [ -f "$CONF" ]; then + if ! egrep -q "^[ ]*blacklist[ ]+$MODULE" "$CONF"; then + # not blacklisted + exit 0 + fi + if ! egrep -q '^# __THIS FILE MAY BE MODIFIED__' "$CONF"; then + echo "$ME: $CONF exists, cannot modify it" >&2 + exit 1 + fi +elif [ -e "$CONF" ]; then + echo "$ME: $CONF is in unexpected state, exiting" >&2 + exit 1 +fi + +echo "$ME: loading $MODULE file system module" >&2 +_a= +while [ -z "$_a" ]; do + echo -n "$ME: Do you want to un-blacklist $MODULE permanently (<y>es/<n>o/n<e>ver)? " >&2 + read _a + case $_a in + y|yes) _a=yes;; + n|no) _a=no;; + e|never) _a=never;; + *) _a=;; + esac +done +case $_a in + no) + echo "$ME: not un-blacklisting $MODULE" >&2 + exit 0 + ;; + never) + echo "$ME: creating $CONF" >&2 + rm -f "$CONF" + cat >$CONF <<EOF +# created by $0 (user wants to never unblacklist this module) +blacklist $MODULE +EOF + exit 0 + ;; +esac + +if ln -sf /dev/null "$CONF"; then + echo "$ME: $MODULE un-blacklisted by creating $CONF" >&2 + exit 0 +else + echo "$ME: Failed to create $CONF" >&2 + exit 1 +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/suse-module-tools-16.0.4/weak-modules2 new/suse-module-tools-16.0.5/weak-modules2 --- old/suse-module-tools-16.0.4/weak-modules2 2021-06-17 16:41:56.000000000 +0200 +++ new/suse-module-tools-16.0.5/weak-modules2 2021-07-01 22:29:34.000000000 +0200 @@ -57,6 +57,20 @@ # : ${DRACUT:=/usr/bin/dracut} +find_lsinitrd() { + local lsi + LSINITRD= + for lsi in /usr/lib/module-init-tools/lsinitrd-quick /usr/bin/lsinitrd; do + if [[ -x $lsi ]]; then + LSINITRD=$lsi + break + fi + done + if [[ ! "$LSINITRD" ]]; then + echo "$0: could not find lsinitrd" >&2 + exit 1 + fi +} find_depmod() { local _d @@ -322,7 +336,7 @@ } get_initrd_basenames() { - lsinitrd /boot/initrd-$1 | \ + $LSINITRD /boot/initrd-$1 | \ sed -rn 's:.*\<lib/modules/.*/::p' | \ strip_mod_extensions @@ -710,6 +724,7 @@ #unset LANG LC_ALL LC_COLLATE find_depmod +find_lsinitrd tmpdir=$(mktemp -d /var/tmp/${0##*/}.XXXXXX) trap "rm -rf $tmpdir" EXIT ++++++ suse-module-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.PFjzrV/_old 2021-07-04 22:10:43.229239449 +0200 +++ /var/tmp/diff_new_pack.PFjzrV/_new 2021-07-04 22:10:43.229239449 +0200 @@ -1,5 +1,5 @@ name: suse-module-tools -version: 16.0.4 -mtime: 1623940916 -commit: fe422e7058c691493567eeffc162f278b2120549 +version: 16.0.5 +mtime: 1625171374 +commit: 25069795b35b36f37a9f22688fd612be43475363