From 07759af5ebde8568a683706ba1c105e40bd271e4 Mon Sep 17 00:00:00 2001 From: Colin Percival Date: Wed, 30 Dec 2009 06:28:47 +0000 Subject: [PATCH] Add undocumented 'portsnap alfred' command, which runs (fetch|cron) based on whether fd 0 is a terminal, and then runs (extract|update) based on whether ${PORTSDIR} exists. Requested by: alfred MFC after: 1 month --- usr.sbin/portsnap/portsnap/portsnap.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/usr.sbin/portsnap/portsnap/portsnap.sh b/usr.sbin/portsnap/portsnap/portsnap.sh index 0660b419b22..f554809c4d2 100644 --- a/usr.sbin/portsnap/portsnap/portsnap.sh +++ b/usr.sbin/portsnap/portsnap/portsnap.sh @@ -140,7 +140,7 @@ parse_cmdline() { if [ ! -z "${SERVERNAME}" ]; then usage; fi shift; SERVERNAME="$1" ;; - cron | extract | fetch | update) + cron | extract | fetch | update | alfred) COMMANDS="${COMMANDS} $1" ;; *) @@ -1040,6 +1040,22 @@ cmd_update() { update_run || exit 1 } +# Alfred command. Run 'fetch' or 'cron' depending on +# whether stdin is a terminal; then run 'update' or +# 'extract' depending on whether ${PORTSDIR} exists. +cmd_alfred() { + if [ -t 0 ]; then + cmd_fetch + else + cmd_cron + fi + if [ -d ${PORTSDIR} ]; then + cmd_update + else + cmd_extract + fi +} + #### Entry point # Make sure we find utilities from the base system