]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel.spec
- 4.4.178
[packages/kernel.git] / kernel.spec
index 4522dc4f1a8ded4f362a06080c43a8091857be5a..0e0d027b16b3eaae6fa13f866f2f675633ad3827 100644 (file)
 %bcond_with    fbcondecor      # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
 %bcond_without pae             # build PAE (HIGHMEM64G) support on 32bit i686 athlon pentium3 pentium4
 %bcond_with    nfsroot         # build with root on NFS support
-%bcond_with    uksm            # build with UKSM patch, http://kerneldedup.org/projects/uksm/
 
 %bcond_without imq             # imq support
 %bcond_without esfq            # esfq support
 %bcond_without ipv6            # ipv6 support
-%bcond_with    padmcrypt       # parallel dm-crypt
 
-%bcond_with    vserver         # support for VServer
+%bcond_without vserver         # support for VServer
+
+%bcond_with    rt              # real-time kernel (CONFIG_PREEMPT_RT) for low latencies
 
 %bcond_with    vanilla         # don't include any patches
 %bcond_with    rescuecd        # build kernel for our rescue
 %endif
 
 %define                rel             1
-%define                basever         4.0
-%define                postver         .4
+%define                basever         4.4
+%define                postver         .178
 
 # define this to '-%{basever}' for longterm branch
-%define                versuffix       %{nil}
+%define                versuffix       -%{basever}
 
 # __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)
@@ -99,6 +99,9 @@
 %if %{without pae}
 %define                alt_kernel      nopae
 %endif
+%if %{with rt}
+%define                alt_kernel      rt
+%endif
 
 # kernel release (used in filesystem and eventually in uname -r)
 # modules will be looked from /lib/modules/%{kernel_release}
@@ -118,10 +121,10 @@ Epoch:            3
 License:       GPL v2
 Group:         Base/Kernel
 Source0:       http://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz
-# Source0-md5: a86916bd12798220da9eb4a1eec3616d
+# Source0-md5: 9a78fa2eb6c68ca5a40ed5af08142599
 %if "%{postver}" != ".0"
 Patch0:                http://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
-# Patch0-md5:  30de8c55237264deee4d4fc60eee78fd
+# Patch0-md5:  aeddd93b8fcf8595acaf120966f3e962
 %endif
 Source1:       kernel.sysconfig
 
@@ -143,9 +146,9 @@ Source25:   kernel-ia64.config
 
 Source41:      kernel-patches.config
 Source43:      kernel-vserver.config
+Source44:      kernel-rt.config
 
 Source55:      kernel-imq.config
-Source56:      kernel-uksm.config
 
 Source58:      kernel-inittmpfs.config
 
@@ -189,33 +192,28 @@ Patch59:  kernel-rndis_host-wm5.patch
 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
 Patch85:       kernel-hostap.patch
 
-%define        vserver_patch 3.18.5-vs2.3.7.3
-# http://vserver.13thfloor.at/Experimental/patch-3.18.5-vs2.3.7.3.diff
+%define        vserver_patch 4.4.161-vs2.3.9.8
+# http://vserver.13thfloor.at/Experimental/patch-4.4.161-vs2.3.9.8.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://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git, read README
+# git://github.com/sfjro/aufs4-standalone.git, read README
 # Patch creation:
-# git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git
-# cd aufs3-standalone
-# git checkout -b aufs4.0 origin/aufs4.0
-# cat aufs3-kbuild.patch aufs3-base.patch aufs3-mmap.patch aufs3-standalone.patch > ~/rpm/packages/kernel/kernel-aufs3.patch
-# mkdir linux
+# git clone git://github.com/sfjro/aufs4-standalone.git
+# cd aufs4-standalone
+# git checkout -b aufs4.4 origin/aufs4.4
+# cat aufs4-kbuild.patch aufs4-base.patch aufs4-mmap.patch aufs4-standalone.patch > ~/rpm/packages/kernel/kernel-aufs4.patch
+# rm -rf linux && mkdir linux
 # cp -a Documentation fs include linux
-# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs3.patch
+# diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs4.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
+# cat aufs4-loopback.patch >> ~/rpm/packages/kernel/kernel-aufs4.patch
 #
-Patch145:      kernel-aufs3.patch
-Patch146:      kernel-aufs3+vserver.patch
-
-%define uksm_major_version 0.1.2.3
-%define uksm_version %{uksm_major_version}-for-v3.18
-Patch150:      http://kerneldedup.org/download/uksm/%{uksm_major_version}/uksm-%{uksm_version}.patch
-# Patch150-md5:        b6a2b2aae9c2844d0c74690632d7019e
+Patch145:      kernel-aufs4.patch
+Patch146:      kernel-aufs4+vserver.patch
 
 # Show normal colors in menuconfig with ncurses ABI 6
 Patch250:      kernel-fix_256colors_menuconfig.patch
@@ -223,21 +221,17 @@ Patch250: kernel-fix_256colors_menuconfig.patch
 # https://patchwork.kernel.org/patch/236261/
 Patch400:      kernel-virtio-gl-accel.patch
 
-# http://people.redhat.com/mpatocka/patches/kernel/dm-crypt-paralelizace/current/series.html
-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
+# https://rt.wiki.kernel.org/
+# https://www.kernel.org/pub/linux/kernel/projects/rt/4.4/patch-4.4.30-rt41.patch.xz
+Patch500:      kernel-rt.patch
 
 Patch2000:     kernel-small_fixes.patch
 Patch2001:     kernel-pwc-uncompress.patch
 Patch2003:     kernel-regressions.patch
 Patch2004:     kernel-libata-ahci-pm.patch
 
-# bzr co lp:apparmor
-# ls apparmor/kernel-patches/3.12
+# git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
+# branch v4.2-aa2.8-out-of-tree
 Patch5000:     kernel-apparmor.patch
 
 # for rescuecd
@@ -258,7 +252,7 @@ BuildRequires:      elftoaout
 BuildRequires: uboot-mkimage
 %endif
 BuildRequires: /sbin/depmod
-BuildRequires: gcc >= 5:3.2
+BuildRequires: gcc >= 6:7.2.0-6
 BuildRequires: xz >= 1:4.999.7
 AutoReqProv:   no
 BuildRequires: hostname
@@ -267,11 +261,11 @@ BuildRequires:    perl-base
 BuildRequires: rpm-build >= 4.5-24
 BuildRequires: rpmbuild(macros) >= 1.707
 Requires(post):        coreutils
-Requires(post):        geninitrd >= 10000.32
+Requires(post):        geninitrd >= 12749
 Requires(post):        kmod >= 12-2
 Requires:      /sbin/depmod
 Requires:      coreutils
-Requires:      geninitrd >= 10000.32
+Requires:      geninitrd >= 12749
 Requires:      kmod >= 12-2
 %if %{with pae}
 %ifarch i686 athlon pentium3 pentium4
@@ -322,7 +316,7 @@ Conflicts:  reiserfsprogs < 3.6.3
 Conflicts:     rpm < 4.4.2-0.2
 Conflicts:     udev < 1:081
 Conflicts:     util-linux < 2.10o
-Conflicts:     util-vserver < 0.30.216
+Conflicts:     util-vserver < 0.30.216-1.pre3126.3
 Conflicts:     xfsprogs < 2.6.0
 %if %{without pae}
 ExclusiveArch: i686 pentium3 pentium4 athlon
@@ -406,6 +400,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
 %{?with_nfsroot:Root on NFS - enabled}\
 %{?with_vserver:Linux-VServer - %{vserver_patch}}\
+%{?with_rt:CONFIG_PREEMPT_RT - enabled}\
 
 %define Features %(echo "%{__features}" | sed '/^$/d')
 
@@ -672,7 +667,10 @@ cd linux-%{basever}
 #
 
 # kernel-pom-ng-IPV4OPTSSTRIP.patch
+%if %{without rt}
+# fails on -Werror=incompatible-pointer-types
 %patch10 -p1
+%endif
 
 # kernel-owner-xid.patch
 %if %{with vserver}
@@ -697,8 +695,11 @@ cd linux-%{basever}
 %patch53 -p1
 %endif
 
+%if %{without rt}
+# fails on -Werror=incompatible-pointer-types
 %patch55 -p1
 %patch56 -p1
+%endif
 
 # kernel-rndis_host-wm5.patch
 %patch59 -p1
@@ -718,31 +719,24 @@ cd linux-%{basever}
 %patch146 -p1
 %endif
 
-# UKSM
-%if %{with uksm}
-%patch150 -p1
-%endif
-
 %if %{with rescuecd}
 %patch7000 -p1
 %endif
 
+%if %{with rt}
+%patch500 -p1
+rm -f localversion-rt
+%endif
+
 # apparmor
 %patch5000 -p1
 
 %patch250 -p1
 
 # virtio-gl
+%if %{without rt}
+# fails on -Werror=incompatible-pointer-types
 %patch400 -p1
-
-# parallel dm-crypt
-%if %{with padmcrypt}
-%patch500 -p1
-%patch501 -p1
-%patch502 -p1
-%patch503 -p1
-%patch504 -p1
-%patch505 -p1
 %endif
 
 %endif # vanilla
@@ -941,11 +935,11 @@ EOCONFIG
 %if %{with imq}
                %{SOURCE55} \
 %endif
-%if %{with uksm}
-               %{SOURCE56} \
-%endif
 %if %{with vserver}
                %{SOURCE43} \
+%endif
+%if %{with rt}
+               %{SOURCE44} \
 %endif
                %{SOURCE41} %{?0:patches} \
 %endif
@@ -1046,8 +1040,8 @@ touch $RPM_BUILD_ROOT%{initrd_dir}/initramfs-%{kernel_release}.img
 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
 %endif
 
-# /etc/modrobe.d
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
+# /etc/depmod.d /etc/modrobe.d
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/{depmod.d,modprobe.d}/%{kernel_release}
 
 install -d $RPM_BUILD_ROOT/etc/sysconfig
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/kernel
@@ -1325,7 +1319,9 @@ fi
 /lib/modules/%{kernel_release}/kernel/sound
 %endif
 /lib/modules/%{kernel_release}/kernel/security
+/lib/modules/%{kernel_release}/kernel/virt
 
+%dir %{_sysconfdir}/depmod.d/%{kernel_release}
 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
 
 # provided by build
@@ -1506,6 +1502,7 @@ fi
 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
 %exclude %{_kernelsrcdir}/drivers/media/pci/bt8xx/bttv.h
 %{_kernelsrcdir}/block
+%{_kernelsrcdir}/certs
 %{_kernelsrcdir}/crypto
 %{_kernelsrcdir}/drivers
 %{_kernelsrcdir}/firmware
This page took 0.038687 seconds and 4 git commands to generate.