summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorsirlucjan2016-11-18 17:36:33 +0100
committersirlucjan2016-11-18 17:36:33 +0100
commitd4cd7fd6f0203f431206b895f28d89b47181cb63 (patch)
tree007ad5bd2058c6a7cf507beb011c59ff299e576b /PKGBUILD
parent40d02616e0187d74e0f560553c9a5cb008ccf1e4 (diff)
downloadaur-d4cd7fd6f0203f431206b895f28d89b47181cb63.tar.gz
Add pacman hook && sync with -ARCH config
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD116
1 files changed, 59 insertions, 57 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 124b189e2925..950f245159aa 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -49,11 +49,10 @@ _use_current=
### Do not edit below this line unless you know what you're doing
pkgbase=linux-bfq
-pkgname=('linux-bfq' 'linux-bfq-headers' 'linux-bfq-docs')
-_kernelname=-bfq
+# pkgname=('linux-bfq' 'linux-bfq-headers' 'linux-bfq-docs')
_srcname=linux-4.8
pkgver=4.8.8
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://algo.ing.unimo.it"
license=('GPL2')
@@ -74,12 +73,21 @@ source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
"${_bfqpath}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${_bfqrel}-to-.patch"
"${_bfqpath}/0004-Turn-BFQ-${_bfqrel}-into-BFQ-${_bfqver}-for-4.8.0.patch"
"http://repo-ck.com/source/gcc_patch/${_gcc_patch}.gz"
- 'linux-bfq.preset'
'change-default-console-loglevel.patch'
- 'config' 'config.x86_64')
-
+ # the main kernel config files
+ 'config' 'config.x86_64'
+ # pacman hook for initramfs regeneration
+ '99-linux.hook'
+ # standard config files for mkinitcpio ramdisk
+ 'linux.preset'
+ # patches from https://github.com/linusw/linux-bfq/commits/bfq-v8
+ '0005-BFQ-Fix.patch'
+ '0006-BFQ-Fix.patch')
+
+_kernelname=${pkgbase#linux}
+
prepare() {
- cd ${_srcname}
+ cd "${srcdir}/${_srcname}"
### Add upstream patch
msg "Add upstream patch"
@@ -93,7 +101,7 @@ prepare() {
### Patch source with BFQ
msg "Patching source with BFQ patches"
- for p in "${srcdir}"/000{1,2,3,4}-*BFQ*.patch; do
+ for p in "${srcdir}"/000{1,2,3,4,5,6}-*BFQ*.patch; do
msg " $p"
patch -Np1 -i "$p"
done
@@ -213,57 +221,54 @@ prepare() {
}
build() {
- cd ${_srcname}
- msg "Running make bzImage and modules"
- make ${MAKEFLAGS} LOCALVERSION= bzImage modules
+ cd "${srcdir}/${_srcname}"
+
+ make ${MAKEFLAGS} LOCALVERSION= bzImage modules
}
-package_linux-bfq() {
+_package() {
pkgdesc='Linux Kernel and modules with the BFQ scheduler.'
depends=('coreutils' 'linux-firmware' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country' 'nvidia-bfq: nVidia drivers for linux-bfq' 'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig')
- backup=("etc/mkinitcpio.d/linux-bfq.preset")
- install=linux-bfq.install
+ backup=("etc/mkinitcpio.d/${pkgbase}.preset")
+ install=linux.install
- cd ${_srcname}
+ cd "${srcdir}/${_srcname}"
KARCH=x86
- # get kernel version
- _kernver="$(make LOCALVERSION= kernelrelease)"
- _basekernel=${_kernver%%-*}
- _basekernel=${_basekernel%.*}
+ # get kernel version
+ _kernver="$(make LOCALVERSION= kernelrelease)"
+ _basekernel=${_kernver%%-*}
+ _basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install
- cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-linux-bfq"
+ cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
# set correct depmod command for install
- cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ sed -e "s|%PKGBASE%|${pkgbase}|g;s|%KERNVER%|${_kernver}|g" \
+ "${startdir}/${install}" > "${startdir}/${install}.pkg"
true && install=${install}.pkg
- sed \
- -e "s/KERNEL_NAME=.*/KERNEL_NAME=-bfq/g" \
- -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
- -i "${startdir}/${install}"
# install mkinitcpio preset file for kernel
- install -D -m644 "${srcdir}/linux-bfq.preset" "${pkgdir}/etc/mkinitcpio.d/linux-bfq.preset"
- sed \
- -e "1s|'linux.*'|'linux-bfq'|" \
- -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-linux-bfq\"|" \
- -e "s|default_image=.*|default_image=\"/boot/initramfs-linux-bfq.img\"|" \
- -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-linux-bfq-fallback.img\"|" \
- -i "${pkgdir}/etc/mkinitcpio.d/linux-bfq.preset"
+ sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/linux.preset" |
+ install -D -m644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
+
+ # install pacman hook for initramfs regeneration
+ sed "s|%PKGBASE%|${pkgbase}|g" "${srcdir}/99-linux.hook" |
+ install -D -m644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/99-${pkgbase}.hook"
# remove build and source links
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
# make room for external modules
- ln -s "../extramodules-${_basekernel}${_kernelname:bfq}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
+ ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
- mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:bfq}"
- echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:bfq}/version"
+ mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}"
+ echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version"
+
# Now we call depmod...
depmod -b "${pkgdir}" -F System.map "${_kernver}"
@@ -276,22 +281,15 @@ package_linux-bfq() {
install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux"
}
-package_linux-bfq-headers() {
+_package-headers() {
pkgdesc='Header files and scripts to build modules for linux-bfq.'
depends=('linux-bfq')
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
- cd ${_srcname}
-
- KARCH=x86
-
- # get kernel version
- _kernver="$(make LOCALVERSION= kernelrelease)"
- _basekernel=${_kernver%%-*}
- _basekernel=${_basekernel%.*}
-
+ cd "${srcdir}/${_srcname}"
+
install -D -m644 Makefile \
"${pkgdir}/usr/lib/modules/${_kernver}/build/Makefile"
install -D -m644 kernel/Makefile \
@@ -421,18 +419,11 @@ package_linux-bfq-headers() {
rm -rf "${pkgdir}"/usr/lib/modules/${_kernver}/build/arch/{alpha,arm,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa}
}
-package_linux-bfq-docs() {
+_package-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the linux-bfq kernel"
depends=('linux-bfq')
- cd ${_srcname}
-
- KARCH=x86
-
- # get kernel version
- _kernver="$(make LOCALVERSION= kernelrelease)"
- _basekernel=${_kernver%%-*}
- _basekernel=${_basekernel%.*}
+ cd "${srcdir}/${_srcname}"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build"
cp -al Documentation "${pkgdir}/usr/lib/modules/${_kernver}/build"
@@ -443,6 +434,14 @@ package_linux-bfq-docs() {
rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile"
}
+pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
+for _p in ${pkgname[@]}; do
+ eval "package_${_p}() {
+ $(declare -f "_package${_p#${pkgbase}}")
+ _package${_p#${pkgbase}}
+ }"
+done
+
sha512sums=('a48a065f21e1c7c4de4cf8ca47b8b8d9a70f86b64e7cfa6e01be490f78895745b9c8790734b1d22182cf1f930fb87eaaa84e62ec8cc1f64ac4be9b949e7c0358'
'SKIP'
'4ad7b881c9fafaf446d00e53af22d1940ecf00291ed57d1706ad12725a7bf525abb1d17500d662409eccd77ed0e9c2a11580ce94d6b6344188f35bd9e49c2418'
@@ -452,10 +451,13 @@ sha512sums=('a48a065f21e1c7c4de4cf8ca47b8b8d9a70f86b64e7cfa6e01be490f78895745b9c
'135afcffee2439e2260a71202658dce9ec5f555de3291b2d49a5cffdd953c6d7851b8a90e961576895555142a618e52220a7e4a46521ca4ba19d37df71887581'
'87ae76889ab84ced46c237374c124786551982f8ff7325102af9153aed1ab7be72bec4db1f7516426c5ee34c5ce17221679eb2f129c5cbdeec05c0d3cb7f785d'
'8e8f407262f3f573654e7f0fceec6075fd2da0258a384206d28e5f59698168609e575f3d855adb8bb476b0684da409dab22f7ddc0f00e9c10c67debe4409c30b'
- '607c0fa70375bff2f51387c4984e6f2da18c786a58281ab5c28f6b49c6da22578832afa96503f26a18575ffed677b2f9522a822b5db856b76c4144dd5b59ff6b'
'd9d28e02e964704ea96645a5107f8b65cae5f4fb4f537e224e5e3d087fd296cb770c29ac76e0ce95d173bc420ea87fb8f187d616672a60a0cae618b0ef15b8c8'
- '2f63a2f373a1b97cba7ceee112a1ee69a90f8448dda2487b7ac91e669bc6b43febec0f584100cd27f7ef3be53fb75ed3b027ad881220cdb06e57fe93f214b4eb'
- '8cfc9f98fd12333b035ec7bef53b4c3af2906e9d997aa41bd938298a669c59b51e8f554599e452f03f6e09a580ca9ca459ec29e31cec80866f4ffc2f477f79c6')
+ 'dee17ff84be74abecb016613f4fd34fd0432e0b6410fe799d2cb69d39bc1e301e9ba116c1bcfbcdf719cfe4404c7a926513295968f7f7d523255b8e8a837c2f5'
+ 'a0775a2f4a5b4ea09570e5f14c5568356b7d3dcebcefbb42d3076133efe08d215adb7d1ca21ff744522bd47ffb1e426b2ae41c168933e048423212975792bcb8'
+ 'd6faa67f3ef40052152254ae43fee031365d0b1524aa0718b659eb75afc21a3f79ea8d62d66ea311a800109bed545bc8f79e8752319cd378eef2cbd3a09aba22'
+ '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
+ '3889679e288d51f6fecc7ed6581ccde34acbf1e4861f5c9ca237a1ad13158502757d3fc457d7b6caf1c8c99c9dba842265004154a71cffb8ec14e1030e49e312'
+ '3c3f3b6407d9a1a63cd91c2b5c35e6c932afa5bf33f1b2e8a530dbd9eacda8c8f956616c4cc9228657624da58e354ba5714252237d84ff3386fd65cf44f06ddc')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds