Move the modules-extra processing to a script
This commit is contained in:
parent
23daab13f7
commit
0b4338630c
68
kernel.spec
68
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
|
||||
|
||||
|
66
mod-extra.sh
Executable file
66
mod-extra.sh
Executable file
@ -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
|
Loading…
Reference in New Issue
Block a user