commit 47817f6

chld  ·  2025-12-22 23:42:14 +0000 UTC
parent e9b1a09
update
3 files changed,  +24, -6
+2, -1
 1@@ -1,7 +1,8 @@
 2 #!/bin/sh -eu
 3 . ./util/lib.sh # source functions
 4 
 5-printf "\033[1mWARNING: $0 assumes you have rootfs mounted @ ${m}!\033[m\n"
 6+_war "$0 assumes you have your root parition mounted at ${m}!"
 7+_war "$0 will remove all files from ${m}!"
 8 set -x
 9 
10 rm -rf $m/*
+2, -2
 1@@ -16,7 +16,7 @@ run() {
 2 }
 3 
 4 clean() {
 5-    log Unmounting host paths; {
 6+    {
 7         run umount "$1/dev/shm" 2>/dev/null
 8         run umount "$1/dev/pts"
 9         run umount "$1/dev"
10@@ -61,7 +61,7 @@ main() {
11     # shellcheck disable=SC2064
12     #trap "clean ${1%"${1##*[!/]}"}" EXIT INT
13 
14-    log Mounting host paths; {
15+    {
16         mmount "$1/dev"     -o bind /dev
17         mmount "$1/dev/pts" -o bind /dev/pts
18         mmount "$1/dev/shm" -t tmpfs shmfs 2>/dev/null
+20, -3
 1@@ -2,19 +2,36 @@
 2 
 3 m=${m:-/mnt}
 4 
 5+__hhc(){
 6+	# determine if host has needed command
 7+	u=''
 8+	if test -e $1; then u='$1'
 9+	elif test -e $m/bin/$1; then u="$m/bin/$1" ; fi
10+}
11+
12 _inc(){
13-	chroot $m /bin/sh -e -c "$*"
14+	__hhc chroot
15+
16+	$u $m /bin/sh -e -c "$*"
17 	# usage: _inc '
18 	#	touch mwakat
19 	# '
20 }
21+
22 _swt(){
23 	# idiot proofing: do not link if command doesnt exist
24 	# 	-instead, return (avoiding link, and error)
25 	if ! test -e $m/bin/$1; then return 0 ; fi
26 	if ! test -e $m/usr/bin/$2; then return 0 ; fi
27 
28-	$m/bin/ln -sf $m/bin/$1 $m/usr/bin/$2
29-	$m/bin/ln -sf $m/bin/$1 $m/sbin/$2   # link both ways
30+	__hhc ln
31+
32+	$u -sf $m/bin/$1 $m/usr/bin/$2
33+	$u -sf $m/bin/$1 $m/sbin/$2   # link both ways
34 	# usage: _swt toybox ln
35 }
36+
37+_war(){
38+	printf "\033[m\033[1;31mWARNING:\033[m\033[1m "
39+	printf "$1\033[m\n"
40+}