Fix info deps + add UPDATE_REMOVE + move to /usr/bin
This commit is contained in:
parent
b8dac99280
commit
b471059972
5 changed files with 23 additions and 15 deletions
|
|
@ -23,7 +23,7 @@ ssh "$SSH_ADDRESS" mkdir -p "$PKG_PATH" || exit $?
|
||||||
scp .config server_scripts/* "$SSH_ADDRESS":~/ || exit $?
|
scp .config server_scripts/* "$SSH_ADDRESS":~/ || exit $?
|
||||||
|
|
||||||
PKG=zpkg
|
PKG=zpkg
|
||||||
DEST=/usr/local/bin
|
DEST=/usr/bin
|
||||||
BASHDEST=/etc/bash_completion.d
|
BASHDEST=/etc/bash_completion.d
|
||||||
tmpdir="/tmp/zpkg$(random_string 5)"
|
tmpdir="/tmp/zpkg$(random_string 5)"
|
||||||
fullpath="$tmpdir/$PKG/ROOT"
|
fullpath="$tmpdir/$PKG/ROOT"
|
||||||
|
|
|
||||||
|
|
@ -66,10 +66,13 @@ fi
|
||||||
|
|
||||||
# Generate conf file
|
# Generate conf file
|
||||||
$sudo sh -c "{
|
$sudo sh -c "{
|
||||||
echo SSH_ADDRESS=$SSH_ADDRESS
|
echo "# zpkg config file
|
||||||
echo HTTP_ADDRESS=$HTTP_ADDRESS
|
SSH_ADDRESS=$SSH_ADDRESS
|
||||||
echo COMPRESSION=$COMPRESSION
|
HTTP_ADDRESS=$HTTP_ADDRESS
|
||||||
echo PKG_PATH=pkg
|
COMPRESSION=$COMPRESSION
|
||||||
|
PKG_PATH=pkg"
|
||||||
|
ALLOW_ROOT=false
|
||||||
|
UPDATE_REMOVE=true
|
||||||
} > zpkg.conf"
|
} > zpkg.conf"
|
||||||
|
|
||||||
# install config file
|
# install config file
|
||||||
|
|
@ -89,7 +92,7 @@ mkdir -p "$tmpdir" || exit $?
|
||||||
cat "zpkg.tar.$extension" | $pcompress -dc 2>/dev/null | tar -xf - || exit $?
|
cat "zpkg.tar.$extension" | $pcompress -dc 2>/dev/null | tar -xf - || exit $?
|
||||||
|
|
||||||
# install zpkg package
|
# install zpkg package
|
||||||
ROOT/usr/local/bin/zpkg -f install zpkg || exit $?
|
ROOT/usr/bin/zpkg -f install zpkg || exit $?
|
||||||
)
|
)
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ fi
|
||||||
|
|
||||||
# resolve relative pkg_path
|
# resolve relative pkg_path
|
||||||
PKG_PATH="$(resolve_path "$PKG_PATH" "$config_path")"
|
PKG_PATH="$(resolve_path "$PKG_PATH" "$config_path")"
|
||||||
|
[ -z "$UPDATE_REMOVE" ] && UPDATE_REMOVE=true
|
||||||
|
|
||||||
root_check && [ -z "$opt_f" ] && [ "$ALLOW_ROOT" != "true" ] && echo "Cannot run as root" >&2 && exit 10
|
root_check && [ -z "$opt_f" ] && [ "$ALLOW_ROOT" != "true" ] && echo "Cannot run as root" >&2 && exit 10
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ update)
|
||||||
fetch_pkglist $sudo || exit 1
|
fetch_pkglist $sudo || exit 1
|
||||||
r_pkg=$(removed_packages)
|
r_pkg=$(removed_packages)
|
||||||
o_pkg=$(outdated_packages)
|
o_pkg=$(outdated_packages)
|
||||||
if [ -n "$r_pkg" ]
|
if [ -n "$r_pkg" ] && [ "$UPDATE_REMOVE" = "true" ]
|
||||||
then
|
then
|
||||||
echo "Packages to remove: "$r_pkg
|
echo "Packages to remove: "$r_pkg
|
||||||
for I in $r_pkg
|
for I in $r_pkg
|
||||||
|
|
|
||||||
20
src/print.sh
20
src/print.sh
|
|
@ -30,7 +30,8 @@ Config (zpkg.conf):
|
||||||
HTTP_ADDRESS HTTP address for downloading packages
|
HTTP_ADDRESS HTTP address for downloading packages
|
||||||
PKG_PATH Path to the local package database
|
PKG_PATH Path to the local package database
|
||||||
COMPRESSION Compression configuration, extension:binary:parallel_binary:options
|
COMPRESSION Compression configuration, extension:binary:parallel_binary:options
|
||||||
ALLOW_ROOT Set to true to allow running as root without -f. Default: false"
|
ALLOW_ROOT Set to true to allow running as root without -f. Default: false
|
||||||
|
UPDATE_REMOVE Remove packages on update. Default: true"
|
||||||
}
|
}
|
||||||
|
|
||||||
error() {
|
error() {
|
||||||
|
|
@ -39,15 +40,18 @@ error() {
|
||||||
|
|
||||||
# $1 = package name
|
# $1 = package name
|
||||||
package_info() {
|
package_info() {
|
||||||
unset cleanup
|
# prepare
|
||||||
status="not installed"
|
|
||||||
grep -q "^$1 " "$PKG_PATH/pkglist" 2>/dev/null || { echo "Package '$1' not found" && return 1; }
|
|
||||||
grep -q "^$1 " "$PKG_PATH/installed" 2>/dev/null && status=installed
|
|
||||||
tmpdir="/tmp/zpkg_$(random_string 5)"
|
tmpdir="/tmp/zpkg_$(random_string 5)"
|
||||||
mkdir -p "$tmpdir" || return $?
|
mkdir -p "$tmpdir" || return $?
|
||||||
pwd="$(pwd)"
|
pwd="$(pwd)"
|
||||||
|
|
||||||
cd "$tmpdir"
|
cd "$tmpdir"
|
||||||
|
|
||||||
|
# get status
|
||||||
|
status="not installed"
|
||||||
|
grep -q "^$1 " "$PKG_PATH/pkglist" 2>/dev/null || { echo "Package '$1' not found" && return 1; }
|
||||||
|
grep -q "^$1 " "$PKG_PATH/installed" 2>/dev/null && status=installed
|
||||||
|
|
||||||
|
# get and unpack
|
||||||
if [ "$status" = "installed" ] && [ -f "$PKG_PATH/$1.tar.$extension" ]
|
if [ "$status" = "installed" ] && [ -f "$PKG_PATH/$1.tar.$extension" ]
|
||||||
then
|
then
|
||||||
pkg="$PKG_PATH/$1.tar.$extension"
|
pkg="$PKG_PATH/$1.tar.$extension"
|
||||||
|
|
@ -56,11 +60,11 @@ package_info() {
|
||||||
pkg="$1.tar.$extension"
|
pkg="$1.tar.$extension"
|
||||||
fi
|
fi
|
||||||
unpack "$pkg" >/dev/null
|
unpack "$pkg" >/dev/null
|
||||||
deps=$(cat DEPS 2>/dev/null)
|
# extract values
|
||||||
|
deps=$(cat DEPS 2>/dev/null | tr -s ' \t\n' ' ')
|
||||||
desc=$(cat DESC 2>/dev/null)
|
desc=$(cat DESC 2>/dev/null)
|
||||||
csize=$(stat -c '%s' "$pkg" | numfmt --to=iec-i --suffix=B --padding 6)
|
csize=$(stat -c '%s' "$pkg" | numfmt --to=iec-i --suffix=B --padding 6)
|
||||||
isize=$(du -sb ROOT HOME 2>/dev/null | awk '{print $1}' | paste -sd+ | bc | numfmt --to=iec-i --suffix=B --padding 6)
|
isize=$(du -sb ROOT HOME 2>/dev/null | awk '{print $1}' | paste -sd+ | bc | numfmt --to=iec-i --suffix=B --padding 6)
|
||||||
[ -n "$cleanup" ] && { cd "$pwd"; rm -rd "$tmpdir"; }
|
|
||||||
|
|
||||||
cd "$pwd"
|
cd "$pwd"
|
||||||
rm -rf "$tmpdir"
|
rm -rf "$tmpdir"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue