# Maintainer: Matthew Zilvar # Contributor: Levente Polyak # Contributor: Daniel Micay # Contributor: Tobias Powalowski # Contributor: Thomas Baechler pkgbase=linux-hardened-ccs-apparmor pkgver=5.4.5.a pkgrel=1 ccsver=1.8.6 ccskernver=5.4 _timestamp=20191225 pkgdesc='Security-Hardened Linux with CCS and AppArmor' url='https://tomoyo.osdn.jp' arch=(x86_64) license=(GPL2) makedepends=( bc kmod libelf xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick ) options=('!strip') _srcname=linux-${pkgver%.*} source=( https://mirrors.edge.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.xz https://mirrors.edge.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.sign https://github.com/anthraxx/linux-hardened/releases/download/${pkgver}/linux-hardened-${pkgver}.patch{,.sig} https://osdn.mirror.constant.com//tomoyo/49684/ccs-patch-${ccsver}-${_timestamp}.tar.gz{,.asc} config # the main kernel config file ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay 'E240B57E2C4630BA768E2F26FC1B547C8D8172C8' # Levente Polyak '43C83369623D7AD3A96C2FC7425F128D0C64F52A' # Tetsuo Handa https://tomoyo.osdn.jp/kumaneko-key ) sha256sums=('568e9f27fbba86131c2e2849f296d54216e2ed3e8c4d8aa78a93b417cab23ec0' 'SKIP' '804f8a3ee06a810d88a4a57c555af0fa4dac934d24e58e69b83c0a01c8710a3a' 'SKIP' 'e7403947eb9bffdc6f4db6087e2703c3176e5794dbedd58b77f025d2f1e248f1' 'SKIP' '744509e79204d8f6326ea7dbb351b8bbfce834312ca6cecca47c2c31e822d03e' ) export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { cd $_srcname msg2 "Setting version..." sed -e "/^EXTRAVERSION =/s/=.*/= .${pkgver##*.}/" -i Makefile scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" [[ $src = *.patch ]] || continue msg2 "Applying patch $src..." patch -Np1 < "../$src" done # Prepare source directory for CCS msg2 "Preparing source directory for CCS ${ccsver} patch" mv ../include/linux/** /${srcdir}/${_srcname}/include/linux/ mv -t /${srcdir}/${_srcname}/security/ /${srcdir}/security/ccsecurity/ # linux ccs patch for tomoyo msg2 "Applying CCS patch for TOMOYO ${ccsver}" patch -sp1 < ../patches/ccs-patch-${ccskernver}.diff msg2 "Setting config..." cp ../config .config make olddefconfig make -s kernelrelease > version msg2 "Prepared %s version %s" "$pkgbase" "$(