Add modalias tracking.
This commit is contained in:
parent
45933be68b
commit
30c63bc274
98
redhat-rpm-config-find-provides.patch
Normal file
98
redhat-rpm-config-find-provides.patch
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
diff -ruP redhat-rpm-config-8.0.45/find-provides redhat-rpm-config-8.0.45-MOD/find-provides
|
||||||
|
--- redhat-rpm-config-8.0.45/find-provides 2006-07-30 13:57:59.000000000 -0500
|
||||||
|
+++ redhat-rpm-config-8.0.45-MOD/find-provides 2007-02-26 10:17:14.000000000 -0600
|
||||||
|
@@ -71,6 +71,14 @@
|
||||||
|
echo $filelist | tr '[:blank:]' \\n | /usr/lib/rpm/redhat/find-provides.libtool | sort -u
|
||||||
|
|
||||||
|
#
|
||||||
|
+# --- any other extra find-provides scripts
|
||||||
|
+for i in /usr/lib/rpm/redhat/find-provides.d/*.prov
|
||||||
|
+do
|
||||||
|
+ [ -x $i ] &&
|
||||||
|
+ (echo $filelist | tr '[:blank:]' \\n | $i | sort -u)
|
||||||
|
+done
|
||||||
|
+
|
||||||
|
+#
|
||||||
|
# --- pkgconfig
|
||||||
|
[ -x /usr/lib/rpm/redhat/find-provides.pkgconfig ] &&
|
||||||
|
echo $filelist | tr '[:blank:]' \\n | /usr/lib/rpm/redhat/find-provides.pkgconfig | sort -u
|
||||||
|
diff -ruP redhat-rpm-config-8.0.45/find-provides.d/modalias.prov redhat-rpm-config-8.0.45-MOD/find-provides.d/modalias.prov
|
||||||
|
--- redhat-rpm-config-8.0.45/find-provides.d/modalias.prov 1969-12-31 18:00:00.000000000 -0600
|
||||||
|
+++ redhat-rpm-config-8.0.45-MOD/find-provides.d/modalias.prov 2007-02-26 10:19:18.000000000 -0600
|
||||||
|
@@ -0,0 +1,76 @@
|
||||||
|
+#! /bin/sh
|
||||||
|
+
|
||||||
|
+# heavily based upon find-suggests.ksyms by Andreas Gruenbacher <agruen@suse.de>.
|
||||||
|
+# with modifications by Michael Brown <Michael_E_Brown@dell.com>
|
||||||
|
+#
|
||||||
|
+# -- added module versioning info to modalias() symbols
|
||||||
|
+# -- removed code which inspects spec files.
|
||||||
|
+
|
||||||
|
+IFS=$'\n'
|
||||||
|
+
|
||||||
|
+#
|
||||||
|
+# Initially, dont generate modalias() lines for kernel package. This needs
|
||||||
|
+# additional discussion. Would like to eventually add them for
|
||||||
|
+# completeness, so that we can determine when drivers are folded into
|
||||||
|
+# mainline kernel.
|
||||||
|
+#
|
||||||
|
+case "$1" in
|
||||||
|
+kernel-module-*) ;; # Fedora kernel module package names start with
|
||||||
|
+ # kernel-module.
|
||||||
|
+kernel*) is_kernel_package=1 ;;
|
||||||
|
+esac
|
||||||
|
+
|
||||||
|
+if ! [ -z "$is_kernel_package" ]; then
|
||||||
|
+ cat > /dev/null
|
||||||
|
+ exit 0
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+print_modaliases() {
|
||||||
|
+ declare class=$1 variants=$2 pos=$3
|
||||||
|
+ if [ -n "$variants" ]; then
|
||||||
|
+ echo "${class:0:pos}[$variants]${class:pos+1}"
|
||||||
|
+ else
|
||||||
|
+ [ -z "$class" ] || echo "$class"
|
||||||
|
+ fi
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+combine_modaliases() {
|
||||||
|
+ declare tag class variants pos n
|
||||||
|
+ read class
|
||||||
|
+ while read tag; do
|
||||||
|
+ for ((n=0; n<${#class}; n++)); do
|
||||||
|
+ if [ "*" != "${class:n:1}" -a \
|
||||||
|
+ "${class:0:n}" = "${tag:0:n}" -a \
|
||||||
|
+ "${class:n+1}" = "${tag:n+1}" ] &&
|
||||||
|
+ ( [ -z "$pos" ] || [ $n = $pos ] ); then
|
||||||
|
+ variants="${variants:-${class:n:1}}${tag:n:1}"
|
||||||
|
+ pos=$n
|
||||||
|
+ break
|
||||||
|
+ fi
|
||||||
|
+ done
|
||||||
|
+ if [ $n -eq ${#class} ]; then
|
||||||
|
+ print_modaliases "$class" "$variants" "$pos"
|
||||||
|
+ variants=
|
||||||
|
+ pos=
|
||||||
|
+ class=$tag
|
||||||
|
+ fi
|
||||||
|
+ done
|
||||||
|
+ print_modaliases "$class" "$variants" "$pos"
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+for module in $(grep -E '/lib/modules/.+\.ko$') $*; do
|
||||||
|
+ # | head -n1 because some modules have *two* version tags. *cough*b44*cough*
|
||||||
|
+ modver=$(/sbin/modinfo -F version "$module"| head -n1)
|
||||||
|
+ modver=${modver// /_}
|
||||||
|
+
|
||||||
|
+ # only add version tag if it has a version
|
||||||
|
+ if [ -n "$modver" ]; then
|
||||||
|
+ /sbin/modinfo -F alias "$module" \
|
||||||
|
+ | sed -nre "s,(.+),modalias(\\1) = $modver,p"
|
||||||
|
+ else
|
||||||
|
+ /sbin/modinfo -F alias "$module" \
|
||||||
|
+ | sed -nre "s,(.+),modalias(\\1),p"
|
||||||
|
+ fi
|
||||||
|
+done \
|
||||||
|
+| sort -u \
|
||||||
|
+| combine_modaliases
|
@ -1,7 +1,7 @@
|
|||||||
Summary: Red Hat specific rpm configuration files.
|
Summary: Red Hat specific rpm configuration files.
|
||||||
Name: redhat-rpm-config
|
Name: redhat-rpm-config
|
||||||
Version: 8.0.45
|
Version: 8.0.45
|
||||||
Release: 14%{dist}
|
Release: 15%{dist}
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Development/System
|
Group: Development/System
|
||||||
Source: redhat-rpm-config-%{version}.tar.gz
|
Source: redhat-rpm-config-%{version}.tar.gz
|
||||||
@ -11,6 +11,7 @@ Patch0: redhat-rpm-config-java.patch
|
|||||||
Patch1: redhat-rpm-config-find-requires.patch
|
Patch1: redhat-rpm-config-find-requires.patch
|
||||||
Patch2: redhat-rpm-config-kmp.patch
|
Patch2: redhat-rpm-config-kmp.patch
|
||||||
Patch3: redhat-rpm-config-fedora-version-fc71.patch
|
Patch3: redhat-rpm-config-fedora-version-fc71.patch
|
||||||
|
Patch4: redhat-rpm-config-find-provides.patch
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
#Requires: rpmbuild(VendorConfig) <= 4.1
|
#Requires: rpmbuild(VendorConfig) <= 4.1
|
||||||
#Requires: mktemp
|
#Requires: mktemp
|
||||||
@ -37,8 +38,10 @@ chmod a+x ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat/config.{guess,sub}
|
|||||||
(cd ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat ; patch -p1 -i %{PATCH1})
|
(cd ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat ; patch -p1 -i %{PATCH1})
|
||||||
(cd ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat ; patch -p1 -i %{PATCH2})
|
(cd ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat ; patch -p1 -i %{PATCH2})
|
||||||
(cd ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat ; patch -p1 -i %{PATCH3})
|
(cd ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat ; patch -p1 -i %{PATCH3})
|
||||||
|
(cd ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat ; patch -p1 -i %{PATCH4})
|
||||||
install -m 755 %{SOURCE1} ${RPM_BUILD_ROOT}/%{_prefix}/lib/rpm/redhat/
|
install -m 755 %{SOURCE1} ${RPM_BUILD_ROOT}/%{_prefix}/lib/rpm/redhat/
|
||||||
install -m 755 %{SOURCE2} ${RPM_BUILD_ROOT}/%{_prefix}/lib/rpm/redhat/
|
install -m 755 %{SOURCE2} ${RPM_BUILD_ROOT}/%{_prefix}/lib/rpm/redhat/
|
||||||
|
chmod a+x ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat/find-*.d/*.prov
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf ${RPM_BUILD_ROOT}
|
rm -rf ${RPM_BUILD_ROOT}
|
||||||
@ -48,6 +51,10 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%{_prefix}/lib/rpm/redhat
|
%{_prefix}/lib/rpm/redhat
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 11 2007 Jon Masters <jcm@redhat.com> 8.0.45-15
|
||||||
|
- Add modalias tags to kernel module packages (kmods) for tracking.
|
||||||
|
- Further information is available at http://www.kerneldrivers.org/.
|
||||||
|
|
||||||
* Tue Apr 03 2007 Jon Masters <jcm@redhat.com> 8.0.45-14
|
* Tue Apr 03 2007 Jon Masters <jcm@redhat.com> 8.0.45-14
|
||||||
- Rebased all previous patches (since java fix introduced offset).
|
- Rebased all previous patches (since java fix introduced offset).
|
||||||
- Added Fedora per-release macros to platforms section of macros.
|
- Added Fedora per-release macros to platforms section of macros.
|
||||||
|
Loading…
Reference in New Issue
Block a user