]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel.spec
- up to 3.18.7; vserver up to 3.18.5-vs2.3.7.3 (seems to be working but only slightly...
[packages/kernel.git] / kernel.spec
index 3c03c634558bbd4ee4b574caf0b406de8837f109..b467321fdafb2ce86f7ec14b3f4182c203c693cf 100644 (file)
@@ -1,6 +1,6 @@
 #
 # LATEST VERSION CHECKER:
-# # curl -s http://www.kernel.org/kdist/finger_banner
+# # curl -s https://www.kernel.org/finger_banner
 #
 # TODO:
 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
@@ -18,6 +18,7 @@
 %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_without firmware        # don't build firmware into main package
 
 %bcond_with    verbose         # verbose build (V=1)
 
@@ -30,7 +31,7 @@
 %bcond_without ipv6            # ipv6 support
 %bcond_with    padmcrypt       # parallel dm-crypt
 
-%bcond_without vserver         # support for VServer
+%bcond_with    vserver         # support for VServer
 
 %bcond_with    vanilla         # don't include any patches
 %bcond_with    rescuecd        # build kernel for our rescue
@@ -39,6 +40,7 @@
 %{?debug:%define with_verbose 1}
 
 %define                have_drm        1
+%define                have_ide        1
 %define                have_oss        1
 %define                have_sound      1
 %define                have_pcmcia     1
@@ -51,6 +53,7 @@
 
 %if %{with myown}
 %define                have_drm        0
+%define                have_ide        0
 %define                have_oss        0
 %define                have_sound      0
 %define                have_pcmcia     0
@@ -67,7 +70,7 @@
 %endif
 
 %define                rel             1
-%define                basever         3.13
+%define                basever         3.18
 %define                postver         .7
 
 # define this to '-%{basever}' for longterm branch
@@ -92,6 +95,9 @@
 %if %{with vanilla}
 %define                alt_kernel      vanilla
 %endif
+%if %{without pae}
+%define                alt_kernel      nopae
+%endif
 
 # kernel release (used in filesystem and eventually in uname -r)
 # modules will be looked from /lib/modules/%{kernel_release}
@@ -111,10 +117,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: 0ecbaf65c00374eb4a826c2f9f37606f
+# Source0-md5: 9e854df51ca3fef8bfe566dbd7b89241
 %if "%{postver}" != ".0"
 Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.xz
-# Patch0-md5:  cb33b329d3417846d310c7f58a2614b6
+# Patch0-md5:  9db3178b87ddf7c05e6191bf57645610
 %endif
 Source1:       kernel.sysconfig
 
@@ -143,8 +149,6 @@ Source58:   kernel-inittmpfs.config
 
 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
 Patch3:                kernel-fbcondecor.patch
-Patch4:                kernel-fbcon-margins.patch
-Patch5:                linux-wistron-amilo8210.patch
 Patch6:                linux-wistron-nx.patch
 
 # netfilter related stuff mostly based on patch-o-matic-ng
@@ -183,38 +187,25 @@ Patch59:  kernel-rndis_host-wm5.patch
 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
 Patch85:       kernel-hostap.patch
 
-# http://www.linuxtv.org/wiki/index.php/TechniSat_CableStar_Combo_HD_CI#Patch
-Patch90:       kernel-technisat-combo-hd-ci.patch
-
-# http://vserver.13thfloor.at/Experimental/patch-3.13.6-vs2.3.6.11.diff
+%define        vserver_patch 3.18.5-vs2.3.7.3
+# http://vserver.13thfloor.at/Experimental/patch-3.18.5-vs2.3.7.3.diff
 # note there are additional patches from above url:
 # - *fix* are real fixes (we want these)
 # - *feat* are new features/tests (we don't want these)
 Patch100:      kernel-vserver-2.3.patch
 Patch101:      kernel-vserver-fixes.patch
 
-# git clone git://kernel.opensuse.org/kernel-source.git
-# patches.suse/ovl*
-Patch110:      ovl01-vfs-add-i_op-dentry_open.patch
-Patch111:      ovl02-vfs-export-do_splice_direct-to-modules.patch
-Patch112:      ovl03-vfs-export-inode_permission-to-modules.patch
-Patch113:      ovl04-vfs-introduce-clone_private_mount.patch
-Patch114:      ovl05-overlay-filesystem.patch
-Patch115:      ovl06-overlayfs-add-statfs-support.patch
-Patch116:      ovl07-overlayfs-implement-show_options.patch
-Patch117:      ovl08-overlay-overlay-filesystem-documentation.patch
-Patch118:      ovl09-fs-limit-filesystem-stacking-depth.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.13 origin/aufs3.13
-# cat aufs3-kbuild.patch aufs3-base.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
+# git checkout -b aufs3.15 origin/aufs3.15
+# cat aufs3-kbuild.patch aufs3-base.patch aufs3-mmap.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)
+# cat aufs3-loopback.patch >> ~/rpm/packages/kernel/kernel-aufs3.patch
 #
 Patch145:      kernel-aufs3.patch
 Patch146:      kernel-aufs3+vserver.patch
@@ -226,10 +217,10 @@ Patch250: kernel-fix_256colors_menuconfig.patch
 Patch400:      kernel-virtio-gl-accel.patch
 
 # http://people.redhat.com/mpatocka/patches/kernel/dm-crypt-paralelizace/current/series.html
-Patch500:      dm-crypt-remove-percpu.patch
-Patch501:      dm-crypt-unbound-workqueue.patch
-Patch502:      dm-crypt-dont-allocate-partial-pages.patch
-Patch503:      dm-crypt-fix-allocation-deadlock.patch
+Patch500:      dm-crypt-unbound-workqueue.patch
+Patch501:      dm-crypt-dont-allocate-partial-pages.patch
+Patch502:      dm-crypt-fix-allocation-deadlock.patch
+Patch503:      dm-crypt-remove-io-pool.patch
 Patch504:      dm-crypt-offload-writes-to-thread.patch
 Patch505:      dm-crypt-sort-requests.patch
 
@@ -263,16 +254,16 @@ BuildRequires:    gcc >= 5:3.2
 BuildRequires: xz >= 1:4.999.7
 AutoReqProv:   no
 BuildRequires: hostname
-BuildRequires: kmod
+BuildRequires: kmod >= 12-2
 BuildRequires: perl-base
 BuildRequires: rpm-build >= 4.5-24
-BuildRequires: rpmbuild(macros) >= 1.652
+BuildRequires: rpmbuild(macros) >= 1.707
 Requires(post):        coreutils
-Requires(post):        geninitrd >= 10000-3
+Requires(post):        geninitrd >= 10000.32
 Requires(post):        kmod >= 12-2
 Requires:      /sbin/depmod
 Requires:      coreutils
-Requires:      geninitrd >= 10000-3
+Requires:      geninitrd >= 10000.32
 Requires:      kmod >= 12-2
 %if %{with pae}
 %ifarch i686 athlon pentium3 pentium4
@@ -282,7 +273,12 @@ Requires:  cpuinfo(pae)
 Suggests:      crda
 Suggests:      dracut
 Suggests:      keyutils
+Suggests:      kernel%{versuffix}-ide = %{epoch}:%{version}-%{release}
+%if %{with firmware}
 Suggests:      linux-firmware
+%else
+Requires:      linux-firmware
+%endif
 Provides:      %{name}(netfilter) = 20070806
 Provides:      %{name}(vermagic) = %{kernel_release}
 Obsoletes:     kernel%{_alt_kernel}-char-lirc-ene0100
@@ -320,11 +316,17 @@ Conflicts:        udev < 1:081
 Conflicts:     util-linux < 2.10o
 Conflicts:     util-vserver < 0.30.216
 Conflicts:     xfsprogs < 2.6.0
-ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
+%if %{without pae}
+ExclusiveArch: i686 pentium3 pentium4 athlon
+%else
+ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 alpha arm ia64 ppc ppc64 sparc sparc64
+%endif
 ExclusiveOS:   Linux
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%ifarch %{ix86} %{x8664}
+%define                kmod_compress_cmd       %{__xz}
+
+%ifarch %{ix86} %{x8664} x32
 %define                target_arch_dir         x86
 %endif
 %ifarch ppc ppc64
@@ -333,7 +335,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %ifarch sparc sparc64
 %define                target_arch_dir         sparc
 %endif
-%ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
+%ifnarch %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
 %define                target_arch_dir         %{_target_base_arch}
 %endif
 
@@ -395,6 +397,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %{!?with_vserver:WARNING: VSERVER IS DISABLED IN THIS KERNEL BUILD!}\
 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
 %{?with_nfsroot:Root on NFS - enabled}\
+%{?with_vserver:Linux-VServer - %{vserver_patch}}\
 
 %define Features %(echo "%{__features}" | sed '/^$/d')
 
@@ -463,6 +466,24 @@ DRM Kernel Treiber.
 %description drm -l pl.UTF-8
 Sterowniki DRM.
 
+%package ide
+Summary:       IDE kernel modules
+Summary(de.UTF-8):     IDE Kernel Treiber
+Summary(pl.UTF-8):     Sterowniki IDE
+Group:         Base/Kernel
+Requires(postun):      %{name} = %{epoch}:%{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+AutoReqProv:   no
+
+%description ide
+IDE kernel modules.
+
+%description ide -l de.UTF-8
+IDE Kernel Treiber.
+
+%description ide -l pl.UTF-8
+Sterowniki IDE.
+
 %package pcmcia
 Summary:       PCMCIA modules
 Summary(de.UTF-8):     PCMCIA Module
@@ -551,7 +572,7 @@ Summary(pl.UTF-8):  Pliki służące do budowania modułów jądra
 Group:         Development/Building
 Requires:      %{name}-headers = %{epoch}:%{version}-%{release}
 Requires:      make
-Conflicts:     rpmbuild(macros) < 1.652
+Conflicts:     rpmbuild(macros) < 1.704
 AutoReqProv:   no
 
 %description module-build
@@ -637,8 +658,6 @@ cd linux-%{basever}
 %if %{with fbcondecor}
 %patch3 -p1
 %endif
-%patch4 -p1
-%patch5 -p1
 %patch6 -p1
 
 ## netfilter
@@ -679,25 +698,12 @@ cd linux-%{basever}
 # hostap enhancements from/for aircrack-ng
 %patch85 -p1
 
-# TechniSat_CableStar_Combo_HD_CI
-%patch90 -p1
-
 # vserver
 %if %{with vserver}
 %patch100 -p1
 %patch101 -p1
 %endif
 
-%patch110 -p1
-%patch111 -p1
-%patch112 -p1
-%patch113 -p1
-%patch114 -p1
-%patch115 -p1
-%patch116 -p1
-%patch117 -p1
-%patch118 -p1
-
 # aufs3
 %patch145 -p1
 %if %{with vserver}
@@ -746,12 +752,12 @@ find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs
 install -d %{objdir}
 cat > %{targetobj}.mk <<'EOF'
 # generated by %{name}.spec
-KERNELSRC              := %{srcdir}
+KERNELSRC      := %{srcdir}
 KERNELOUTPUT   := %{objdir}
 
 SRCARCH                := %{target_arch_dir}
 ARCH           := %{_target_base_arch}
-Q                      := %{!?with_verbose:@}
+Q              := %{!?with_verbose:@}
 MAKE_OPTS      := %{MakeOpts}
 DEFCONFIG      := %{defconfig}
 EOF
@@ -951,10 +957,11 @@ cd -
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
+%{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install %{?with_firmware:firmware_install} \
        -C %{objdir} \
        %{?with_verbose:V=1} \
        DEPMOD=%{DepMod} \
+       mod_compress_cmd=true \
        INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
        INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
        KERNELRELEASE=%{kernel_release}
@@ -984,7 +991,7 @@ done
 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}
+%ifarch %{ix86} %{x8664} x32
        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}
 %endif
@@ -1161,7 +1168,7 @@ if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
        fi
 fi
 if [ -x /sbin/new-kernel-pkg ]; then
-       /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
+       /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/$initrd_file --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
 fi
 if [ -x /sbin/rc-boot ]; then
        /sbin/rc-boot 1>&2 || :
@@ -1187,6 +1194,12 @@ fi
 %postun drm
 %depmod %{kernel_release}
 
+%post ide
+%depmod %{kernel_release}
+
+%postun ide
+%depmod %{kernel_release}
+
 %post pcmcia
 %depmod %{kernel_release}
 
@@ -1240,7 +1253,9 @@ fi
 /boot/config-%{kernel_release}
 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
 %ghost %{initrd_dir}/initramfs-%{kernel_release}.img
+%if %{with firmware}
 /lib/firmware/%{kernel_release}
+%endif
 
 %dir /lib/modules/%{kernel_release}
 %dir /lib/modules/%{kernel_release}/kernel
@@ -1250,6 +1265,9 @@ fi
 %if %{have_drm}
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
 %endif
+%if %{have_ide}
+%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/*
+%endif
 /lib/modules/%{kernel_release}/kernel/fs
 /lib/modules/%{kernel_release}/kernel/kernel
 /lib/modules/%{kernel_release}/kernel/lib
@@ -1275,7 +1293,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/usb/gadget/g_midi.ko*
+%exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
 %endif
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
@@ -1311,7 +1329,7 @@ fi
 %ghost /lib/modules/%{kernel_release}/build
 %ghost /lib/modules/%{kernel_release}/source
 
-%ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
+%ifarch alpha %{ix86} %{x8664} x32 ppc ppc64 sparc sparc64
 %files vmlinux
 %defattr(644,root,root,755)
 /boot/vmlinux-%{kernel_release}
@@ -1323,6 +1341,15 @@ fi
 /lib/modules/%{kernel_release}/kernel/drivers/gpu
 %endif
 
+%if %{have_ide}
+%files ide
+%defattr(644,root,root,755)
+/lib/modules/%{kernel_release}/kernel/drivers/ide/*
+%if %{have_pcmcia}
+%exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
+%endif
+%endif
+
 %if %{have_pcmcia}
 %files pcmcia
 %defattr(644,root,root,755)
@@ -1356,7 +1383,7 @@ fi
 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
 %endif
 %ifnarch sparc
-/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
+/lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/legacy/g_midi.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/cx88/cx88-alsa.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/media/usb/em28xx/em28xx-alsa.ko*
 /lib/modules/%{kernel_release}/kernel/drivers/media/pci/saa7134/saa7134-alsa.ko*
@@ -1416,6 +1443,7 @@ fi
 %{_kernelsrcdir}/scripts/module-common.lds
 %attr(755,root,root) %{_kernelsrcdir}/scripts/setlocalversion
 %{_kernelsrcdir}/scripts/*.c
+%{_kernelsrcdir}/scripts/*.h
 %attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
@@ -1486,6 +1514,7 @@ fi
 %exclude %{_kernelsrcdir}/scripts/module-common.lds
 %exclude %{_kernelsrcdir}/scripts/setlocalversion
 %exclude %{_kernelsrcdir}/scripts/*.c
+%exclude %{_kernelsrcdir}/scripts/*.h
 %exclude %{_kernelsrcdir}/scripts/*.sh
 %exclude %dir %{_kernelsrcdir}/scripts/selinux
 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
This page took 0.142324 seconds and 4 git commands to generate.