version 1.3, 2021/10/05 01:48:59 |
version 1.6, 2021/10/14 02:39:43 |
|
|
done |
done |
} |
} |
|
|
|
# do_as, unpriv, and unpriv2 are from install.sub |
|
|
|
# Run a command ($2+) as unprivileged user ($1). |
|
# Take extra care that after "cmd" no "user" processes exist. |
|
# |
|
# Optionally: |
|
# - create "file" and chown it to "user" |
|
# - after "cmd", chown "file" back to root |
|
# |
|
# Usage: do_as user [-f file] cmd |
|
do_as() { |
|
(( $# >= 2 )) || return |
|
|
|
local _file _rc _user=$1 |
|
shift |
|
|
|
if [[ $1 == -f ]]; then |
|
_file=$2 |
|
shift 2 |
|
fi |
|
|
|
if [[ -n $_file ]]; then |
|
>$_file |
|
chown "$_user" "$_file" |
|
fi |
|
|
|
doas -u "$_user" "$@" |
|
_rc=$? |
|
|
|
while doas -u "$_user" kill -9 -1 2>/dev/null; do |
|
echo "Processes still running for user $_user after: $@" |
|
sleep 1 |
|
done |
|
|
|
[[ -n $_file ]] && chown root "$_file" |
|
|
|
return $_rc |
|
} |
|
|
|
unpriv() { |
|
do_as _sndio "$@" |
|
} |
|
|
|
unpriv2() { |
|
do_as _file "$@" |
|
} |
|
|
set -A _KERNV -- $( scan_dmesg '/^OpenBSD \([1-9][0-9]*\.[0-9]\)\([^ ]*\) .*/ { s//\1 \2/p; q; }' ) |
set -A _KERNV -- $( scan_dmesg '/^OpenBSD \([1-9][0-9]*\.[0-9]\)\([^ ]*\) .*/ { s//\1 \2/p; q; }' ) |
VNAME=${_KERNV[0]} |
VNAME=${_KERNV[0]} |
OSDIR=$VNAME |
OSDIR=$VNAME |
|
|
last='' |
last='' |
ftp -D "Detecting" -Vmo- $PATTERNS | |
ftp -D "Detecting" -Vmo- $PATTERNS | |
while read d m; do |
while read d m; do |
grep=fgrep |
grep=grep |
[ "$last" = "$d" ] && continue |
[ "$last" = "$d" ] && continue |
[ "$m" ] || m="^$d[0-9][0-9]* at " |
[ "$m" ] || m="^$d[0-9][0-9]* at " |
[ "$m" != "${m#^}" ] && grep=grep |
[ "$m" = "${m#^}" ] && grep=fgrep |
$grep -q "$m" /var/run/dmesg.boot || continue |
$grep -q "$m" /var/run/dmesg.boot || continue |
echo $d |
echo $d |
last=$d |
last=$d |
|
|
tar -zxphf "$firmware" -C /etc "firmware/*" |
tar -zxphf "$firmware" -C /etc "firmware/*" |
mkdir -p ${PKGDIR}/${firmware%.tgz}/ |
mkdir -p ${PKGDIR}/${firmware%.tgz}/ |
tar -zxphf "$firmware" -C "${PKGDIR}/${firmware%.tgz}" "+*" |
tar -zxphf "$firmware" -C "${PKGDIR}/${firmware%.tgz}" "+*" |
ed -s "${PKGDIR}/${firmware%.tgz}/+CONTENTS" <<EOL |
ed -s "${PKGDIR}/${firmware%.tgz}/+CONTENTS" <<EOL |
/^@comment pkgpath/ -1a |
/^@comment pkgpath/ -1a |
@option manual-installation |
@option manual-installation |
@option firmware |
@option firmware |