diff options
Diffstat (limited to 'testing/source/linux-5.14.x/kernel-generic.SlackBuild')
-rwxr-xr-x | testing/source/linux-5.14.x/kernel-generic.SlackBuild | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/testing/source/linux-5.14.x/kernel-generic.SlackBuild b/testing/source/linux-5.14.x/kernel-generic.SlackBuild deleted file mode 100755 index 1f2fb66f..00000000 --- a/testing/source/linux-5.14.x/kernel-generic.SlackBuild +++ /dev/null @@ -1,158 +0,0 @@ -#!/bin/sh - -# Copyright 2018, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# To use this script, point it to a Linux kernel source tree and a .config -# file by setting the appropriate environment variables: -# -# KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-generic.SlackBuild -# -# It can also build the huge (or any other) kernel: -# -# KERNEL_NAME=huge KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-huge-4.14.23 ./kernel-generic.SlackBuild -# -# By default, it will call the package "kernel-generic" and use the source and -# .config already in /usr/src/linux (if possible). - -cd $(dirname $0) ; CWD=$(pwd) - -KERNEL_NAME=${KERNEL_NAME:-generic} -KERNEL_SOURCE=${KERNEL_SOURCE:-/usr/src/linux} -KERNEL_CONFIG=${KERNEL_CONFIG:-/usr/src/linux/.config} -CONFIG_SUFFIX=${CONFIG_SUFFIX:-} -BUILD=${BUILD:-1} -if [ ! -r "${KERNEL_CONFIG}" ]; then - echo "Error: the KERNEL_CONFIG environment variable needs to be set to the" - echo ".config file to be used to build this kernel. Example:" - echo "KERNEL_NAME=generic KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-generic.SlackBuild" - exit 1 -fi -if [ ! -d "${KERNEL_SOURCE}" ]; then - echo "Error: kernel source directory ${KERNEL_SOURCE} does not exist." - exit 1 -fi -# Get the kernel version from the kernel Makefile: -VERSION=$(grep "^VERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^PATCHLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^SUBLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)$(grep "^EXTRAVERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev) -# Set LOCALVERSION to the value found inside the .config: -LOCALVERSION="$(cat ${KERNEL_SOURCE}/.config 2> /dev/null | grep CONFIG_LOCALVERSION= | cut -f 2 -d = | tr -d \")" -# The default kernel arch is x86 for all 32-bit and 64-bit x86: -if [ -z "${KERNEL_ARCH}" ]; then - case "$(uname -m)" in - i?86) KERNEL_ARCH=x86 ;; - x86_64) KERNEL_ARCH=x86 ;; - # Use uname -m for all other archs: - *) KERNEL_ARCH=$(uname -m) ;; - esac -fi -# If this variable is set to an output directory, we will also put copies of -# System.map.gz, bzImage, and config in there: -KERNEL_OUTPUT_DIRECTORY=${KERNEL_OUTPUT_DIRECTORY:-} - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - # We will need to copy the config and run make oldconfig and make - # prepare in order to generate kernel/bounds.s, where we can find - # the true $PACKAGE_ARCH. - if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then - cp -a ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config - fi - cd ${KERNEL_SOURCE} - make oldconfig 1> /dev/null 2> /dev/null - make prepare 1> /dev/null 2> /dev/null - PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _) - echo "kernel-${KERNEL_NAME}${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz" - exit 0 -fi - -NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -TMP=${TMP:-/tmp} -PKG=$TMP/package-kernel-${KERNEL_NAME} - -rm -rf $PKG -mkdir -p $TMP $PKG - -# Set the variable $KERNEL_CLEAN to anything to run "make clean" before the -# build. Default is to start compiling in the tree as we found it. -if [ ! -z "${KERNEL_CLEAN}" ]; then - ( cd ${KERNEL_SOURCE} - echo "Cleaning kernel source (make clean)..." - make clean - # Make sure header files aren't missing... - make prepare - # Don't package the kernel in the sources: - find . -name "*Image" -exec rm "{}" \+ - # No need for these: - rm -f .config.old .version - find . -name "*.cmd" -exec rm -f "{}" \+ - rm .*.d - ) -fi - -# Copy the .config into the kernel source directory (unless it's there already) -if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then - echo "Copying the .config file to the kernel source tree:" - cp -a --verbose ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config -fi - -( cd ${KERNEL_SOURCE} - echo "Running make oldconfig..." - make oldconfig - echo "Building kernel..." - make $NUMJOBS bzImage || make bzImage || exit 1 - # Output files to a directory, if requested: - if [ ! -z "${KERNEL_OUTPUT_DIRECTORY}" ]; then - echo "Copying files to ${KERNEL_OUTPUT_DIRECTORY}..." - mkdir -p ${KERNEL_OUTPUT_DIRECTORY} - rm -f ${KERNEL_OUTPUT_DIRECTORY}/* - cp -a --verbose System.map ${KERNEL_OUTPUT_DIRECTORY} - cp -a --verbose .config ${KERNEL_OUTPUT_DIRECTORY}/config - cp -a --verbose arch/${KERNEL_ARCH}/boot/bzImage ${KERNEL_OUTPUT_DIRECTORY} - gzip -9 ${KERNEL_OUTPUT_DIRECTORY}/System.map - fi - echo "Preparing the package in $PKG..." - mkdir -p $PKG/boot - cp -a --verbose System.map $PKG/boot/System.map-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} - cp -a --verbose .config $PKG/boot/config-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} - cp -a --verbose arch/${KERNEL_ARCH}/boot/bzImage $PKG/boot/vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} - # Make symlinks: - ln -sf System.map-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/System.map - ln -sf config-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} $PKG/boot/config - ln -sf vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/vmlinuz - ln -sf vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/vmlinuz-${KERNEL_NAME}${LOCALVERSION} -) || exit 1 - -# Fetch the kernel architecture from the source tree: -cd ${KERNEL_SOURCE} -PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _) - -mkdir $PKG/install -if [ -r $CWD/slack-desc/slack-desc.kernel-${KERNEL_NAME}${LOCALVERSION}.${PACKAGE_ARCH} ]; then - cat $CWD/slack-desc/slack-desc.kernel-${KERNEL_NAME}${LOCALVERSION}.${PACKAGE_ARCH} > $PKG/install/slack-desc -else - cat $CWD/slack-desc/slack-desc.kernel-template | sed "s/%PACKAGE_NAME%/kernel-${KERNEL_NAME}${LOCALVERSION}/g" > $PKG/install/slack-desc -fi - -# Make the package: -cd $PKG -/sbin/makepkg -l y -c n $TMP/kernel-${KERNEL_NAME}${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz - |