mirror of
https://github.com/outbackdingo/scratchpkg.git
synced 2026-03-22 00:45:01 +00:00
remove HOOK, add trigger builtin
This commit is contained in:
@@ -2,14 +2,13 @@
|
||||
|
||||
BINDIR=/usr/bin
|
||||
CONFDIR=/etc
|
||||
HOOK_DIR=/etc/hooks
|
||||
CACHE_DIR=/var/cache/scratchpkg
|
||||
INDEX_DIR=/var/lib/scratchpkg
|
||||
PORT_DIR=/usr/ports
|
||||
REVDEPD=/etc/revdep.d
|
||||
REVDEPCONF=/etc/revdep.conf
|
||||
|
||||
mkdir -pv ${DESTDIR}{${BINDIR},${CONFDIR},${HOOK_DIR},${PORT_DIR},${REVDEPD}}
|
||||
mkdir -pv ${DESTDIR}{${BINDIR},${CONFDIR},${PORT_DIR},${REVDEPD}}
|
||||
install -m755 revdep pkgadd pkgdel pkgbuild pkgdeplist pkglibdepends scratch pkgbase ${DESTDIR}${BINDIR}
|
||||
install -m644 scratchpkg.conf scratchpkg.repo ${DESTDIR}${CONFDIR}
|
||||
install -m755 extra/* ${DESTDIR}${BINDIR}
|
||||
|
||||
45
pkgadd
45
pkgadd
@@ -43,33 +43,6 @@ msgwarn() {
|
||||
echo -e "==> WARNING: $1"
|
||||
}
|
||||
|
||||
runhooks() {
|
||||
if [ "$UPGRADE_PKG" ]; then
|
||||
opr=upgrade
|
||||
else
|
||||
opr=install
|
||||
fi
|
||||
|
||||
for hook in $HOOK_DIR/*.hook; do
|
||||
[ -f $hook ] || continue
|
||||
description=$(grep "^# description[[:blank:]]*:" $hook | sed 's/^# description[[:blank:]]*:[[:blank:]]*//')
|
||||
operation=$(grep "^# operation[[:blank:]]*:" $hook | sed 's/^# operation[[:blank:]]*:[[:blank:]]*//')
|
||||
target=$(grep "^# target[[:blank:]]*:" $hook | sed 's/^# target[[:blank:]]*:[[:blank:]]*//')
|
||||
if [ -n "$description" ] && [ -n "$operation" ] && [ -n "$target" ]; then
|
||||
if [ "$(echo $operation | grep -w "$opr" )" ]; then
|
||||
if [ "$(grep $target $INDEX_DIR/$name/.files)" ]; then
|
||||
. $hook
|
||||
if [ "`type -t exechook`" = "function" ]; then
|
||||
exechook
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
unset description operation target
|
||||
unset -f exechook
|
||||
done
|
||||
}
|
||||
|
||||
help() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
@@ -149,7 +122,6 @@ parse_opts $(extract_opt $@)
|
||||
INDEX_DIR="$ROOT/var/lib/scratchpkg/index"
|
||||
PKGADD_DIR="$ROOT/var/lib/scratchpkg"
|
||||
LOCK_FILE="$PKGADD_DIR/spkg.lock"
|
||||
HOOK_DIR=/etc/hooks
|
||||
|
||||
# show help page
|
||||
if [ "$SHOWHELP" ] || [ -z "$PKGNAME" ]; then
|
||||
@@ -240,10 +212,10 @@ if [ "$UPGRADE_PKG" ] || [ "$REINSTALL_PKG" ]; then
|
||||
fi
|
||||
|
||||
### INSTALL PACKAGE INTO SYSTEM ###
|
||||
opr=Installing
|
||||
[ "$UPGRADE_PKG" ] && opr=Upgrading
|
||||
[ "$REINSTALL_PKG" ] && opr=Reinstalling
|
||||
echo "$opr '$name-$version-$release'..."
|
||||
opr=install
|
||||
[ "$UPGRADE_PKG" ] && opr=upgrade
|
||||
[ "$REINSTALL_PKG" ] && opr=reinstall
|
||||
echo "$opr: $name-$version-$release..."
|
||||
|
||||
#ignore conflict
|
||||
if [ ! "$IGNORE_CONFLICT" ]; then
|
||||
@@ -292,7 +264,7 @@ fi
|
||||
fi
|
||||
)
|
||||
|
||||
installcmd="tar --keep-directory-symlink -p -x -v -f $PKGNAME -C ${ROOT:-/} --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme"
|
||||
installcmd="tar --keep-directory-symlink -p -x -v -f $PKGNAME -C ${ROOT:-/} --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme --exclude=.pkgmkdirs"
|
||||
|
||||
rm -f $TMP_PKGINSTALL $TMP_PKGINSTALL_BKP
|
||||
$installcmd | while IFS=' ' read line; do
|
||||
@@ -332,7 +304,7 @@ echo "version = $version" >> $INDEX_DIR/$name/.pkginfo
|
||||
echo "release = $release" >> $INDEX_DIR/$name/.pkginfo
|
||||
install -m644 $TMP_PKGINSTALL $INDEX_DIR/$name/.files
|
||||
[ -f $TMP_PKGINSTALL_BKP ] && install -m644 $TMP_PKGINSTALL_BKP $INDEX_DIR/$name/.bkpfiles
|
||||
tar -x -f $PKGNAME -C $INDEX_DIR/$name .pkginstall .pkgreadme >/dev/null 2>&1
|
||||
tar -x -f $PKGNAME -C $INDEX_DIR/$name .pkginstall .pkgreadme .pkgmkdirs >/dev/null 2>&1
|
||||
|
||||
( cd $ROOT/
|
||||
if [ ! "$NO_POSTINSTALL" ] && [ ! "$UPGRADE_PKG" ]; then
|
||||
@@ -350,11 +322,6 @@ tar -x -f $PKGNAME -C $INDEX_DIR/$name .pkginstall .pkgreadme >/dev/null 2>&1
|
||||
fi
|
||||
)
|
||||
|
||||
if [ "$ROOT" = "" ]; then
|
||||
[ "$NOHOOK" = "yes" ] || runhooks
|
||||
[ $(type -p sysusers) ] && sysusers
|
||||
fi
|
||||
|
||||
# running ldconfig
|
||||
if [ -x /sbin/ldconfig ]; then
|
||||
/sbin/ldconfig -r $ROOT/
|
||||
|
||||
3
pkgbuild
3
pkgbuild
@@ -344,6 +344,7 @@ packaging() {
|
||||
|
||||
[ -f install ] && install -m644 install $PKG/.pkginstall
|
||||
[ -f readme ] && install -m644 readme $PKG/.pkgreadme
|
||||
[ -f mkdirs ] && install -m644 mkdirs $PKG/.pkgmkdirs
|
||||
|
||||
pushd $PKG >/dev/null
|
||||
|
||||
@@ -358,7 +359,7 @@ packaging() {
|
||||
backupconf
|
||||
fi
|
||||
|
||||
for FILE in .pkginstall .pkgreadme; do
|
||||
for FILE in .pkginstall .pkgreadme .pkgmkdirs; do
|
||||
if [ -f $FILE ]; then
|
||||
addtotar+=($FILE)
|
||||
fi
|
||||
|
||||
43
pkgdel
43
pkgdel
@@ -43,38 +43,6 @@ msgwarn() {
|
||||
echo -e "==> WARNING: $1"
|
||||
}
|
||||
|
||||
runremovehooks() {
|
||||
if [ "${#runthishook[@]}" -gt 0 ]; then
|
||||
for hook in ${runthishook[@]}; do
|
||||
description=$(cat "$hook" | grep ^"# description" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
operation=$(cat "$hook" | grep ^"# operation" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
target=$(cat "$hook" | grep ^"# target" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
if [ -n "$description" ] && [ -n "$operation" ] && [ -n "$target" ]; then
|
||||
. $hook
|
||||
if [ "`type -t exechook`" = "function" ]; then
|
||||
exechook
|
||||
fi
|
||||
fi
|
||||
unset description operation target
|
||||
unset -f exechook
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
runpreremovehooks() {
|
||||
for hook in $HOOK_DIR/*.hook; do
|
||||
[ -f $hook ] || continue
|
||||
operation=$(cat "$hook" | grep ^"# operation" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
target=$(cat "$hook" | grep ^"# target" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
if [ "$(echo $operation | grep -w "remove" )" ]; then
|
||||
if [ "$(grep $target $INDEX_DIR/$1/.files)" ]; then
|
||||
runthishook+=($hook)
|
||||
fi
|
||||
fi
|
||||
unset operation target
|
||||
done
|
||||
}
|
||||
|
||||
help() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
@@ -140,7 +108,6 @@ parse_opts $(extract_opt $@)
|
||||
INDEX_DIR="$ROOT/var/lib/scratchpkg/index"
|
||||
PKGDEL_DIR="$ROOT/var/lib/scratchpkg"
|
||||
LOCK_FILE="$PKGDEL_DIR/spkg.lock"
|
||||
HOOK_DIR="/etc/hooks"
|
||||
|
||||
# show help page
|
||||
if [ "$SHOWHELP" ] || [ -z "$RMNAME" ]; then
|
||||
@@ -181,7 +148,7 @@ if [ -z $name ] && [ -z $version ] && [ -z $release ]; then
|
||||
ret 1
|
||||
fi
|
||||
|
||||
echo "Removing '$name-$version-$release'..."
|
||||
echo "remove: $name-$version-$release..."
|
||||
|
||||
# source .install script
|
||||
if [ "$ROOT" = "" ]; then
|
||||
@@ -196,10 +163,6 @@ if [ ! "$NO_PREREMOVE" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$ROOT" = "" ] && [ "$NOHOOK" != "yes" ]; then
|
||||
runpreremovehooks $name &>/dev/null
|
||||
fi
|
||||
|
||||
if [ -f "$INDEX_DIR/$name/.bkpfiles" ]; then
|
||||
while IFS=' ' read -r line; do
|
||||
if [ -e "$ROOT/$line" ] || [ -L "$ROOT/$line" ]; then
|
||||
@@ -233,10 +196,6 @@ fi
|
||||
|
||||
rm -rf $INDEX_DIR/$name
|
||||
|
||||
if [ "$ROOT" = "" ] && [ "$NOHOOK" != "yes" ]; then
|
||||
runremovehooks
|
||||
fi
|
||||
|
||||
# running ldconfig
|
||||
if [ -x /sbin/ldconfig ]; then
|
||||
/sbin/ldconfig -r $ROOT/
|
||||
|
||||
299
scratch
299
scratch
@@ -460,75 +460,235 @@ scratch_foreignpkg() {
|
||||
done
|
||||
}
|
||||
|
||||
srunhooks() {
|
||||
local hooks
|
||||
if [ "$mode" = "upgrade" ] || [ "$mode" = "sysup" ]; then
|
||||
opr=upgrade
|
||||
else
|
||||
opr=install
|
||||
scratch_trigger() {
|
||||
needroot "Run trigger"
|
||||
needarg $@
|
||||
pre_triggers $@
|
||||
post_triggers
|
||||
}
|
||||
|
||||
post_triggers() {
|
||||
if [ "$trig_12" = 1 ]; then
|
||||
echo "trigger: Running mkdirs..."
|
||||
for mkd in $INDEX_DIR/*/.pkgmkdirs; do
|
||||
[ -s $mkd ] || continue
|
||||
while read dir mode uid gid junk; do
|
||||
# Ignore comments and blank lines
|
||||
case "$dir" in
|
||||
""|\#*) continue ;;
|
||||
esac
|
||||
mkdir -p "$dir"
|
||||
if [ "$uid" != '-' ]; then
|
||||
getent passwd $uid >/dev/null
|
||||
if [[ "$?" = 0 ]]; then
|
||||
chown "$uid" "$dir"
|
||||
fi
|
||||
fi
|
||||
if [ "$gid" != '-' ]; then
|
||||
getent group $gid >/dev/null
|
||||
if [[ "$?" = 0 ]]; then
|
||||
chgrp "$gid" "$dir"
|
||||
fi
|
||||
fi
|
||||
if [ "$mode" != '-' ]; then
|
||||
chmod "$mode" "$dir"
|
||||
fi
|
||||
done < "$mkd"
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
for hook in $HOOK_DIR/*.hook; do
|
||||
[ -f $hook ] || continue
|
||||
description=$(grep "^# description[[:blank:]]*:" $hook | sed 's/^# description[[:blank:]]*:[[:blank:]]*//')
|
||||
operation=$(grep "^# operation[[:blank:]]*:" $hook | sed 's/^# operation[[:blank:]]*:[[:blank:]]*//')
|
||||
target=$(grep "^# target[[:blank:]]*:" $hook | sed 's/^# target[[:blank:]]*:[[:blank:]]*//')
|
||||
if [ -n "$description" ] && [ -n "$operation" ] && [ -n "$target" ]; then
|
||||
if [ "$(echo $operation | grep -w "$opr" )" ]; then
|
||||
for pn in $@; do
|
||||
if [ -s $INDEX_DIR/$pn/.files ] && [ "$(grep $target $INDEX_DIR/$pn/.files)" ]; then
|
||||
[ "$ee" != 1 ] && { echo; ee=1; }
|
||||
echo "$description"
|
||||
. $hook
|
||||
if [ "`type -t exechook`" = "function" ]; then
|
||||
exechook
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "$trig_11" = 1 ] && [ $(type -p fc-cache) ]; then
|
||||
echo "trigger: Updating fontconfig cache..."
|
||||
fc-cache -s
|
||||
fi
|
||||
|
||||
if [ "$trig_10" = 1 ] && [ $(type -p gdk-pixbuf-query-loaders) ]; then
|
||||
echo "trigger: Probing GDK-Pixbuf loader modules..."
|
||||
gdk-pixbuf-query-loaders --update-cache
|
||||
fi
|
||||
|
||||
if [ "$trig_9" = 1 ] && [ $(type -p gio-querymodules) ]; then
|
||||
echo "trigger: Updating GIO module cache..."
|
||||
gio-querymodules /usr/lib/gio/modules
|
||||
fi
|
||||
|
||||
if [ "$trig_8" = 1 ] && [ $(type -p glib-compile-schemas) ]; then
|
||||
echo "trigger: Compiling GSettings XML schema files..."
|
||||
glib-compile-schemas /usr/share/glib-2.0/schemas
|
||||
fi
|
||||
|
||||
if [ "$trig_7" = 1 ] && [ $(type -p gtk-query-immodules-2.0) ]; then
|
||||
echo "trigger: Probing GTK2 input method modules..."
|
||||
gtk-query-immodules-2.0 --update-cache
|
||||
fi
|
||||
|
||||
if [ "$trig_6" = 1 ] && [ $(type -p gtk-query-immodules-3.0) ]; then
|
||||
echo "trigger: Probing GTK3 input method modules..."
|
||||
gtk-query-immodules-3.0 --update-cache
|
||||
fi
|
||||
|
||||
if [ "$trig_5" = 1 ] && [ $(type -p gtk-update-icon-cache) ]; then
|
||||
echo "trigger: Updating icon theme caches..."
|
||||
for dir in /usr/share/icons/* ; do
|
||||
if [[ -e $dir/index.theme ]]; then
|
||||
gtk-update-icon-cache -q $dir &>/dev/null
|
||||
else
|
||||
rm -f $dir/icon-theme.cache
|
||||
rmdir --ignore-fail-on-non-empty $dir
|
||||
fi
|
||||
fi
|
||||
unset description operation target
|
||||
unset -f exechook
|
||||
done
|
||||
}
|
||||
|
||||
srunremovehooks() {
|
||||
local hook
|
||||
if [ "${#runthishook[@]}" -gt 0 ]; then
|
||||
echo
|
||||
for hook in ${runthishook[@]}; do
|
||||
description=$(cat "$hook" | grep ^"# description" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
operation=$(cat "$hook" | grep ^"# operation" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
target=$(cat "$hook" | grep ^"# target" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
if [ -n "$description" ] && [ -n "$operation" ] && [ -n "$target" ]; then
|
||||
echo "$description"
|
||||
. $hook
|
||||
if [ "`type -t exechook`" = "function" ]; then
|
||||
exechook
|
||||
fi
|
||||
fi
|
||||
unset description operation target
|
||||
unset -f exechook
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$trig_4" = 1 ] && [ $(type -p udevadm) ]; then
|
||||
echo "trigger: Updating hardware database..."
|
||||
udevadm hwdb --update
|
||||
fi
|
||||
|
||||
if [ "$trig_3" = 1 ] && [ $(type -p mkfontdir) ] && [ $(type -p mkfontscale) ]; then
|
||||
echo "trigger: Updating X fontdir indices..."
|
||||
for dir in $(find /usr/share/fonts -maxdepth 1 -type d \( ! -path /usr/share/fonts -a ! -name X11 \)) /usr/share/fonts/X11/*; do
|
||||
rm -f $dir/fonts.{scale,dir} $dir/.uuid
|
||||
rmdir --ignore-fail-on-non-empty $dir
|
||||
[[ -d $dir ]] || continue
|
||||
mkfontdir $dir
|
||||
mkfontscale $dir
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$trig_2" = 1 ] && [ $(type -p update-desktop-database) ]; then
|
||||
echo "trigger: Updating desktop file MIME type cache..."
|
||||
update-desktop-database --quiet
|
||||
fi
|
||||
|
||||
if [ "$trig_1" = 1 ] && [ $(type -p update-mime-database) ]; then
|
||||
echo "trigger: Updating the MIME type database..."
|
||||
update-mime-database /usr/share/mime
|
||||
fi
|
||||
}
|
||||
|
||||
srunpreremovehooks() {
|
||||
local hook
|
||||
for hook in $HOOK_DIR/*.hook; do
|
||||
[ -f $hook ] || continue
|
||||
operation=$(cat "$hook" | grep ^"# operation" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
target=$(cat "$hook" | grep ^"# target" | sed 's/\://' | cut -d ' ' -f 3-)
|
||||
if [ "$(echo $operation | grep -w "remove" )" ]; then
|
||||
if [ "$(grep $target $INDEX_DIR/$1/.files)" ]; then
|
||||
if [ ! $(echo ${runthishook[@]} | tr ' ' '\n' | grep -x $hook) ]; then
|
||||
runthishook+=($hook)
|
||||
fi
|
||||
pre_triggers() {
|
||||
local pkg
|
||||
|
||||
# mime db
|
||||
if [ "$trig_1" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/share/mime/$ $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_1=1
|
||||
break
|
||||
fi
|
||||
fi
|
||||
unset operation target
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# desktop db
|
||||
if [ "$trig_2" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/share/applications/$ $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_2=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# mkfontdir
|
||||
if [ "$trig_3" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/share/fonts/[^/]*/$ $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_3=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# hwdb
|
||||
if [ "$trig_4" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^etc/udev/hwdb.d/$ $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_4=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# icon caches
|
||||
if [ "$trig_5" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/share/icons/[^/]*/$ $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_5=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# gtk3 immodules
|
||||
if [ "$trig_6" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/lib/gtk-3.0/3.0.0/immodules/.*.so $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_6=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# gtk2 immodules
|
||||
if [ "$trig_7" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/lib/gtk-2.0/2.10.0/immodules/.*.so $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_7=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# gsettings schema
|
||||
if [ "$trig_8" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/share/glib-2.0/schemas/$ $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_8=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# gio modules
|
||||
if [ "$trig_9" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/lib/gio/modules/.*.so $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_9=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# gdk-pixbuf
|
||||
if [ "$trig_10" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/.*.so $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_10=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# font caches
|
||||
if [ "$trig_11" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.files" ] && [ "$(grep ^usr/share/fonts/[^/]*/$ $INDEX_DIR/$pkg/.files)" ]; then
|
||||
trig_11=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# makedirs
|
||||
if [ "$trig_12" != "1" ]; then
|
||||
for pkg in $@; do
|
||||
if [ -s "$INDEX_DIR/$pkg/.pkgmkdirs" ]; then
|
||||
trig_12=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
scratch_build() {
|
||||
@@ -613,7 +773,7 @@ scratch_install() {
|
||||
fi
|
||||
done
|
||||
settermtitle "Triggering install hook"
|
||||
srunhooks ${done_pkg[@]}
|
||||
scratch_trigger ${done_pkg[@]}
|
||||
settermtitle "Reinstalling done"
|
||||
[ "$error" = 1 ] && return 1 || return 0
|
||||
fi
|
||||
@@ -637,7 +797,7 @@ scratch_install() {
|
||||
fi
|
||||
done
|
||||
settermtitle "Triggering install hook"
|
||||
srunhooks ${done_pkg[@]}
|
||||
scratch_trigger ${done_pkg[@]}
|
||||
settermtitle "Installing done"
|
||||
[ "$error" = 1 ] && return 1 || return 0
|
||||
fi
|
||||
@@ -694,7 +854,7 @@ scratch_install() {
|
||||
unset portpathh
|
||||
done
|
||||
settermtitle "Triggering install hook"
|
||||
srunhooks ${done_pkg[@]}
|
||||
scratch_trigger ${done_pkg[@]}
|
||||
settermtitle "$count/$total package(s) installed"
|
||||
return "$error"
|
||||
fi
|
||||
@@ -768,12 +928,12 @@ scratch_remove() {
|
||||
fi
|
||||
for pkg in ${IPKG[@]}; do
|
||||
count=$(( $count + 1 ))
|
||||
srunpreremovehooks $pkg
|
||||
pre_triggers $pkg
|
||||
settermtitle "[ $count/$pkgcount ] Removing $pkg..."
|
||||
pkgdel --no-hook $pkg ${OPTS[@]} || return 1
|
||||
done
|
||||
settermtitle "Triggering remove hook"
|
||||
srunremovehooks
|
||||
post_triggers
|
||||
settermtitle "$pkgcount package(s) removed"
|
||||
fi
|
||||
}
|
||||
@@ -873,7 +1033,7 @@ scratch_sysup() {
|
||||
done_pkg+=($inst)
|
||||
done
|
||||
settermtitle "Triggering install hook"
|
||||
srunhooks ${done_pkg[@]}
|
||||
scratch_trigger ${done_pkg[@]}
|
||||
settermtitle "$count/$total package(s) upgraded"
|
||||
return $error
|
||||
}
|
||||
@@ -976,7 +1136,7 @@ scratch_upgrade() {
|
||||
popd
|
||||
done
|
||||
settermtitle "triggering upgrade hook"
|
||||
srunhooks ${done_pkg[@]}
|
||||
scratch_trigger ${done_pkg[@]}
|
||||
settermtitle "$count/$total package(s) upgraded"
|
||||
return $error
|
||||
}
|
||||
@@ -1302,7 +1462,6 @@ main() {
|
||||
BUILD_SCRIPT="spkgbuild"
|
||||
INDEX_DIR="/var/lib/scratchpkg/index"
|
||||
REPO_FILE="/etc/scratchpkg.repo"
|
||||
HOOK_DIR="/etc/hooks"
|
||||
|
||||
SOURCE_DIR="/var/cache/scratchpkg/sources"
|
||||
PACKAGE_DIR="/var/cache/scratchpkg/packages"
|
||||
|
||||
@@ -10,7 +10,6 @@ MAKEFLAGS="-j$(nproc)"
|
||||
# PACKAGE_DIR="/var/cache/scratchpkg/packages"
|
||||
# LOG_DIR="/var/cache/scratchpkg/log"
|
||||
# WORK_DIR="/tmp"
|
||||
# HOOK_DIR="/etc/hooks"
|
||||
# DOWNLOAD_PROG="wget"
|
||||
# WGET_OPTS=""
|
||||
# CURL_OPTS=""
|
||||
|
||||
Reference in New Issue
Block a user