diff options
Diffstat (limited to 'kernels/linux-libre-xtreme/PKGBUILD')
-rw-r--r-- | kernels/linux-libre-xtreme/PKGBUILD | 143 |
1 files changed, 73 insertions, 70 deletions
diff --git a/kernels/linux-libre-xtreme/PKGBUILD b/kernels/linux-libre-xtreme/PKGBUILD index 58634d150..24e3a1263 100644 --- a/kernels/linux-libre-xtreme/PKGBUILD +++ b/kernels/linux-libre-xtreme/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: David P. <megver83@parabola.nu> # Contributor: André Silva <emulatorman@hyperbola.info> # Contributor: Márcio Silva <coadde@hyperbola.info> -# Contributor: fauno <fauno@parabola.nu> +# Contributor: Nicolás Reynolds <fauno@kiwwwi.com.ar> # Contributor: Sorin-Mihai Vârgolici <smv@yobicore.org> # Contributor: Michał Masłowski <mtjm@mtjm.eu> # Contributor: Luke Shumaker <lukeshu@sbcglobal.net> @@ -10,8 +10,8 @@ # Based on linux package pkgbase=linux-libre-xtreme -_pkgbasever=4.14-gnu -_pkgver=4.14.15-gnu +_pkgbasever=4.15-gnu +_pkgver=4.15.15-gnu _hardenedver=a _replacesarchkernel=('linux%') # '%' gets replaced with _kernelname @@ -22,11 +22,11 @@ _srcname=linux-${_pkgbasever%-*} _archpkgver=${_pkgver%-*} pkgver=${_pkgver//-/_} pkgrel=1 -rcnrel=armv7-x4 +rcnrel=armv7-x1 arch=('i686' 'x86_64' 'armv7h') url="https://wiki.parabola.nu/Xtreme" license=('GPL2') -makedepends=('kmod' 'inetutils' 'bc' 'libelf') +makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf') makedepends_armv7h=('git') options=('!strip') source=( @@ -53,18 +53,26 @@ source=( '0007-exynos4412-odroid-set-higher-minimum-buck2-regulator.patch' '0008-disable-USB3-port-on-ODROID-XU.patch' '0009-ARM-dove-enable-ethernet-on-D3Plug.patch' + '0010-power-add-power-sequence-library.patch' + '0011-usb-core-add-power-sequence-handling-for-USB-devices.patch' + '0012-ARM-dts-imx6qdl-Enable-usb-node-children-with-reg.patch' + '0013-ARM-dts-imx6qdl-udoo.dtsi-fix-onboard-USB-HUB-proper.patch' + '0014-ARM-dts-imx6q-evi-Fix-onboard-hub-reset-line.patch' # other patches '0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch' '0002-fix-Atmel-maXTouch-touchscreen-support.patch' - '0001-dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch' - '0002-xfrm-Fix-stack-out-of-bounds-read-on-socket-policy-l.patch' - '0003-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch' - ) -sha512sums=('0d4b0b8ec1ffc39c59295adf56f6a2cccf77cad56d8a8bf8072624bbb52ba3e684147ebed91d1528d2685423dd784c5fca0f3650f874f2b93cfc6b7689b9a87f' + 'drm-i915-edp-Only-use-the-alternate-fixed-mode-if-its-asked-for.patch' +) +validpgpkeys=( + '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva + '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay + '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. +) +sha512sums=('a55cc663c6fb1e1cfa7905282b368b5d5888bc2398f0acf37e5bb9a232ded04fd566b1980e654da26aaec005332e458581495184d6bd4cec669181085d4d78a5' 'SKIP' - '1d60b4b6abb48c757c772b5c6bbefc32d525757b3841bafc277f57d7814a54468e67d7a3932fd520b89b25cfb95e76a644eab38093f151b962132d2a2194b816' + 'fe327c836db34fc9ea2e616d3cb57cd7a56b9de56e85ccb513936c926d178ba81669c1ebe3ba0599eb942a87a9883576c7e404aa33aa3968613f88c621563453' 'SKIP' - '3db85f6cb13acfdc86940552ae945dda17c2cb6936059515bd1fb2d980aa972904e5aac56bf5ef933dad0087a7d0090437d5a11a658cae3cfd6148a21acb19de' + '0c5edb2a6ac4abf8b9978e82b41602b8459147b7762bfab4a1a303b4d7c341530babaf1f64cb0b661157dfbf821697b8ef4f2b5b44878f6aae6e7e0cf42b248a' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -72,34 +80,32 @@ sha512sums=('0d4b0b8ec1ffc39c59295adf56f6a2cccf77cad56d8a8bf8072624bbb52ba3e6841 'SKIP' '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78' 'SKIP' - '5cb9e980110917da96f11fbc81688eb3b960a4543ffb1f4fae62eb0ccc79124cd2143e2d736febc52dc8db2856fa9e536713712a49fa3da263448465c5cecc20' - '309300f5e74525dceec0e837a61071cfda761323a775cbf4350e0ed197ba5cf3763499f899919ebf6927f4e63ff804ac316ce4fe6af90aa76eae026db6adff55' - '8e129802b8bd49a0529a29a7fcb6da59e071b7dc58e34cf9fcbbf10f95f65472ccccdd1ff0aabd01b14053c82d4ce4b02cec96542488da9b09d75f2ef16cea2d' + '8a4a45f36d50df9cf9843438a0d632f8920494a5f5c8b59e990a1c643d298d67bb33b39f9962c7527f35b9591823ab157eb030305fd01695c46f75aea3d4cfe2' + '3895d1a597c6262e795c4214e66e7d96bcb0e5da39bc0899b40c41b566078f3b9ca6a1cbe18593e4f38289123f62e86b88f740c244d3497f4462994ca019da74' + 'e5aedb10123d5057e561d4305e6d3159a1266ac51d9cda86d42bc0ff7f426c8130f2e8751b959e241eaa6d7ee90a7307b6d9fca3c5b4ba4986c50949da855669' '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a' '4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44' '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf' - '02ca6d0bb935ae6f9049ba363f5f0157b4dfd0e4181c65bedb7c0009a0accb6e8d4bb663cb61dd8b095cdd6684e5cbad5966ee6bffd65f0c3d4524b3faee225e' + '7da8f3fbeb1b697f758ff6c09dd17384b931cebaa5f2f735998f8d30d088af3d6a1895dc741df3c94f3edaad80c01b588667558a82ed029ecec69dfa39706c16' 'SKIP' - '29c709ee6892a668c77945142ed9749cb8a3135575a4316f4a3cc85fbda41c09fdd65e32507b654c96aa438bd2aed08c09919bb162daee969643aafd053321c4' - '5b35ef2c675aed00ddf82b8a96a486230fad78f05b5a69c95a57632d6c7f428f026439f3ced72cf54156ffd4fd563e68d4285ba6f42428c00b966257951039c3' - 'e9544aa1f86328299e97e7ace9ef7997fc3e7ebc8ce906e5f87feee4cd716d75e46656c949dd103512fb13be2948db010c5aab233f2a8fc9cf49b2ae8d98a2fb' - '757f75a0a1b14b43bc9150718748952b6e11252611aadf32490dbb35864e78075b31aa9f19bb3d22c442451125852389b13920b29e58449ee82bff92c7854a21' - 'e882019d93cc95a379e9c46c1f72fc4df54507efa5fed498399424c0f0cc908d60ea94f422e1aefcfb2c4b6cfaa1c4d3de63b2cab09196c5147a36a07ab5ece8' - '23f21fb05188479fb2238229a88d1d45f30052e3d7dcbbf99c5b9a763493eac122795431cf6932e85bd6e091380179b62e986782fafe7e8c2bd53940199b925e' - '45a21f9dfec613c8f4dba284aaf80e307612440893536295a32ec805e11439272a0949921a22f12f67600df8415870aa27101b7e3d3869aea88ad3e1cb614086' - '6c93bc1e8d580af288921e10c456bdbda1dcb6d6f08c111cddaf9a32b43c2df41b50136bc09aaac1da9c3cae667bba6e075d590dcc465107ae6e2c3dcf7da657' - 'f813d51834cedc23fabbb6060709a24f29969fea5aeb963fdeddb79723014ffc0c6d34be45eea8419d5087a5a9c561a42a113d667f03625283f2f2fc68196545' + 'ba44aa1252aa1b172e0bc8bbbff864ff60cad6739b2aed2f6a2402848aa65cdb8a8ca6bb9341569b089d60dfd83c3bdd744b5810061ac76b19f0d337afe4cc8d' + '738bc2874351d9e1b94319e6caf615b49753155c99dc9318a1ce9eced50f87627a7331762951f55e2bea8abdb97b80a617a08f3f0bc735e56ff831a8bbb19816' + 'f45d8d417eb3f4b6e02e337480bd99a8ebb4b9ac004c53a5432255e5841578fb64530663b6eacb3c8f40aaade8e1dc1e584aa1cf4b560103119e4b32e19b66c3' + '25ee5d9859d3df2d054fd6d53fe6b8931d6ac9f85533c54f3dd926fce917c81bd96cb3858189a20cf28a32b43efd1566cb5513f7db18a0bb8ead1a4e8a7be6fc' + 'a1aa8272760da0c8d2772cc8a57d8600f08db176206afd2a155055d2969bf0295f342a156841964a07de53fbf0356385b604ad75e5556569872dfad1863b2c27' + 'b58efc374344d10290371f3dfe8a124f855015d3ce169ccf538e6c1476092abf7ac689f0f10fb6a191fa19545b49ce13957ada066b37415f37dd5989ff93db37' + 'd2326e2e3ef6f2f5e911e6ad2fc3ac33b6f53fc5bb03e61d0e8371e6c7199028b226356926472ba676ca68a6cc57d33856c662615ed5b52566570670d0f96c89' + 'bc47549f2a79a79659d4d53f739e091c1e8f54cef8c1776be2034675cbb43f584a128607b1d4dd6a9f465706bb1470c6cb4277877dd3218e7280f503babf8300' + 'd90f3a3b74d65b84c4c2c229d10d2bb854e39e3429ba1469f8bb286819d559c68e00302de2be5043cf274b39a58686dc822c60afe1c553c4c967ef168d98af05' + '0c1a4334fcb4e75d25ec43873275b2f8a599a096b05a51ef2f9d48f3c8425a153f5f0df775e030e61b792f8b34e9c848229028fb6d2411f85028441826951dd5' + '0ccccf4411df6b86486b14e9354bf48355a2dc5bfefce693c5afc1a340db6f9db525a0306897ccbb5ed80304fa38ef13f32355cfeee1c9b684db0a9c0063d5c1' + '1a491eab1b07e9fb0b8a8dba4ef17d658c85106e7f62f3a37c34513aa9cd50b4bbb273aa445380f2e2135adea68c7102718e71bf2c9f4d3a5c24515620606605' + '9ae97a7f29323542d70576e8800e2090a69a43caee3182a453e80c3c3265d6cc04e2b5701e5d24d8a2717e29272950231b7e477aa32d69c7333c083626fc6802' + '9b8829fd9bf6c91e5c9e21184c7f57b22d786c20a15512e91cc75890a5d08a633df555973b29f2da9a7d9b965abd0c76ecdefa5498217837389ad1d0be0fb754' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - 'feba817e3e1595d8069ecc71cc3f3c358d1c65fd284ac4338e4d510c2322bb1c50d802fd1f48f9347323cebf469287bc24695f53b680eb1531c011f4b8452a18' - 'edd7060b42a7bc77d720cefa65ce0fbb78e321e00c67d122ebf1efdbdba4181ef4ccb0e76ddcb4365c85db6dee21b18f26d66aad606d6c50cb68abd716cb9e69' - 'e8229b8979ab287d9ad2cac137f2ba349bd43fd0fc09ad19239ea8e3d0d9571977a8296d3814887d7c15f61431f91194851b4a1af5c61ed416faec8283ce3206') -validpgpkeys=( - '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva - '65EEFE022108E2B708CBFCF7F9E712E59AF5F22A' # Daniel Micay - '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. -) - + '46f470d6f4df2b697db656e262d20c198e623da7332da5e35299834480a6f1ef9d3567b4827a4f3a3bd83ef4c3082d95045a437fea1f22f83a76e07bed508e2d') + _kernelname=${pkgbase#linux-libre} _replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}") _replacesoldkernels=("${_replacesoldkernels[@]/\%/${_kernelname}}") @@ -117,8 +123,7 @@ prepare() { if [ "${_pkgbasever}" != "${_pkgver}" ]; then patch -p1 -i ../patch-${_pkgbasever}-${_pkgver} fi - chmod +x tools/objtool/sync-check.sh # GNU patch doesn't support git-style file mode - + if [ "${CARCH}" = "armv7h" ]; then # RCN patch (CM3 firmware deblobbed and AUFS removed) # Note: For stability reasons, AUFS has been removed in the RCN patch. @@ -136,29 +141,26 @@ prepare() { patch -p1 -i "${srcdir}/0007-exynos4412-odroid-set-higher-minimum-buck2-regulator.patch" patch -p1 -i "${srcdir}/0008-disable-USB3-port-on-ODROID-XU.patch" patch -p1 -i "${srcdir}/0009-ARM-dove-enable-ethernet-on-D3Plug.patch" + patch -p1 -i "${srcdir}/0010-power-add-power-sequence-library.patch" + patch -p1 -i "${srcdir}/0011-usb-core-add-power-sequence-handling-for-USB-devices.patch" + patch -p1 -i "${srcdir}/0012-ARM-dts-imx6qdl-Enable-usb-node-children-with-reg.patch" + patch -p1 -i "${srcdir}/0013-ARM-dts-imx6qdl-udoo.dtsi-fix-onboard-USB-HUB-proper.patch" + patch -p1 -i "${srcdir}/0014-ARM-dts-imx6q-evi-Fix-onboard-hub-reset-line.patch" fi # add hardened patches patch -Np1 -i "${srcdir}/linux-hardened-${_pkgver%-*}.${_hardenedver}.patch" - + # add freedo as boot logo install -m644 -t drivers/video/logo \ "${srcdir}/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm} - - # security patches # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git - - # https://nvd.nist.gov/vuln/detail/CVE-2017-8824 - patch -Np1 -i ../0001-dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch - - # https://bugs.archlinux.org/task/56605 - patch -Np1 -i ../0002-xfrm-Fix-stack-out-of-bounds-read-on-socket-policy-l.patch # https://bugs.archlinux.org/task/56711 - patch -Np1 -i ../0003-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch - + patch -Np1 -i ../drm-i915-edp-Only-use-the-alternate-fixed-mode-if-its-asked-for.patch + # maintain the TTY over USB disconnects # http://www.coreboot.org/EHCI_Gadget_Debug patch -p1 -i "${srcdir}/0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch" @@ -168,15 +170,15 @@ prepare() { # http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html patch -p1 -i "${srcdir}/0002-fix-Atmel-maXTouch-touchscreen-support.patch" - cp -Tf ../config.${CARCH} .config + cat ../config.${CARCH} - >.config <<END +CONFIG_LOCALVERSION="${_kernelname}" +CONFIG_LOCALVERSION_AUTO=n +END - if [ "${_kernelname}" != "" ]; then - sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config - sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config - fi - - # append pkgrel to extraversion - sed -ri "s|^(EXTRAVERSION =.*\S).*|\1-${pkgrel}|" Makefile + # append pkgrel to extraversion and empty localversion + sed -e "/^EXTRAVERSION = -gnu/s/-gnu.*/-gnu-${pkgrel}/" \ + -e "/^EXTRAVERSION =/aLOCALVERSION =" \ + -i Makefile # don't run depmod on 'make install'. We'll do this ourselves in packaging sed -i '2iexit 0' scripts/depmod.sh @@ -207,12 +209,11 @@ build() { } _package() { - pkgdesc="The ${pkgbase^} kernel and modules with a handful of awesome security features [AppArmor, SMACK, TOMOYO, SELinux, YAMA, Linux-hardened]" + pkgdesc="The ${pkgbase^} kernel and modules" [ "${pkgbase}" = "linux-libre" ] && groups=('base' 'base-openrc') depends=('coreutils' 'linux-libre-firmware' 'kmod' 'mkinitcpio>=0.7') - optdepends=('crda: to set the correct wireless channels of your country' - 'apparmor: to configure and enable mandatory access control for programs') - provides=("${_replacesarchkernel[@]/%/=${_archpkgver}}" "LINUX-ABI_VERSION=${_archpkgver}") + optdepends=('crda: to set the correct wireless channels of your country') + provides=("${_replacesarchkernel[@]/%/=${_archpkgver}}") conflicts=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") replaces=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") backup=("etc/mkinitcpio.d/${pkgbase}.preset") @@ -221,12 +222,12 @@ _package() { cd ${_srcname} # get kernel version - _kernver="$(make LOCALVERSION= kernelrelease)" + _kernver="$(make kernelrelease)" _basekernel=${_kernver%%-*} _basekernel=${_basekernel%.*} mkdir -p "${pkgdir}"/{boot,usr/lib/modules} - make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}/usr" modules_install + make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install if [ "${CARCH}" = "armv7h" ]; then make LOCALVERSION= INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs/${pkgbase}" dtbs_install cp arch/$KARCH/boot/zImage "${pkgdir}/boot/vmlinuz-${pkgbase}" @@ -237,14 +238,14 @@ _package() { # make room for external modules local _extramodules="extramodules-${_basekernel}${_kernelname}" ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernver}/extramodules" - + # add real version for building modules and running depmod from hook echo "${_kernver}" | install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules/${_extramodules}/version" - + # remove build and source links rm "${pkgdir}"/usr/lib/modules/${_kernver}/{source,build} - + # now we call depmod... depmod -b "${pkgdir}/usr" -F System.map "${_kernver}" @@ -252,7 +253,7 @@ _package() { # add vmlinux install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux fi - + # sed expression for following substitutions if [ "${CARCH}" = "armv7h" ]; then local _subst=" @@ -289,7 +290,7 @@ _package-headers() { provides=("${_replacesarchkernel[@]/%/-headers=${_archpkgver}}") conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}") - + cd ${_srcname} local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build" @@ -337,14 +338,13 @@ _package-headers() { # remove unneeded architectures local _arch for _arch in "${_builddir}"/arch/*/; do - if [[ ${_arch} != */${KARCH}/ ]]; then - rm -r "${_arch}" - fi + [[ ${_arch} == */${KARCH}/ ]] && continue + rm -r "${_arch}" done # remove files already in linux-docs package rm -r "${_builddir}/Documentation" - + # parabola changes # # since we don't want to diverge too much from arch's pkgbuild, we'll @@ -361,6 +361,9 @@ _package-headers() { fi # end of parabola changes + # remove now broken symlinks + find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete + # Fix permissions chmod -R u=rwX,go=rX "${_builddir}" |