From 74256266ff1ec339bf8263219f5f9909fe3cc5ac Mon Sep 17 00:00:00 2001 From: illiliti Date: Sat, 8 May 2021 15:58:26 +0000 Subject: [PATCH] copy-builtin: posix conformance This commits contains changes to allow running `copy-builtin` without bash + some minor improvements. changed shebang to /bin/sh added -f option to `set` to globally disable unneeded globbing replaced all `echo` commands within add_after() with `printf` alternative to avoid possible issues with options (-neE) dropped non-portable superfluous `readlink` command replaced superfluous `true` command with `:` builtin alternative replaced non-portable `--recursive` option of `cp` command with `-R` alternative dropped non-portable `local` keyword Reviewed-by: Brian Behlendorf Signed-off-by: illiliti Closes #12004 --- copy-builtin | 47 +++++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/copy-builtin b/copy-builtin index 36e19545d..cd6f25909 100755 --- a/copy-builtin +++ b/copy-builtin @@ -1,6 +1,6 @@ -#!/usr/bin/env bash +#!/bin/sh -set -e +set -ef usage() { @@ -9,26 +9,25 @@ usage() } [ "$#" -eq 1 ] || usage -KERNEL_DIR="$(readlink --canonicalize-existing "$1")" +KERNEL_DIR="$1" if ! [ -e 'zfs_config.h' ] then - echo >&2 - echo " $0: you did not run configure, or you're not in the ZFS source directory." >&2 - echo " $0: run configure with --with-linux=$KERNEL_DIR and --enable-linux-builtin." >&2 - echo >&2 - exit 1 -fi + echo "$0: you did not run configure, or you're not in the ZFS source directory." + echo "$0: run configure with --with-linux=$KERNEL_DIR and --enable-linux-builtin." -make clean || true + exit 1 +fi >&2 + +make clean ||: make gitrev rm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs" -cp --recursive include "$KERNEL_DIR/include/zfs" -cp --recursive module "$KERNEL_DIR/fs/zfs" +cp -R include "$KERNEL_DIR/include/zfs" +cp -R module "$KERNEL_DIR/fs/zfs" cp zfs_config.h "$KERNEL_DIR/include/zfs/" -cat > "$KERNEL_DIR/fs/zfs/Kconfig" <<"EOF" +cat > "$KERNEL_DIR/fs/zfs/Kconfig" < "$FILE.new" @@ -72,8 +70,5 @@ add_after() add_after "$KERNEL_DIR/fs/Kconfig" 'if BLOCK' 'source "fs/zfs/Kconfig"' add_after "$KERNEL_DIR/fs/Makefile" 'endif' 'obj-$(CONFIG_ZFS) += zfs/' -echo >&2 -echo " $0: done." >&2 -echo " $0: now you can build the kernel with ZFS support." >&2 -echo " $0: make sure you enable ZFS support (CONFIG_ZFS) before building." >&2 -echo >&2 +echo "$0: done. now you can build the kernel with ZFS support." >&2 +echo "$0: make sure you enable ZFS support (CONFIG_ZFS) before building." >&2