summaryrefslogtreecommitdiff
path: root/src/stage4/patches/linux-libre.patch
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2018-04-18 07:18:23 +0200
committerAndreas Grapentin <andreas@grapentin.org>2018-04-18 07:18:23 +0200
commitfabd77cc4d3756522bfb989d4d6a880b85f5b761 (patch)
tree0737f737bdb97fe8b756c29c6e51283b18f4aaf7 /src/stage4/patches/linux-libre.patch
parent6e1ec90ab6704f7e472566725b524a888d63d2d2 (diff)
stage4 is done
Diffstat (limited to 'src/stage4/patches/linux-libre.patch')
-rw-r--r--src/stage4/patches/linux-libre.patch789
1 files changed, 396 insertions, 393 deletions
diff --git a/src/stage4/patches/linux-libre.patch b/src/stage4/patches/linux-libre.patch
index 5362a43..69cad26 100644
--- a/src/stage4/patches/linux-libre.patch
+++ b/src/stage4/patches/linux-libre.patch
@@ -1,380 +1,23 @@
---- a/PKGBUILD 2018-03-25 19:29:50.050475492 +0200
-+++ b/PKGBUILD 2018-03-25 21:01:11.229898629 +0200
-@@ -1,156 +1,70 @@
--# 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: Sorin-Mihai Vârgolici <smv@yobicore.org>
--# Contributor: Michał Masłowski <mtjm@mtjm.eu>
--# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
--# Contributor: Luke R. <g4jc@openmailbox.org>
--# Contributor: Andreas Grapentin <andreas@grapentin.org>
--
--# Based on linux package
-+# $Id$
-+# Maintainer (Arch): Tobias Powalowski <tpowa@archlinux.org>
-+# Maintainer (Arch): Thomas Baechler <thomas@archlinux.org>
-
- pkgbase=linux-libre # Build stock kernel
- #pkgbase=linux-libre-custom # Build kernel with a different name
--_pkgbasever=4.15-gnu
--_pkgver=4.15.15-gnu
--
--_replacesarchkernel=('linux%') # '%' gets replaced with _kernelname
--_replacesoldkernels=() # '%' gets replaced with _kernelname
--_replacesoldmodules=() # '%' gets replaced with _kernelname
--
--_srcname=linux-${_pkgbasever%-*}
--_archpkgver=${_pkgver%-*}
--pkgver=${_pkgver//-/_}
-+_srcname=linux-4.15
-+pkgver=4.15.11
-+pkgver+=_gnu
- pkgrel=1
--rcnrel=armv7-x1
--arch=('i686' 'x86_64' 'armv7h')
-+arch=('x86_64')
- url="https://linux-libre.fsfla.org/"
- license=('GPL2')
- makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf')
--makedepends_armv7h=('git')
- options=('!strip')
- source=(
-- "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz"{,.sign}
-- "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz"{,.sign}
-- "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm"{,.sig}
-- "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm"{,.sig}
-- "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm"{,.sig}
-- # the main kernel config files
-- 'config.i686' 'config.x86_64' 'config.armv7h'
-- # pacman hooks for depmod and initramfs regeneration
-- '60-linux.hook' '90-linux.hook'
-- # standard config files for mkinitcpio ramdisk
-- 'linux.preset'
-- # armv7h patches
-- "https://repo.parabola.nu/other/rcn-libre/patches/${_pkgver%-*}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch"{,.sig}
-- '0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch'
-- '0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch'
-- '0003-SMILE-Plug-device-tree-file.patch'
-- '0004-fix-mvsdio-eMMC-timing.patch'
-- '0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
-- '0006-set-default-cubietruck-led-triggers.patch'
-- '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-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch'
-- '0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch'
-+ https://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver%.*}-gnu/linux-libre-${pkgver%.*}-gnu.tar.xz{,.sign}
-+ https://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver//_/-}/patch-${pkgver%.*}-gnu-${pkgver//_/-}.xz{,.sign}
-+ config # the main kernel config file
-+ 60-linux.hook # pacman hook for depmod
-+ 90-linux.hook # pacman hook for initramfs regeneration
-+ linux.preset # standard config files for mkinitcpio ramdisk
-+ 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
-+ 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
-+ https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm{,.sig}
-+ https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm{,.sig}
-+ https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm{,.sig}
-+ 0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch
- )
- validpgpkeys=(
- '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
- '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
- )
--sha512sums=('a55cc663c6fb1e1cfa7905282b368b5d5888bc2398f0acf37e5bb9a232ded04fd566b1980e654da26aaec005332e458581495184d6bd4cec669181085d4d78a5'
-+sha256sums=('e6556514286f9cd6b46f5d5769b2cc3c61ac7d6fa9c9c400e3c2fb5949490186'
- 'SKIP'
-- 'fe327c836db34fc9ea2e616d3cb57cd7a56b9de56e85ccb513936c926d178ba81669c1ebe3ba0599eb942a87a9883576c7e404aa33aa3968613f88c621563453'
-+ '52005a49f68f683e12b407216476ea5dcc1c6511fc0a927b029793c253036427'
- 'SKIP'
-- '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
-+ '79893811422931bd216dac1f99319792ccebbc931b8f4699da990aae0c1757cc'
-+ 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
-+ '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
-+ 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
-+ '4ffdc2a458845c2a7c03c735477dbf51b5b01b10568bf577b37a29e872135cab'
-+ '12b281dc45f1954cc3f52276927bb2965c3132c0a8bd7f485869ced2c541d485'
-+ 'bfd4a7f61febe63c880534dcb7c31c5b932dde6acf991810b41a939a93535494'
- 'SKIP'
-- '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1'
-+ '13bd7a8d9ed6b6bc971e4cd162262c5a20448a83796af39ce394d827b0e5de74'
- 'SKIP'
-- '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78'
-+ '6de8a8319271809ffdb072b68d53d155eef12438e6d04ff06a5a4db82c34fa8a'
- 'SKIP'
-- '93cc2b304a116edb351d05a7b5c0a6b900fa4222474c26ac5dd15c754ddf0a0e2b7ec8bb40671fcb38c3be08c9279343456a3caf9d0b7ee4088b6afb4c465512'
-- '0c90ff5cfe3ed0484603255437fb7b7d3450482ede164e139324c2761f3640797932b95e5d696b074c173ef472a5cdeca04c0a56198e54b47c9394f9efd94570'
-- '36e657c0a1c389b9f68afd0506116af8bb18ee58d2b846ab2176831b897c533bac703337644bf963879549a9fc45786b5b4b5e964305a934630d5c1fb3e8a39f'
-- '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a'
-- '4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44'
-- '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
-- '7da8f3fbeb1b697f758ff6c09dd17384b931cebaa5f2f735998f8d30d088af3d6a1895dc741df3c94f3edaad80c01b588667558a82ed029ecec69dfa39706c16'
-- 'SKIP'
-- 'ba44aa1252aa1b172e0bc8bbbff864ff60cad6739b2aed2f6a2402848aa65cdb8a8ca6bb9341569b089d60dfd83c3bdd744b5810061ac76b19f0d337afe4cc8d'
-- '738bc2874351d9e1b94319e6caf615b49753155c99dc9318a1ce9eced50f87627a7331762951f55e2bea8abdb97b80a617a08f3f0bc735e56ff831a8bbb19816'
-- 'f45d8d417eb3f4b6e02e337480bd99a8ebb4b9ac004c53a5432255e5841578fb64530663b6eacb3c8f40aaade8e1dc1e584aa1cf4b560103119e4b32e19b66c3'
-- '25ee5d9859d3df2d054fd6d53fe6b8931d6ac9f85533c54f3dd926fce917c81bd96cb3858189a20cf28a32b43efd1566cb5513f7db18a0bb8ead1a4e8a7be6fc'
-- 'a1aa8272760da0c8d2772cc8a57d8600f08db176206afd2a155055d2969bf0295f342a156841964a07de53fbf0356385b604ad75e5556569872dfad1863b2c27'
-- 'b58efc374344d10290371f3dfe8a124f855015d3ce169ccf538e6c1476092abf7ac689f0f10fb6a191fa19545b49ce13957ada066b37415f37dd5989ff93db37'
-- 'd2326e2e3ef6f2f5e911e6ad2fc3ac33b6f53fc5bb03e61d0e8371e6c7199028b226356926472ba676ca68a6cc57d33856c662615ed5b52566570670d0f96c89'
-- 'bc47549f2a79a79659d4d53f739e091c1e8f54cef8c1776be2034675cbb43f584a128607b1d4dd6a9f465706bb1470c6cb4277877dd3218e7280f503babf8300'
-- 'd90f3a3b74d65b84c4c2c229d10d2bb854e39e3429ba1469f8bb286819d559c68e00302de2be5043cf274b39a58686dc822c60afe1c553c4c967ef168d98af05'
-- '0c1a4334fcb4e75d25ec43873275b2f8a599a096b05a51ef2f9d48f3c8425a153f5f0df775e030e61b792f8b34e9c848229028fb6d2411f85028441826951dd5'
-- '0ccccf4411df6b86486b14e9354bf48355a2dc5bfefce693c5afc1a340db6f9db525a0306897ccbb5ed80304fa38ef13f32355cfeee1c9b684db0a9c0063d5c1'
-- '1a491eab1b07e9fb0b8a8dba4ef17d658c85106e7f62f3a37c34513aa9cd50b4bbb273aa445380f2e2135adea68c7102718e71bf2c9f4d3a5c24515620606605'
-- '9ae97a7f29323542d70576e8800e2090a69a43caee3182a453e80c3c3265d6cc04e2b5701e5d24d8a2717e29272950231b7e477aa32d69c7333c083626fc6802'
-- '9b8829fd9bf6c91e5c9e21184c7f57b22d786c20a15512e91cc75890a5d08a633df555973b29f2da9a7d9b965abd0c76ecdefa5498217837389ad1d0be0fb754'
-- '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
-- 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
-- '0f5531df585efa48e72b335ab88973bbce6c3807db55dcfac2fcda20f69618ee5bd5881ab278bd8cdde1f96bc34d5becca11469516c56a157248e0ae793d8679'
-- '04dfdfca8b59c2c3c18eb4b59f6466ef6d2fe6799a8b77f403fbce0554bfc739e43ff20897d9a6ed97ca101ab1bc1b067ff4a2491e3607b42de43f45005dc323')
-+ '391765dc653ea4346a2f2939df3b25a1e1a689b2047b9f7999697e4accfa7479')
-
- _kernelname=${pkgbase#linux-libre}
--_replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}")
--_replacesoldkernels=("${_replacesoldkernels[@]/\%/${_kernelname}}")
--_replacesoldmodules=("${_replacesoldmodules[@]/\%/${_kernelname}}")
--
--case "${CARCH}" in
-- i686|x86_64) KARCH=x86;;
-- armv7h) KARCH=arm;;
--esac
-+: ${_kernelname:=-PARABOLA}
-
- prepare() {
- cd ${_srcname}
-
- # add upstream patch
-- if [ "${_pkgbasever}" != "${_pkgver}" ]; then
-- patch -p1 -i ../patch-${_pkgbasever}-${_pkgver}
-- fi
--
-- if [ "${CARCH}" = "armv7h" ]; then
-- # RCN patch (CM3 firmware deblobbed and AUFS removed)
-- # Note: For stability reasons, AUFS has been removed in the RCN patch.
-- # We are supporting AUFS in linux-libre-pck through PCK patch.
-- # See https://wiki.parabola.nu/PCK for further details.
-- git apply -v "${srcdir}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch"
--
-- # ALARM patches
-- patch -p1 -i "${srcdir}/0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch"
-- patch -p1 -i "${srcdir}/0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch"
-- patch -p1 -i "${srcdir}/0003-SMILE-Plug-device-tree-file.patch"
-- patch -p1 -i "${srcdir}/0004-fix-mvsdio-eMMC-timing.patch"
-- patch -p1 -i "${srcdir}/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch"
-- patch -p1 -i "${srcdir}/0006-set-default-cubietruck-led-triggers.patch"
-- 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
-+ patch -p1 -i ../patch-${pkgver%.*}-gnu-${pkgver//_/-}
-
- # add freedo as boot logo
- install -m644 -t drivers/video/logo \
- "${srcdir}/logo_linux_"{clut224.ppm,vga16.ppm,mono.pbm}
-
-+ # https://patchwork.kernel.org/patch/10300449/
-+ patch -Np1 -i ../0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch
-+
- # add latest fixes from stable queue, if needed
- # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
-
-@@ -159,17 +73,8 @@ prepare() {
-
- # https://bugs.archlinux.org/task/56711
- patch -Np1 -i ../0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.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"
--
-- # fix Atmel maXTouch touchscreen support
-- # https://labs.parabola.nu/issues/877
-- # http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html
-- patch -p1 -i "${srcdir}/0002-fix-Atmel-maXTouch-touchscreen-support.patch"
-
-- cat ../config.${CARCH} - >.config <<END
-+ cat ../config - >.config <<END
- CONFIG_LOCALVERSION="${_kernelname}"
- CONFIG_LOCALVERSION_AUTO=n
- END
-@@ -200,21 +105,17 @@ END
- build() {
- cd ${_srcname}
-
-- if [ "${CARCH}" = "armv7h" ]; then
-- make ${MAKEFLAGS} LOCALVERSION= zImage modules dtbs
-- elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
-- make ${MAKEFLAGS} LOCALVERSION= bzImage modules
-- fi
-+ make
- }
-
- _package() {
-- pkgdesc="The ${pkgbase^} kernel and modules"
-- [ "${pkgbase}" = "linux-libre" ] && groups=('base' 'base-openrc')
-+ pkgdesc="The ${pkgbase/linux/Linux} kernel and modules"
-+ [ "${pkgbase}" = "linux-libre" ] && groups=('base')
- depends=('coreutils' 'linux-libre-firmware' 'kmod' 'mkinitcpio>=0.7')
- optdepends=('crda: to set the correct wireless channels of your country')
-- provides=("${_replacesarchkernel[@]/%/=${_archpkgver}}")
-- conflicts=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}")
-- replaces=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}")
-+ provides=(${pkgname/-libre}=${pkgver%_*})
-+ conflicts=(${pkgname/-libre}=${pkgver%_*})
-+ replaces=(${pkgname/-libre}=${pkgver%_*})
- backup=("etc/mkinitcpio.d/${pkgbase}.preset")
- install=linux.install
-
-@@ -227,12 +128,7 @@ _package() {
-
- mkdir -p "${pkgdir}"/{boot,usr/lib/modules}
- 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}"
-- elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
-- cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
-- fi
-+ cp vmlinux "${pkgdir}/boot/vmlinuz-${pkgbase}"
-
- # make room for external modules
- local _extramodules="extramodules-${_basekernel}${_kernelname}"
-@@ -248,26 +144,15 @@ _package() {
- # now we call depmod...
- depmod -b "${pkgdir}/usr" -F System.map "${_kernver}"
-
-- if [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
-- # add vmlinux
-- install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
-- fi
-+ # add vmlinux
-+ install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
-
- # sed expression for following substitutions
-- if [ "${CARCH}" = "armv7h" ]; then
- local _subst="
-- s|/boot/vmlinuz-%PKGBASE%|${_kernver}|g
- s|%PKGBASE%|${pkgbase}|g
- s|%KERNVER%|${_kernver}|g
- s|%EXTRAMODULES%|${_extramodules}|g
- "
-- elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
-- local _subst="
-- s|%PKGBASE%|${pkgbase}|g
-- s|%KERNVER%|${_kernver}|g
-- s|%EXTRAMODULES%|${_extramodules}|g
-- "
-- fi
-
- # hack to allow specifying an initially nonexisting install file
- sed "${_subst}" "${startdir}/${install}" > "${startdir}/${install}.pkg"
-@@ -285,11 +170,11 @@ _package() {
- }
-
- _package-headers() {
-- pkgdesc="Header files and scripts for building modules for ${pkgbase^} kernel"
-- provides=("${_replacesarchkernel[@]/%/-headers=${_archpkgver}}")
-- conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
-- replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
--
-+ pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
-+ provides=(${pkgname/-libre}=${pkgver%_*})
-+ conflicts=(${pkgname/-libre}=${pkgver%_*})
-+ replaces=(${pkgname/-libre}=${pkgver%_*})
-+
- cd ${_srcname}
- local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
-
-@@ -300,14 +185,10 @@ _package-headers() {
-
- cp -t "${_builddir}" -a include scripts
-
-- install -Dt "${_builddir}/arch/${KARCH}" -m644 arch/${KARCH}/Makefile
-- install -Dt "${_builddir}/arch/${KARCH}/kernel" -m644 arch/${KARCH}/kernel/asm-offsets.s
-+ install -Dt "${_builddir}/arch/riscv" -m644 arch/riscv/Makefile
-+ install -Dt "${_builddir}/arch/riscv/kernel" -m644 arch/riscv/kernel/asm-offsets.s
-
-- if [[ ${CARCH} = i686 ]]; then
-- install -t "${_builddir}/arch/${KARCH}" -m644 arch/${KARCH}/Makefile_32.cpu
-- fi
--
-- cp -t "${_builddir}/arch/${KARCH}" -a arch/${KARCH}/include
-+ cp -t "${_builddir}/arch/riscv" -a arch/riscv/include
-
- install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
- install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h
-@@ -329,36 +210,15 @@ _package-headers() {
- # copy in Kconfig files
- find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \;
-
-- # add objtool for external module building and enabled VALIDATION_STACK option
-- if [[ -e tools/objtool/objtool ]]; then
-- install -Dt "${_builddir}/tools/objtool" tools/objtool/objtool
-- fi
--
- # remove unneeded architectures
- local _arch
- for _arch in "${_builddir}"/arch/*/; do
-- [[ ${_arch} == */${KARCH}/ ]] && continue
-+ [[ ${_arch} == */riscv/ ]] && 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
-- # start marking our changes as such
-- if [ "${CARCH}" = "armv7h" ]; then
-- for i in dove exynos omap2; do
-- mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-${i}"
-- cp -a arch/${KARCH}/mach-${i}/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-${i}/"
-- done
-- for i in omap orion samsung versatile; do
-- mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-${i}"
-- cp -a arch/${KARCH}/plat-${i}/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-${i}/"
-- done
-- fi
-- # end of parabola changes
-
- # remove now broken symlinks
- find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete
-@@ -380,11 +240,11 @@ _package-headers() {
- }
-
- _package-docs() {
-- pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase^} kernel"
-- provides=("${_replacesarchkernel[@]/%/-docs=${_archpkgver}}")
-- conflicts=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}")
-- replaces=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}")
--
-+ pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel"
-+ provides=(${pkgname/-libre}=${pkgver%_*})
-+ conflicts=(${pkgname/-libre}=${pkgver%_*})
-+ replaces=(${pkgname/-libre}=${pkgver%_*})
-+
- cd ${_srcname}
- local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
-
---- /dev/null 2018-03-21 10:59:45.661284739 +0100
-+++ b/config 2018-03-25 19:29:50.052475504 +0200
+diff -rupN a/0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch b/0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch
+--- a/0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch 1970-01-01 01:00:00.000000000 +0100
++++ b/0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch 2018-04-17 22:16:50.749610815 +0200
+@@ -0,0 +1,13 @@
++diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
++index 324568d33921..f6561b783b61 100644
++--- a/arch/riscv/kernel/vdso/Makefile
+++++ b/arch/riscv/kernel/vdso/Makefile
++@@ -52,7 +52,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
++ # Add -lgcc so rv32 gets static muldi3 and lshrdi3 definitions.
++ # Make sure only to export the intended __vdso_xxx symbol offsets.
++ quiet_cmd_vdsold = VDSOLD $@
++- cmd_vdsold = $(CC) $(KCFLAGS) -nostdlib $(SYSCFLAGS_$(@F)) \
+++ cmd_vdsold = $(CC) $(KCFLAGS) $(call cc-option, -no-pie) -nostdlib $(SYSCFLAGS_$(@F)) \
++ -Wl,-T,$(filter-out FORCE,$^) -o $@.tmp -lgcc && \
++ $(CROSS_COMPILE)objcopy \
++ $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@
+diff -rupN a/config b/config
+--- a/config 1970-01-01 01:00:00.000000000 +0100
++++ b/config 2018-04-17 22:16:50.749610815 +0200
@@ -0,0 +1,2706 @@
+#
+# Automatically generated file; DO NOT EDIT.
@@ -3082,19 +2725,379 @@
+# CONFIG_ARCH_HAS_SG_CHAIN is not set
+CONFIG_SBITMAP=y
+# CONFIG_STRING_SELFTEST is not set
---- /dev/null 2018-03-21 10:59:45.661284739 +0100
-+++ b/0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch 2018-03-25 20:08:57.324842634 +0200
-@@ -0,0 +1,13 @@
-+diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
-+index 324568d33921..f6561b783b61 100644
-+--- a/arch/riscv/kernel/vdso/Makefile
-++++ b/arch/riscv/kernel/vdso/Makefile
-+@@ -52,7 +52,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
-+ # Add -lgcc so rv32 gets static muldi3 and lshrdi3 definitions.
-+ # Make sure only to export the intended __vdso_xxx symbol offsets.
-+ quiet_cmd_vdsold = VDSOLD $@
-+- cmd_vdsold = $(CC) $(KCFLAGS) -nostdlib $(SYSCFLAGS_$(@F)) \
-++ cmd_vdsold = $(CC) $(KCFLAGS) $(call cc-option, -no-pie) -nostdlib $(SYSCFLAGS_$(@F)) \
-+ -Wl,-T,$(filter-out FORCE,$^) -o $@.tmp -lgcc && \
-+ $(CROSS_COMPILE)objcopy \
-+ $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@
+diff -rupN a/PKGBUILD b/PKGBUILD
+--- a/PKGBUILD 2018-04-17 19:20:15.687614987 +0200
++++ b/PKGBUILD 2018-04-17 22:16:50.743610816 +0200
+@@ -1,156 +1,70 @@
+-# 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: Sorin-Mihai Vârgolici <smv@yobicore.org>
+-# Contributor: Michał Masłowski <mtjm@mtjm.eu>
+-# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+-# Contributor: Luke R. <g4jc@openmailbox.org>
+-# Contributor: Andreas Grapentin <andreas@grapentin.org>
+-
+-# Based on linux package
++# $Id$
++# Maintainer (Arch): Tobias Powalowski <tpowa@archlinux.org>
++# Maintainer (Arch): Thomas Baechler <thomas@archlinux.org>
+
+ pkgbase=linux-libre # Build stock kernel
+ #pkgbase=linux-libre-custom # Build kernel with a different name
+-_pkgbasever=4.15-gnu
+-_pkgver=4.15.17-gnu
+-
+-_replacesarchkernel=('linux%') # '%' gets replaced with _kernelname
+-_replacesoldkernels=() # '%' gets replaced with _kernelname
+-_replacesoldmodules=() # '%' gets replaced with _kernelname
+-
+-_srcname=linux-${_pkgbasever%-*}
+-_archpkgver=${_pkgver%-*}
+-pkgver=${_pkgver//-/_}
++_srcname=linux-4.15
++pkgver=4.15.17
++pkgver+=_gnu
+ pkgrel=1
+-rcnrel=armv7-x1
+-arch=('i686' 'x86_64' 'armv7h')
++arch=('x86_64')
+ url="https://linux-libre.fsfla.org/"
+ license=('GPL2')
+ makedepends=('xmlto' 'kmod' 'inetutils' 'bc' 'libelf')
+-makedepends_armv7h=('git')
+ options=('!strip')
+ source=(
+- "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz"{,.sign}
+- "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz"{,.sign}
+- "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm"{,.sig}
+- "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm"{,.sig}
+- "https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm"{,.sig}
+- # the main kernel config files
+- 'config.i686' 'config.x86_64' 'config.armv7h'
+- # pacman hooks for depmod and initramfs regeneration
+- '60-linux.hook' '90-linux.hook'
+- # standard config files for mkinitcpio ramdisk
+- 'linux.preset'
+- # armv7h patches
+- "https://repo.parabola.nu/other/rcn-libre/patches/${_pkgver%-*}/rcn-libre-${_pkgver%-*}-${rcnrel}.patch"{,.sig}
+- '0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch'
+- '0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch'
+- '0003-SMILE-Plug-device-tree-file.patch'
+- '0004-fix-mvsdio-eMMC-timing.patch'
+- '0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch'
+- '0006-set-default-cubietruck-led-triggers.patch'
+- '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-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch'
+- '0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch'
++ https://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver%.*}-gnu/linux-libre-${pkgver%.*}-gnu.tar.xz{,.sign}
++ https://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver//_/-}/patch-${pkgver%.*}-gnu-${pkgver//_/-}.xz{,.sign}
++ config # the main kernel config file
++ 60-linux.hook # pacman hook for depmod
++ 90-linux.hook # pacman hook for initramfs regeneration
++ linux.preset # standard config files for mkinitcpio ramdisk
++ 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
++ 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
++ https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm{,.sig}
++ https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm{,.sig}
++ https://repo.parabola.nu/other/linux-libre/logos/logo_linux_vga16.ppm{,.sig}
++ 0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch
+ )
+ validpgpkeys=(
+ '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
+ '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
+ )
+-sha512sums=('a55cc663c6fb1e1cfa7905282b368b5d5888bc2398f0acf37e5bb9a232ded04fd566b1980e654da26aaec005332e458581495184d6bd4cec669181085d4d78a5'
++sha256sums=('e6556514286f9cd6b46f5d5769b2cc3c61ac7d6fa9c9c400e3c2fb5949490186'
+ 'SKIP'
+- 'f74ad4904ec4a845682d3f735e63720793c3b7a915a8678c4e0866c54e0cec928cb5c3352dee4b3e8d7129bd0515b1b6a485d976c05df6585a1d2e4658884ad4'
++ 'ba1fd5e5fbb89f8bbcc40442f35409f50451a5e94e09c96f633cca6e53e23026'
+ 'SKIP'
+- '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
++ '79893811422931bd216dac1f99319792ccebbc931b8f4699da990aae0c1757cc'
++ 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
++ '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
++ 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
++ '4ffdc2a458845c2a7c03c735477dbf51b5b01b10568bf577b37a29e872135cab'
++ '12b281dc45f1954cc3f52276927bb2965c3132c0a8bd7f485869ced2c541d485'
++ 'bfd4a7f61febe63c880534dcb7c31c5b932dde6acf991810b41a939a93535494'
+ 'SKIP'
+- '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1'
++ '13bd7a8d9ed6b6bc971e4cd162262c5a20448a83796af39ce394d827b0e5de74'
+ 'SKIP'
+- '7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78'
++ '6de8a8319271809ffdb072b68d53d155eef12438e6d04ff06a5a4db82c34fa8a'
+ 'SKIP'
+- '93cc2b304a116edb351d05a7b5c0a6b900fa4222474c26ac5dd15c754ddf0a0e2b7ec8bb40671fcb38c3be08c9279343456a3caf9d0b7ee4088b6afb4c465512'
+- '0c90ff5cfe3ed0484603255437fb7b7d3450482ede164e139324c2761f3640797932b95e5d696b074c173ef472a5cdeca04c0a56198e54b47c9394f9efd94570'
+- 'c23fe808c6c3fe9fa3c7c814b3f607178f22c7441858881e650a1883d19ca43b1ec2b4cd891bbc3341446c02005fe8366dddcd0baf09845a714576bb51a2f24a'
+- '7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a'
+- '4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44'
+- '2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
+- '9fcda845bf44fdf5a7907d4c9681eaf0d4dc67afde5d3848ee0364afc9ad6719de70770ccde8ed309747450f33275b55dc01a46fb6df4a92d5da87f0230632b3'
+- 'SKIP'
+- 'ba44aa1252aa1b172e0bc8bbbff864ff60cad6739b2aed2f6a2402848aa65cdb8a8ca6bb9341569b089d60dfd83c3bdd744b5810061ac76b19f0d337afe4cc8d'
+- '738bc2874351d9e1b94319e6caf615b49753155c99dc9318a1ce9eced50f87627a7331762951f55e2bea8abdb97b80a617a08f3f0bc735e56ff831a8bbb19816'
+- 'f45d8d417eb3f4b6e02e337480bd99a8ebb4b9ac004c53a5432255e5841578fb64530663b6eacb3c8f40aaade8e1dc1e584aa1cf4b560103119e4b32e19b66c3'
+- '25ee5d9859d3df2d054fd6d53fe6b8931d6ac9f85533c54f3dd926fce917c81bd96cb3858189a20cf28a32b43efd1566cb5513f7db18a0bb8ead1a4e8a7be6fc'
+- 'a1aa8272760da0c8d2772cc8a57d8600f08db176206afd2a155055d2969bf0295f342a156841964a07de53fbf0356385b604ad75e5556569872dfad1863b2c27'
+- 'b58efc374344d10290371f3dfe8a124f855015d3ce169ccf538e6c1476092abf7ac689f0f10fb6a191fa19545b49ce13957ada066b37415f37dd5989ff93db37'
+- 'd2326e2e3ef6f2f5e911e6ad2fc3ac33b6f53fc5bb03e61d0e8371e6c7199028b226356926472ba676ca68a6cc57d33856c662615ed5b52566570670d0f96c89'
+- 'bc47549f2a79a79659d4d53f739e091c1e8f54cef8c1776be2034675cbb43f584a128607b1d4dd6a9f465706bb1470c6cb4277877dd3218e7280f503babf8300'
+- 'd90f3a3b74d65b84c4c2c229d10d2bb854e39e3429ba1469f8bb286819d559c68e00302de2be5043cf274b39a58686dc822c60afe1c553c4c967ef168d98af05'
+- '0c1a4334fcb4e75d25ec43873275b2f8a599a096b05a51ef2f9d48f3c8425a153f5f0df775e030e61b792f8b34e9c848229028fb6d2411f85028441826951dd5'
+- '0ccccf4411df6b86486b14e9354bf48355a2dc5bfefce693c5afc1a340db6f9db525a0306897ccbb5ed80304fa38ef13f32355cfeee1c9b684db0a9c0063d5c1'
+- '1a491eab1b07e9fb0b8a8dba4ef17d658c85106e7f62f3a37c34513aa9cd50b4bbb273aa445380f2e2135adea68c7102718e71bf2c9f4d3a5c24515620606605'
+- '9ae97a7f29323542d70576e8800e2090a69a43caee3182a453e80c3c3265d6cc04e2b5701e5d24d8a2717e29272950231b7e477aa32d69c7333c083626fc6802'
+- '9b8829fd9bf6c91e5c9e21184c7f57b22d786c20a15512e91cc75890a5d08a633df555973b29f2da9a7d9b965abd0c76ecdefa5498217837389ad1d0be0fb754'
+- '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
+- 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
+- '0f5531df585efa48e72b335ab88973bbce6c3807db55dcfac2fcda20f69618ee5bd5881ab278bd8cdde1f96bc34d5becca11469516c56a157248e0ae793d8679'
+- '04dfdfca8b59c2c3c18eb4b59f6466ef6d2fe6799a8b77f403fbce0554bfc739e43ff20897d9a6ed97ca101ab1bc1b067ff4a2491e3607b42de43f45005dc323')
++ '391765dc653ea4346a2f2939df3b25a1e1a689b2047b9f7999697e4accfa7479')
+
+ _kernelname=${pkgbase#linux-libre}
+-_replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}")
+-_replacesoldkernels=("${_replacesoldkernels[@]/\%/${_kernelname}}")
+-_replacesoldmodules=("${_replacesoldmodules[@]/\%/${_kernelname}}")
+-
+-case "${CARCH}" in
+- i686|x86_64) KARCH=x86;;
+- armv7h) KARCH=arm;;
+-esac
++: ${_kernelname:=-PARABOLA}
+
+ prepare() {
+ cd ${_srcname}
+
+ # add upstream patch
+- if [ "${_pkgbasever}" != "${_pkgver}" ]; then
+- patch -p1 -i ../patch-${_pkgbasever}-${_pkgver}
+- fi
+-
+- if [ "${CARCH}" = "armv7h" ]; then
+- # RCN patch (CM3 firmware deblobbed and AUFS/WireGuard removed)
+- # Note: For stability reasons, AUFS has been removed in the RCN patch.
+- # We are supporting AUFS in linux-libre-pck through PCK patch.
+- # See https://wiki.parabola.nu/PCK for further details.
+- git apply -v ../rcn-libre-${_pkgver%-*}-${rcnrel}.patch
+-
+- # ALARM patches
+- patch -p1 -i ../0001-ARM-atags-add-support-for-Marvell-s-u-boot.patch
+- patch -p1 -i ../0002-ARM-atags-fdt-retrieve-MAC-addresses-from-Marvell-bo.patch
+- patch -p1 -i ../0003-SMILE-Plug-device-tree-file.patch
+- patch -p1 -i ../0004-fix-mvsdio-eMMC-timing.patch
+- patch -p1 -i ../0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
+- patch -p1 -i ../0006-set-default-cubietruck-led-triggers.patch
+- patch -p1 -i ../0007-exynos4412-odroid-set-higher-minimum-buck2-regulator.patch
+- patch -p1 -i ../0008-disable-USB3-port-on-ODROID-XU.patch
+- patch -p1 -i ../0009-ARM-dove-enable-ethernet-on-D3Plug.patch
+- patch -p1 -i ../0010-power-add-power-sequence-library.patch
+- patch -p1 -i ../0011-usb-core-add-power-sequence-handling-for-USB-devices.patch
+- patch -p1 -i ../0012-ARM-dts-imx6qdl-Enable-usb-node-children-with-reg.patch
+- patch -p1 -i ../0013-ARM-dts-imx6qdl-udoo.dtsi-fix-onboard-USB-HUB-proper.patch
+- patch -p1 -i ../0014-ARM-dts-imx6q-evi-Fix-onboard-hub-reset-line.patch
+- fi
++ patch -p1 -i ../patch-${pkgver%.*}-gnu-${pkgver//_/-}
+
+ # add freedo as boot logo
+ install -m644 -t drivers/video/logo \
+ ../logo_linux_{clut224.ppm,vga16.ppm,mono.pbm}
+
++ # https://patchwork.kernel.org/patch/10300449/
++ patch -Np1 -i ../0001-RISC-V-build-vdso-dummy.o-with--no-pie.patch
++
+ # add latest fixes from stable queue, if needed
+ # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
+
+@@ -159,17 +73,8 @@ prepare() {
+
+ # https://bugs.archlinux.org/task/56711
+ patch -Np1 -i ../0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch
+-
+- # maintain the TTY over USB disconnects
+- # http://www.coreboot.org/EHCI_Gadget_Debug
+- patch -p1 -i ../0001-usb-serial-gadget-no-TTY-hangup-on-USB-disconnect-WI.patch
+-
+- # fix Atmel maXTouch touchscreen support
+- # https://labs.parabola.nu/issues/877
+- # http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html
+- patch -p1 -i ../0002-fix-Atmel-maXTouch-touchscreen-support.patch
+
+- cat ../config.${CARCH} - >.config <<END
++ cat ../config - >.config <<END
+ CONFIG_LOCALVERSION="${_kernelname}"
+ CONFIG_LOCALVERSION_AUTO=n
+ END
+@@ -200,21 +105,17 @@ END
+ build() {
+ cd ${_srcname}
+
+- if [ "${CARCH}" = "armv7h" ]; then
+- make ${MAKEFLAGS} LOCALVERSION= zImage modules dtbs
+- elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
+- make ${MAKEFLAGS} LOCALVERSION= bzImage modules
+- fi
++ make
+ }
+
+ _package() {
+- pkgdesc="The ${pkgbase^} kernel and modules"
+- [ "${pkgbase}" = "linux-libre" ] && groups=('base' 'base-openrc')
++ pkgdesc="The ${pkgbase/linux/Linux} kernel and modules"
++ [ "${pkgbase}" = "linux-libre" ] && groups=('base')
+ depends=('coreutils' 'linux-libre-firmware' 'kmod' 'mkinitcpio>=0.7')
+ optdepends=('crda: to set the correct wireless channels of your country')
+- provides=("${_replacesarchkernel[@]/%/=${_archpkgver}}" "LINUX-ABI_VERSION=${_pkgver%%-*}")
+- conflicts=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}")
+- replaces=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}")
++ provides=(${pkgname/-libre}=${pkgver%_*})
++ conflicts=(${pkgname/-libre}=${pkgver%_*})
++ replaces=(${pkgname/-libre}=${pkgver%_*})
+ backup=("etc/mkinitcpio.d/${pkgbase}.preset")
+ install=linux.install
+
+@@ -227,12 +128,7 @@ _package() {
+
+ mkdir -p "${pkgdir}"/{boot,usr/lib/modules}
+ 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}"
+- elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
+- cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
+- fi
++ cp vmlinux "${pkgdir}/boot/vmlinuz-${pkgbase}"
+
+ # make room for external modules
+ local _extramodules="extramodules-${_basekernel}${_kernelname}"
+@@ -248,26 +144,15 @@ _package() {
+ # now we call depmod...
+ depmod -b "${pkgdir}/usr" -F System.map "${_kernver}"
+
+- if [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
+- # add vmlinux
+- install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
+- fi
++ # add vmlinux
++ install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
+
+ # sed expression for following substitutions
+- if [ "${CARCH}" = "armv7h" ]; then
+ local _subst="
+- s|/boot/vmlinuz-%PKGBASE%|${_kernver}|g
+ s|%PKGBASE%|${pkgbase}|g
+ s|%KERNVER%|${_kernver}|g
+ s|%EXTRAMODULES%|${_extramodules}|g
+ "
+- elif [ "${CARCH}" = "x86_64" ] || [ "${CARCH}" = "i686" ]; then
+- local _subst="
+- s|%PKGBASE%|${pkgbase}|g
+- s|%KERNVER%|${_kernver}|g
+- s|%EXTRAMODULES%|${_extramodules}|g
+- "
+- fi
+
+ # hack to allow specifying an initially nonexisting install file
+ sed "${_subst}" "${startdir}/${install}" > "${startdir}/${install}.pkg"
+@@ -285,11 +170,11 @@ _package() {
+ }
+
+ _package-headers() {
+- pkgdesc="Header files and scripts for building modules for ${pkgbase^} kernel"
+- provides=("${_replacesarchkernel[@]/%/-headers=${_archpkgver}}")
+- conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
+- replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
+-
++ pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
++ provides=(${pkgname/-libre}=${pkgver%_*})
++ conflicts=(${pkgname/-libre}=${pkgver%_*})
++ replaces=(${pkgname/-libre}=${pkgver%_*})
++
+ cd ${_srcname}
+ local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
+
+@@ -300,14 +185,10 @@ _package-headers() {
+
+ cp -t "${_builddir}" -a include scripts
+
+- install -Dt "${_builddir}/arch/${KARCH}" -m644 arch/${KARCH}/Makefile
+- install -Dt "${_builddir}/arch/${KARCH}/kernel" -m644 arch/${KARCH}/kernel/asm-offsets.s
++ install -Dt "${_builddir}/arch/riscv" -m644 arch/riscv/Makefile
++ install -Dt "${_builddir}/arch/riscv/kernel" -m644 arch/riscv/kernel/asm-offsets.s
+
+- if [[ ${CARCH} = i686 ]]; then
+- install -t "${_builddir}/arch/${KARCH}" -m644 arch/${KARCH}/Makefile_32.cpu
+- fi
+-
+- cp -t "${_builddir}/arch/${KARCH}" -a arch/${KARCH}/include
++ cp -t "${_builddir}/arch/riscv" -a arch/riscv/include
+
+ install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
+ install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h
+@@ -329,36 +210,15 @@ _package-headers() {
+ # copy in Kconfig files
+ find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \;
+
+- # add objtool for external module building and enabled VALIDATION_STACK option
+- if [[ -e tools/objtool/objtool ]]; then
+- install -Dt "${_builddir}/tools/objtool" tools/objtool/objtool
+- fi
+-
+ # remove unneeded architectures
+ local _arch
+ for _arch in "${_builddir}"/arch/*/; do
+- [[ ${_arch} == */${KARCH}/ ]] && continue
++ [[ ${_arch} == */riscv/ ]] && 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
+- # start marking our changes as such
+- if [ "${CARCH}" = "armv7h" ]; then
+- for i in dove exynos omap2; do
+- mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-${i}"
+- cp -a arch/${KARCH}/mach-${i}/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/mach-${i}/"
+- done
+- for i in omap orion samsung versatile; do
+- mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-${i}"
+- cp -a arch/${KARCH}/plat-${i}/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/plat-${i}/"
+- done
+- fi
+- # end of parabola changes
+
+ # remove now broken symlinks
+ find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete
+@@ -380,11 +240,11 @@ _package-headers() {
+ }
+
+ _package-docs() {
+- pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase^} kernel"
+- provides=("${_replacesarchkernel[@]/%/-docs=${_archpkgver}}")
+- conflicts=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}")
+- replaces=("${_replacesarchkernel[@]/%/-docs}" "${_replacesoldkernels[@]/%/-docs}")
+-
++ pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel"
++ provides=(${pkgname/-libre}=${pkgver%_*})
++ conflicts=(${pkgname/-libre}=${pkgver%_*})
++ replaces=(${pkgname/-libre}=${pkgver%_*})
++
+ cd ${_srcname}
+ local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
+