diff options
Diffstat (limited to 'kernels/linux-libre-rt/PKGBUILD')
-rw-r--r-- | kernels/linux-libre-rt/PKGBUILD | 74 |
1 files changed, 44 insertions, 30 deletions
diff --git a/kernels/linux-libre-rt/PKGBUILD b/kernels/linux-libre-rt/PKGBUILD index d93b6247b..601c9559f 100644 --- a/kernels/linux-libre-rt/PKGBUILD +++ b/kernels/linux-libre-rt/PKGBUILD @@ -1,27 +1,28 @@ +# $Id: PKGBUILD 193761 2013-08-30 11:11:43Z tpowa $ # Maintainer: Joakim Hernberg <jbh@alchemy.lu> # Contributor: Ray Rashif <schiv@archlinux.org> # Contributor: timbosa <tinny_tim@dodo.com.au> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@lavabit.com> -# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> +# Contributor (Parabola): Márcio Silva <coadde@lavabit.com> pkgbase=linux-libre-rt # Build stock -LIBRE-RT kernel #pkgbase=linux-libre-custom # Build kernel with a different name -_basekernel=3.8 -_releasever=13 -_rtpatchver=rt9 +_basekernel=3.10 +_releasever=10 +_rtpatchver=rt7 _pkgver=${_basekernel}.${_releasever} pkgver=${_basekernel}.${_releasever}_${_rtpatchver} pkgrel=1 -_lxopkgver=${_basekernel}.13 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.10 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') -source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu1/linux-libre-${_basekernel}-gnu1.tar.xz" - "http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}-gnu1/patch-${_basekernel}-gnu1-${_pkgver}-gnu1.xz" +source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}-gnu/patch-${_basekernel}-gnu-${_pkgver}-gnu.xz" "http://www.kernel.org/pub/linux/kernel/projects/rt/${_basekernel}/patch-${_pkgver}-${_rtpatchver}.patch.xz" # the main kernel config files 'config.i686' 'config.x86_64' @@ -31,20 +32,24 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'Kbuild.platforms' 'boot-logo.patch' 'change-default-console-loglevel.patch' + 'criu-no-expert.patch' + '3.10.6-logitech-dj.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") -md5sums=('5c7787be882c343e41fb49136ff60aec' - '2242024493dcb72a8777e11198f5e743' - '2b8fc5a819ee9bdf79aec69e07565cae' - '5ed195b8c44e1e00c1885077566e1f81' - 'f97a0be3b9252e788a0cf67e93cb5c6f' +md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' + '673ae6d60b4ce8acad930a06f9fe2e3f' + 'b634614a96f47a564bc32bc87afe587f' + '9dad7b1491caf056b10d4fbf54081988' + '6fb1660497947ec5c20405dc439b5c5a' '82496e68851d1960543a07ba51cdb44a' '2967cecc3af9f954ccc822fd63dca6ff' '8267264d9a8966e57fdacd1fa1fc65c4' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' - '0bb62b946f06edc2f5b0249b7fc773e4') + 'd50c1ac47394e9aec637002ef3392bd1' + '3ff40ca684cfe719723e627e2cef7cea' + '714134bcb52e243898036beacca2e7b7') if [ "$CARCH" != "mips64el" ]; then - # Don't use the Loongson-specific patches on non-mips64el arches. + # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] unset md5sums[${#md5sums[@]}-1] fi @@ -55,14 +60,14 @@ _localversionname=-LIBRE-RT prepare() { cd "${srcdir}/linux-${_basekernel}" - if [ "${_basekernel}" != "${pkgver}" ]; then - patch -Np1 -i "${srcdir}/patch-${_basekernel}-gnu1-${_pkgver}-gnu1" + if [ "${_basekernel}" != "${_pkgver}" ]; then + patch -Np1 -i "${srcdir}/patch-${_basekernel}-gnu-${_pkgver}-gnu" fi # add realtime patch patch -p1 -i "${srcdir}/patch-${_pkgver}-${_rtpatchver}.patch" - # Add freedo as boot logo + # add freedo as boot logo patch -Np1 -i "${srcdir}/boot-logo.patch" # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) @@ -70,6 +75,13 @@ prepare() { # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch" + # allow criu without expert option set + # patch from fedora + patch -Np1 -i "${srcdir}/criu-no-expert.patch" + + # fix https://bugs.archlinux.org/task/35991 - [linux] 3.10.x renders Logitech Unified Receivers useless + patch -Np1 -i "${srcdir}/3.10.6-logitech-dj.patch" + if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-rt|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ @@ -78,10 +90,10 @@ prepare() { patch -Np1 -i ${srcdir}/${_basekernel}*-*-loongson-community.patch patch -Np0 -i lxo-config.patch -# ensure N32, add localversion, remove uevent helper as per -# https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README -# and make USB storage support builtin (e.g. for booting from USB -# disks without slowly loading an initramfs) + # ensure N32, add localversion, remove uevent helper as per + # https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README + # and make USB storage support builtin (e.g. for booting from USB + # disks without slowly loading an initramfs) sed -ri \ -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \ -e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \ @@ -148,7 +160,7 @@ build() { } _package() { - pkgdesc="The ${pkgbase} kernel and modules with realtime preemption" + pkgdesc="The ${pkgbase^} kernel and modules with realtime preemption" [ "${pkgbase}" = "linux-libre" ] && groups=('base') depends=('coreutils' 'linux-libre-firmware' 'kmod') optdepends=('crda: to set the correct wireless channels of your country') @@ -187,14 +199,16 @@ _package() { # add vmlinux install -D -m644 vmlinux "${pkgdir}/usr/src/linux-${_kernver}/vmlinux" - # install fallback mkinitcpio.conf file and preset file for kernel - install -D -m644 "${srcdir}/${pkgbase}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" - # set correct depmod command for install + cp -f "${startdir}/${install}" "${startdir}/${install}.pkg" + true && install=${install}.pkg sed \ -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \ -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \ - -i "${startdir}/${pkgbase}.install" + -i "${startdir}/${install}" + + # install mkinitcpio preset file for kernel + install -D -m644 "${srcdir}/${pkgbase}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" sed \ -e "1s|'linux*.*'|'${pkgbase}'|" \ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \ @@ -202,7 +216,7 @@ _package() { -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \ -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" -# mkinitcpio 0.7 relies on bzImage to find the kernel version + # mkinitcpio 0.7 relies on bzImage to find the kernel version if [ "$CARCH" == "mips64el" ]; then sed -e "s|ALL_kver=.*|ALL_kver=\"${_kernver}\"|" \ -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" @@ -228,7 +242,7 @@ _package() { } _package-headers() { - pkgdesc="Header files and scripts for building modules for ${pkgbase} kernel" + pkgdesc="Header files and scripts for building modules for ${pkgbase^} kernel" provides=("kernel26${_kernelname}-headers=${pkgver}" "linux${_kernelname}-headers=${pkgver}") conflicts=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers") replaces=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers") @@ -236,7 +250,7 @@ _package-headers() { KARCH=x86 [ $CARCH = "mips64el" ] && KARCH=mips -# In case of repackaging this is empty + # in case of repackaging this is empty if [ -z "${_kernver}" ]; then cd "${srcdir}/linux-${_basekernel}" _kernver="$(make LOCALVERSION= kernelrelease)" @@ -379,7 +393,7 @@ _package-headers() { done # remove unneeded architectures - rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa} + rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arc,arm,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa} if [ "$CARCH" = "mips64el" ]; then rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/x86 else |