From 5f0fdb96b898543f060ed9e2ec7890ead404561c Mon Sep 17 00:00:00 2001 From: Horea Christian Date: Sun, 3 Nov 2019 21:13:54 +0100 Subject: [PATCH] Tabs not spaces --- mkstage4.sh | 294 ++++++++++++++++++++++++++-------------------------- 1 file changed, 147 insertions(+), 147 deletions(-) diff --git a/mkstage4.sh b/mkstage4.sh index 1f50cb8..b45f0b1 100755 --- a/mkstage4.sh +++ b/mkstage4.sh @@ -3,8 +3,8 @@ # checks if run as root: if [ "$(whoami)" != "root" ] then - echo "$(basename "$0"): must be root." - exit 1 + echo "$(basename "$0"): must be root." + exit 1 fi #set flag variables to null @@ -20,83 +20,83 @@ HAS_PORTAGEQ=0 if command -v portageq &>/dev/null then - HAS_PORTAGEQ=1 + HAS_PORTAGEQ=1 fi if [ "$(getconf LONG_BIT)" == "64" ] then - x86_64=1 + x86_64=1 fi USAGE="usage:\n\ - $(basename "$0") [-q -c -b -l -k -p] [-s || -t ] [-e ] [custom-tar-options]\n\ - -q: activates quiet mode (no confirmation).\n\ - -c: excludes connman network lists.\n\ - -b: excludes boot directory.\n\ - -l: excludes lost+found directory.\n\ - -p: compresses parallelly using pbzip2.\n\ - -e: an additional excludes directory (one dir one -e, donot use it with *).\n\ - -s: makes tarball of current system.\n\ - -k: separately save current kernel modules and src (smaller & save decompression time).\n\ - -t: makes tarball of system located at the .\n\ - -h: displays help message." + $(basename "$0") [-q -c -b -l -k -p] [-s || -t ] [-e ] [custom-tar-options]\n\ + -q: activates quiet mode (no confirmation).\n\ + -c: excludes connman network lists.\n\ + -b: excludes boot directory.\n\ + -l: excludes lost+found directory.\n\ + -p: compresses parallelly using pbzip2.\n\ + -e: an additional excludes directory (one dir one -e, donot use it with *).\n\ + -s: makes tarball of current system.\n\ + -k: separately save current kernel modules and src (smaller & save decompression time).\n\ + -t: makes tarball of system located at the .\n\ + -h: displays help message." # reads options: while getopts ":t:e:skqcblph" flag do - case "$flag" in - t) - TARGET="$OPTARG" - ;; - s) - TARGET="/" - ;; - q) - QUIET=1 - ;; - k) - S_KERNEL=1 - ;; - c) - EXCLUDE_CONNMAN=1 - ;; - b) - EXCLUDE_BOOT=1 - ;; - l) - EXCLUDE_LOST=1 - ;; - e) - USER_EXCL+=("--exclude=${OPTARG}") - ;; - p) - PARALLEL=1 - ;; - h) - echo -e "$USAGE" - exit 0 - ;; - \?) - echo "Invalid option: -$OPTARG" >&2 - exit 1 - ;; - :) - echo "Option -$OPTARG requires an argument." >&2 - exit 1 - ;; - esac + case "$flag" in + t) + TARGET="$OPTARG" + ;; + s) + TARGET="/" + ;; + q) + QUIET=1 + ;; + k) + S_KERNEL=1 + ;; + c) + EXCLUDE_CONNMAN=1 + ;; + b) + EXCLUDE_BOOT=1 + ;; + l) + EXCLUDE_LOST=1 + ;; + e) + USER_EXCL+=("--exclude=${OPTARG}") + ;; + p) + PARALLEL=1 + ;; + h) + echo -e "$USAGE" + exit 0 + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + exit 1 + ;; + :) + echo "Option -$OPTARG requires an argument." >&2 + exit 1 + ;; + esac done if [ -z "$TARGET" ] then - echo "$(basename "$0"): no target specified." - echo -e "$USAGE" - exit 1 + echo "$(basename "$0"): no target specified." + echo -e "$USAGE" + exit 1 fi # make sure TARGET path ends with slash -if [[ "$TARGET" != */ ]] +if [[ "$TARGET" != */ ]] then - TARGET="${TARGET}/" + TARGET="${TARGET}/" fi # shifts pointer to read mandatory output file specification @@ -106,23 +106,23 @@ ARCHIVE=$1 # checks for correct output file specification if [ -z "$ARCHIVE" ] then - echo "$(basename "$0"): no archive file name specified." - echo -e "$USAGE" - exit 1 + echo "$(basename "$0"): no archive file name specified." + echo -e "$USAGE" + exit 1 fi # checks for quiet mode (no confirmation) if ((QUIET == 1)) then - AGREE="yes" + AGREE="yes" fi # determines if filename was given with relative or absolute path if (($(grep -c '^\/' <<< "$ARCHIVE") > 0)); then - STAGE4_FILENAME="${ARCHIVE}.tar.bz2" + STAGE4_FILENAME="${ARCHIVE}.tar.bz2" else - STAGE4_FILENAME="$(pwd)/${ARCHIVE}.tar.bz2" + STAGE4_FILENAME="$(pwd)/${ARCHIVE}.tar.bz2" fi #Shifts pointer to read custom tar options @@ -131,68 +131,68 @@ mapfile -t OPTIONS <<< "$@" if ((S_KERNEL == 1)) then - USER_EXCL+=("--exclude=${TARGET}usr/src/*") - if ((x86_64 == 1)) - then - USER_EXCL+=("--exclude=${TARGET}lib64/modules/*") - else - USER_EXCL+=("--exclude=${TARGET}lib/modules/*") - fi + USER_EXCL+=("--exclude=${TARGET}usr/src/*") + if ((x86_64 == 1)) + then + USER_EXCL+=("--exclude=${TARGET}lib64/modules/*") + else + USER_EXCL+=("--exclude=${TARGET}lib/modules/*") + fi fi # Excludes: EXCLUDES=( - "--exclude=${TARGET}home/*/.bash_history" - "--exclude=${TARGET}dev/*" - "--exclude=${TARGET}var/tmp/*" - "--exclude=${TARGET}media/*" - "--exclude=${TARGET}mnt/*/*" - "--exclude=${TARGET}proc/*" - "--exclude=${TARGET}run/*" - "--exclude=${TARGET}sys/*" - "--exclude=${TARGET}tmp/*" - "--exclude=${TARGET}var/lock/*" - "--exclude=${TARGET}var/log/*" - "--exclude=${TARGET}var/run/*" - "--exclude=${TARGET}var/lib/docker/*" + "--exclude=${TARGET}home/*/.bash_history" + "--exclude=${TARGET}dev/*" + "--exclude=${TARGET}var/tmp/*" + "--exclude=${TARGET}media/*" + "--exclude=${TARGET}mnt/*/*" + "--exclude=${TARGET}proc/*" + "--exclude=${TARGET}run/*" + "--exclude=${TARGET}sys/*" + "--exclude=${TARGET}tmp/*" + "--exclude=${TARGET}var/lock/*" + "--exclude=${TARGET}var/log/*" + "--exclude=${TARGET}var/run/*" + "--exclude=${TARGET}var/lib/docker/*" ) EXCLUDES_DEFAULT_PORTAGE=( - "--exclude=${TARGET}var/db/repos/gentoo/*" - "--exclude=${TARGET}var/cache/distfiles/*" - "--exclude=${TARGET}usr/portage/*" + "--exclude=${TARGET}var/db/repos/gentoo/*" + "--exclude=${TARGET}var/cache/distfiles/*" + "--exclude=${TARGET}usr/portage/*" ) EXCLUDES+=("${USER_EXCL[@]}") if [ "$TARGET" == '/' ] then - EXCLUDES+=("--exclude=${STAGE4_FILENAME#/}") - if ((HAS_PORTAGEQ == 1)) - then - EXCLUDES+=("--exclude=$(portageq get_repo_path / gentoo)/*") - EXCLUDES+=("--exclude=$(portageq distdir)/*") - else - EXCLUDES+=("${EXCLUDES_DEFAULT_PORTAGE[@]}") - fi + EXCLUDES+=("--exclude=${STAGE4_FILENAME#/}") + if ((HAS_PORTAGEQ == 1)) + then + EXCLUDES+=("--exclude=$(portageq get_repo_path / gentoo)/*") + EXCLUDES+=("--exclude=$(portageq distdir)/*") + else + EXCLUDES+=("${EXCLUDES_DEFAULT_PORTAGE[@]}") + fi else - EXCLUDES+=("${EXCLUDES_DEFAULT_PORTAGE[@]}") + EXCLUDES+=("${EXCLUDES_DEFAULT_PORTAGE[@]}") fi if ((EXCLUDE_CONNMAN == 1)) then - EXCLUDES+=("--exclude=${TARGET}var/lib/connman/*") + EXCLUDES+=("--exclude=${TARGET}var/lib/connman/*") fi if ((EXCLUDE_BOOT == 1)) then - EXCLUDES+=("--exclude=${TARGET}boot/*") + EXCLUDES+=("--exclude=${TARGET}boot/*") fi if ((EXCLUDE_LOST == 1)) then - EXCLUDES+=("--exclude=lost+found") + EXCLUDES+=("--exclude=lost+found") fi # Generic tar options: @@ -200,60 +200,60 @@ TAR_OPTIONS=(-cpP --ignore-failed-read "--xattrs-include='*.*'" --numeric-owner) if [ ${PARALLEL} -eq 1 ] then - if command -v pbzip2 &>/dev/null; then - TAR_OPTIONS+=("--use-compress-prog=pbzip2") - else - echo "WARING: pbzip2 isn't installed, single-threaded compressing is used." >&2 - TAR_OPTIONS+=("-j") - fi + if command -v pbzip2 &>/dev/null; then + TAR_OPTIONS+=("--use-compress-prog=pbzip2") + else + echo "WARING: pbzip2 isn't installed, single-threaded compressing is used." >&2 + TAR_OPTIONS+=("-j") + fi else - TAR_OPTIONS+=("-j") + TAR_OPTIONS+=("-j") fi # if not in quiet mode, this message will be displayed: if [[ "x$AGREE" != 'xyes' ]] then - echo "Are you sure that you want to make a stage 4 tarball of the system" - echo "located under the following directory?" - echo "$TARGET" - echo "" - echo "WARNING: since all data is saved by default the user should exclude all" - echo "security- or privacy-related files and directories, which are not" - echo "already excluded by mkstage4 options (such as -c), manually per cmdline." - echo "example: \$ $(basename "$0") -s /my-backup --exclude=/etc/ssh/ssh_host*" - echo "" - echo "COMMAND LINE PREVIEW:" - echo "tar ${TAR_OPTIONS[*]} ${EXCLUDES[*]} ${OPTIONS[*]} -f $STAGE4_FILENAME ${TARGET}*" - if ((S_KERNEL == 1)) - then - echo "" - echo "tar ${TAR_OPTIONS[*]} -f $STAGE4_FILENAME.ksrc ${TARGET}usr/src/linux-$(uname -r)*" - if ((x86_64 == 1)) - then - echo "" - echo "tar ${TAR_OPTIONS[*]} -f $STAGE4_FILENAME.kmod ${TARGET}lib64/modules/$(uname -r)*" - else - echo "" - echo "tar ${TAR_OPTIONS[*]} -f $STAGE4_FILENAME.kmod ${TARGET}lib/modules/$(uname -r)*" - fi - fi - echo "" - echo -n "Type \"yes\" to continue or anything else to quit: " - read -r AGREE + echo "Are you sure that you want to make a stage 4 tarball of the system" + echo "located under the following directory?" + echo "$TARGET" + echo "" + echo "WARNING: since all data is saved by default the user should exclude all" + echo "security- or privacy-related files and directories, which are not" + echo "already excluded by mkstage4 options (such as -c), manually per cmdline." + echo "example: \$ $(basename "$0") -s /my-backup --exclude=/etc/ssh/ssh_host*" + echo "" + echo "COMMAND LINE PREVIEW:" + echo "tar ${TAR_OPTIONS[*]} ${EXCLUDES[*]} ${OPTIONS[*]} -f $STAGE4_FILENAME ${TARGET}*" + if ((S_KERNEL == 1)) + then + echo "" + echo "tar ${TAR_OPTIONS[*]} -f $STAGE4_FILENAME.ksrc ${TARGET}usr/src/linux-$(uname -r)*" + if ((x86_64 == 1)) + then + echo "" + echo "tar ${TAR_OPTIONS[*]} -f $STAGE4_FILENAME.kmod ${TARGET}lib64/modules/$(uname -r)*" + else + echo "" + echo "tar ${TAR_OPTIONS[*]} -f $STAGE4_FILENAME.kmod ${TARGET}lib/modules/$(uname -r)*" + fi + fi + echo "" + echo -n "Type \"yes\" to continue or anything else to quit: " + read -r AGREE fi # start stage4 creation: if [ "$AGREE" == "yes" ] then - tar "${TAR_OPTIONS[@]}" "${EXCLUDES[@]}" "${OPTIONS[@]}" -f "$STAGE4_FILENAME" ${TARGET}* - if [ ${S_KERNEL} -eq 1 ] - then - tar "${TAR_OPTIONS[@]}" -f "$STAGE4_FILENAME.ksrc" "${TARGET}usr/src/linux-$(uname -r)"* - if [ ${x86_64} -eq 1 ] - then - tar "${TAR_OPTIONS[@]}" -f "$STAGE4_FILENAME.kmod" "${TARGET}lib64/modules/$(uname -r)"* - else - tar "${TAR_OPTIONS[@]}" -f "$STAGE4_FILENAME.kmod" "${TARGET}lib/modules/$(uname -r)"* - fi - fi + tar "${TAR_OPTIONS[@]}" "${EXCLUDES[@]}" "${OPTIONS[@]}" -f "$STAGE4_FILENAME" ${TARGET}* + if [ ${S_KERNEL} -eq 1 ] + then + tar "${TAR_OPTIONS[@]}" -f "$STAGE4_FILENAME.ksrc" "${TARGET}usr/src/linux-$(uname -r)"* + if [ ${x86_64} -eq 1 ] + then + tar "${TAR_OPTIONS[@]}" -f "$STAGE4_FILENAME.kmod" "${TARGET}lib64/modules/$(uname -r)"* + else + tar "${TAR_OPTIONS[@]}" -f "$STAGE4_FILENAME.kmod" "${TARGET}lib/modules/$(uname -r)"* + fi + fi fi