diff --git a/SOURCES/weak-modules b/SOURCES/weak-modules index 9298093..dd163cc 100644 --- a/SOURCES/weak-modules +++ b/SOURCES/weak-modules @@ -966,6 +966,7 @@ add_kernel() { local krel=${1:-$(uname -r)} local tmp local no_force_update="" + local num tmp=$(mktemp -p $tmpdir) @@ -983,9 +984,28 @@ add_kernel() { # reuse tmp + # optimization, check independent modules in one run. + # first try groups with one element in each. + # it means independent modules, so we can safely remove + # incompatible links + # some cut and paste here + + echo > $tmp for g in "${groups[@]}"; do + num="$(echo "$g" | wc -w)" + [ "$num" -gt 1 ] && continue + + printf '%s\n' $g >> $tmp + done + # to avoid subshell, see the read_modules_list comment + read_modules_list < $tmp + update_modules_for_krel $krel add_weak_links force_update + + for g in "${groups[@]}"; do + num="$(echo "$g" | wc -w)" + [ "$num" -eq 1 ] && continue + printf '%s\n' $g > $tmp - # to avoid subshell, see the read_modules_list comment read_modules_list < $tmp update_modules_for_krel $krel add_weak_links $no_force_update done diff --git a/SPECS/kmod.spec b/SPECS/kmod.spec index d9dfec2..0b4bb5e 100644 --- a/SPECS/kmod.spec +++ b/SPECS/kmod.spec @@ -1,6 +1,6 @@ Name: kmod Version: 25 -Release: 11%{?dist}.2 +Release: 13%{?dist} Summary: Linux kernel module management utilities Group: System Environment/Kernel @@ -123,13 +123,13 @@ install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/dist.conf %{_libdir}/libkmod.so %changelog -* Wed Apr 3 2019 Yauheni Kaliuta - 25-11.el8_0.2 -- Rebuild because of gating. - Related: rhbz#1695557 +* Tue Apr 16 2019 Yauheni Kaliuta - 25-13 +- weak-modules: handle independent modules in one run + Resolves: rhbz#1695763 -* Wed Apr 3 2019 Yauheni Kaliuta - 25-11.el8_0.1 +* Tue Apr 2 2019 Yauheni Kaliuta - 25-12 - weak-modules: use asterisk for kernel version in sandbox - Resolves: rhbz#1695557 + Resolves: rhbz#1689052 * Tue Feb 5 2019 Yauheni Kaliuta - 25-11 - add PKCS7/openssl support.