131 lines
2.4 KiB
Bash
131 lines
2.4 KiB
Bash
#!/bin/sh
|
|
|
|
case "$1" in
|
|
list) awk '{print $1}' "$PKG_PATH/installed" 2>/dev/null | sort ;;
|
|
list-all) awk '{print $1}' "$PKG_PATH/pkglist" 2>/dev/null | sort ;;
|
|
update-database) fetch_pkglist $sudo ;;
|
|
fetch)
|
|
if [ -z "$2" ]
|
|
then
|
|
echo "No package specified" >&2
|
|
else
|
|
shift 1
|
|
for I in $*
|
|
do
|
|
fetch_package "$I"
|
|
done
|
|
fi
|
|
;;
|
|
show)
|
|
if [ -z "$2" ]
|
|
then
|
|
echo "No package specified" >&2
|
|
else
|
|
shift 1
|
|
for I in $*
|
|
do
|
|
if is_installed "$I"
|
|
then
|
|
view_package "$I"
|
|
else
|
|
wget "$HTTP_ADDRESS/$1.tar.xz" -q -O - 2>/dev/null | view_package_file - || { echo "Could not fetch package '$I'" >&2 ; return 1 ; }
|
|
fi
|
|
done
|
|
fi
|
|
;;
|
|
deps)
|
|
if [ -z "$2" ]
|
|
then
|
|
echo "No package specified" >&2
|
|
else
|
|
shift 1
|
|
resolve_deps $* || exit $?
|
|
fi
|
|
;;
|
|
info)
|
|
if [ -z "$2" ]
|
|
then
|
|
echo "No package specified" >&2
|
|
else
|
|
shift 1
|
|
for N
|
|
do
|
|
package_info $N || exit $?
|
|
done
|
|
fi
|
|
;;
|
|
install)
|
|
fetch_pkglist $sudo || exit $?
|
|
if [ -z "$2" ]
|
|
then
|
|
echo "No package specified" >&2
|
|
else
|
|
shift 1
|
|
pkglist=$(LOG=true resolve_packages $*) || exit $?
|
|
pkglist=$(INCLUDE_PACKAGES=true resolve_deps $* | tr '\n' ' ')
|
|
echo "Installing packages: $pkglist"
|
|
for I in $pkglist
|
|
do
|
|
is_installed $I && remove_package $I $sudo
|
|
install_package $I $sudo
|
|
done
|
|
fi
|
|
;;
|
|
remove)
|
|
if [ -z "$2" ]
|
|
then
|
|
echo "No package specified" >&2
|
|
else
|
|
shift 1
|
|
for I in $*
|
|
do
|
|
remove_package "$I" $sudo
|
|
done
|
|
fi
|
|
;;
|
|
update)
|
|
fetch_pkglist $sudo || exit 1
|
|
r_pkg=$(removed_packages)
|
|
o_pkg=$(outdated_packages)
|
|
if [ -n "$r_pkg" ]
|
|
then
|
|
echo "Removing packages: "$r_pkg
|
|
for I in $r_pkg
|
|
do
|
|
remove_package $I $sudo
|
|
done
|
|
fi
|
|
if [ -n "$o_pkg" ]
|
|
then
|
|
echo "Updating packages: "$o_pkg
|
|
for I in $o_pkg
|
|
do
|
|
remove_package $I $sudo
|
|
install_package $I $sudo
|
|
done
|
|
fi
|
|
;;
|
|
list-outdated)
|
|
tmpdir="/tmp/zpkg_$(random_string 5)"
|
|
virtual_config_path "$tmpdir" || exit $?
|
|
fetch_pkglist > /dev/null || exit $?
|
|
outdated_packages
|
|
rm -rd "$tmpdir"
|
|
;;
|
|
list-removed)
|
|
tmpdir="/tmp/zpkg_$(random_string 5)"
|
|
virtual_config_path "$tmpdir" || exit $?
|
|
fetch_pkglist > /dev/null || exit $?
|
|
removed_packages
|
|
rm -rd "$tmpdir"
|
|
;;
|
|
deploy)
|
|
shift 1
|
|
for I in $*
|
|
do
|
|
deploy_folder "$I" || exit 1
|
|
done
|
|
update_remote_database
|
|
;;
|
|
*) usage && exit 1 ;;
|
|
esac
|