diff options
author | Tim Keller <tjkeller.xyz> | 2024-11-17 23:34:54 -0600 |
---|---|---|
committer | Tim Keller <tjkeller.xyz> | 2024-11-17 23:34:54 -0600 |
commit | 09ada24d4ec23cf24ab136141b354953d1bbc2fa (patch) | |
tree | 2c41e87c71ad3f3cd67a8bea0c1413efbab4087d /.old/sync/pull | |
parent | 090a3a31683eb08b91351e4d1508a0a73a310a38 (diff) | |
download | scripts-09ada24d4ec23cf24ab136141b354953d1bbc2fa.tar.xz scripts-09ada24d4ec23cf24ab136141b354953d1bbc2fa.zip |
reorganize scripts
Diffstat (limited to '.old/sync/pull')
-rwxr-xr-x | .old/sync/pull | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/.old/sync/pull b/.old/sync/pull new file mode 100755 index 0000000..f52ec5e --- /dev/null +++ b/.old/sync/pull @@ -0,0 +1,57 @@ +#!/bin/sh + +printusage() { echo "Usage: $0 [-b,--build] [<repo> ...] (repos: all,`echo $repos | tr ' ' ','`)" && exit; } + +repos=$repos"blr dmenu dotconfig scripts st timmywm" #repos=$repos"dotconfig|dwmpatches|scripts|st|timmywm" + +[ -z $1 ] || [ `echo "$@" | tr ' ' '\n' | grep -v -c '\-'` = 0 ] && printusage + +# Colors +BOLD="\033[1m" +NORM="\033[0m" +CYN="\033[0;36m" +RED="\033[0;31m" +GRN="\033[0;32m" +MAG="\033[0;35m" + +printsyncmsg() { echo "$CYN[Pulling repo '$arg'...]$NORM"; } +printsuccess() { echo "$BOLD$GRN[Successfully pulled repo '$arg']$NORM"; } +printerror() { echo "$BOLD$RED[Failed to pull repo '$arg']$NORM"; } + +#change colors +printmakemsg() { echo "$MAG[Building repo '$arg'...]$NORM"; } +printmakesuccess() { echo "$BOLD$GRN[Successfully built repo '$arg']$NORM"; } +printmakeerror() { echo "$BOLD$RED[Failed to build repo '$arg']$NORM"; } + +pullrepo() { + printsyncmsg + cd $1 && git pull --verbose \ + && printsuccess || printerror +} +makerepo() { + if echo "$opts" | grep '\-b'; then + printmakemsg + ${SUDO:-sudo} make clean install \ + && printmakesuccess || printmakeerror + fi +} +makeautoconf() { make autoconfig && echo "$BOLD$GRN[Automatically configured '$repo']$NORM"; } + +pullblr() { pullrepo ~/.local/src/programs/blr; } +pulldmenu() { pullrepo ~/.local/src/programs/dmenu && makeautoconf && makerepo; } +pulldotconfig() { pullrepo ~/.config; } +pullscripts() { pullrepo ~/.local/bin; } +pullst() { pullrepo ~/.local/src/programs/st && makeautoconf && makerepo; } +pulltimmywm() { pullrepo ~/.local/src/programs/timmywm && makeautoconf && makerepo; } + +for arg in "$@"; do + case $arg in + -b|--build) opts="$opts-b" ;; + all) $0 $opts $repos ;; + *) # Would like to use something like $repos) here but cant + for repo in $repos; do + [ "$arg" = "$repo" ] && pull$arg && break + done || printusage + ;; + esac +done |