4.18.3-1 (clr 4.18.3-623) sync with arch and lqx

This commit is contained in:
Josip Ponjavic 2018-08-20 22:54:21 +02:00
parent e35271966a
commit bbbd811607
2 changed files with 276 additions and 258 deletions

View file

@ -1,6 +1,6 @@
pkgbase = linux-clear pkgbase = linux-clear
pkgver = 4.18.1 pkgver = 4.18.3
pkgrel = 2 pkgrel = 1
url = https://github.com/clearlinux-pkgs/linux url = https://github.com/clearlinux-pkgs/linux
arch = x86_64 arch = x86_64
license = GPL2 license = GPL2
@ -14,8 +14,8 @@ pkgbase = linux-clear
options = !strip options = !strip
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.18.tar.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.18.tar.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.18.tar.sign source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.18.tar.sign
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.18.1.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.18.3.xz
source = clearlinux::git+https://github.com/clearlinux-pkgs/linux.git#tag=4.18.1-621 source = clearlinux::git+https://github.com/clearlinux-pkgs/linux.git#tag=4.18.3-623
source = https://downloadmirror.intel.com/28039/eng/microcode-20180807.tgz source = https://downloadmirror.intel.com/28039/eng/microcode-20180807.tgz
source = enable_additional_cpu_optimizations-20180509.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/20180509.tar.gz source = enable_additional_cpu_optimizations-20180509.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/20180509.tar.gz
source = 60-linux.hook source = 60-linux.hook
@ -26,7 +26,7 @@ pkgbase = linux-clear
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
sha256sums = 19d8bcf49ef530cd4e364a45b4a22fa70714b70349c8100e7308488e26f1eaf1 sha256sums = 19d8bcf49ef530cd4e364a45b4a22fa70714b70349c8100e7308488e26f1eaf1
sha256sums = SKIP sha256sums = SKIP
sha256sums = f0580daf3ea0716301c929be78c09db4dc3d8add65a1da392c2fc2c841244e8c sha256sums = 760c723f1fd48f849464f2e07a5252035423e39101c812ea20690cb416b982cd
sha256sums = SKIP sha256sums = SKIP
sha256sums = 29f9e8dc27e6c9b6488cecd7fe2394030307799e511db2d197d9e6553a7f9e40 sha256sums = 29f9e8dc27e6c9b6488cecd7fe2394030307799e511db2d197d9e6553a7f9e40
sha256sums = 226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d sha256sums = 226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d
@ -36,18 +36,21 @@ pkgbase = linux-clear
sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65 sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65
pkgname = linux-clear pkgname = linux-clear
pkgdesc = The Linux-clear kernel and modules pkgdesc = Clearlinux kernel and modules
install = linux.install install = linux.install
depends = coreutils depends = coreutils
depends = linux-firmware depends = linux-firmware
depends = kmod depends = kmod
depends = mkinitcpio>=0.7 depends = mkinitcpio>=0.7
optdepends = crda: to set the correct wireless channels of your country optdepends = crda: to set the correct wireless channels of your country
optdepends = 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-clear.preset backup = etc/mkinitcpio.d/linux-clear.preset
pkgname = linux-clear-headers pkgname = linux-clear-headers
pkgdesc = Header files and scripts for building modules for Linux-clear kernel pkgdesc = Header files and scripts for building modules for linux-clear
depends = linux-clear
pkgname = linux-clear-docs pkgname = linux-clear-docs
pkgdesc = Kernel hackers manual - HTML documentation that comes with the Linux-clear kernel pkgdesc = Kernel hackers manual - HTML documentation that comes with the linux-clear
depends = linux-clear

331
PKGBUILD
View file

@ -64,11 +64,12 @@ _rev_override="n"
### IMPORTANT: Do no edit below this line unless you know what you're doing ### IMPORTANT: Do no edit below this line unless you know what you're doing
pkgbase=linux-clear pkgbase=linux-clear
__basekernel=4.18 _major=4.18
_minor=1 _minor=3
pkgver=${__basekernel}.${_minor} pkgver=${_major}.${_minor}
_clearver=${pkgver}-621 _srcname=linux-${_major}
pkgrel=2 pkgrel=1
_clr=623
arch=('x86_64') arch=('x86_64')
url="https://github.com/clearlinux-pkgs/linux" url="https://github.com/clearlinux-pkgs/linux"
license=('GPL2') license=('GPL2')
@ -76,10 +77,10 @@ makedepends=('bc' 'git' 'inetutils' 'kmod' 'libelf' 'linux-firmware' 'xmlto')
options=('!strip') options=('!strip')
_gcc_more_v='20180509' _gcc_more_v='20180509'
source=( source=(
"https://www.kernel.org/pub/linux/kernel/v4.x/linux-${__basekernel}.tar.xz" "https://www.kernel.org/pub/linux/kernel/v4.x/linux-${_major}.tar.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/linux-${__basekernel}.tar.sign" "https://www.kernel.org/pub/linux/kernel/v4.x/linux-${_major}.tar.sign"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz" "https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
"clearlinux::git+https://github.com/clearlinux-pkgs/linux.git#tag=${_clearver}" "clearlinux::git+https://github.com/clearlinux-pkgs/linux.git#tag=${pkgver}-${_clr}"
'https://downloadmirror.intel.com/28039/eng/microcode-20180807.tgz' 'https://downloadmirror.intel.com/28039/eng/microcode-20180807.tgz'
"enable_additional_cpu_optimizations-$_gcc_more_v.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/$_gcc_more_v.tar.gz" # enable_additional_cpu_optimizations_for_gcc "enable_additional_cpu_optimizations-$_gcc_more_v.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/$_gcc_more_v.tar.gz" # enable_additional_cpu_optimizations_for_gcc
'60-linux.hook' # pacman hook for depmod '60-linux.hook' # pacman hook for depmod
@ -87,75 +88,64 @@ source=(
'99-linux.hook' # pacman hook for remove initramfs '99-linux.hook' # pacman hook for remove initramfs
'linux.preset' # standard config files for mkinitcpio ramdisk 'linux.preset' # standard config files for mkinitcpio ramdisk
) )
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
sha256sums=('19d8bcf49ef530cd4e364a45b4a22fa70714b70349c8100e7308488e26f1eaf1'
'SKIP'
'f0580daf3ea0716301c929be78c09db4dc3d8add65a1da392c2fc2c841244e8c'
'SKIP'
'29f9e8dc27e6c9b6488cecd7fe2394030307799e511db2d197d9e6553a7f9e40'
'226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'5f6ba52aaa528c4fa4b1dc097e8930fad0470d7ac489afcb13313f289ca32184'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65')
_kernelname=${pkgbase#linux} _kernelname=${pkgbase#linux}
: ${_kernelname:=-clear}
prepare() { prepare() {
cd linux-${__basekernel} cd ${_srcname}
# add upstream patch ### Add upstream patches
patch -p1 -i ../patch-${pkgver} msg2 "Add upstream patches"
patch -Np1 -i ../patch-${pkgver}
# Apply clearlinux patches ### Setting version
msg2 "Setting version..."
scripts/setlocalversion --save-scmversion
echo "-$pkgrel" > localversion.10-pkgrel
echo "$_kernelname" > localversion.20-pkgname
### Add Clearlinux patches
for i in $(grep '^Patch' ${srcdir}/clearlinux/linux.spec | grep -Ev '^Patch0500' | sed -n 's/.*: //p'); do for i in $(grep '^Patch' ${srcdir}/clearlinux/linux.spec | grep -Ev '^Patch0500' | sed -n 's/.*: //p'); do
msg "Applying ${i}" msg2 "Applying patch ${i}..."
patch -p1 -i "$srcdir/clearlinux/${i}" patch -Np1 -i "$srcdir/clearlinux/${i}"
done done
# Clean tree and copy CLEAR config over ### Setting config
make mrproper msg2 "Setting config..."
cp -Tf $srcdir/clearlinux/config ./.config cp -Tf $srcdir/clearlinux/config ./.config
make olddefconfig
### Copying i915 firmware and intel-ucode
msg2 "Copying i915 firmware and intel-ucode..."
cp -a /usr/lib/firmware/i915 firmware/ cp -a /usr/lib/firmware/i915 firmware/
cp -a ${srcdir}/intel-ucode firmware/ cp -a ${srcdir}/intel-ucode firmware/
cp ${srcdir}/intel-ucode-with-caveats/06* firmware/intel-ucode/ cp ${srcdir}/intel-ucode-with-caveats/06* firmware/intel-ucode/
rm -f firmware/intel-ucode/0f* rm -f firmware/intel-ucode/0f*
if [ "${_kernelname}" != "" ]; then ### Prepared version
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config make -s kernelrelease > ../version
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config msg2 "Prepared %s version %s" "$pkgbase" "$(<../version)"
fi
# set extraversion to pkgrel and empty localversion ### Set ACPI_REV_OVERRIDE_POSSIBLE to prevent optimus lockup
sed -e "/^EXTRAVERSION =/s/=.*/= -${pkgrel}/" \
-e "/^EXTRAVERSION =/aLOCALVERSION =" \
-i Makefile
# set ACPI_REV_OVERRIDE_POSSIBLE to prevent optimus lockup
if [ "${_rev_override}" = "y" ]; then if [ "${_rev_override}" = "y" ]; then
msg2 "Enabling ACPI Rev Override Possible..."
sed -i "s|# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set|CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y|g" ./.config sed -i "s|# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set|CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y|g" ./.config
fi fi
# bluez package on arch needs this module for bluetooth to work ### Bluez package on arch needs this module for bluetooth to work
# https://bugs.archlinux.org/task/55880 # https://bugs.archlinux.org/task/55880
msg2 "Enabling crypto_user module..."
sed -i "s|# CONFIG_CRYPTO_USER is not set|CONFIG_CRYPTO_USER=m|g" ./.config sed -i "s|# CONFIG_CRYPTO_USER is not set|CONFIG_CRYPTO_USER=m|g" ./.config
# don't run depmod on 'make install'. We'll do this ourselves in packaging ### Patch source to unlock additional gcc CPU optimizations
sed -i '2iexit 0' scripts/depmod.sh
make olddefconfig
# Patch source to unlock additional gcc CPU optimizatons
# https://github.com/graysky2/kernel_gcc_patch # https://github.com/graysky2/kernel_gcc_patch
if [ "${_enable_gcc_more_v}" = "y" ]; then if [ "${_enable_gcc_more_v}" = "y" ]; then
msg2 "Enabling additional gcc CPU optimizations..."
patch -Np1 -i "$srcdir/kernel_gcc_patch-$_gcc_more_v/enable_additional_cpu_optimizations_for_gcc_v8.1+_kernel_v4.13+.patch" patch -Np1 -i "$srcdir/kernel_gcc_patch-$_gcc_more_v/enable_additional_cpu_optimizations_for_gcc_v8.1+_kernel_v4.13+.patch"
fi fi
# get kernel version ### Get kernel version
if [ "${_enable_gcc_more_v}" = "y" ] || [ -n "${_subarch}" ]; then if [ "${_enable_gcc_more_v}" = "y" ] || [ -n "${_subarch}" ]; then
yes "$_subarch" | make oldconfig yes "$_subarch" | make oldconfig
else else
@ -165,177 +155,202 @@ prepare() {
### Optionally load needed modules for the make localmodconfig ### Optionally load needed modules for the make localmodconfig
# See https://aur.archlinux.org/packages/modprobed-db # See https://aur.archlinux.org/packages/modprobed-db
if [ -n "$_localmodcfg" ]; then if [ -n "$_localmodcfg" ]; then
msg "If you have modprobed-db installed, running it in recall mode now" msg2 "If you have modprobe-db installed, running it in recall mode now"
if [ -e /usr/bin/modprobed-db ]; then if [ -e /usr/bin/modprobed-db ]; then
[[ -x /usr/bin/sudo ]] || { [[ -x /usr/bin/sudo ]] || {
echo "Cannot call modprobe with sudo. Install sudo and configure it to work with this user." echo "Cannot call modprobe with sudo. Install sudo and configure it to work with this user."
exit 1; } exit 1; }
sudo /usr/bin/modprobed-db recall sudo /usr/bin/modprobed-db recall
fi fi
msg "Running Steven Rostedt's make localmodconfig now" msg2 "Running Steven Rostedt's make localmodconfig now"
make localmodconfig make localmodconfig
fi fi
### Running make nconfig
[[ -z "$_makenconfig" ]] || make nconfig [[ -z "$_makenconfig" ]] || make nconfig
# rewrite configuration ### Save configuration for later reuse
yes "" | make config >/dev/null
# save configuration for later reuse
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${_kernelname}" cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${_kernelname}"
} }
build() { build() {
cd linux-${__basekernel} cd ${_srcname}
make bzImage modules make bzImage modules
} }
_package() { _package() {
pkgdesc="The ${pkgbase/linux/Linux} kernel and modules" pkgdesc="Clearlinux kernel and modules"
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7') depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country') optdepends=('crda: to set the correct wireless channels of your country' '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/${pkgbase}.preset") backup=("etc/mkinitcpio.d/${pkgbase}.preset")
install=linux.install install=linux.install
cd linux-${__basekernel} local kernver="$(<version)"
# get kernel version cd ${_srcname}
_kernver="$(make kernelrelease)"
_basekernel=${_kernver%%-*}
_basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{boot,usr/lib/modules} msg2 "Installing boot image..."
make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install install -Dm644 "$(make -s image_name)" "$pkgdir/boot/vmlinuz-$pkgbase"
cp arch/x86/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
# make room for external modules msg2 "Installing modules..."
local _extramodules="extramodules-${_basekernel}${_kernelname:--ARCH}" local modulesdir="$pkgdir/usr/lib/modules/$kernver"
ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernver}/extramodules" mkdir -p "$modulesdir"
make INSTALL_MOD_PATH="$pkgdir/usr" modules_install
# add real version for building modules and running depmod from hook # a place for external modules,
echo "${_kernver}" | # with version file for building modules and running depmod from hook
install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules/${_extramodules}/version" local extramodules="extramodules$_kernelname"
local extradir="$pkgdir/usr/lib/modules/$extramodules"
install -Dt "$extradir" -m644 ../version
ln -sr "$extradir" "$modulesdir/extramodules"
# remove build and source links # remove build and source links
rm "${pkgdir}"/usr/lib/modules/${_kernver}/{source,build} rm "$modulesdir"/{source,build}
# now we call depmod... msg2 "Installing hooks..."
depmod -b "${pkgdir}/usr" -F System.map "${_kernver}"
# add vmlinux
install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux
# sed expression for following substitutions # sed expression for following substitutions
local _subst=" local subst="
s|%PKGBASE%|${pkgbase}|g s|%PKGBASE%|$pkgbase|g
s|%KERNVER%|${_kernver}|g s|%KERNVER%|$kernver|g
s|%EXTRAMODULES%|${_extramodules}|g s|%EXTRAMODULES%|$extramodules|g
" "
# hack to allow specifying an initially nonexisting install file # hack to allow specifying an initially nonexisting install file
sed "${_subst}" "${startdir}/${install}" > "${startdir}/${install}.pkg" sed "$subst" "$startdir/$install" > "$startdir/$install.pkg"
true && install=${install}.pkg true && install=$install.pkg
# install mkinitcpio preset file # fill in mkinitcpio preset and pacman hooks
sed "${_subst}" ../linux.preset | sed "$subst" ../linux.preset | install -Dm644 /dev/stdin \
install -Dm644 /dev/stdin "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" "$pkgdir/etc/mkinitcpio.d/$pkgbase.preset"
sed "$subst" ../60-linux.hook | install -Dm644 /dev/stdin \
"$pkgdir/usr/share/libalpm/hooks/60-${pkgbase}.hook"
sed "$subst" ../90-linux.hook | install -Dm644 /dev/stdin \
"$pkgdir/usr/share/libalpm/hooks/90-${pkgbase}.hook"
sed "$subst" ../99-linux.hook | install -Dm644 /dev/stdin \
"$pkgdir/usr/share/libalpm/hooks/99-${pkgbase}.hook"
# install pacman hooks msg2 "Fixing permissions..."
sed "${_subst}" ../60-linux.hook | chmod -Rc u=rwX,go=rX "$pkgdir"
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/60-${pkgbase}.hook"
sed "${_subst}" ../90-linux.hook |
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/90-${pkgbase}.hook"
sed "${_subst}" ../99-linux.hook |
install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/99-${pkgbase}.hook"
} }
_package-headers() { _package-headers() {
pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel" pkgdesc="Header files and scripts for building modules for linux-clear"
depends=('linux-clear')
cd linux-${__basekernel} local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
install -Dt "${_builddir}" -m644 Makefile .config Module.symvers cd ${_srcname}
install -Dt "${_builddir}/kernel" -m644 kernel/Makefile
mkdir "${_builddir}/.tmp_versions" msg2 "Installing build files..."
install -Dt "$builddir" -m644 Makefile .config Module.symvers System.map vmlinux
cp -t "${_builddir}" -a include scripts install -Dt "$builddir/kernel" -m644 kernel/Makefile
install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
install -Dt "${_builddir}/arch/x86" -m644 arch/x86/Makefile cp -t "$builddir" -a scripts
install -Dt "${_builddir}/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
cp -t "${_builddir}/arch/x86" -a arch/x86/include
install -Dt "${_builddir}/drivers/md" -m644 drivers/md/*.h
install -Dt "${_builddir}/net/mac80211" -m644 net/mac80211/*.h
# http://bugs.archlinux.org/task/13146
install -Dt "${_builddir}/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# http://bugs.archlinux.org/task/20402
install -Dt "${_builddir}/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "${_builddir}/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "${_builddir}/drivers/media/tuners" -m644 drivers/media/tuners/*.h
# add xfs and shmem for aufs building
mkdir -p "${_builddir}"/{fs/xfs,mm}
# copy in Kconfig files
find . -name Kconfig\* -exec install -Dm644 {} "${_builddir}/{}" \;
# add objtool for external module building and enabled VALIDATION_STACK option # add objtool for external module building and enabled VALIDATION_STACK option
install -Dt "${_builddir}/tools/objtool" tools/objtool/objtool install -Dt "$builddir/tools/objtool" tools/objtool/objtool
# remove unneeded architectures # add xfs and shmem for aufs building
local _arch mkdir -p "$builddir"/{fs/xfs,mm}
for _arch in "${_builddir}"/arch/*/; do
[[ ${_arch} == */x86/ ]] && continue # ???
rm -r "${_arch}" mkdir "$builddir/.tmp_versions"
msg2 "Installing headers..."
cp -t "$builddir" -a include
cp -t "$builddir/arch/x86" -a arch/x86/include
install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
# http://bugs.archlinux.org/task/13146
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# http://bugs.archlinux.org/task/20402
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
msg2 "Installing KConfig files..."
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
msg2 "Removing unneeded architectures..."
local arch
for arch in "$builddir"/arch/*/; do
[[ $arch = */x86/ ]] && continue
echo "Removing $(basename "$arch")"
rm -r "$arch"
done done
# remove files already in linux-docs package msg2 "Removing documentation..."
rm -r "${_builddir}/Documentation" rm -r "$builddir/Documentation"
# remove now broken symlinks msg2 "Removing broken symlinks..."
find -L "${_builddir}" -type l -printf 'Removing %P\n' -delete find -L "$builddir" -type l -printf 'Removing %P\n' -delete
# Fix permissions msg2 "Removing loose objects..."
chmod -R u=rwX,go=rX "${_builddir}" find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
# strip scripts directory msg2 "Stripping build tools..."
local _binary _strip local file
while read -rd '' _binary; do while read -rd '' file; do
case "$(file -bi "${_binary}")" in case "$(file -bi "$file")" in
*application/x-sharedlib*) _strip="${STRIP_SHARED}" ;; # Libraries (.so) application/x-sharedlib\;*) # Libraries (.so)
*application/x-archive*) _strip="${STRIP_STATIC}" ;; # Libraries (.a) strip -v $STRIP_SHARED "$file" ;;
*application/x-executable*) _strip="${STRIP_BINARIES}" ;; # Binaries application/x-archive\;*) # Libraries (.a)
*) continue ;; strip -v $STRIP_STATIC "$file" ;;
application/x-executable\;*) # Binaries
strip -v $STRIP_BINARIES "$file" ;;
application/x-pie-executable\;*) # Relocatable binaries
strip -v $STRIP_SHARED "$file" ;;
esac esac
/usr/bin/strip ${_strip} "${_binary}" done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
done < <(find "${_builddir}/scripts" -type f -perm -u+w -print0 2>/dev/null)
msg2 "Fixing permissions..."
chmod -Rc u=rwX,go=rX "$pkgdir"
} }
_package-docs() { _package-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel" pkgdesc="Kernel hackers manual - HTML documentation that comes with the linux-clear"
depends=('linux-clear')
cd linux-${__basekernel} local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build"
mkdir -p "${_builddir}" cd ${_srcname}
cp -t "${_builddir}" -a Documentation
# Fix permissions msg2 "Installing documentation..."
chmod -R u=rwX,go=rX "${_builddir}" mkdir -p "$builddir"
cp -t "$builddir" -a Documentation
msg2 "Fixing permissions..."
chmod -Rc u=rwX,go=rX "$pkgdir"
} }
pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs") pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
for _p in ${pkgname[@]}; do for _p in "${pkgname[@]}"; do
eval "package_${_p}() { eval "package_$_p() {
$(declare -f "_package${_p#${pkgbase}}") $(declare -f "_package${_p#$pkgbase}")
_package${_p#${pkgbase}} _package${_p#$pkgbase}
}" }"
done done
# vim:set ts=8 sts=2 sw=2 et: sha256sums=('19d8bcf49ef530cd4e364a45b4a22fa70714b70349c8100e7308488e26f1eaf1'
'SKIP'
'760c723f1fd48f849464f2e07a5252035423e39101c812ea20690cb416b982cd'
'SKIP'
'29f9e8dc27e6c9b6488cecd7fe2394030307799e511db2d197d9e6553a7f9e40'
'226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d'
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
'5f6ba52aaa528c4fa4b1dc097e8930fad0470d7ac489afcb13313f289ca32184'
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)