Hello community,

here is the log from the commit of package rpm-config-SUSE for openSUSE:Factory 
checked in at 2019-07-13 13:33:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpm-config-SUSE (Old)
 and      /work/SRC/openSUSE:Factory/.rpm-config-SUSE.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rpm-config-SUSE"

Sat Jul 13 13:33:47 2019 rev:7 rq:710907 version:0.g27

Changes:
--------
--- /work/SRC/openSUSE:Factory/rpm-config-SUSE/rpm-config-SUSE.changes  
2019-04-22 12:21:55.528818340 +0200
+++ 
/work/SRC/openSUSE:Factory/.rpm-config-SUSE.new.4615/rpm-config-SUSE.changes    
    2019-07-13 13:33:49.435344968 +0200
@@ -1,0 +2,16 @@
+Tue Jun 18 13:25:45 UTC 2019 - Takashi Iwai <[email protected]>
+
+- Add support for compressed firmware files
+- Add support for compressed kernel modules
+
+-------------------------------------------------------------------
+Fri May 17 10:37:23 UTC 2019 - Martin Wilck <[email protected]>
+
+- macros: avoid emitting bashisms into scriptlets
+
+-------------------------------------------------------------------
+Thu Apr 25 16:15:13 UTC 2019 - Michal Suchanek <[email protected]>
+
+- Provide/require modules with .ko suffix (jsc#SLE-3853)
+
+-------------------------------------------------------------------
@@ -6,0 +23,6 @@
+Tue Mar  5 16:05:14 UTC 2019 - Michal Suchanek <[email protected]>
+
+- Add automatic kernel module requires for module-load.d files
+  (FATE#326579).
+
+-------------------------------------------------------------------
@@ -9,0 +32,10 @@
+
+-------------------------------------------------------------------
+Tue Dec 18 20:10:04 UTC 2018 - Michal Suchanek <[email protected]>
+
+- Add kmod(module) provides to kernel and KMPs (FATE#326579).
+
+-------------------------------------------------------------------
+Wed Oct 24 16:10:40 CEST 2018 - [email protected]
+
+- Fix superfluous TOC. dependency (bsc#1113100)

Old:
----
  rpm-config-SUSE-0.g14.tar.xz

New:
----
  rpm-config-SUSE-0.g27.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rpm-config-SUSE.spec ++++++
--- /var/tmp/diff_new_pack.aNN6cl/_old  2019-07-13 13:33:50.931344570 +0200
+++ /var/tmp/diff_new_pack.aNN6cl/_new  2019-07-13 13:33:50.959344563 +0200
@@ -13,12 +13,12 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
 
 Name:           rpm-config-SUSE
-Version:        0.g14
+Version:        0.g27
 Release:        0
 Summary:        SUSE specific RPM configuration files
 License:        GPL-2.0-or-later

++++++ rpm-config-SUSE-0.g14.tar.xz -> rpm-config-SUSE-0.g27.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpm-config-SUSE-0.g14/fileattrs/kernel.attr 
new/rpm-config-SUSE-0.g27/fileattrs/kernel.attr
--- old/rpm-config-SUSE-0.g14/fileattrs/kernel.attr     2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/fileattrs/kernel.attr     2019-06-19 
14:07:25.000000000 +0200
@@ -1,2 +1,2 @@
 %__kernel_provides     %{_rpmconfigdir}/find-provides.ksyms --tumbleweed 
%{?sle_version:0}%{!?sle_version:1}
-%__kernel_path         
^(/lib/modules/[^/]*/kernel/.*\.ko(\.gz)?|/boot/vmlinu[xz].*)$
+%__kernel_path         
^(/lib/modules/[^/]*/kernel/.*\.ko(\.gz|\.xz)?|/boot/vmlinu[xz].*)$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpm-config-SUSE-0.g14/fileattrs/kmp.attr 
new/rpm-config-SUSE-0.g27/fileattrs/kmp.attr
--- old/rpm-config-SUSE-0.g14/fileattrs/kmp.attr        2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/fileattrs/kmp.attr        2019-06-19 
14:07:25.000000000 +0200
@@ -1,4 +1,4 @@
 %__kmp_provides                %{_rpmconfigdir}/find-provides.ksyms 
--tumbleweed %{?sle_version:0}%{!?sle_version:1}
 %__kmp_requires                %{_rpmconfigdir}/find-requires.ksyms 
--tumbleweed %{?sle_version:0}%{!?sle_version:1}
 %__kmp_supplements     %{_rpmconfigdir}/find-supplements.ksyms
-%__kmp_path            ^/lib/modules/[^/]*/(updates|extra)/.*\.ko(\.gz)?
+%__kmp_path            ^/lib/modules/[^/]*/(updates|extra)/.*\.ko(\.gz|\.xz)?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpm-config-SUSE-0.g14/macros.d/macros.initrd 
new/rpm-config-SUSE-0.g27/macros.d/macros.initrd
--- old/rpm-config-SUSE-0.g14/macros.d/macros.initrd    2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/macros.d/macros.initrd    2019-06-19 
14:07:25.000000000 +0200
@@ -10,6 +10,6 @@
 
 %regenerate_initrd_posttrans \
        if test -x /usr/lib/module-init-tools/regenerate-initrd-posttrans; then 
\
-               /bin/bash -${-/e/} 
/usr/lib/module-init-tools/regenerate-initrd-posttrans \
+               /bin/bash -c 'set +e; 
/usr/lib/module-init-tools/regenerate-initrd-posttrans' \
        fi \
        %nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rpm-config-SUSE-0.g14/package/rpm-config-SUSE.changes 
new/rpm-config-SUSE-0.g27/package/rpm-config-SUSE.changes
--- old/rpm-config-SUSE-0.g14/package/rpm-config-SUSE.changes   2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/package/rpm-config-SUSE.changes   2019-06-19 
14:07:25.000000000 +0200
@@ -1,14 +1,46 @@
 -------------------------------------------------------------------
+Tue Jun 18 13:25:45 UTC 2019 - Takashi Iwai <[email protected]>
+
+- Add support for compressed firmware files
+- Add support for compressed kernel modules
+
+-------------------------------------------------------------------
+Fri May 17 10:37:23 UTC 2019 - Martin Wilck <[email protected]>
+
+- macros: avoid emitting bashisms into scriptlets
+
+-------------------------------------------------------------------
+Thu Apr 25 16:15:13 UTC 2019 - Michal Suchanek <[email protected]>
+
+- Provide/require modules with .ko suffix (jsc#SLE-3853)
+
+-------------------------------------------------------------------
 Wed Apr 10 09:59:33 CEST 2019 - [email protected]
 
 - Don't use bash syntax in %install_info macro [bsc#1131957]
 
 -------------------------------------------------------------------
+Tue Mar  5 16:05:14 UTC 2019 - Michal Suchanek <[email protected]>
+
+- Add automatic kernel module requires for module-load.d files
+  (FATE#326579).
+
+-------------------------------------------------------------------
 Wed Jan 30 13:57:55 CET 2019 - [email protected]
 
 - Added macros.d/macros.initrd
 
 -------------------------------------------------------------------
+Tue Dec 18 20:10:04 UTC 2018 - Michal Suchanek <[email protected]>
+
+- Add kmod(module) provides to kernel and KMPs (FATE#326579).
+
+-------------------------------------------------------------------
+Wed Oct 24 16:10:40 CEST 2018 - [email protected]
+
+- Fix superfluous TOC. dependency (bsc#1113100)
+
+-------------------------------------------------------------------
 Fri Oct 12 14:17:05 UTC 2018 - Jan Engelhardt <[email protected]>
 
 - Update to new snapshot 0.g8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpm-config-SUSE-0.g14/scripts/find-provides.ksyms 
new/rpm-config-SUSE-0.g27/scripts/find-provides.ksyms
--- old/rpm-config-SUSE-0.g14/scripts/find-provides.ksyms       2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/scripts/find-provides.ksyms       2019-06-19 
14:07:25.000000000 +0200
@@ -27,12 +27,24 @@
     */boot/vmlinu[xz]-*)
         flavor=${f##*/vmlinu[xz]-}
         flavor=${flavor%.gz}
-        echo "kernel-uname-r = $flavor"
         version=${flavor}
+        inst_prefix="$(dirname $f)"
+        inst_prefix="$(dirname $inst_prefix)"
+        echo "kernel-uname-r = $version"
+        builtin="$inst_prefix/lib/modules/$version/modules.builtin"
+        if [ -e "$builtin" ] ; then
+                while read modname ; do
+                        echo "kmod($(basename "$modname" | tr '-' '_'))"
+                done < "$builtin"
+        else
+                echo "Builtin modules for $f not available in $builtin" >&2
+        fi
         flavor=${flavor##*-}
         ;;
-    */lib/modules/*/*.ko | */lib/modules/*/*.ko.gz | */boot/vmlinu[xz]*)
+    */lib/modules/*/*.ko | */lib/modules/*/*.ko.[gx]z)
         is_module="1"
+        modname="${f%%.[gx]z}"
+        echo "kmod($(basename "$modname" | tr '-' '_'))"
         ;;
     *)
         continue
@@ -40,12 +52,14 @@
     if $is_tumbleweed; then
         continue
     fi
-    unzip=false
+    unzip=""
     case "$f" in
     *.gz | */boot/vmlinuz*)
-        unzip=true
+        unzip="gzip -cd";;
+    *.xz)
+        unzip="xz -cd";;
     esac
-    if $unzip && gzip -cd "$f" >"$tmp"; then
+    if test -n "$unzip" && $unzip "$f" >"$tmp"; then
         f=$tmp
     fi
     if test -z "$flavor" -a -n "$is_module" ; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpm-config-SUSE-0.g14/scripts/find-requires.ksyms 
new/rpm-config-SUSE-0.g27/scripts/find-requires.ksyms
--- old/rpm-config-SUSE-0.g14/scripts/find-requires.ksyms       2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/scripts/find-requires.ksyms       2019-06-19 
14:07:25.000000000 +0200
@@ -2,6 +2,12 @@
 
 IFS=$'\n'
 
+case "$1" in
+kernel-module-*)    ;; # Fedora kernel module package names start with
+                      # kernel-module.
+kernel*)           is_kernel_package=1 ;;
+esac
+
 is_tumbleweed=false
 
 if test "$1" = "--tumbleweed"; then
@@ -11,19 +17,103 @@
     shift 2
 fi
 
-if ! $is_tumbleweed && ! test -e /sbin/modprobe; then
+if [ -n "$is_kernel_package" ] || ! test -e /sbin/modprobe || ! test -e 
/sbin/modinfo ; then
     cat > /dev/null
     exit 0
 fi
 
-for f in $(grep -E '/lib/modules/.+\.ko$' | grep -v 
'/lib/modules/[^/]*/kernel/'); do
-    flavor=${f#*/lib/modules/}
-    flavor=${flavor%%/*}
-    if $is_tumbleweed; then
-        echo "kernel-uname-r = $flavor"
-        continue
-    fi
-    flavor=${flavor##*-}
-    /sbin/modprobe --dump-modversions "$f" \
-           | sed -r -ne "s/^0x0*([0-9a-f]+)[[:blank:]]+(.+)/ksym($flavor:\\2) 
= \\1/p"
-done | sort -u
+modules=()
+modreqs=""
+modsexp=""
+while read f ; do
+       case "$f" in
+               /lib/modules/*.ko) modules[${#modules[*]}]="$f" ;;
+               /lib/modules/*.ko.[gx]z) modules[${#modules[*]}]="${f%.*}" ;;
+               */modules.builtin) while read x; do 
modsexp="$modsexp|$(basename "$x" .ko | tr '-' '_')"; done < $f ;;
+               /usr/lib/modules-load.d/*.conf) while read x; do
+                       case "$x" in
+                               \#*|\;*);; #empty lines removed by grep
+                               *)modreqs="$modreqs $x.ko";;
+                       esac
+               done < $f
+       esac
+done
+while read x ; do modsexp="$modsexp|$(basename "$x" .ko | tr '-' '_')" ; done 
<< EOF
+       $(echo "${modules[@]}" | tr ' ' '\n')
+EOF
+echo $modreqs | tr ' -' '\n_' | grep -vE "^(|($modsexp).ko)\$" | while read x; 
do echo "kmod($x)" ; done
+
+if $is_tumbleweed; then
+       for module in "${modules[@]}"; do
+               flavor=${module#*/lib/modules/}
+               flavor=${flavor%%/*}
+               flavor=${flavor##*-}
+               echo "kernel-uname-r = $flavor"
+       done
+       exit 0
+fi
+
+trap 'rm -f "$tmp"' EXIT
+tmp=$(mktemp)
+
+all_provides() {
+    for module in "${modules[@]}"; do
+       if [ -f "$module" ]; then
+           nm "$module"
+       else
+           if [ -f "$module".gz ]; then
+               gzip -cd "$module".gz > "$tmp"
+           elif [ -f "$module".xz ]; then
+               xz -cd "$module".xz > "$tmp"
+           else
+               continue
+           fi
+           nm "$tmp"
+       fi
+    done \
+    | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):\1\t\2:p' \
+    | sort -t $'\t' -k2 -u
+}
+
+all_requires() {
+    for module in "${modules[@]}"; do
+       if [ ! -f "$module" ]; then
+           if [ -f "$module".gz ]; then
+               module="$module".gz
+           elif [ -f "$module".xz ]; then
+               module="$module".xz
+           else
+               continue
+           fi
+       fi
+       set -- $(/sbin/modinfo -F vermagic "$module" | sed -e 's: .*::' -e q)
+       /sbin/modprobe --dump-modversions "$module" \
+           | sed -r -e 's:^0x0*::' -e 's:$:\t'"$1"':'
+    done \
+    | sort -t $'\t' -k2 -u
+}
+
+if [ ${#modules[@]} -gt 0 ]; then
+    symset_table=$(mktemp -t ${0##*/}.XXXXX)
+    /usr/lib/rpm/symset-table | sort -t $'\t' -k 1,1 > $symset_table
+
+    join -t $'\t' -j 1 -a 2 $symset_table <(
+       # Filter out requirements that we fulfill ourself.
+       join -t $'\t' -j 2 -v 1 \
+           <(all_requires "${modules[@]}") \
+           <(all_provides "${modules[@]}") \
+       | awk '
+       BEGIN { FS = "\t" ; OFS = "\t" }
+       { print $3 "/" $2 "/" $1 }
+       ' \
+       | sort -t $'\t' -k 1,1 -u) \
+    | sort -u \
+    | awk '
+    { FS = "\t" ; OFS = "\t" }
+           { split($1, arr, "/")
+             flavor = gensub(/.*-/, "", "", arr[1]) }
+    NF == 3 { print "kernel(" flavor ":" $2 ") = " $3
+             next }
+           { print "ksym(" flavor ":" arr[3] ") = " arr[2] }
+    '
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpm-config-SUSE-0.g14/scripts/find-supplements.ksyms 
new/rpm-config-SUSE-0.g27/scripts/find-supplements.ksyms
--- old/rpm-config-SUSE-0.g14/scripts/find-supplements.ksyms    2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/scripts/find-supplements.ksyms    2019-06-19 
14:07:25.000000000 +0200
@@ -50,7 +50,7 @@
     done
 }
 
-for module in $(grep -E '/lib/modules/.+\.ko$' | grep -v 
'/lib/modules/[^/]*/kernel/'); do
+for module in $(grep -E '/lib/modules/.+\.ko(\.[gx]z)?$' | grep -v 
'/lib/modules/[^/]*/kernel/'); do
     vermagic=$(/sbin/modinfo -F vermagic "$module")
     krel=${vermagic%% *}
     /sbin/modinfo -F alias "$module" \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpm-config-SUSE-0.g14/scripts/firmware.prov 
new/rpm-config-SUSE-0.g27/scripts/firmware.prov
--- old/rpm-config-SUSE-0.g14/scripts/firmware.prov     2019-04-10 
11:40:50.000000000 +0200
+++ new/rpm-config-SUSE-0.g27/scripts/firmware.prov     2019-06-19 
14:07:25.000000000 +0200
@@ -3,6 +3,11 @@
 
 while read instfile ; do
   case $instfile in
-    */lib/firmware/*) test -f "$instfile" && echo 
"firmware(${instfile##*/lib/firmware/})" ;;
+    */lib/firmware/*) test -f "$instfile" || continue ;;
+    *) continue ;;
   esac
+
+  instfile=${instfile##*/lib/firmware/}
+  instfile=${instfile%.xz}
+  echo "firmware($instfile)"
 done


Reply via email to