From b5d5402e439f5edfd642fb4f680d596f5992e874 Mon Sep 17 00:00:00 2001 From: Levente Polyak Date: Mon, 10 Oct 2022 00:37:51 +0200 Subject: src: modularize repo layout into a library This will greatly help us to structure the functionality and commands in a more sane way. We will distribute the sources as actual libraries and reuse code with imports instead of processing everything with m4 and duplicating a lot of code. --- lib/archroot.sh | 62 --------------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 lib/archroot.sh (limited to 'lib/archroot.sh') diff --git a/lib/archroot.sh b/lib/archroot.sh deleted file mode 100644 index d7917da..0000000 --- a/lib/archroot.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/hint/bash -# -# SPDX-License-Identifier: GPL-3.0-or-later -: - -# shellcheck disable=2034 -CHROOT_VERSION='v4' - -## -# usage : check_root $keepenv -## -orig_argv=("${BASH_SOURCE[0]}" "$@") -check_root() { - local keepenv=$1 - - (( EUID == 0 )) && return - if type -P sudo >/dev/null; then - exec sudo --preserve-env=$keepenv -- "${orig_argv[@]}" - else - exec su root -c "$(printf ' %q' "${orig_argv[@]}")" - fi -} - -## -# usage : is_btrfs( $path ) -# return : whether $path is on a btrfs -## -is_btrfs() { - [[ -e "$1" && "$(stat -f -c %T "$1")" == btrfs ]] -} - -## -# usage : is_subvolume( $path ) -# return : whether $path is a the root of a btrfs subvolume (including -# the top-level subvolume). -## -is_subvolume() { - [[ -e "$1" && "$(stat -f -c %T "$1")" == btrfs && "$(stat -c %i "$1")" == 256 ]] -} - -## -# usage : subvolume_delete_recursive( $path ) -# -# Find all btrfs subvolumes under and including $path and delete them. -## -subvolume_delete_recursive() { - local subvol - - is_subvolume "$1" || return 0 - - while IFS= read -d $'\0' -r subvol; do - if ! subvolume_delete_recursive "$subvol"; then - return 1 - fi - done < <(find "$1" -mindepth 1 -xdev -depth -inum 256 -print0) - if ! btrfs subvolume delete "$1" &>/dev/null; then - error "Unable to delete subvolume %s" "$subvol" - return 1 - fi - - return 0 -} -- cgit v1.2.3-54-g00ecf