]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel.spec
- NR_CPUS max value is 512 or it gets redefined to 8
[packages/kernel.git] / kernel.spec
index eb0b0eed65d0ce75497c5f293a476e385cf73efb..a3d56c878dce7ec5609f86ad40ce15712cfbef78 100644 (file)
 %endif
 
 %define                rel             2
-%define                basever         3.3
-%define                postver         .1
+%define                basever         3.4
+%define                postver         .75
 
 # __alt_kernel is list of features, empty string if none set
 # _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
 # alt_kernel should be defined if __alt_kernel has non-empty value (for %{?alt_kernel:foo} constructs)
-%define                __alt_kernel    %{?with_pax:pax}%{?with_grsecurity:grsecurity}
-
-%if "%{__alt_kernel}" != ""
-%define                alt_kernel      %{__alt_kernel}
-%endif
 
 # these override whatever name was picked from bconds
-%if %{with myown} && "%{_alt_kernel}" == ""
+%if %{with myown}
+%if "%{_alt_kernel}" == ""
 %define                alt_kernel      myown
 %endif
-%if %{with rescuecd}
-%define                alt_kernel      rescuecd
-%endif
+%else # not myown:
 %if %{with vanilla}
 %define                alt_kernel      vanilla
+%else # not vanilla:
+%if %{with rescuecd}
+%define                alt_kernel      rescuecd
+%else # not rescuecd:
+%define                __alt_kernel    longterm%{?with_pax:pax}%{?with_grsecurity:grsecurity}
+%if "%{__alt_kernel}" != ""
+%define                alt_kernel      %{__alt_kernel}
 %endif
+%endif # not rescuecd
+%endif # not vanilla
+%endif # not myown
 
 # kernel release (used in filesystem and eventually in uname -r)
 # modules will be looked from /lib/modules/%{kernel_release}
@@ -131,11 +135,12 @@ Epoch:            3
 License:       GPL v2
 Group:         Base/Kernel
 Source0:       http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
-# Source0-md5: 7133f5a2086a7d7ef97abac610c094f5
+# Source0-md5: 967f72983655e2479f951195953e8480
 %if "%{postver}" != ".0"
-Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
-# Patch0-md5:  b3fafb60dbf571aef9da6f12a774f02c
+Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.xz
+# Patch0-md5:  6df6a2c9b9fea40fc572da7138e94ac0
 %endif
+Source1:       kernel.sysconfig
 
 Source3:       kernel-autoconf.h
 Source4:       kernel-config.h
@@ -212,22 +217,23 @@ Patch59:  kernel-rndis_host-wm5.patch
 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
 Patch85:       kernel-hostap.patch
 
-# http://vserver.13thfloor.at/Experimental/patch-3.3.1-vs2.3.3.2.diff
+# http://vserver.13thfloor.at/Experimental/patch-3.4.22-vs2.3.3.9.diff 
 Patch100:      kernel-vserver-2.3.patch
 Patch101:      kernel-vserver-fixes.patch
 
-# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.11_for_3.2.2.diff.gz
+# http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.11_for_3.3.0-rc3.diff.gz
 Patch140:      kernel-unionfs.patch
 
 # git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
 # Patch creation:
 # git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
 # cd aufs3-standalone
-# git checkout -b aufs3.2 origin/aufs3.2
+# git checkout -b aufs3.4 origin/aufs3.4
 # cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
 # mkdir linux
 # cp -a Documentation fs include linux
 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
+# drop hunk at the end of patch (hunk is patching include/linux/Kbuild with single line change)
 #
 Patch145:      kernel-aufs3.patch
 Patch146:      kernel-aufs2-unionfs.patch
@@ -244,9 +250,7 @@ Patch2000:  kernel-small_fixes.patch
 Patch2001:     kernel-pwc-uncompress.patch
 Patch2003:     kernel-regressions.patch
 
-# 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
-# 0002-AppArmor-compatibility-patch-for-v5-interface.patch
-# from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
+# http://git.kernel.org/?p=linux/kernel/git/jj/linux-apparmor.git;a=shortlog;h=refs/heads/v3.4-aa2.8
 Patch5000:     kernel-apparmor.patch
 
 # for rescuecd
@@ -280,22 +284,23 @@ BuildRequires:    gcc >= 5:3.2
 BuildRequires: xz >= 1:4.999.7
 AutoReqProv:   no
 BuildRequires: hostname
-BuildRequires: virtual(module-tools)
+BuildRequires: kmod
 BuildRequires: perl-base
 BuildRequires: rpm-build >= 4.5-24
-BuildRequires: rpmbuild(macros) >= 1.217
+BuildRequires: rpmbuild(macros) >= 1.652
 Requires(post):        coreutils
 Requires(post):        geninitrd >= 10000-3
-Requires(post):        virtual(module-tools)
+Requires(post):        kmod >= 12-2
 Requires:      /sbin/depmod
 Requires:      coreutils
 Requires:      geninitrd >= 10000-3
-Requires:      virtual(module-tools)
+Requires:      kmod >= 12-2
 %if %{with pae}
 %ifarch i686 athlon pentium3 pentium4
 Requires:      cpuinfo(pae)
 %endif
 %endif
+Suggests:      dracut
 Suggests:      keyutils
 Suggests:      linux-firmware
 Provides:      %{name}(netfilter) = 20070806
@@ -320,6 +325,7 @@ Obsoletes:  kernel-smp
 Conflicts:     e2fsprogs < 1.29
 Conflicts:     isdn4k-utils < 3.1pre1
 Conflicts:     jfsutils < 1.1.3
+Conflicts:     linux-firmware < 20120720
 Conflicts:     lvm2 < 2.02.40
 Conflicts:     module-init-tools < 3.16
 Conflicts:     nfs-utils < 1.0.5
@@ -367,25 +373,25 @@ BuildRoot:        %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                topdir          %{_builddir}/%{name}-%{version}
 %define                srcdir          %{topdir}/linux-%{basever}
 %define                objdir          %{topdir}/%{targetobj}
-%define                targetobj       %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
+%define                targetobj       %{_target_base_arch}-gcc-%(%{__cc} -dumpversion)
 
 %define                _kernelsrcdir   /usr/src/linux%{_alt_kernel}-%{version}
 
-%if "%{_target_base_arch}" != "%{_arch}"
+%if "%{_target_base_arch}" != "%{_host_base_arch}"
        %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
        %define DepMod /bin/true
 
-       %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
+       %if "%{_host_base_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
        %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
        %define DepMod /sbin/depmod
        %endif
 
-       %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
+       %if "%{_host_base_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
        %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
        %define DepMod /sbin/depmod
        %endif
 
-       %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
+       %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
        %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
        %define DepMod /sbin/depmod
        %endif
@@ -563,7 +569,7 @@ Summary(de.UTF-8):  Development Dateien die beim Kernel Modul kompilationen gebra
 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.642
+Conflicts:     rpmbuild(macros) < 1.652
 AutoReqProv:   no
 
 %description module-build
@@ -708,7 +714,7 @@ sed -i 's/-Werror//' arch/alpha/kernel/Makefile
 %patch101 -p1
 %endif
 
-# aufs2
+# aufs3
 %if %{with reiser4}
 %patch148 -p1
 %endif
@@ -1005,7 +1011,6 @@ for a in \
        devname \
        softdep \
        symbols{,.bin} \
-       {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
 ; do
        test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
        > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
@@ -1014,6 +1019,7 @@ done
 # /boot
 install -d $RPM_BUILD_ROOT/boot
 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
+cp -aL %{objdir}/.config $RPM_BUILD_ROOT/boot/config-%{kernel_release}
 %ifarch %{ix86} %{x8664}
        cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
        install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
@@ -1046,14 +1052,18 @@ cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
 
 # ghosted initrd
 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
+touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
 
-%if "%{_target_base_arch}" != "%{_arch}"
+%if "%{_target_base_arch}" != "%{_host_base_arch}"
 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
 %endif
 
 # /etc/modrobe.d
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
 
+install -d $RPM_BUILD_ROOT/etc/sysconfig
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
+
 # /usr/src/linux
 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}
 
@@ -1112,30 +1122,57 @@ if [ -x /sbin/new-kernel-pkg ]; then
 fi
 
 %post
+[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
+if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
 %ifarch ia64
-mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
-%{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
-ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
-%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
-%endif
-mv -f /boot/vmlinuz{,.old} 2> /dev/null
-%{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
-mv -f /boot/System.map{,.old} 2> /dev/null
-%{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
-ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
-%{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
-ln -sf System.map-%{kernel_release} /boot/System.map
-%{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
+       mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
+%if 0%{?alt_kernel:1}
+       mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}
+%endif
+%endif
+       mv -f /boot/vmlinuz{,.old} 2> /dev/null
+       mv -f /boot/System.map{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
+       ln -sf System.map-%{kernel_release} /boot/System.map
+%if 0%{?alt_kernel:1}
+       mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null
+       mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null
+       ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}
+       ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}
+%endif
+fi
 
 %depmod %{kernel_release}
 
 %posttrans
-# generate initrd after all dependant modules are installed
-/sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
-mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
-%{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
-ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
-%{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
+# use posttrans to generate initrd after all dependant module packages (-drm, etc) are installed
+[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
+initrd_file=""
+if [[ "$USE_GENINITRD" != [Nn][Oo] ]]; then
+       /sbin/geninitrd -f --initrdfs=initramfs %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release} || :
+       initrd_file="initrd-%{kernel_release}.gz"
+fi
+
+# if dracut is present then generate full-featured initramfs
+if [[ "$USE_DRACUT" != [Nn][Oo] ]] && [ -x /sbin/dracut ]; then
+       /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
+        [ -n "$initrd_file" ] || initrd_file="initramfs-%{kernel_release}.img"
+fi
+
+if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
+       mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
+        if [ -n "$initrd_file" ] ; then
+           ln -sf "$initrd_file" %{initrd_dir}/initrd
+        fi
+%if 0%{?alt_kernel:1}
+       mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null
+        if [ -n "$initrd_file" ] ; then
+           ln -sf "$initrd_file" %{initrd_dir}/initrd%{_alt_kernel}
+        fi
+%endif
+fi
 
 # update boot loaders when old package files are gone from filesystem
 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
@@ -1149,12 +1186,20 @@ fi
 if [ -x /sbin/rc-boot ]; then
        /sbin/rc-boot 1>&2 || :
 fi
+if [ -x /sbin/efi-boot-update ]; then
+       /sbin/efi-boot-update --auto || :
+fi
 
 %post vmlinux
-mv -f /boot/vmlinux{,.old} 2> /dev/null
-%{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
-ln -sf vmlinux-%{kernel_release} /boot/vmlinux
-%{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
+[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
+if [[ "$CREATE_SYMLINKS" != [Nn][Oo] ]]; then
+       mv -f /boot/vmlinux{,.old} 2> /dev/null
+       ln -sf vmlinux-%{kernel_release} /boot/vmlinux
+%if 0%{?alt_kernel:1}
+       mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null
+       ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}
+%endif
+fi
 
 %post drm
 %depmod %{kernel_release}
@@ -1203,6 +1248,7 @@ fi
 
 %files
 %defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kernel
 %ifarch sparc sparc64
 /boot/vmlinux.aout-%{kernel_release}
 %endif
@@ -1211,7 +1257,9 @@ fi
 %endif
 /boot/vmlinuz-%{kernel_release}
 /boot/System.map-%{kernel_release}
+/boot/config-%{kernel_release}
 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
+%ghost %{initrd_dir}/initramfs-%{kernel_release}.img
 /lib/firmware/%{kernel_release}
 
 %dir /lib/modules/%{kernel_release}
@@ -1247,7 +1295,7 @@ fi
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
-%exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
+%exclude /lib/modules/%{kernel_release}/kernel/drivers/staging/telephony/ixj_pcmcia.ko*
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
 %endif
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
@@ -1273,20 +1321,12 @@ fi
 # rest modules.* are ghost (regenerated by post depmod -a invocation)
 %ghost /lib/modules/%{kernel_release}/modules.alias
 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
-%ghost /lib/modules/%{kernel_release}/modules.ccwmap
 %ghost /lib/modules/%{kernel_release}/modules.dep
 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
 %ghost /lib/modules/%{kernel_release}/modules.devname
-%ghost /lib/modules/%{kernel_release}/modules.ieee1394map
-%ghost /lib/modules/%{kernel_release}/modules.inputmap
-%ghost /lib/modules/%{kernel_release}/modules.isapnpmap
-%ghost /lib/modules/%{kernel_release}/modules.ofmap
-%ghost /lib/modules/%{kernel_release}/modules.pcimap
-%ghost /lib/modules/%{kernel_release}/modules.seriomap
 %ghost /lib/modules/%{kernel_release}/modules.softdep
 %ghost /lib/modules/%{kernel_release}/modules.symbols
 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
-%ghost /lib/modules/%{kernel_release}/modules.usbmap
 
 # symlinks pointing to kernelsrcdir
 %ghost /lib/modules/%{kernel_release}/build
@@ -1314,7 +1354,7 @@ fi
 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
-/lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
+/lib/modules/%{kernel_release}/kernel/drivers/staging/telephony/ixj_pcmcia.ko*
 %endif
 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
This page took 0.109118 seconds and 4 git commands to generate.