Nowa metoda budowania modułów okołokernolwych
Bartosz Świątek
swiatek w informatik.hu-berlin.de
Pon, 1 Maj 2006, 02:43:02 CEST
Witam,
Mam taką propozycje.
%build
# kernel module(s)
rm -rf built
mkdir -p built/{nondist,smp,up}
%{!?with_dist_kernel:
ln -sf /usr/src/linux/.config /usr/src/linux/config-nondist}
for cfg in %{?with_dist_kernel:%{?with_smp:smp}
up}%{!?with_dist_kernel:nondist}; do
if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
exit 1
fi
install -d o/include/linux
# ln -sf %{_kernelsrcdir}/config-$cfg o/.config
ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h
o/include/linux/autoconf.h
%if %{with dist_kernel}
%{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
%{__make} -C %{_kernelsrcdir} clean \
RCS_FIND_IGNORE="-name '*.ko' -o" \
SYSSRC=%{_kernelsrcdir} \
SYSOUT=$PWD/o \
M=$PWD O=$PWD/o \
%{?with_verbose:V=1}
%{__make} -C %{_kernelsrcdir} modules \
CC="%{__cc}" CPP="%{__cpp}" \
SYSSRC=%{_kernelsrcdir} \
SYSOUT=$PWD/o \
M=$PWD O=$PWD/o \
%{?with_verbose:V=1}
mv *.ko built/$cfg
%else
install -d o/include/config
touch o/include/config/MARKER
ln -sf %{_kernelsrcdir}/scripts o/scripts
%{__make}
mv *.ko built/$cfg
%endif
done
Jest to bardzo niewielka zmiana, przesunięcie calego procesu make w ifa.
Powinno nadal działać bez zmian dla kernela pldowego, natomiast na
niedystrybucyjnym się to już ładnie buduje.
Czy są jakieś sprzeciwy, żebym to commitnął ?
--
Bartosz Świątek, PLD-Developer, http://www.pld-linux.org
Więcej informacji o liście dyskusyjnej pld-devel-pl