diff options
author | Simao Gomes Viana | 2019-11-04 18:04:12 +0100 |
---|---|---|
committer | Simao Gomes Viana | 2019-11-04 18:17:19 +0100 |
commit | ae989f032350f0aa545e7afdbdf2c7aba58738ac (patch) | |
tree | 4bc9648362ac70cc039012c1ae7a259d539b47b6 | |
parent | ada3e499beb6fcf72d94916a7b1d70a05fcb47cb (diff) | |
download | aur-ae989f032350f0aa545e7afdbdf2c7aba58738ac.tar.gz |
Use linux-git as template
Thanks to the contributors mentioned
in the PKGBUILD file
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | PKGBUILD | 449 | ||||
-rw-r--r-- | linux-nitrous-git.install | 37 | ||||
-rw-r--r-- | linux-nitrous-git.preset | 14 | ||||
-rw-r--r-- | linux-nitrous.conf | 5 | ||||
-rw-r--r-- | linux-nitrous.install | 46 | ||||
-rw-r--r-- | linux-nitrous.preset | 7 |
7 files changed, 322 insertions, 270 deletions
@@ -1,31 +1,39 @@ pkgbase = linux-nitrous-git - pkgdesc = Modified linux-nitrous kernel optimized for Haswell (and newer) compiled using clang pkgver = 5.3.8 - pkgrel = 1 + pkgrel = 2 url = https://gitlab.com/xdevs23/linux-nitrous arch = x86_64 license = GPL2 + makedepends = xmlto + makedepends = docbook-xsl + makedepends = kmod + makedepends = inetutils + makedepends = bc makedepends = git + makedepends = libelf makedepends = coreutils options = !strip - source = linux-nitrous.conf - source = linux-nitrous.preset - source = git+https://gitlab.com/xdevs23/linux-nitrous#branch=v5.3+ - sha256sums = 086706b4fec123b658e73bb101d7360c3cc8b403f0f5885c9527e556f4cb49cf - sha256sums = 54bc90a27bb2f42aff4a460c26f88f44e2a2f6c19ec51e7fcac83c4cd1fb9968 + source = git+https://gitlab.com/xdevs23/linux-nitrous.git/ + source = linux-nitrous-git.preset sha256sums = SKIP + sha256sums = 48ef93bf8f8ff236c4e2092736d0add8f87cfc5416417c50966bb296ab5933ae pkgname = linux-nitrous-git - install = linux-nitrous.install + pkgdesc = Modified Linux kernel optimized for Haswell (and newer) compiled using clang + install = linux-nitrous-git.install depends = coreutils depends = linux-firmware depends = kmod - depends = mkinitcpio>=0.5.20 - optdepends = linux-nitrous-git-headers: to build third party modules such as NVIDIA drivers or OSSv4 + depends = mkinitcpio>=0.7 optdepends = crda: to set the correct wireless channels of your country - provides = linux-nitrous - provides = linux-nitrous-git - backup = etc/mkinitcpio.d/linux-nitrous.conf + provides = linux + backup = etc/mkinitcpio.d/linux-nitrous-git.preset pkgname = linux-nitrous-git-headers + pkgdesc = Header files and scripts for building modules for Linux kernel (git version) + provides = linux-headers + +pkgname = linux-nitrous-git-docs + pkgdesc = Kernel hackers manual - HTML documentation that comes with the Linux kernel (git version) + provides = linux-docs @@ -1,213 +1,264 @@ # Maintainer: Simao Gomes Viana <xdevs23@outlook.com> -# Original Maintainer: Matt Parnell/ilikenwf <parwok@gmail.com> -# Original PKGBUILD Contributor: Patrick Bartels <p4ddy.b@gmail.com> -# Thanks to Bregol -pkgname="linux-nitrous-git" +# Packager: Simao Gomes Viana <xdevs23@outlook.com> +# Contributor: Boohbah <boohbah at gmail.com> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Thomas Baechler <thomas@archlinux.org> +# Contributor: Jonathan Chan <jyc@fastmail.fm> +# Contributor: misc <tastky@gmail.com> +# Contributor: NextHendrix <cjones12 at sheffield.ac.uk> +# Contributor: Shun Terabayashi <shunonymous at gmail.com> +# Contributor: Brad McCormack <bradmccormack100 at gmail.com> +# Contributor: Doug Johnson <dougvj at dougvj.net> + +pkgbase=linux-nitrous-git +_srcname=linux-nitrous-git pkgver=5.3.8 -pkgdesc="Modified linux-nitrous kernel optimized for Haswell (and newer) compiled using clang" +pkgrel=2 +arch=('x86_64') url="https://gitlab.com/xdevs23/linux-nitrous" -license=("GPL2") -makedepends=("git" "coreutils") -true && pkgbase="linux-nitrous-git" -true && pkgname=("linux-nitrous-git" "linux-nitrous-git-headers") -arch=("x86_64") -pkgrel=1 -options=("!strip") -source=("linux-nitrous.conf" - "linux-nitrous.preset" - 'git+https://gitlab.com/xdevs23/linux-nitrous#branch=v5.3+') -sha256sums=('6373073ad943e068478ef1373be4eb2a7e473da8743d946f1f50cd364685ab87' - '54bc90a27bb2f42aff4a460c26f88f44e2a2f6c19ec51e7fcac83c4cd1fb9968' - 'SKIP') -_CORES=$(nproc --all) - -# compress the modules or not -_compress="y" - -# don't compress the package - we're just going to uncompress during install in a moment -PKGEXT='.pkg.tar' +license=('GPL2') +makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'libelf' 'coreutils') +options=('!strip') +source=('git+https://gitlab.com/xdevs23/linux-nitrous.git/' + # standard config files for mkinitcpio ramdisk + "${pkgbase}.preset") +sha256sums=('SKIP' + '48ef93bf8f8ff236c4e2092736d0add8f87cfc5416417c50966bb296ab5933ae') -prepare() { - cd "${srcdir}/linux-nitrous" - - # Number of CPU Cores - if [ $_CORES -lt 1 ]; then - _CORES=2 - fi - - git reset --hard -} +_kernelname=${pkgbase#linux} pkgver() { - cd "${srcdir}/linux-nitrous" - eval $(grep -o "^\(VERSION\|PATCHLEVEL\|SUBLEVEL\) = [0-9a-zA-Z_-]\+" Makefile | tr -d \ ) - printf "%s.%s.%s" $VERSION $PATCHLEVEL $SUBLEVEL + cd "${_srcname}" + + echo $pkgver-$pkgrel +} + +prepare() { + cd "${_srcname}" + + # don't run depmod on 'make install'. We'll do this ourselves in packaging + sed -i '2iexit 0' scripts/depmod.sh + + # get kernel version + make prepare + + # load configuration + # Configure the kernel. Replace the line below with one of your choice. + #make menuconfig # CLI menu for configuration + #make nconfig # new CLI menu for configuration + #make xconfig # X-based configuration + #make oldconfig # using old config from previous kernel version + #make olddefconfig # old config from previous kernel, defaults for new options + make CC=clang nitrous_defconfig + # ... or manually edit .config } build() { - cd "${srcdir}/linux-nitrous" - - # don't run depmod on 'make install'. We'll do this ourselves in packaging - sed -i '2iexit 0' scripts/depmod.sh - - if [ ! -d "${srcdir}/build" ]; then - msg2 "Creating build directory..." - mkdir -p "${srcdir}/build" - else - if [ -f "${srcdir}/build/.config" ]; then - msg "Cleaning build directory" - - rm -rf "${srcdir}/build" - - cd "${srcdir}/linux-nitrous" - make clean &> /dev/null - make mrproper &> /dev/null - - msg "Generating new config" - make -C "${srcdir}/linux-nitrous/" O="${srcdir}/build" CC=clang nitrous_defconfig > /dev/null - fi - fi - - if [ ! -f "${srcdir}/build/.config" ]; then - msg2 "Generating config..." - make -C "${srcdir}/linux-nitrous/" O="${srcdir}/build" CC=clang nitrous_defconfig > /dev/null - fi - - msg2 "Updating output directory Makefile..." - make -C "${srcdir}/linux-nitrous/" O="${srcdir}/build" CC=clang outputmakefile - - warning "Press ENTER if you want to build the kernel or CTRL+C to abort..." - read - - cd "${srcdir}/build" - - msg2 "Building kernel..."; make -j$_CORES CC=clang bzImage - msg2 "Building modules..."; make -j$_CORES CC=clang modules + cd "${_srcname}" + + make ${MAKEFLAGS} CC=clang bzImage modules } -package_linux-nitrous-git() { - depends=("coreutils" "linux-firmware" "kmod" "mkinitcpio>=0.5.20") - provides=("linux-nitrous" "linux-nitrous-git") - optdepends=("linux-nitrous-git-headers: to build third party modules such as NVIDIA drivers or OSSv4" - "crda: to set the correct wireless channels of your country") - backup=(etc/mkinitcpio.d/linux-nitrous.conf) - install=linux-nitrous.install - - msg2 "Determining kernel name..." - cd "${srcdir}/build" - _kernver="$(make kernelrelease -s)" - msg2 "Kernel release name is: $_kernver" - - cd "${srcdir}/build" - mkdir -p "$pkgdir/usr/lib" - - cd "${srcdir}/build" - - msg2 "Installing kernel image..." - install -D -m644 "arch/x86/boot/bzImage" "$pkgdir/boot/vmlinuz-linux-nitrous" - - msg2 "Installing modules (and firmware files)..." - make INSTALL_MOD_PATH="$pkgdir" modules_install - - if [ -d "$pkgdir/lib/firmware" ]; then - msg2 "Removing firmware files..." - rm -r "$pkgdir/lib/firmware" - fi - - if [ $_compress = "y" ]; then - msg2 "Compressing kernel modules with gzip..." - find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; - fi - - # make room for external modules - if [ -d "${pkgdir}/usr/lib/modules/extramodules-*" ]; then - rmdir "${pkgdir}/usr/lib/modules/extramodules-*" &> /dev/null - fi - - # add real version for building modules and running depmod from post_install/upgrade - mkdir -p "${pkgdir}/usr/lib/modules/extramodules-${_kernver}" - echo "${_kernver}" > "${pkgdir}/usr/lib/modules/extramodules-${_kernver}/version" - - # symlink extra - mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}" - cd "${pkgdir}/usr/lib/modules/${_kernver}" - ln -s "../extramodules-${_kernver}" "./extramodules" - - cd "${srcdir}/build" - - msg2 "Removing links to source and build directory..." - rm "$pkgdir/lib/modules/$_kernver/"{build,source} - - msg2 "Updating kernel version in install script..." - sed -i "s/_kernel_version=.*/_kernel_version=$_kernver/" \ - "$startdir/linux-nitrous.install" - - msg2 "Installing files for mkinitcpio..." - install -D -m644 "${srcdir}/linux-nitrous.conf" \ - "$pkgdir/etc/mkinitcpio.d/linux-nitrous.conf" - - install -D -m644 "${srcdir}/linux-nitrous.preset" \ - "$pkgdir/etc/mkinitcpio.d/linux-nitrous.preset" - sed -i "s/^ALL_kver=.*$/ALL_kver=$_kernver/" \ - "$pkgdir/etc/mkinitcpio.d/linux-nitrous.preset" - - # Now we call depmod... - depmod -b "$pkgdir" -F System.map "$_kernver" - - # move module tree /lib -> /usr/lib - cp -a "$pkgdir/lib" "$pkgdir/usr/" - - rm -rf "$pkgdir/lib" - find "$pkgdir" -type d -name .git -exec rm -r '{}' + +_package() { + pkgdesc="Modified Linux kernel optimized for Haswell (and newer) compiled using clang" + depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7') + optdepends=('crda: to set the correct wireless channels of your country') + provides=('linux') + backup=("etc/mkinitcpio.d/${pkgbase}.preset") + install=${pkgbase}.install + + cd "${_srcname}" + + KARCH=x86 + + # get kernel version + _kernver="$(make kernelrelease)" + _basekernel=${_kernver%%-*} + _basekernel=${_basekernel%.*} + + mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} + make CC=clang INSTALL_MOD_PATH="${pkgdir}" modules_install + cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" + + # set correct depmod command for install + cp -f "${startdir}/${install}" "${startdir}/${install}.pkg" + true && install=${install}.pkg + sed \ + -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \ + -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \ + -i "${startdir}/${install}" + + # install mkinitcpio preset file for kernel + install -D -m644 "${srcdir}/${pkgbase}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + sed \ + -e "1s|'linux.*'|'${pkgbase}'|" \ + -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \ + -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \ + -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \ + -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + + # remove build and source links + rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build} + # remove the firmware + rm -rf "${pkgdir}/lib/firmware" + # make room for external modules + ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules" + # add real version for building modules and running depmod from post_install/upgrade + mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}" + echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version" + + # Now we call depmod... + depmod -b "${pkgdir}" -F System.map "${_kernver}" + + # move module tree /lib -> /usr/lib + mkdir -p "${pkgdir}/usr" + mv "${pkgdir}/lib" "${pkgdir}/usr/" + + # add vmlinux + install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux" + + # add System.map + install -D -m644 System.map "${pkgdir}/boot/System.map-${_kernver}" } -package_linux-nitrous-git-headers() { - # AUR workaround - true && pkgdesc="Header files and scripts for building modules for linux-nitrous" - true && depends=("linux-nitrous-git") - true && conflicts=("linux-nitrous-headers") - true && provides=("linux-headers linux-nitrous-git-headers linux-nitrous-headers") - - _srcdir="/usr/src/linux-$_kernver" - - msg2 "Installing files necessary for 3rd party modules such as NVIDIA drivers or OSSv4..." - mkdir -p "${pkgdir}/usr/src/linux-$_kernver/"{arch/x86,include,tools/objtool} - - install -D -m755 "${srcdir}/build/tools/objtool/objtool" "${pkgdir}/usr/src/linux-$_kernver/tools/objtool/objtool" - install -D -m644 "${srcdir}/linux-nitrous/Makefile" "${pkgdir}/usr/src/linux-$_kernver/Makefile" - install -D -m644 "${srcdir}/linux-nitrous/kernel/Makefile" "${pkgdir}/usr/src/linux-$_kernver/kernel/Makefile" - install -D -m644 "${srcdir}/build/.config" "${pkgdir}/usr/src/linux-$_kernver/.config" - install -D -m644 "${srcdir}/build/Module.symvers" "${pkgdir}/usr/src/linux-$_kernver/Module.symvers" - install -D -m644 "${srcdir}/build/include/generated/uapi/linux/version.h" "${pkgdir}/usr/src/linux-$_kernver/include/linux/version.h" - install -D -m644 "${srcdir}/build/arch/x86/kernel/asm-offsets.s" "${pkgdir}/usr/src/linux-$_kernver/arch/x86/kernel/asm-offsets.s" - install -D -m644 "${srcdir}/linux-nitrous/arch/x86/Makefile" "${pkgdir}/usr/src/linux-$_kernver/arch/x86/Makefile" - - if [ "$CARCH" = "i686" ]; then - install -D -m644 "${srcdir}/linux-nitrous/arch/x86/Makefile_32.cpu" "${pkgdir}/usr/src/linux-$_kernver/arch/x86/Makefile_32.cpu" - fi - - cp -a "${srcdir}/linux-nitrous/scripts" "${pkgdir}/usr/src/linux-$_kernver" - cp -a "${srcdir}/build/scripts" "${pkgdir}/usr/src/linux-$_kernver" - cp -a "${srcdir}/linux-nitrous/include" "${pkgdir}/usr/src/linux-$_kernver" - cp -a "${srcdir}/build/include/"{generated,config} "${pkgdir}/usr/src/linux-$_kernver/include" - cp -a "${srcdir}/linux-nitrous/arch/x86/include" "${pkgdir}/usr/src/linux-$_kernver/arch/x86" - cp -a "${srcdir}/build/arch/x86/include" "${pkgdir}/usr/src/linux-$_kernver/arch/x86" - - cd "${srcdir}/linux-nitrous" - { - find drivers -type f -name "*.h"; - find . -type f -name "Kconfig*"; - } | while read file; do - install -D -m644 "$file" "${pkgdir}/usr/src/linux-$_kernver/$file" - done - - msg2 "Fixing permissions on scripts directory..." - chmod og-w -R "${pkgdir}/usr/src/linux-$_kernver/scripts" - - msg2 "Creating symlinks..." - mkdir -p "${pkgdir}/usr/lib/modules/$_kernver/" - ln -s "/usr/src/linux-$_kernver" "${pkgdir}/usr/lib/modules/$_kernver/build" - ln -s "/usr/src/linux-$_kernver" "${pkgdir}/usr/lib/modules/$_kernver/source" - - find "$pkgdir" -type d -name .git -exec rm -r '{}' + +_package-headers() { + pkgdesc="Header files and scripts for building modules for Linux kernel (git version)" + provides=('linux-headers') + + install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" + + cd "${_srcname}" + install -D -m644 Makefile \ + "${pkgdir}/usr/lib/modules/${_kernver}/build/Makefile" + install -D -m644 kernel/Makefile \ + "${pkgdir}/usr/lib/modules/${_kernver}/build/kernel/Makefile" + install -D -m644 .config \ + "${pkgdir}/usr/lib/modules/${_kernver}/build/.config" + + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include" + + for i in acpi asm-generic config crypto drm generated keys linux math-emu \ + media net pcmcia scsi sound trace uapi video xen; do + cp -a include/${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/include/" + done + + # copy arch includes for external modules + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/x86" + cp -a arch/x86/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/x86/" + + # copy files necessary for later builds, like nvidia and vmware + cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build" + cp -a scripts "${pkgdir}/usr/lib/modules/${_kernver}/build" + + # fix permissions on scripts dir + chmod og-w -R "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/.tmp_versions" + + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel" + + cp arch/${KARCH}/Makefile "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/" + + if [ "${CARCH}" = "i686" ]; then + cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/" + fi + + cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel/" + + # add dm headers + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md" + cp drivers/md/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md" + + # add inotify.h + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux" + cp include/linux/inotify.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux/" + + # add wireless headers + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/" + cp net/mac80211/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/" + + # add dvb headers for external modules + # http://bugs.archlinux.org/task/11194 + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/" + cp include/config/dvb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/" + + # add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new + # in reference to: + # http://bugs.archlinux.org/task/13146 + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/" + cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/" + cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/" + + # add dvb headers + # in reference to: + # http://bugs.archlinux.org/task/20402 + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb" + cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb/" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends" + cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners" + cp drivers/media/tuners/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners/" + + # add xfs and shmem for aufs building + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/mm" + # removed in 3.17 series + # cp fs/xfs/xfs_sb.h "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs/xfs_sb.h" + + # copy in Kconfig files + for i in $(find . -name "Kconfig*"); do + mkdir -p "${pkgdir}"/usr/lib/modules/${_kernver}/build/`echo ${i} | sed 's|/Kconfig.*||'` + cp ${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/${i}" + done + + # Fix file conflict with -doc package + rm "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild"/Kconfig.*-* + + # Add objtool for CONFIG_STACK_VALIDATION + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/tools" + cp -a tools/objtool "${pkgdir}/usr/lib/modules/${_kernver}/build/tools" + + chown -R root.root "${pkgdir}/usr/lib/modules/${_kernver}/build" + find "${pkgdir}/usr/lib/modules/${_kernver}/build" -type d -exec chmod 755 {} \; + + # strip scripts directory + find "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "${binary}")" in + *application/x-sharedlib*) # Libraries (.so) + /usr/bin/strip ${STRIP_SHARED} "${binary}";; + *application/x-archive*) # Libraries (.a) + /usr/bin/strip ${STRIP_STATIC} "${binary}";; + *application/x-executable*) # Binaries + /usr/bin/strip ${STRIP_BINARIES} "${binary}";; + esac + done + + # remove unneeded architectures + rm -rf "${pkgdir}"/usr/lib/modules/${_kernver}/build/arch/{alpha,arc,arm,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa} } + +_package-docs() { + pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel (git version)" + provides=('linux-docs') + + cd "${_srcname}" + + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build" + cp -al Documentation "${pkgdir}/usr/lib/modules/${_kernver}/build" + find "${pkgdir}" -type f -exec chmod 444 {} \; + find "${pkgdir}" -type d -exec chmod 755 {} \; + + # remove files already in linux package + rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile" + rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/Kconfig" +} + +pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs") +for _p in ${pkgname[@]}; do + eval "package_${_p}() { + $(declare -f "_package${_p#${pkgbase}}") + _package${_p#${pkgbase}} + }" +done + +# vim:set ts=8 sts=2 sw=2 et: diff --git a/linux-nitrous-git.install b/linux-nitrous-git.install new file mode 100644 index 000000000000..ef42413835ac --- /dev/null +++ b/linux-nitrous-git.install @@ -0,0 +1,37 @@ +# arg 1: the new package version +# arg 2: the old package version + +KERNEL_NAME= +KERNEL_VERSION= + +post_install () { + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux${KERNEL_NAME} +} + +post_upgrade() { + if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then + echo "WARNING: /boot appears to be a separate partition but is not mounted." + fi + + # updating module dependencies + echo ">>> Updating module dependencies. Please wait ..." + depmod ${KERNEL_VERSION} + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + mkinitcpio -p linux${KERNEL_NAME} + + if [ $(vercmp $2 3.13) -lt 0 ]; then + echo ">>> WARNING: AT keyboard support is no longer built into the kernel." + echo ">>> In order to use your keyboard during early init, you MUST" + echo ">>> include the 'keyboard' hook in your mkinitcpio.conf." + fi +} + +post_remove() { + # also remove the compat symlinks + rm -f boot/initramfs-linux${KERNEL_NAME}.img + rm -f boot/initramfs-linux${KERNEL_NAME}-fallback.img +} diff --git a/linux-nitrous-git.preset b/linux-nitrous-git.preset new file mode 100644 index 000000000000..07480def59f5 --- /dev/null +++ b/linux-nitrous-git.preset @@ -0,0 +1,14 @@ +# mkinitcpio preset file for the 'linux-git' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/boot/vmlinuz-linux-nitrous-git" + +PRESETS=('default' 'fallback') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-linux-nitrous-git.img" +#default_options="" + +#fallback_config="/etc/mkinitcpio.conf" +fallback_image="/boot/initramfs-linux-nitrous-git-fallback.img" +fallback_options="-S autodetect" diff --git a/linux-nitrous.conf b/linux-nitrous.conf deleted file mode 100644 index a237c6f4f55b..000000000000 --- a/linux-nitrous.conf +++ /dev/null @@ -1,5 +0,0 @@ -MODULES="" -BINARIES="" -FILES="" -HOOKS="base udev encrypt block autodetect" -COMPRESSION="gzip" diff --git a/linux-nitrous.install b/linux-nitrous.install deleted file mode 100644 index 081ad9811cc9..000000000000 --- a/linux-nitrous.install +++ /dev/null @@ -1,46 +0,0 @@ -_kernel_version=5.3.8-nitrous+ - -_r="\033[00;31m" -_y="\033[00;33m" -_g="\033[00;32m" -_b="\033[00;34m" -_B="\033[01;34m" -_W="\033[01;37m" -_n="\033[00;0m" - -post_install() { - echo -e "" - echo -e "$_B >$_W Kernel version:$_b $_kernel_version$_n" - - echo -e "" - echo -e "$_B >$_W Updating module dependencies$_n" - /sbin/depmod "$_kernel_version" - - echo -e "" - echo -e "$_B >$_W Mkinitcpio setup" - echo -e "$_n If you use LVM2, encrypted root or software RAID," - echo -e "$_n ensure you enable support in $_b/etc/mkinitcpio.d/linux-nitrous.conf" - echo -e "" - echo -e "$_n More information about mkinitcpio setup can be found here:" - echo -e "$_b http://wiki.archlinux.org/index.php/Mkinitcpio" - - echo -e "" - echo -e "$_B >$_W Generating initial ramdisks using mkinitcpio$_n" - mkinitcpio -p linux-nitrous - - echo -e "" -} - -post_upgrade() { - post_install $@ -} - -post_remove() { - dir="/usr/lib/modules/extramodules-$_kernel_version"; - - if [ "$(ls -A $dir)" ]; then - echo "Removing $dir - please note this removes any package files or extra modules you may have in there." - fi - rm -rf "/usr/lib/modules/$_kernel_version" - rm -rf "/usr/lib/modules/extramodules-$_kernel_version" -} diff --git a/linux-nitrous.preset b/linux-nitrous.preset deleted file mode 100644 index 512b84a9a0f4..000000000000 --- a/linux-nitrous.preset +++ /dev/null @@ -1,7 +0,0 @@ -# DO NOT EDIT THE LINE BELOW -ALL_kver="to be replaced" - -PRESETS=("default") - -default_config="/etc/mkinitcpio.d/linux-nitrous.conf" -default_image="/boot/initramfs-linux-nitrous.img" |