102 lines
1.6 KiB
Bash
102 lines
1.6 KiB
Bash
#!/bin/zsh
|
|
|
|
grep -q "void" /etc/os-release || return
|
|
|
|
hashafter xi
|
|
hashafter xbps-remove
|
|
|
|
|
|
xq() {
|
|
xbps-query -Rs "$@" | grep -v -- '-32bit'
|
|
}
|
|
xqn() {
|
|
if [[ -z $1 || -n $2 ]]; then
|
|
<<-HERE
|
|
Usage: xqn NAME
|
|
Search for NAME only in package names
|
|
HERE
|
|
else
|
|
xbps-query -Rs $1 | awk "\$2 ~ /$1/ { print }"
|
|
fi
|
|
}
|
|
|
|
alias xfiles="xbps-query -f"
|
|
|
|
xbps-install() {
|
|
local logfile=$(mktemp)
|
|
sudo script --return --quiet -c "/usr/bin/xbps-install $*" $logfile
|
|
local ret=$?
|
|
grep -oP ".*(?=: post-install message)" < $logfile \
|
|
| ifne xargs -L 1 xbps-query -p install-msg
|
|
hash -r
|
|
return $ret
|
|
}
|
|
|
|
xupdate() {
|
|
if [[ -z "$@" ]]; then
|
|
xbps-install -Su
|
|
if [[ $? == 16 ]]; then
|
|
xbps-install -Syu xbps
|
|
xupdate
|
|
fi
|
|
else
|
|
xbps-install -SA "$@"
|
|
xcheckupdates
|
|
fi
|
|
}
|
|
|
|
xowner() {
|
|
xbps-query -Ro "*${1}*"
|
|
}
|
|
|
|
|
|
sv() {
|
|
command sv "$@"
|
|
ret=$?
|
|
if [[ "$1" == "up" ]]; then
|
|
shift
|
|
sleep 0.5
|
|
command sv check "$@"
|
|
fi
|
|
return $ret
|
|
}
|
|
|
|
sv-manage() {
|
|
local action service svdir
|
|
zparseopts -D -E d:=dir -dir:=dir
|
|
svdir=${dir[2]:-${SVDIR:-/var/service}}
|
|
if [[ -z $1 ]]; then
|
|
action=list
|
|
else
|
|
action=$1
|
|
shift
|
|
fi
|
|
case "$action" in
|
|
add)
|
|
for service in "$@"; do
|
|
ln -s ${SVDIR_TEMPLATES:-/etc/sv}/${service:s#/##} ${svdir}
|
|
done
|
|
;;
|
|
remove|rm)
|
|
for service in "$@"; do
|
|
rm ${svdir}/${service:s#/##}
|
|
done
|
|
;;
|
|
list|ls)
|
|
sv status ${svdir}/* | sed "
|
|
s@${svdir}/@@
|
|
s@run@\x1b[1;92mrun\x1b[0m@g
|
|
s@down@\x1b[1;31mdown\x1b[0m@g
|
|
" | column -t
|
|
;;
|
|
status)
|
|
for service in ${SVDIR:-/var/service}/*/supervise; do
|
|
sv status ${service:h}
|
|
done
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# renamed package binaries
|
|
alias ts=moreutils_ts
|