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

Reply via email to