diff options
| author | Mattias Andrée <maandree@kth.se> | 2023-11-18 23:23:40 +0100 | 
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2023-11-18 23:23:40 +0100 | 
| commit | 0f1df0db903ba576fd17b08197d3066af7a61e5f (patch) | |
| tree | a59c04307b1382257afa3c3512ec3abadf7e0e47 /check-installed | |
| parent | Use losetup -d instead of --detach and add clean up (diff) | |
| download | dotfiles-0f1df0db903ba576fd17b08197d3066af7a61e5f.tar.gz dotfiles-0f1df0db903ba576fd17b08197d3066af7a61e5f.tar.bz2 dotfiles-0f1df0db903ba576fd17b08197d3066af7a61e5f.tar.xz | |
A lot of changes
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
| -rwxr-xr-x | check-installed | 20 | ||||
| -rwxr-xr-x | check-installed-shebang | 25 | 
2 files changed, 45 insertions, 0 deletions
| diff --git a/check-installed b/check-installed new file mode 100755 index 0000000..19cc204 --- /dev/null +++ b/check-installed @@ -0,0 +1,20 @@ +#!/bin/sh + +set -ue + +if test -r /etc/lsb-release; then +	. /etc/lsb-release +fi +if test -r ~/.dotfiles/.work/distrib-tweak; then +	. ~/.dotfiles/.work/distrib-tweak +fi + +for pkg; do +	if test "${DISTRIB_ID}" = Arch; then +		pacman -Qq -- "$pkg" +	elif test "${DISTRIB_ID}" = Ubuntu; then +		test "$pkg" = base || dpkg -s -- "$pkg" +	else +		false +	fi +done </dev/null >/dev/null 2>/dev/null diff --git a/check-installed-shebang b/check-installed-shebang new file mode 100755 index 0000000..70bc76e --- /dev/null +++ b/check-installed-shebang @@ -0,0 +1,25 @@ +#!/bin/sh +set -e +for f; do +	test -r "$f" +	shebang="$(sed 1q < "$f" | \ +	           tr '\t' ' ' | \ +	           sed -n 's/#! *\([^ ]\+\)\(\| \+.*\)$/\1\n\2/p' | \ +	           sed 's/^ *//')" +	test -n "$shebang" +	path="$(printf '%s\n' "$shebang" | sed -n 1p)" +	program="$(printf '%s\n' "$path" | sed 's/^.*\/\([^/]\+\)$/\1/')" +	arguments="$(printf '%s\n' "$shebang" | sed -n 2p)" +	argument1="$(printf '%s\n' "$arguments" | cut -d ' ' -f 1)" + +	if test -z "$path"; then +		continue +	fi + +	test -x "$path" +	if test "$program" = env; then +		which -- "${arguments}" >/dev/null 2>/dev/null +	elif test "$program" = shebang; then +		which -- "${argument1}" >/dev/null 2>/dev/null +	fi +done | 
