summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel.spec68
-rwxr-xr-xmod-extra.sh66
2 files changed, 73 insertions, 61 deletions
diff --git a/kernel.spec b/kernel.spec
index 8156546db..2f4240d85 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -62,7 +62,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 1
+%global baserelease 2
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -563,6 +563,7 @@ Source11: genkey
Source15: merge.pl
Source16: mod-extra.list
+Source17: mod-extra.sh
Source19: Makefile.release
Source20: Makefile.config
@@ -1749,66 +1750,8 @@ BuildKernel() {
rm -f modinfo modnames
- pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
- rm -rf modnames
- find . -name "*.ko" -type f > modnames
- # Look through all of the modules, and throw any that have a dependency in
- # our list into the list as well.
- rm -rf dep.list dep2.list
- rm -rf req.list req2.list
- touch dep.list req.list
- cp %{SOURCE16} .
- for dep in `cat modnames`
- do
- depends=`modinfo $dep | grep depends| cut -f2 -d":" | sed -e 's/^[ \t]*//'`
- [ -z "$depends" ] && continue;
- for mod in `echo $depends | sed -e 's/,/ /g'`
- do
- match=`grep "^$mod.ko" mod-extra.list` ||:
- if [ -z "$match" ]
- then
- continue
- else
- # check if the module we're looking at is in mod-extra too. if so
- # we don't need to mark the dep as required
- mod2=`basename $dep`
- match2=`grep "^$mod2" mod-extra.list` ||:
- if [ -n "$match2" ]
- then
- continue
- #echo $mod2 >> notreq.list
- else
- echo $mod.ko >> req.list
- fi
- fi
- done
- done
-
- sort -u req.list > req2.list
- sort -u mod-extra.list > mod-extra2.list
- join -v 1 mod-extra2.list req2.list > mod-extra3.list
-
- for mod in `cat mod-extra3.list`
- do
- # get the path for the module
- modpath=`grep /$mod modnames` ||:
- [ -z "$modpath" ] && continue;
- echo $modpath >> dep.list
- done
-
- sort -u dep.list > dep2.list
-
- # now move the modules into the extra/ directory
- for mod in `cat dep2.list`
- do
- newpath=`dirname $mod | sed -e 's/kernel\//extra\//'`
- mkdir -p $newpath
- mv $mod $newpath
- done
-
- rm modnames dep.list dep2.list req.list req2.list
- rm mod-extra.list mod-extra2.list mod-extra3.list
- popd
+ # Call the modules-extra script to move things around
+ %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE16}
# remove files that will be auto generated by depmod at rpm -i time
for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap devname softdep
@@ -2317,6 +2260,9 @@ fi
# ||----w |
# || ||
%changelog
+* Tue Sep 25 2012 Josh Boyer <jwboyer@redhat.com>
+- Move the modules-extra processing to a script
+
* Tue Sep 25 2012 Josh Boyer <jwboyer@redhat.com> - 3.6.0-0.rc7.git1.2
- Update team driver from net-next from Jiri Pirko
diff --git a/mod-extra.sh b/mod-extra.sh
new file mode 100755
index 000000000..115950b16
--- /dev/null
+++ b/mod-extra.sh
@@ -0,0 +1,66 @@
+#! /bin/bash
+
+Dir=$1
+List=$2
+
+pushd $Dir
+rm -rf modnames
+find . -name "*.ko" -type f > modnames
+# Look through all of the modules, and throw any that have a dependency in
+# our list into the list as well.
+rm -rf dep.list dep2.list
+rm -rf req.list req2.list
+touch dep.list req.list
+cp $2 .
+
+for dep in `cat modnames`
+do
+ depends=`modinfo $dep | grep depends| cut -f2 -d":" | sed -e 's/^[ \t]*//'`
+ [ -z "$depends" ] && continue;
+ for mod in `echo $depends | sed -e 's/,/ /g'`
+ do
+ match=`grep "^$mod.ko" mod-extra.list` ||:
+ if [ -z "$match" ]
+ then
+ continue
+ else
+ # check if the module we're looking at is in mod-extra too. if so
+ # we don't need to mark the dep as required
+ mod2=`basename $dep`
+ match2=`grep "^$mod2" mod-extra.list` ||:
+ if [ -n "$match2" ]
+ then
+ continue
+ #echo $mod2 >> notreq.list
+ else
+ echo $mod.ko >> req.list
+ fi
+ fi
+ done
+done
+
+sort -u req.list > req2.list
+sort -u mod-extra.list > mod-extra2.list
+join -v 1 mod-extra2.list req2.list > mod-extra3.list
+
+for mod in `cat mod-extra3.list`
+do
+ # get the path for the module
+ modpath=`grep /$mod modnames` ||:
+ [ -z "$modpath" ] && continue;
+ echo $modpath >> dep.list
+done
+
+sort -u dep.list > dep2.list
+
+# now move the modules into the extra/ directory
+for mod in `cat dep2.list`
+do
+ newpath=`dirname $mod | sed -e 's/kernel\//extra\//'`
+ mkdir -p $newpath
+ mv $mod $newpath
+done
+
+rm modnames dep.list dep2.list req.list req2.list
+rm mod-extra.list mod-extra2.list mod-extra3.list
+popd