Commit 019f3ad6 authored by PoroCYon's avatar PoroCYon
Browse files

sspt-list

parent 2b0ed644
......@@ -2,7 +2,8 @@
*samselplatro* -- A semidecent 'package manager' meant for installing and
updating the upstream version of a program. It does ***NOT*** try to be a
full-fledged package manager for systemwide use.
full-fledged package manager for systemwide use. It does ***NOT*** keep
track of dependencies.
I made this because I thought `ls | xargs "!f() { pushd $1 && git pull && make && make install && popd }; f"`
is only slightly too hacky. `sspt` is a slightly nicer way for doing this.
......@@ -160,6 +161,8 @@ I'm open to making it more portable (by using less linuxisms and bashisms).
I'm ***NOT*** open to making it into a proper package manager à la
`pacman` or `xbps`, let alone `nix` or `guix`.
I'm ***NOT*** open to adding dependency management.
I'm ***NOT*** open to rewriting it in `<insert language here>` because
shell scritps are slow/ugly/not even a real language/... sspt isn't meant
to be professional.
......
#!/usr/bin/env bash
print_help() {
(>&2 cat <<EOF
List pulled and installed pacakges.
Usage: $0 [-h|-?|--help]
Print this help text and exit.
- $0
List all packages.
- $0 [-i|--installed-only]
EOF
)
}
main() {
case "$1" in
-i|--installed-only|--only-installed)
for pkg in $(cat "$SSPT_BIN_DB_FILE"); do
local ESCAPED_PKG=`escape_string "$pkg"`
local ver=$(egrep "^$ESCAPED_PKG " < "$SSPT_SRC_DB_FILE" | egrep -o "[A-Za-z0-9_\-\.]$")
echo "$pkg $ver"
done
;;
*)
for pkg_and_ver in $(cat "$SSPT_SRC_DB_FILE"); do
local pkg=$(echo "$pkg_and_ver" | egrep -o "^[A-Za-z0-9_\-\.]")
local ver=$(echo "$pkg_and_ver" | egrep -o "[A-Za-z0-9_\-\.]$")
local inst=" "
exec_subcommand bin-db exists "$pkg"
if [ $? -eq 0 ]; then
inst="*"
fi
echo "$inst $pkg $ver"
done
;;
esac
}
main $@
* install!!!
* list pulled/installed
* aliases (sspt rm foo)
* bulk operations (pull pkg0 pkg1 pkg2 ...)
* auto-execution of other subcmds
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment