diff --git a/redhat-rpm-config-find-provides.patch b/redhat-rpm-config-find-provides.patch new file mode 100644 index 0000000..93256ba --- /dev/null +++ b/redhat-rpm-config-find-provides.patch @@ -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 . ++# with modifications by Michael Brown ++# ++# -- 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 diff --git a/redhat-rpm-config.spec b/redhat-rpm-config.spec index 75ae34f..282b4bf 100644 --- a/redhat-rpm-config.spec +++ b/redhat-rpm-config.spec @@ -1,7 +1,7 @@ Summary: Red Hat specific rpm configuration files. Name: redhat-rpm-config Version: 8.0.45 -Release: 14%{dist} +Release: 15%{dist} License: GPL Group: Development/System Source: redhat-rpm-config-%{version}.tar.gz @@ -11,6 +11,7 @@ Patch0: redhat-rpm-config-java.patch Patch1: redhat-rpm-config-find-requires.patch Patch2: redhat-rpm-config-kmp.patch Patch3: redhat-rpm-config-fedora-version-fc71.patch +Patch4: redhat-rpm-config-find-provides.patch BuildArch: noarch #Requires: rpmbuild(VendorConfig) <= 4.1 #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 %{PATCH2}) (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 %{SOURCE2} ${RPM_BUILD_ROOT}/%{_prefix}/lib/rpm/redhat/ +chmod a+x ${RPM_BUILD_ROOT}%{_prefix}/lib/rpm/redhat/find-*.d/*.prov %clean rm -rf ${RPM_BUILD_ROOT} @@ -48,6 +51,10 @@ rm -rf ${RPM_BUILD_ROOT} %{_prefix}/lib/rpm/redhat %changelog +* Wed Apr 11 2007 Jon Masters 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 8.0.45-14 - Rebased all previous patches (since java fix introduced offset). - Added Fedora per-release macros to platforms section of macros.