# Maintainer: Levente Polyak # Contributor: Daniel Micay # Contributor: Tobias Powalowski # Contributor: Thomas Baechler pkgbase=linux-hardened-git _gitbranch=5.3 pkgver=5.3.0.r857780.g1317ca6048b5 pkgrel=1 url='https://github.com/anthraxx/linux-hardened' arch=('x86_64') license=('GPL2') makedepends=( xmlto kmod inetutils bc libelf python-sphinx python-sphinx_rtd_theme graphviz imagemagick git ) options=('!strip') source=("git+https://github.com/anthraxx/linux-hardened#branch=${_gitbranch}?signed" config.x86_64 # the main kernel config files 60-linux.hook # pacman hook for depmod 90-linux.hook # pacman hook for initramfs regeneration linux.preset # standard config files for mkinitcpio ramdisk ) replaces=('linux-grsec') sha256sums=('SKIP' '66428e31326e373868fbfe9bd67b54b3f81ef7accf303f388637bba43a0965c6' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' 'c043f3033bb781e2688794a59f6d1f7ed49ef9b13eb77ff9a425df33a244a636' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay 'E240B57E2C4630BA768E2F26FC1B547C8D8172C8' # Levente Polyak ) _kernelname=${pkgbase#linux} : ${_kernelname:=-hardened} pkgver() { cd ${pkgbase/-git/} printf "%s.%s.%s%s.r%s.g%s" \ "$(grep '^VERSION = ' Makefile|awk -F' = ' '{print $2}')" \ "$(grep '^PATCHLEVEL = ' Makefile|awk -F' = ' '{print $2}')" \ "$(grep '^SUBLEVEL = ' Makefile|awk -F' = ' '{print $2}')" \ "$(grep '^EXTRAVERSION = ' Makefile|awk -F' = ' '{print $2}'|sed 's/-//')" \ "$(git rev-list --count HEAD)" \ "$(git rev-parse --short HEAD)" } prepare() { cd ${pkgbase/-git/} msg2 "Setting version..." rm -f localversion* include/config/kernel.release scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "$_kernelname" > localversion.20-pkgname echo "-r$(git rev-list --count HEAD)" > localversion.30-revision local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" [[ $src = *.patch ]] || continue msg2 "Applying patch $src..." patch -Np1 < "../$src" done msg2 "Setting config..." cp ../config.x86_64 .config make olddefconfig make -s kernelrelease > ../version msg2 "Prepared %s version %s" "$pkgbase" "$(<../version)" } build() { cd ${pkgbase/-git/} make bzImage modules htmldocs } _package() { pkgdesc="The ${pkgbase/linux/Linux} kernel and modules" [[ $pkgbase = linux ]] && groups=(base) depends=(coreutils linux-firmware kmod mkinitcpio) optdepends=('crda: to set the correct wireless channels of your country' 'usbctl: deny_new_usb control') backup=("etc/mkinitcpio.d/$pkgbase.preset") install=linux.install local kernver="$( "$startdir/$install.pkg" true && install=$install.pkg # fill in mkinitcpio preset and pacman hooks sed "$subst" ../linux.preset | install -Dm644 /dev/stdin \ "$pkgdir/etc/mkinitcpio.d/${pkgbase/-git/}.preset" sed "$subst" ../60-linux.hook | install -Dm644 /dev/stdin \ "$pkgdir/usr/share/libalpm/hooks/60-${pkgbase/-git/}.hook" sed "$subst" ../90-linux.hook | install -Dm644 /dev/stdin \ "$pkgdir/usr/share/libalpm/hooks/90-${pkgbase/-git/}.hook" msg2 "Fixing permissions..." chmod -Rc u=rwX,go=rX "$pkgdir" } _package-headers() { pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel" local builddir="$pkgdir/usr/lib/modules/$(