packages (MULTIARCH_MAGIC): kernel-xenU/kernel-xenU-module-build.pl, kernel...
pawelz
pawelz at pld-linux.org
Sat Sep 4 00:18:47 CEST 2010
Author: pawelz Date: Fri Sep 3 22:18:47 2010 GMT
Module: packages Tag: MULTIARCH_MAGIC
---- Log message:
- first attempt to merge the kernel.spec's config magic
---- Files affected:
packages/kernel-xenU:
kernel-xenU-module-build.pl (1.1 -> 1.1.6.1) , kernel-xenU.spec (1.34 -> 1.34.2.1) , kernel-xenU-bzip2-lzma.config (NONE -> 1.1.2.1) (NEW), kernel-xenU-config-sort.pl (NONE -> 1.1.2.1) (NEW), kernel-xenU-config.awk (NONE -> 1.1.2.1) (NEW), kernel-xenU-multiarch.config (NONE -> 1.1.2.1) (NEW), kernel-xenU-netfilter.config (NONE -> 1.1.2.1) (NEW), kernel-xenU-no-pax.config (NONE -> 1.1.2.1) (NEW), kernel-xenU-track-config-change.awk (NONE -> 1.1.2.1) (NEW), kernel-xenU-vserver-2.3.patch (NONE -> 1.1.2.1) (NEW), kernel-xenU-vserver-fixes.patch (NONE -> 1.1.2.1) (NEW), kernel-xenU-vserver.config (NONE -> 1.1.2.1) (NEW), kernel-xenU-x86.config (NONE -> 1.2.2.1) (NEW), kernel-xenU.make (NONE -> 1.1.2.1) (NEW), kernel-xenU-x86_64.config (1.7 -> NONE) (REMOVED), linux-2.6-vs2.3.patch (1.9 -> NONE) (REMOVED)
---- Diffs:
================================================================
Index: packages/kernel-xenU/kernel-xenU-module-build.pl
diff -u packages/kernel-xenU/kernel-xenU-module-build.pl:1.1 packages/kernel-xenU/kernel-xenU-module-build.pl:1.1.6.1
--- packages/kernel-xenU/kernel-xenU-module-build.pl:1.1 Tue Mar 10 10:56:28 2009
+++ packages/kernel-xenU/kernel-xenU-module-build.pl Sat Sep 4 00:18:38 2010
@@ -6,33 +6,83 @@
my $rpmdir = shift @ARGV or die;
my $fileoutdir = shift @ARGV or die;
-my @tosort;
-find(\&wanted, ".");
+# files which match: */include/*/Kbuild
+my @modulebuild_in_include;
+# files which match: */Kbuild */Kconfig except include
+my @modulebuild;
+# parent dirs of Kconfig files which match */include*
+my @dirs_in_include;
+# parent dirs of Kconfig files except include
+my @dirs;
-sub wanted {
+sub push_dirs
+{
+ my $list = shift;
+ my $dir = shift;
+ my $subdir = "";
+ foreach my $sub ( split( '/', $dir )) {
+ $subdir .= "/" . $sub;
+ push @$list, "\%dir $rpmdir$subdir\n";
+ }
+}
+
+sub wanted
+{
return unless -f;
- return unless /^Kconfig/ or /^Makefile/;
+ return unless /^Kconfig/ or /^Makefile/ or /^Kbuild/;
#return if /\.orig$/;
return if $File::Find::name =~ /(Documentation|scripts)/;
(my $file = $File::Find::name) =~ s#^\./##;
$file =~ m#^(.*)/#;
my $dir = $1 || "";
- my $subdir = "";
- foreach my $sub ( split( '/', $dir )) {
- $subdir .= "/" . $sub;
- push @tosort, "\%dir $rpmdir$subdir\n";
+ if ( $dir =~ m{^(.*/)?include(/.*?)?$} ) {
+ push @modulebuild_in_include, "$rpmdir/$file\n";
+ push_dirs( \@dirs_in_include, $dir );
+ } else {
+ push @modulebuild, "$rpmdir/$file\n";
+ push_dirs( \@dirs, $dir );
}
- push @tosort, "$rpmdir/$file\n";
}
-my $last = "";
-my @toprint = grep {if ($_ ne $last) { $last = $_; 1} else {0}} sort @tosort;
+find(\&wanted, ".");
+
+sub uniq
+{
+ my %hash = map { $_, 1 } @_;
+ return sort keys %hash;
+}
+
+sub remove
+{
+ my $from = shift;
+ my $what = shift;
+ my %hash = map { $_, 1 } @$from;
+ foreach ( @$what ) {
+ delete $hash{ $_ };
+ }
+ return sort keys %hash;
+}
+
+# to module-build add all Kconfig, Makefile and Kbuild files
+# also add all their parent dirs if they aren't parents of some include directory
+open F_OUT, "> $fileoutdir/files.mb_include_modulebuild_and_dirs"
+ or die "Can't create files.mb_include_modulebuild_and_dirs: $!\n";
+print F_OUT remove( \@dirs, \@dirs_in_include );
+print F_OUT uniq( @modulebuild_in_include, @modulebuild );
+close F_OUT and print "files.mb_include_modulebuild_and_dirs created\n";
+
+# from source remove all files Kconfig, Makefile and Kbuild files
+# also remove all their parent dirs
+open F_OUT, "> $fileoutdir/files.source_exclude_modulebuild_and_dirs"
+ or die "Can't create files.source_exclude_modulebuild_and_dirs: $!\n";
+print F_OUT map {"\%exclude $_"} uniq( @modulebuild_in_include, @modulebuild,
+ @dirs_in_include, @dirs );
+close F_OUT and print "files.source_exclude_modulebuild_and_dirs created\n";
-open F_OUT, "> $fileoutdir/aux_files" or die "Can't create aux_files: $!\n";
-print F_OUT @toprint;
-close F_OUT and print "aux_files created\n";
-
-open F_OUT, "> $fileoutdir/aux_files_exc" or die "Can't create aux_files_exc: $!\n";
-print F_OUT map {"\%exclude $_"} @toprint;
-close F_OUT and print "aux_files_exc created\n";
+# from headers remove all Kconfig, Makefile and Kbuild files that are
+# part of include directory
+open F_OUT, "> $fileoutdir/files.headers_exclude_kbuild"
+ or die "Can't create files.headers_exclude_kbuild: $!\n";
+print F_OUT map {"\%exclude $_"} uniq( @modulebuild_in_include );
+close F_OUT and print "files.headers_exclude_kbuild created\n";
================================================================
Index: packages/kernel-xenU/kernel-xenU.spec
diff -u packages/kernel-xenU/kernel-xenU.spec:1.34 packages/kernel-xenU/kernel-xenU.spec:1.34.2.1
--- packages/kernel-xenU/kernel-xenU.spec:1.34 Mon May 17 14:58:07 2010
+++ packages/kernel-xenU/kernel-xenU.spec Sat Sep 4 00:18:39 2010
@@ -1,89 +1,144 @@
# $Revision$, $Date$
+#
+# NOTE:
+# the following bcond combos will not work
+# - without_vserver and any of the following
+# - with_apparmor
+# - with_grsec_minimal
+# - with_grsec_full
+#
+# LATEST VERSION CHECKER:
+# # curl -s http://www.kernel.org/kdist/finger_banner
+#
# TODO:
-# - x86 version
-# - ostrzezenie: Znaleziono zainstalowane (ale niespakietowane) pliki:
-# /usr/src/linux-2.6.31-xenU/tools/perf/*
-# - update vserver patch. It does not applies since 2.6.32.11
+# - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
+# - update or remove tahoe9xx patch2
+# - update grsec_minimal patch1000:
+# fs/proc/base.c:1484: error: 'struct task_struct' has no member named 'uid'
+#
+# HOWTO update configuration files:
+# - run build
+# - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
+# - sort configuration files using:
+# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
+# ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
#
# Conditional build:
-%bcond_without source # don't build kernel-xenU-source package
+%bcond_without source # don't build kernel-source package
+%bcond_without doc # don't build kernel-doc package
+%bcond_without pcmcia # don't build pcmcia
+
%bcond_with verbose # verbose build (V=1)
-%bcond_without vserver # enable vserver
-%bcond_with ipv6 # enable vserver
-%{!?with_vserver:%define with_ipv6 1}
+%bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
+%bcond_with nfsroot # build with root on NFS support
+
+%bcond_without imq # imq support
+%bcond_without esfq # esfq support
+%bcond_without ipv6 # ipv6 support
+
+%bcond_without vserver # support for VServer (enabled by default)
+
+%bcond_with myown # build with your own config (kernel-myown.config)
+
%{?debug:%define with_verbose 1}
-%define _basever 2.6.32
-%define _postver .13
-%define _rel 1
+%define have_drm 0
+%define have_oss 0
+%define have_sound 0
+%define have_pcmcia 0
+
+%define have_pcmcia 0
+
+%define basever 2.6.35
+%define postver .4
+%define rel 0.1
%define _enable_debug_packages 0
-%define alt_kernel xenU%{!?with_vserver:novserver}
+%define tuxonice_version 3.1.1.1
+%define netfilter_snap 20070806
+
+%define _alt_kernel xenU
+
+%if %{with myown}
+%if "%{_alt_kernel}" == "xenU"
+%define alt_kernel myown
+%endif
+%endif
# 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"
-%define _localversion %{_rel}
-%define kernel_release %{version}-%{alt_kernel}-%{_localversion}
+# localversion is just that without version for "> localversion"
+%define localversion %{rel}
+%define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
Summary: The Linux kernel (the core of the Linux operating system)
Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
Summary(pl.UTF-8): Jądro Linuksa
-Name: kernel-%{alt_kernel}
-Version: %{_basever}%{_postver}
-Release: %{_rel}
+Name: kernel-%{_alt_kernel}
+Version: %{basever}%{postver}
+Release: %{rel}
Epoch: 3
License: GPL v2
Group: Base/Kernel
-Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{_basever}.tar.bz2
-# Source0-md5: 260551284ac224c3a43c4adac7df4879
-%if "%{_postver}" != "%{nil}"
+Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
+# Source0-md5: 091abeb4684ce03d1d936851618687b6
+%if "%{postver}" != "%{nil}"
Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
-# Source1-md5: ba6abb1ffee513a1d4f831599ddae490
+# Source1-md5: 738f762746488345b1a8707d00895eef
%endif
-Source2: kernel-xenU-autoconf.h
-Source3: kernel-xenU-config.h
-Source4: kernel-xenU-module-build.pl
-
-Source10: kernel-xenU-x86_64.config
-
-Patch1: linux-2.6-vs2.3.patch
+Source3: kernel-xenU-autoconf.h
+Source4: kernel-xenU-config.h
+Source6: kernel-xenU-config.awk
+Source7: kernel-xenU-module-build.pl
+Source8: kernel-xenU-track-config-change.awk
+# not used by kernel.spec, but it's good to have it in SOURCES
+Source9: kernel-xenU-config-sort.pl
+Source10: kernel-xenU.make
+
+Source20: kernel-xenU-multiarch.config
+Source21: kernel-xenU-x86.config
+
+Source40: kernel-xenU-netfilter.config
+Source43: kernel-xenU-vserver.config
+
+Source50: kernel-xenU-no-pax.config
+
+Source59: kernel-xenU-bzip2-lzma.config
+
+# based on http://vserver.13thfloor.at/Experimental/patch-2.6.35-vs2.3.0.36.31.diff
+Patch100: kernel-xenU-vserver-2.3.patch
+Patch101: kernel-xenU-vserver-fixes.patch
URL: http://www.kernel.org/
-BuildRequires: /sbin/depmod
BuildRequires: binutils >= 3:2.18
+BuildRequires: /sbin/depmod
BuildRequires: gcc >= 5:3.2
+BuildRequires: xz >= 1:4.999.7
+AutoReqProv: no
# for hostname command
+BuildRequires: module-init-tools >= 3.5
BuildRequires: net-tools
BuildRequires: perl-base
-BuildRequires: rpm-build >= 4.4.9-56
+BuildRequires: rpm-build >= 4.5-24
BuildRequires: rpmbuild(macros) >= 1.217
-Autoreqprov: no
Requires(post): coreutils
-Requires(post): geninitrd >= 2.57
+Requires(post): geninitrd >= 10000-3
Requires(post): module-init-tools >= 0.9.9
Requires: /sbin/depmod
Requires: coreutils
-Requires: geninitrd >= 2.57
+Requires: geninitrd >= 10000-3
Requires: module-init-tools >= 0.9.9
-Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
-Obsoletes: kernel-misc-acer_acpi
-Obsoletes: kernel-misc-fuse
-Obsoletes: kernel-misc-uvc
-Obsoletes: kernel-modules
-Obsoletes: kernel-net-ar81
-Obsoletes: kernel-net-hostap
-Obsoletes: kernel-net-ieee80211
-Obsoletes: kernel-net-ipp2p
-Obsoletes: kernel-smp
+Provides: %{name}(netfilter) = %{netfilter_snap}
+Provides: %{name}(vermagic) = %{kernel_release}
Conflicts: e2fsprogs < 1.29
Conflicts: isdn4k-utils < 3.1pre1
Conflicts: jfsutils < 1.1.3
+Conflicts: lvm2 < 2.02.40
Conflicts: module-init-tools < 0.9.10
Conflicts: nfs-utils < 1.0.5
Conflicts: oprofile < 0.9
@@ -91,35 +146,35 @@
Conflicts: procps < 3.2.0
Conflicts: quota-tools < 3.09
Conflicts: reiserfsprogs < 3.6.3
-Conflicts: udev < 1:071
+Conflicts: rpm < 4.4.2-0.2
+Conflicts: udev < 1:081
Conflicts: util-linux < 2.10o
+Conflicts: util-vserver < 0.30.216
Conflicts: xfsprogs < 2.6.0
-ExclusiveArch: %{x8664}
+%if %{with pae}
+ExclusiveArch: pentium3 pentium4 athlon i686 %{x8664}
+%else
+ExclusiveArch: %{ix86} %{x8664}
+%endif
ExclusiveOS: Linux
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%ifarch %{ix86} %{x8664}
%define target_arch_dir x86
-%endif
-%ifnarch %{ix86} %{x8664}
-%define target_arch_dir %{_target_base_arch}
-%endif
-
-%ifarch %{ix86}
-%define kernel_config x86
-%else
-%define kernel_config %{_target_base_arch}
-%endif
%define defconfig arch/%{target_arch_dir}/defconfig
# No ELF objects there to strip (skips processing 27k files)
-%define _noautostrip .*%{_kernelsrcdir}/.*
+%define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
%define _noautochrpath .*%{_kernelsrcdir}/.*
%define initrd_dir /boot
-%define _kernelsrcdir /usr/src/linux-%{version}-%{alt_kernel}
+%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}"
%define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
@@ -134,6 +189,11 @@
%define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
%define DepMod /sbin/depmod
%endif
+%define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
+
+%define __features Netfilter module dated: %{netfilter_snap}\
+%{?with_nfsroot:Root on NFS - enabled}\
+%{?with_vserver:VServer - enabled}\
%define Features %(echo "%{__features}" | sed '/^$/d')
@@ -188,7 +248,8 @@
Summary(de.UTF-8): Header Dateien für den Linux-Kernel
Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
Group: Development/Building
-Autoreqprov: no
+Provides: %{name}-headers(netfilter) = %{netfilter_snap}
+AutoReqProv: no
%description headers
These are the C header files for the Linux kernel, which define
@@ -210,8 +271,8 @@
Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
Group: Development/Building
Requires: %{name}-headers = %{epoch}:%{version}-%{release}
-Conflicts: rpmbuild(macros) < 1.321
-Autoreqprov: no
+Conflicts: rpmbuild(macros) < 1.550
+AutoReqProv: no
%description module-build
Development files from kernel source tree needed to build Linux kernel
@@ -231,7 +292,7 @@
Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
Group: Development/Building
Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
-Autoreqprov: no
+AutoReqProv: no
%description source
This is the source code for the Linux kernel. You can build a custom
@@ -261,7 +322,7 @@
Summary(de.UTF-8): Kernel Dokumentation
Summary(pl.UTF-8): Dokumentacja do jądra Linuksa
Group: Documentation
-Autoreqprov: no
+AutoReqProv: no
%description doc
This is the documentation for the Linux kernel, as found in
@@ -276,245 +337,196 @@
/usr/src/linux/Documentation.
%prep
-%setup -q -n linux-%{_basever}
+%setup -qc
+ln -s %{SOURCE7} kernel-module-build.pl
+ln -s %{SOURCE10} Makefile
+cd linux-%{basever}
+
+# hack against warning in pax/grsec
+sed -i 's/-Werror//' arch/alpha/kernel/Makefile
-%if "%{_postver}" != "%{nil}"
+%if "%{postver}" != "%{nil}"
%{__bzip2} -dc %{SOURCE1} | patch -p1 -s
%endif
+# vserver
%if %{with vserver}
-%patch1 -p1
+%patch100 -p1
+%patch101 -p1
%endif
# Fix EXTRAVERSION in main Makefile
-sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{_postver}-%{alt_kernel}#g' Makefile
-
-# on sparc this line causes CONFIG_INPUT=m (instead of =y), thus breaking build
-sed -i -e '/select INPUT/d' net/bluetooth/hidp/Kconfig
+sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
%build
-TuneUpConfigForIX86 () {
- set -x
-%ifarch %{ix86}
- pae=
- [ "$2" = "yes" ] && pae=yes
- %if %{with pae}
- pae=yes
- %endif
- %ifnarch i386
- sed -i 's:CONFIG_M386=y:# CONFIG_M386 is not set:' $1
- %endif
- %ifarch i486
- sed -i 's:# CONFIG_M486 is not set:CONFIG_M486=y:' $1
- %endif
- %ifarch i586
- sed -i 's:# CONFIG_M586 is not set:CONFIG_M586=y:' $1
- %endif
- %ifarch i686
- sed -i 's:# CONFIG_M686 is not set:CONFIG_M686=y:' $1
- %endif
- %ifarch pentium3
- sed -i 's:# CONFIG_MPENTIUMIII is not set:CONFIG_MPENTIUMIII=y:' $1
- %endif
- %ifarch pentium4
- sed -i 's:# CONFIG_MPENTIUM4 is not set:CONFIG_MPENTIUM4=y:' $1
- %endif
- %ifarch athlon
- sed -i 's:# CONFIG_MK7 is not set:CONFIG_MK7=y:' $1
- %endif
- %ifarch i686 athlon pentium3 pentium4
- if [ "$pae" = "yes" ]; then
- sed -i "s:CONFIG_HIGHMEM4G=y:# CONFIG_HIGHMEM4G is not set:" $1
- sed -i "s:# CONFIG_HIGHMEM64G is not set:CONFIG_HIGHMEM64G=y\nCONFIG_X86_PAE=y:" $1
- fi
- sed -i 's:CONFIG_MATH_EMULATION=y:# CONFIG_MATH_EMULATION is not set:' $1
- %endif
- return 0
-%endif
-}
+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
BuildConfig() {
%{?debug:set -x}
- # is this a special kernel we want to build?
- Config="%{kernel_config}"
- KernelVer=%{kernel_release}
- echo "Building config file using $Config.conf..."
- cat $RPM_SOURCE_DIR/kernel-xenU-$Config.config > %{defconfig}
- TuneUpConfigForIX86 %{defconfig}
-
-%{?debug:sed -i "s:# CONFIG_DEBUG_SLAB is not set:CONFIG_DEBUG_SLAB=y:" %{defconfig}}
-%{?debug:sed -i "s:# CONFIG_DEBUG_PREEMPT is not set:CONFIG_DEBUG_PREEMPT=y:" %{defconfig}}
-%{?debug:sed -i "s:# CONFIG_RT_DEADLOCK_DETECT is not set:CONFIG_RT_DEADLOCK_DETECT=y:" %{defconfig}}
+ set -e
-%if %{with vserver}
-cat >> %{defconfig} << EOF
-#
-# Linux VServer
-#
-CONFIG_VSERVER_AUTO_LBACK=y
-# CONFIG_VSERVER_AUTO_SINGLE is not set
-CONFIG_VSERVER_COWBL=y
-CONFIG_VSERVER_VTIME=y
-CONFIG_VSERVER_DEVICE=y
-CONFIG_VSERVER_PROC_SECURE=y
-CONFIG_VSERVER_HARDCPU=y
-CONFIG_VSERVER_IDLETIME=y
-CONFIG_VSERVER_IDLELIMIT=y
-# CONFIG_TAGGING_NONE is not set
-# CONFIG_TAGGING_UID16 is not set
-# CONFIG_TAGGING_GID16 is not set
-CONFIG_TAGGING_ID24=y
-# CONFIG_TAGGING_INTERN is not set
-# CONFIG_TAG_NFSD is not set
-CONFIG_VSERVER_PRIVACY=y
-CONFIG_VSERVER_CONTEXTS=768
-CONFIG_VSERVER_WARN=y
-# CONFIG_VSERVER_DEBUG is not set
-CONFIG_VSERVER=y
-CONFIG_VSERVER_SECURITY=y
-CONFIG_IPV6=%{?with_ipv6:y}%{!?with_ipv6:n}
-CONFIG_CFS_HARD_LIMITS=n
-CONFIG_BLK_DEV_VROOT=m
-EOF
+ Config="kernel-xenU-%{target_arch_dir}.config"
+ 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
+ CONFIG_DEBUG_PREEMPT=y
+ CONFIG_RT_DEADLOCK_DETECT=y
%endif
-}
-BuildKernel() {
- %{?debug:set -x}
- echo "Building kernel $1 ..."
- %{__make} %CrossOpts mrproper \
- RCS_FIND_IGNORE='-name build-done -prune -o'
- ln -sf %{defconfig} .config
-
- %{__make} %CrossOpts clean \
- RCS_FIND_IGNORE='-name build-done -prune -o'
- %{__make} %CrossOpts include/linux/version.h \
- %{?with_verbose:V=1}
+%if %{without ipv6}
+ CONFIG_IPV6=n
+%endif
- %{__make} %CrossOpts scripts/mkcompile_h \
- %{?with_verbose:V=1}
+%ifarch i686 athlon pentium3 pentium4
+ %if %{with pae}
+ CONFIG_HIGHMEM4G=n
+ CONFIG_HIGHMEM64G=y
+ CONFIG_X86_PAE=y
+ CONFIG_NUMA=n
+ %endif
+%endif
- %{__make} %CrossOpts \
- %{?with_verbose:V=1}
-}
+%if %{with nfsroot}
+ CONFIG_NFS_FS=y
+ CONFIG_ROOT_NFS=y
+%endif
-PreInstallKernel() {
- Config="%{kernel_config}"
- KernelVer=%{kernel_release}
+EOCONFIG
- mkdir -p $KERNEL_INSTALL_DIR/boot
- install System.map $KERNEL_INSTALL_DIR/boot/System.map-$KernelVer
-%ifarch %{ix86} %{x8664}
- install arch/x86/boot/bzImage $KERNEL_INSTALL_DIR/boot/vmlinuz-$KernelVer
- install vmlinux $KERNEL_INSTALL_DIR/boot/vmlinux-$KernelVer
+ # prepare kernel-style config file from multiple config files
+ %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
+%if %{with myown}
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel-xenU/kernel-xenU-module-build.pl?r1=1.1&r2=1.1.6.1&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel-xenU/kernel-xenU.spec?r1=1.34&r2=1.34.2.1&f=u
More information about the pld-cvs-commit
mailing list