diff --git a/findksyms.diff b/findksyms.diff index 88d4f02..b804b3b 100644 --- a/findksyms.diff +++ b/findksyms.diff @@ -29,7 +29,7 @@ Index: scripts/find-requires.ksyms =================================================================== --- /dev/null +++ scripts/find-requires.ksyms -@@ -0,0 +1,58 @@ +@@ -0,0 +1,59 @@ +#! /bin/bash + +IFS=$'\n' @@ -82,9 +82,10 @@ Index: scripts/find-requires.ksyms + | sort -u \ + | awk ' + { FS = "\t" ; OFS = "\t" } -+ NF == 3 { print "kernel(" $2 ") = " $3 -+ next } + { split($1, arr, "/") -+ print "ksym(" arr[3] ") = " arr[2] } ++ flavor = gensub(/.*-/, "", "", arr[1]) } ++ NF == 3 { print "kernel(" flavor ":" $2 ") = " $3 ++ next } ++ { print "ksym(" flavor ":" arr[3] ") = " arr[2] } + ' +fi diff --git a/modalias-kernel_module.diff b/modalias-kernel_module.diff index 4add934..ddee61d 100644 --- a/modalias-kernel_module.diff +++ b/modalias-kernel_module.diff @@ -1,16 +1,15 @@ -Index: scripts/find-supplements.ksyms -=================================================================== --- scripts/find-supplements.ksyms +++ scripts/find-supplements.ksyms -@@ -1,5 +1,6 @@ +@@ -1,6 +1,8 @@ #! /bin/sh +RPM_SOURCE_DIR=/usr/src/packages/SOURCES IFS=$'\n' ++PACKAGE=$1 case "$1" in -@@ -46,11 +47,43 @@ combine_modaliases() { - print_modaliases "$class" "$variants" "$pos" + kernel-module-*) ;; # Fedora kernel module package names start with +@@ -47,10 +49,53 @@ } -for module in $(grep -E '/lib/modules/.+\.ko$'); do @@ -20,12 +19,23 @@ Index: scripts/find-supplements.ksyms - | sed -nre "s,(.+:.+),modalias(kernel-${krel##*-}:\\1),p" -done \ +aliases_of_filelist() { ++ modlist=$(mktemp) ++ have_module=1 + for module in $(grep -E '/lib/modules/.+\.ko$'); do + vermagic=$(/sbin/modinfo -F vermagic "$module") + krel=${vermagic%% *} ++ if ! test -x /sbin/modinfo; then ++ echo "ERROR: add module-init-tools to BuildRequires" >&2 ++ exit 1 ++ fi ++ have_module=0 + /sbin/modinfo -F alias "$module" \ -+ | sed -nre "s,(.+:.+),modalias(kernel-${krel##*-}:\\1),p" ++ | sed -nre "s,(.+:.+),modalias(kernel-${krel##*-}:\\1),p" | tee -a $modlist + done ++ if ! test -s "$modlist" && test $have_module = 0; then ++ echo "packageand(kernel-${krel##*-}:$PACKAGE-kmp)" ++ fi ++ rm -f $modlist +} + +aliases_of_specfile_macro() { diff --git a/noprovides.diff b/noprovides.diff index 095948f..c8e7fb8 100644 --- a/noprovides.diff +++ b/noprovides.diff @@ -17,7 +17,7 @@ for obsoleted packages. It's just too dangerous. mi = rpmtsInitIterator(ts, RPMTAG_BASENAMES, Name, 0); else - mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, Name, 0); -+ mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, Name, 0); ++ mi = rpmtsInitIterator(ts, RPMTAG_NAME, Name, 0); xx = rpmdbPruneIterator(mi, ts->removedPackages, ts->numRemovedPackages, 1); diff --git a/rpm-python.spec b/rpm-python.spec index 28d5f21..c152705 100644 --- a/rpm-python.spec +++ b/rpm-python.spec @@ -17,7 +17,7 @@ License: GPL v2 or later Group: System/Packages Summary: Python Bindings for Manipulating RPM Packages Version: 4.4.2 -Release: 231 +Release: 239 Requires: rpm = %{version} %py_requires Source99: rpm.spec diff --git a/rpm.changes b/rpm.changes index 93aba28..5c9bc90 100644 --- a/rpm.changes +++ b/rpm.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Tue May 6 18:01:34 CEST 2008 - mls@suse.de + +- enable all parts of the noprovides patch again, making our rpm + compatible to rpm4 + +------------------------------------------------------------------- +Fri May 2 15:50:17 CEST 2008 - dmueller@suse.de + +- add at least one supplements prefering the right kernel flavour + if no modalias could be generated (bnc#384084) + +------------------------------------------------------------------- +Thu May 1 22:43:17 CEST 2008 - agruen@suse.de + +- For kernel modules, require "kernel(flavor:symset) = version" + instead of "kernel(symset) = version". This disambiguates + the case where several kernel flavors end up with the same + modver checksums (190163, 355628). + ------------------------------------------------------------------- Wed Apr 16 17:57:43 CEST 2008 - jblunck@suse.de diff --git a/rpm.spec b/rpm.spec index 26166af..52955fc 100644 --- a/rpm.spec +++ b/rpm.spec @@ -21,7 +21,7 @@ PreReq: %insserv_prereq %fillup_prereq permissions AutoReqProv: on Summary: The RPM Package Manager Version: 4.4.2 -Release: 189 +Release: 193 Source: rpm-%{version}.tar.bz2 Source1: RPM-HOWTO.tar.bz2 Source2: RPM-Tips.html.tar.bz2 @@ -354,7 +354,7 @@ Summary: A C library for parsing command line parameters License: LGPL v2.1 or later Group: System/Libraries Version: 1.7 -Release: 417 +Release: 421 # %description -n popt @@ -377,7 +377,7 @@ Summary: C Library for Parsing Command Line Parameters License: LGPL v2.1 or later Group: System/Libraries Version: 1.7 -Release: 417 +Release: 421 Requires: popt = 1.7 Requires: glibc-devel @@ -412,6 +412,17 @@ Authors: %doc %{_mandir}/man3/popt.3* %changelog +* Tue May 06 2008 mls@suse.de +- enable all parts of the noprovides patch again, making our rpm + compatible to rpm4 +* Fri May 02 2008 dmueller@suse.de +- add at least one supplements prefering the right kernel flavour + if no modalias could be generated (bnc#384084) +* Fri May 02 2008 agruen@suse.de +- For kernel modules, require "kernel(flavor:symset) = version" + instead of "kernel(symset) = version". This disambiguates + the case where several kernel flavors end up with the same + modver checksums (190163, 355628). * Wed Apr 16 2008 jblunck@suse.de - Get rid of noise when no debuginfo was generated - Never strip static libraries in find-debuginfo script