Author: glen Date: Sat Mar 1 13:47:47 2008 GMT Module: SPECS Tag: HEAD ---- Log message: - %prep, %build from kernel-vanilla build system
---- Files affected: SPECS: kernel-desktop.spec (1.167 -> 1.168) ---- Diffs: ================================================================ Index: SPECS/kernel-desktop.spec diff -u SPECS/kernel-desktop.spec:1.167 SPECS/kernel-desktop.spec:1.168 --- SPECS/kernel-desktop.spec:1.167 Sat Mar 1 13:36:12 2008 +++ SPECS/kernel-desktop.spec Sat Mar 1 14:47:41 2008 @@ -83,6 +83,11 @@ # Source0-md5: 3f23ad4b69d0a552042d1ed0f4399857 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2 # Source1-md5: 4c42be33a7d98f280588c9d28478cdfd +Source19: kernel-vanilla-module-build.pl +Source20: kernel-config.py +Source21: kernel-config-update.py +Source22: kernel-multiarch.make + Source2: http://www.tuxonice.net/downloads/all/suspend2-%{suspend_version}-for-%{suspend_kernel}.patch.bz2 # Source2-md5: f98f071b0f4e7897296d643854bb809f Source3: %{pname}-autoconf.h @@ -275,12 +280,22 @@ %{expand:%%define __cpp %(echo '%__cpp' | sed -e 's,-gcc,-gcc4,')} %endif +%ifarch %{ix86} %{x8664} +%define target_arch_dir x86 +%else +%define target_arch_dir %{_target_base_arch} +%endif + # No ELF objects there to strip (skips processing 27k files) %define _noautostrip .*%{_kernelsrcdir}/.* %define _noautochrpath .*%{_kernelsrcdir}/.* %define initrd_dir /boot +%define topdir %{_builddir}/%{name}-%{version} +%define srcdir %{topdir}/linux-%{_basever} +%define objdir %{topdir}/o + # kernel release (used in filesystem and eventually in uname -r) # modules will be looked from /lib/modules/%{kernel_release} # _localversion is just that without version for "> localversion" @@ -522,12 +537,22 @@ Documentation. %prep -%setup -q -n linux-%{_basever}%{_rc} +%setup -qc +install -d o/scripts +ln -s %{SOURCE19} o/scripts/kernel-module-build.pl +ln -s %{SOURCE20} o/scripts/kernel-config.py +ln -s %{SOURCE21} o/scripts/kernel-config-update.py +ln -s %{SOURCE22} Makefile +cd linux-%{_basever} %if "%{_postver}" != "%{nil}" %{__bzip2} -dc %{SOURCE1} | %{__patch} -p1 -s %endif +# Fix EXTRAVERSION in main Makefile +sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{_postver}_%{alt_kernel}#g' Makefile + +%if 0 # suspend 2 %{__bzip2} -dc %{SOURCE2} | %{__patch} -p1 -s @@ -663,116 +688,138 @@ %endif %patch105 -p1 %patch106 -p1 +%endif -# Fix EXTRAVERSION in main Makefile -sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{_postver}_%{alt_kernel}#g' Makefile +%build +cat > multiarch.make <<'EOF' +# generated by %{name}.spec +KERNELSRC := %{_builddir}/%{name}-%{version}/linux-%{_basever} +KERNELOUTPUT := %{objdir} + +SRCARCH := %{target_arch_dir} +ARCH := %{_target_base_arch} +Q := %{!?with_verbose:@} +MAKE_OPTS := %{MakeOpts} -sed -i -e '/select INPUT/d' net/bluetooth/hidp/Kconfig +CONFIGS += %{_sourcedir}/%{pname}-common.config +CONFIGS += %{_sourcedir}/%{pname}-%{_target_base_arch}.config -%build -KERNEL_BUILD_DIR=$(pwd) +# preempt +%if %{with preemptrt} +CONFIGS += %{_sourcedir}/%{pname}-preempt-rt.config +%else +CONFIGS += %{_sourcedir}/%{pname}-preempt-nort.config +%endif -Config="%{_target_base_arch}" +# suspend 2 +CONFIGS += %{_sourcedir}/%{pname}-suspend2.config + +# fbsplash, vesafb-tng, squashfs, imq, tahoe, atm, reiser4 +CONFIGS += %{_sourcedir}/%{pname}-patches.config -cat %{_sourcedir}/%{pname}-common.config > .config -cat %{_sourcedir}/%{pname}-$Config.config >> .config -echo "CONFIG_LOCALVERSION=\"-%{_localversion}\"" >> .config +# netfilter +CONFIGS += %{_sourcedir}/%{pname}-netfilter.config + +%if %{with grsec_minimal} +CONFIGS += %{_sourcedir}/%{pname}-grsec.config +%endif + +# wrr +CONFIGS += %{_sourcedir}/%{pname}-wrr.config + +%if %{with bootsplash} + CONFIGS += %{_sourcedir}/%{pname}-bootsplash.config +%else + CONFIGS += %{_sourcedir}/%{pname}-fbsplash.config +%endif + +# config where we ignore timestamps +CONFIG_NODEP += %{objdir}/.kernel-autogen.conf +EOF + +# update config at spec time +# if you have config file, add it to above Makefile +pykconfig() { + set -x + echo '# %{name}.spec overrides' + echo 'LOCALVERSION="-%{_localversion}"' + + %{?debug:echo '# debug options'} + %{?debug:echo 'DEBUG_SLAB=y'} + %{?debug:echo 'DEBUG_PREEMPT=y'} + %{?debug:echo 'RT_DEADLOCK_DETECT=y'} %ifarch %{ix86} - %ifnarch i386 - sed -i 's:CONFIG_M386=y:# CONFIG_M386 is not set:' .config + echo '# x86 tuneup' + %ifarch i386 + echo 'M386=y' + echo 'X86_F00F_BUG=y' %endif %ifarch i486 - sed -i 's:# CONFIG_M486 is not set:CONFIG_M486=y:' .config + echo 'M486=y' + echo 'X86_F00F_BUG=y' %endif %ifarch i586 - sed -i 's:# CONFIG_M586 is not set:CONFIG_M586=y:' .config + echo 'M586=y' + echo 'X86_F00F_BUG=y' %endif %ifarch i686 - sed -i 's:# CONFIG_M686 is not set:CONFIG_M686=y:' .config + echo 'M686=y' %endif %ifarch pentium3 - sed -i 's:# CONFIG_MPENTIUMIII is not set:CONFIG_MPENTIUMIII=y:' .config + echo 'MPENTIUMIII=y' %endif %ifarch pentium4 - sed -i 's:# CONFIG_MPENTIUM4 is not set:CONFIG_MPENTIUM4=y:' .config + echo 'MPENTIUM4=y' %endif %ifarch athlon - sed -i 's:# CONFIG_MK7 is not set:CONFIG_MK7=y:' .config + echo 'MK7=y' + echo 'X86_PPRO_FENCE=' + echo 'X86_USE_3DNOW=y' %endif %ifarch i686 athlon pentium3 pentium4 -# This issues 'CPU too old' error on Centrino processors -# http://lkml.org/lkml/2007/9/18/301 -# sed -i "s:CONFIG_HIGHMEM4G=y:# CONFIG_HIGHMEM4G is not set:" .config -# sed -i "s:# CONFIG_HIGHMEM64G is not set:CONFIG_HIGHMEM64G=y\nCONFIG_X86_PAE=y:" .config - sed -i 's:CONFIG_MATH_EMULATION=y:# CONFIG_MATH_EMULATION is not set:' .config + %if %{with pae} + echo 'HIGHMEM4G=n' + echo 'HIGHMEM64G=y' + echo 'X86_PAE=y' + %endif + %endif + %ifarch i686 athlon pentium3 pentium4 + # This issues 'CPU too old' error on Centrino processors + # http://lkml.org/lkml/2007/9/18/301 +# echo 'HIGHMEM4G=n' +# echo 'HIGHMEM64G=y' +# echo 'X86_PAE=y:' + echo 'MATH_EMULATION=n' %endif %endif -# preempt -%if %{with preemptrt} -cat %{_sourcedir}/%{pname}-preempt-rt.config >> .config -%else -cat %{_sourcedir}/%{pname}-preempt-nort.config >> .config -%endif - -# suspend 2 -cat %{_sourcedir}/%{pname}-suspend2.config >> .config - -# fbsplash, vesafb-tng, squashfs, imq, tahoe, atm, reiser4 -cat %{_sourcedir}/%{pname}-patches.config >> .config - -# netfilter -cat %{_sourcedir}/%{pname}-netfilter.config >> .config - -%if %{with grsec_minimal} -cat %{_sourcedir}/%{pname}-grsec.config >> .config -%endif - -# wrr -cat %{_sourcedir}/%{pname}-wrr.config >> .config - -%ifarch %{ix86} -%ifnarch i386 -sed -e "s:CONFIG_NO_HZ=y:# CONFIG_NO_HZ is not set:" \ - -e "s:# CONFIG_HZ_1000 is not set:CONFIG_HZ_1000=y:" \ - -e "s:# CONFIG_HZ is not set:CONFIG_HZ=1000:" \ - -i .config -%endif -%endif - -%if %{with laptop} -sed -e "s:CONFIG_HZ_1000=y:# CONFIG_HZ_1000 is not set:" \ - -e "s:# CONFIG_HZ_100 is not set:CONFIG_HZ_100=y:" \ - -e "s:CONFIG_HZ=1000:CONFIG_HZ=100:" \ - -i .config -%endif + %ifnarch i386 + echo 'NO_HZ=n' + echo 'HZ_1000=y' + echo 'HZ=1000' + %endif -%if %{with bootsplash} - cat %{_sourcedir}/%{pname}-bootsplash.config >> .config -%else - cat %{_sourcedir}/%{pname}-fbsplash.config >> .config -%endif + %if %{with laptop} + echo 'HZ_1000=n' + echo 'HZ_100=y' + echo 'HZ=100' + %endif -%{?debug:sed -i "s:# CONFIG_DEBUG_SLAB is not set:CONFIG_DEBUG_SLAB=y:" .config} -%{?debug:sed -i "s:# CONFIG_DEBUG_PREEMPT is not set:CONFIG_DEBUG_PREEMPT=y:" .config} -%{?debug:sed -i "s:# CONFIG_RT_DEADLOCK_DETECT is not set:CONFIG_RT_DEADLOCK_DETECT=y:" .config} + # disable e1000 on ppc (ICEs) + %ifarch ppc ppc64 + echo 'E1000=n' + echo 'E1000_NAPI=n' + echo 'E1000_DISABLE_PACKET_SPLIT=n' + %endif +} -# disable e1000 on ppc (ICEs) -%ifarch ppc ppc64 -sed -e "s:CONFIG_E1000=m:# CONFIG_E1000 is not set:" \ - -e "s:CONFIG_E1000_NAPI=y:# CONFIG_E1000_NAPI is not set:" \ - -e "s:CONFIG_E1000_DISABLE_PACKET_SPLIT=y:# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set:" \ - -i .config -%endif +# generate .config and kernel.conf +pykconfig > %{objdir}/.kernel-autogen.conf +%{__make} pykconfig -rm -f include/linux/autoconf.h -%{__make} %{MakeOpts} silentoldconfig -install .config arch/%{_target_base_arch}/defconfig - -# Build kernel -%{__make} %{MakeOpts} \ - %{?with_verbose:V=1} +# build kernel +%{__make} all %install rm -rf $RPM_BUILD_ROOT @@ -1074,6 +1121,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.168 2008-03-01 13:47:41 glen +- %prep, %build from kernel-vanilla build system + Revision 1.167 2008-03-01 12:36:12 glen - 2.6.24.3 source ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/kernel-desktop.spec?r1=1.167&r2=1.168&f=u _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit