diff --git a/kernel-source.build-modules.sh b/kernel-source.build-modules.sh index 1ff1ee9..55a308c 100644 --- a/kernel-source.build-modules.sh +++ b/kernel-source.build-modules.sh @@ -1,20 +1,29 @@ -#!/bin/sh +#!/bin/bash if [ $# != 1 ]; then echo building a openafs-kernel module for the running kernel - echo Need one of: build build_debug install + echo Need one of: build build_debug install exit 1 fi +rootdir=`cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd` + +if [ -z "$rootdir" ]; then + echo "failed to determine the dirname of this script" + exit 1 +fi + +cd "$rootdir" + LOGFILE=libafs_tree/build.log -kernel_flavour=`uname -r | awk -F- '{print $NF}'` +kernel_flavour=`uname -r | awk -F- '{print $NF}'` kernel_version=`uname -r | sed "s/-$kernel_flavour//"` arch=`uname -m` -suse_flavour=`cat /etc/SuSE-release | head -1 | awk '{print $1}' ` -suse_version=`cat /etc/SuSE-release | grep VERSION | awk '{print $NF}' ` +suse_flavour=`cat /etc/os-release | grep PRETTY_NAME | awk -F '=' '{print $2}'` +suse_version=`cat /etc/os-release | grep VERSION_ID | awk -F '=' '{print $2}'` -echo This SuSE is version \"$suse_version\" of flavour \"$suse_flavour\" +echo This SUSE is version $suse_version of flavour $suse_flavour echo you are running the kernel \"$kernel_version\" of flavour \"$kernel_flavour\" on \"$arch\" echo all output is saved into $LOGFILE @@ -25,14 +34,14 @@ fi if [ $1 == "build" -o $1 == "build_debug" ]; then cd libafs_tree echo calling configure... - ./configure --with-linux-kernel-headers=/usr/src/linux/ --with-linux-kernel-build=/usr/src/linux-obj/$arch/$kernel_flavour $DEBUG_OPT > build.log 2>&1 - if [ $? != 0 ]; then + ./configure --with-linux-kernel-headers=/usr/src/linux/ --with-linux-kernel-build=/usr/src/linux-obj/$arch/$kernel_flavour $DEBUG_OPT > build.log 2>&1 + if [ $? != 0 ]; then echo configure failed! See $LOGFILE for details exit $? fi echo calling make - make >> build.log 2>&1 - if [ $? != 0 ]; then + make >> build.log 2>&1 + if [ $? != 0 ]; then echo make failed! See $LOGFILE for details exit $? fi @@ -47,9 +56,9 @@ if [ $1 == "install" ]; then module_files="afspag.ko libafs.ko" build_dir=libafs_tree/src/libafs/MODLOAD-$kernel_version-$kernel_flavour-MP/ install_dir=/lib/modules/$kernel_version-$kernel_flavour - echo installing kernel-modules into + echo installing kernel-modules into for mod in $module_files; do - cp -v $build_dir/$mod $install_dir/$mod + cp -v $build_dir/$mod $install_dir/$mod done /sbin/depmod -a fi diff --git a/openafs.changes b/openafs.changes index 8567134..0f09bf6 100644 --- a/openafs.changes +++ b/openafs.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Feb 22 11:44:25 UTC 2021 - Matthias Gerstner + +- kernel-source.build-modules.sh: choose safe CWD while executing the build to + prevent files being created in unsafe locations. Use new SUSE naming + convention and rely on /etc/os-release, since /etc/SuSE-release no longer + exists. + ------------------------------------------------------------------- Fri Feb 5 08:41:48 UTC 2021 - Christof Hanke