Author: glen Date: Sun Mar 29 20:39:49 2009 GMT Module: SPECS Tag: LINUX_2_6 ---- Log message: - clean build code merged from kernel-vanilla.spec - package unpackaged files
---- Files affected: SPECS: kernel.spec (1.441.2.2088 -> 1.441.2.2089) ---- Diffs: ================================================================ Index: SPECS/kernel.spec diff -u SPECS/kernel.spec:1.441.2.2088 SPECS/kernel.spec:1.441.2.2089 --- SPECS/kernel.spec:1.441.2.2088 Sun Mar 29 13:49:14 2009 +++ SPECS/kernel.spec Sun Mar 29 22:39:42 2009 @@ -159,6 +159,7 @@ Source8: kernel-track-config-change.awk # not used by kernel.spec, but it's good to have it in SOURCES Source9: kernel-config-sort.pl +Source10: kernel.make Source20: kernel-multiarch.config Source21: kernel-x86.config @@ -431,6 +432,11 @@ %define initrd_dir /boot %endif +%define topdir %{_builddir}/%{name}-%{version} +%define srcdir %{topdir}/linux-%{basever} +%define objdir %{topdir}/%{targetobj} +%define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion) + %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version} %if "%{_target_base_arch}" != "%{_arch}" @@ -724,6 +730,8 @@ %prep %setup -qc +ln -s %{SOURCE7} kernel-module-build.pl +ln -s %{SOURCE10} Makefile cd linux-%{basever} # hack against warning in pax/grsec @@ -950,8 +958,20 @@ find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f %build -cd linux-%{basever} -PaXconfig () { +install -d %{objdir} +cat > %{targetobj}.mk <<'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} +DEFCONFIG := %{defconfig} +EOF + +PaXconfig() { set -x cat <<-EOCONFIG > $1 %ifarch %{ix86} @@ -1038,10 +1058,12 @@ set -e Config="kernel-%{target_arch_dir}.config" - echo "Building config file for %{_target_cpu} using $Config et al." + echo >&2 "Building config file for %{_target_cpu} using $Config et al." # prepare local and important options cat <<-EOCONFIG > important.config + LOCALVERSION="-%{localversion}" + %if 0%{?debug:1} CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SLAB_LEAK=y @@ -1095,8 +1117,12 @@ %endif EOCONFIG +%if %{with rescuecd} RescueConfig rescue.config +%endif +%if %{with pax_full} || %{with pax} PaXconfig pax.config +%endif # prepare kernel-style config file from multiple config files %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \ @@ -1149,192 +1175,105 @@ %{SOURCE40} %{?0:netfilter} \ %{SOURCE41} %{?0:patches} \ %{SOURCE20} \ - $RPM_SOURCE_DIR/$Config \ - > %{defconfig} + $RPM_SOURCE_DIR/$Config } -BuildKernel() { - %{?debug:set -x} - echo "Building kernel $1 ..." - install .config %{defconfig} - %{__make} %{MakeOpts} mrproper \ - RCS_FIND_IGNORE='-name build-done -prune -o' - ln -sf %{defconfig} .config - - %{__make} %{MakeOpts} clean \ - RCS_FIND_IGNORE='-name build-done -prune -o' - %{__make} %{MakeOpts} include/linux/version.h \ - %{?with_verbose:V=1} +cd %{objdir} +install -d arch/%{target_arch_dir} +%if %{without myown} +BuildConfig > %{defconfig} +%else +cat $RPM_SOURCE_DIR/kernel-myown.config > %{defconfig} +%endif +ln -sf %{defconfig} .config +cd - - %{__make} %{MakeOpts} scripts/mkcompile_h \ - %{?with_verbose:V=1} +# build kernel +%{__make} TARGETOBJ=%{targetobj} all -# make does vmlinux, modules and bzImage at once -%ifarch sparc64 - %{__make} %{MakeOpts} image \ - %{?with_verbose:V=1} +%{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config - %{__make} %{MakeOpts} modules \ - %{?with_verbose:V=1} -%else - %{__make} %{MakeOpts} \ - %{?with_verbose:V=1} -%endif -} +%install +rm -rf $RPM_BUILD_ROOT +%{__make} %{MakeOpts} %{!?with_verbose:-s} modules_install firmware_install \ + -C %{objdir} \ + %{?with_verbose:V=1} \ + DEPMOD=%{DepMod} \ + INSTALL_MOD_PATH=$RPM_BUILD_ROOT \ + INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \ + KERNELRELEASE=%{kernel_release} -PreInstallKernel() { - Config="%{_target_base_arch}" - KernelVer=%{kernel_release} +install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc - mkdir -p $KERNEL_INSTALL_DIR/boot - install System.map $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer +# rpm obeys filelinkto checks for ghosted symlinks, convert to files +rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} +touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} + +# /boot +install -d $RPM_BUILD_ROOT/boot +cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release} %ifarch %{ix86} %{x8664} - install arch/x86/boot/bzImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer - install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer +cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release} +install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release} +%endif +%ifarch ppc ppc64 +install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release} +install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release} +%endif +%ifarch ia64 +%{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz +cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release} +ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release} %endif %ifarch alpha sparc sparc64 - gzip -cfv vmlinux > vmlinuz - install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer - install vmlinuz $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer + %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz + cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release} + install %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release} %ifarch sparc - elftoaout arch/sparc/boot/image -o vmlinux.aout - install vmlinux.aout $KERNEL_INSTALL_DIR/boot/vmlinux.aout-$KernelVer + elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout + install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release} %endif %ifarch sparc64 - elftoaout arch/sparc64/boot/image -o vmlinux.aout - install vmlinux.aout $KERNEL_INSTALL_DIR/boot/vmlinux.aout-$KernelVer -%endif -%endif -%ifarch ppc ppc64 - install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer - install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer -%endif -%ifarch ppc-broken - %{__make} -f Makefile.ppclibs install \ - DESTDIR=$KERNEL_INSTALL_DIR/boot/libs-$KernelVer -%endif -%ifarch ia64 - gzip -cfv vmlinux > vmlinuz - install -d $KERNEL_INSTALL_DIR/boot/efi - install vmlinuz $KERNEL_INSTALL_DIR/boot/efi/vmlinuz-$KernelVer - ln -sf efi/vmlinuz-$KernelVer $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer + elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout + install %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release} %endif %ifarch arm - install arch/arm/boot/zImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer + install %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release} %endif - - %{__make} %{MakeOpts} modules_install firmware_install \ - %{?with_verbose:V=1} \ - DEPMOD=%DepMod \ - INSTALL_MOD_PATH=$KERNEL_INSTALL_DIR \ - INSTALL_FW_PATH=$KERNEL_INSTALL_DIR/lib/firmware/$KernelVer \ - KERNELRELEASE=$KernelVer - - # You'd probabelly want to make it somewhat different - install -d $KERNEL_INSTALL_DIR%{_kernelsrcdir} - install Module.symvers $KERNEL_INSTALL_DIR%{_kernelsrcdir}/Module.symvers-dist - - echo "CHECKING DEPENDENCIES FOR KERNEL MODULES" - if [ %DepMod = /sbin/depmod ]; then - /sbin/depmod --basedir $KERNEL_INSTALL_DIR -ae -F $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer -r $KernelVer || : - fi - touch $KERNEL_INSTALL_DIR/lib/modules/$KernelVer/modules.dep - # binary cache produced by depmod at runtime - touch $KERNEL_INSTALL_DIR/lib/modules/$KernelVer/modules.{alias,dep,symbols}.bin - echo "KERNEL RELEASE $KernelVer DONE" -} - -KERNEL_BUILD_DIR=`pwd` -echo "-%{localversion}" > localversion - -KERNEL_INSTALL_DIR="$KERNEL_BUILD_DIR/build-done/kernel" -rm -rf $KERNEL_INSTALL_DIR -%if %{without myown} -BuildConfig -%else -cat $RPM_SOURCE_DIR/kernel-myown.config > %{defconfig} %endif -ln -sf %{defconfig} .config -install -d $KERNEL_INSTALL_DIR%{_kernelsrcdir}/include/linux -rm -f include/linux/autoconf.h -%{__make} %{MakeOpts} include/linux/autoconf.h -install include/linux/autoconf.h \ - $KERNEL_INSTALL_DIR%{_kernelsrcdir}/include/linux/autoconf-dist.h -install .config \ - $KERNEL_INSTALL_DIR%{_kernelsrcdir}/config-dist - -%{__awk} %{?debug:-v dieOnError=1} -v infile=%{defconfig} -f %{SOURCE8} .config - -BuildKernel -PreInstallKernel - -%{__make} %{MakeOpts} include/linux/utsrelease.h -cp include/linux/utsrelease.h{,.save} -cp include/linux/version.h{,.save} -cp scripts/mkcompile_h{,.save} -%install -rm -rf $RPM_BUILD_ROOT -cd linux-%{basever} +# ghosted initrd +touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz -umask 022 -export DEPMOD=%DepMod +%if "%{_target_base_arch}" != "%{_arch}" +touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep +%endif -install -d $RPM_BUILD_ROOT%{_kernelsrcdir} +# /etc/modrobe.d install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release} +# /usr/src/linux +install -d $RPM_BUILD_ROOT%{_kernelsrcdir} # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition -if cp -al COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then +if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then l=l rm -f $RPM_BUILD_ROOT/COPYING fi -KERNEL_BUILD_DIR=`pwd` - -cp -a$l $KERNEL_BUILD_DIR/build-done/kernel/* $RPM_BUILD_ROOT - -if [ -e $RPM_BUILD_ROOT/lib/modules/%{kernel_release} ] ; then - rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/build - ln -sf %{_kernelsrcdir} $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/build - install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{cluster,misc} -fi - -find . -maxdepth 1 ! -name "build-done" ! -name "." -exec cp -a$l "{}" "$RPM_BUILD_ROOT%{_kernelsrcdir}/" ";" - -cd $RPM_BUILD_ROOT%{_kernelsrcdir} - -%{__make} %{MakeOpts} mrproper archclean \ - RCS_FIND_IGNORE='-name build-done -prune -o' - -if [ -e $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/include/linux/autoconf-dist.h ]; then - install $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/include/linux/autoconf-dist.h \ - $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux - install $KERNEL_BUILD_DIR/build-done/kernel%{_kernelsrcdir}/config-dist \ - $RPM_BUILD_ROOT%{_kernelsrcdir} -fi - -cp -Rdp$l $KERNEL_BUILD_DIR/include/linux/* \ - $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux - -%{__make} %{MakeOpts} mrproper -mv -f include/linux/utsrelease.h{.save,} -mv -f include/linux/version.h{.save,} -mv -f scripts/mkcompile_h{.save,} -install %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h -install %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h +cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir} +cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist +cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist +cp -a %{objdir}/include/linux/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf-dist.h +cp -a %{objdir}/include/linux/{utsrelease,version}.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux +cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/autoconf.h +cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h # collect module-build files and directories -perl %{SOURCE7} %{_kernelsrcdir} %{_builddir}/%{name}-%{version} - -# ghosted initrd -touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz - -# rpm obeys filelinkto checks for ghosted symlinks, convert to files -rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} -touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source} - -# remove unnecessary dir with dead symlink -rm -rf $RPM_BUILD_ROOT/arch/i386 +# Usage: kernel-module-build.pl $rpmdir $fileoutdir +fileoutdir=$(pwd) +cd $RPM_BUILD_ROOT%{_kernelsrcdir} +%{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir +cd - %clean rm -rf $RPM_BUILD_ROOT @@ -1590,7 +1529,6 @@ %files module-build -f aux_files %defattr(644,root,root,755) -%{_kernelsrcdir}/localversion %ifarch ppc ppc64 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.* %endif @@ -1625,6 +1563,12 @@ %defattr(644,root,root,755) %{_kernelsrcdir}/arch/*/[!Mik]* %{_kernelsrcdir}/arch/*/kernel/[!M]* +%{_kernelsrcdir}/arch/ia64/ia32/[!M]* +%{_kernelsrcdir}/arch/ia64/install.sh +%{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]* +%{_kernelsrcdir}/arch/m68k/ifpsp060/MISC +%{_kernelsrcdir}/arch/parisc/install.sh +%{_kernelsrcdir}/arch/x86/ia32/[!M]* %{_kernelsrcdir}/arch/ia64/kvm %{_kernelsrcdir}/arch/powerpc/kvm %ifarch ppc ppc64 @@ -1638,6 +1582,7 @@ %{_kernelsrcdir}/block %{_kernelsrcdir}/crypto %{_kernelsrcdir}/drivers +%{_kernelsrcdir}/firmware %{_kernelsrcdir}/fs %if %{with grsecurity} && %{without rescuecd} %{_kernelsrcdir}/grsecurity @@ -1650,6 +1595,7 @@ %{_kernelsrcdir}/mm %{_kernelsrcdir}/net %{_kernelsrcdir}/virt +%{_kernelsrcdir}/samples %{_kernelsrcdir}/scripts/* %exclude %{_kernelsrcdir}/scripts/Kbuild.include %exclude %{_kernelsrcdir}/scripts/Makefile* @@ -1669,7 +1615,6 @@ %{_kernelsrcdir}/MAINTAINERS %{_kernelsrcdir}/README %{_kernelsrcdir}/REPORTING-BUGS -%{_kernelsrcdir}/.mailmap %endif %define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`) @@ -1678,8 +1623,12 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.441.2.2089 2009/03/29 20:39:42 glen +- clean build code merged from kernel-vanilla.spec +- package unpackaged files + Revision 1.441.2.2088 2009/03/29 11:49:14 arekm -esfq needs fix +- esfq needs fix Revision 1.441.2.2087 2009/03/27 18:55:13 baggins - mpt-fusion patch is NOT included upstream, just tiny bits of it @@ -1688,7 +1637,8 @@ - minimum udev: 081 (Documentation/Changes) Revision 1.441.2.2085 2009/03/24 14:56:52 arekm -- tahoe, aufs1 need update; starts building with rpmbuild -bb kernel.spec --without tuxonice --without vserver --without apparmor --without grsecurity +- tahoe, aufs1 need update; starts building with + rpmbuild -bb kernel.spec --without tuxonice --without vserver --without apparmor --without grsecurity Revision 1.441.2.2084 2009/03/24 11:30:49 arekm - fetch 2.6.29 tarball; 2.6.28 on LINUX_2_6_28 now ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/kernel.spec?r1=1.441.2.2088&r2=1.441.2.2089&f=u _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit