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