]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel.spec
- require kmod, it has all needed bits from our module-init-tools,
[packages/kernel.git] / kernel.spec
index 697027d6408db7e28f6bc95db8ccb70af0e2b7de..8bc3da719885281b43be5926c3d8c26d101d8afc 100644 (file)
@@ -27,7 +27,7 @@
 %bcond_with    verbose         # verbose build (V=1)
 %bcond_with    reiser4         # support for reiser4 fs (experimental)
 
-%bcond_without grsecurity      # don't build grsecurity nor pax at all
+%bcond_with    grsecurity      # don't build grsecurity nor pax at all
 %bcond_with    pax             # build pax and grsecurity (ie. grsecurity && pax)
 
 %bcond_with    fbcondecor      # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
@@ -35,7 +35,6 @@
 %bcond_with    nfsroot         # build with root on NFS support
 
 %bcond_without imq             # imq support
-%bcond_without wrr             # wrr support
 %bcond_without esfq            # esfq support
 %bcond_without ipv6            # ipv6 support
 
 %define                have_pcmcia     0
 %endif
 
-%define                rel             0.1
-%define                basever         3.2
-%define                postver         .5
+%define                rel             3
+%define                basever         3.4
+%define                postver         .23
 
 # __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:nogrsecurity}
-
-%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}
 # localversion is just that without version for "> localversion"
 %define                localversion    %{rel}
-%define                kernel_release  %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
+%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)
@@ -132,10 +135,10 @@ Epoch:            3
 License:       GPL v2
 Group:         Base/Kernel
 Source0:       http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
-# Source0-md5: 364066fa18767ec0ae5f4e4abcf9dc51
+# Source0-md5: 967f72983655e2479f951195953e8480
 %if "%{postver}" != ".0"
 Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
-# Patch0-md5:  fb4d0b76b4c9a42977d75c4b2f3948d0
+# Patch0-md5:  e7083612816f44be4bd07c03d7583984
 %endif
 
 Source3:       kernel-autoconf.h
@@ -162,7 +165,6 @@ Source49:   kernel-pax.config
 Source50:      kernel-no-pax.config
 Source55:      kernel-imq.config
 Source56:      kernel-reiser4.config
-Source57:      kernel-wrr.config
 
 Source58:      kernel-inittmpfs.config
 
@@ -181,9 +183,6 @@ Patch16:    kernel-pom-ng-mms-conntrack-nat.patch
 Patch22:       kernel-pom-ng-rsh.patch
 Patch23:       kernel-pom-ng-rpc.patch
 
-# based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
-Patch36:       kernel-nf_rtsp.patch
-
 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
 Patch37:       kernel-owner-xid.patch
 
@@ -202,9 +201,6 @@ Patch50:    kernel-imq.patch
 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
 Patch51:       kernel-reiser4.patch
 
-# http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
-Patch52:       kernel-wrr.patch
-
 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
 Patch53:       kernel-esfq.patch
 
@@ -220,22 +216,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.1.1-vs2.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.10_for_3.1.0-rc4.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.0 origin/aufs3.0
+# 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
@@ -252,9 +249,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
@@ -288,22 +283,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
@@ -328,6 +324,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
@@ -379,21 +376,21 @@ BuildRoot:        %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %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
@@ -571,7 +568,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
@@ -673,9 +670,6 @@ sed -i 's/-Werror//' arch/alpha/kernel/Makefile
 # kernel-pom-ng-rpc.patch
 %patch23 -p1
 
-# kernel-nf_rtsp.patch
-%patch36 -p1
-
 # kernel-owner-xid.patch
 %if %{with vserver}
 %patch37 -p1
@@ -704,10 +698,6 @@ sed -i 's/-Werror//' arch/alpha/kernel/Makefile
 %patch53 -p1
 %endif
 
-%if %{with wrr}
-%patch52 -p1
-%endif
-
 %patch55 -p1
 %patch56 -p1
 
@@ -723,7 +713,7 @@ sed -i 's/-Werror//' arch/alpha/kernel/Makefile
 %patch101 -p1
 %endif
 
-# aufs2
+# aufs3
 %if %{with reiser4}
 %patch148 -p1
 %endif
@@ -770,7 +760,7 @@ exit 0
 #%patch50000 -p1
 
 # Fix EXTRAVERSION in main Makefile
-sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?alt_kernel:_%{alt_kernel}}#g' Makefile
+sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{?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
@@ -963,9 +953,6 @@ EOCONFIG
 %if %{with reiser4}
                %{SOURCE56} \
 %endif
-%if %{with wrr}
-               %{SOURCE57} \
-%endif
 %if %{with imq}
                %{SOURCE55} \
 %endif
@@ -1023,7 +1010,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
@@ -1064,8 +1050,9 @@ 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
 
@@ -1085,6 +1072,11 @@ cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}
 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}
 cp -a %{objdir}/include $RPM_BUILD_ROOT%{_kernelsrcdir}
+# copy arch/x86/include/generated
+for dir in $(cd %{objdir} && find arch -name generated -type d); do
+       cp -a %{objdir}/$dir $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir
+       find $RPM_BUILD_ROOT%{_kernelsrcdir}/$dir -name '.*.cmd' -exec rm "{}" ";"
+done
 
 # disable this here, causes a lot of build-time problems and our rpm-build disables it anyway
 %{__sed} -i -e 's|\(CONSTIFY_PLUGIN.*:=.*\)|# \1|' $RPM_BUILD_ROOT%{_kernelsrcdir}/Makefile
@@ -1150,6 +1142,11 @@ mv -f %{initrd_dir}/initrd{,.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}}
 
+# if dracut is present then generate full-featured initramfs
+if [ -x /sbin/dracut ]; then
+       /sbin/dracut --force --quiet /boot/initramfs-%{kernel_release}.img %{kernel_release}
+fi
+
 # update boot loaders when old package files are gone from filesystem
 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
        if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
@@ -1225,6 +1222,7 @@ fi
 /boot/vmlinuz-%{kernel_release}
 /boot/System.map-%{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}
@@ -1260,7 +1258,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*
@@ -1269,7 +1267,7 @@ fi
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
-%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
+%exclude /lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
 %endif
 %if %{with myown}
@@ -1286,20 +1284,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
@@ -1327,7 +1317,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*
@@ -1336,7 +1326,7 @@ fi
 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
-/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/serial_cs.ko*
+/lib/modules/%{kernel_release}/kernel/drivers/tty/serial/8250/serial_cs.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
 %endif
 
This page took 0.040111 seconds and 4 git commands to generate.