diff --git a/libexec/shsh b/libexec/shsh index 9a72a0e..6b3600f 100755 --- a/libexec/shsh +++ b/libexec/shsh @@ -124,7 +124,7 @@ for arg; do ;; --version) cat << EOF -shsh (shell script handler) v2.4.2 +shsh (shell script handler) v2.4.3 Copyright (c) 2014 Juan Ibiapina, 2020 Tin Lai (@soraxas) This is free software; see the source for copying conditions. There is NO diff --git a/man/man1/shsh-cleanup.1 b/man/man1/shsh-cleanup.1 index 5101edd..3f3ea42 100644 --- a/man/man1/shsh-cleanup.1 +++ b/man/man1/shsh-cleanup.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,cleanup \/\fR[\fI\,-d|--dry\/\fR] diff --git a/man/man1/shsh-commands.1 b/man/man1/shsh-commands.1 index a160d9f..ac58e63 100644 --- a/man/man1/shsh-commands.1 +++ b/man/man1/shsh-commands.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,commands\/\fR diff --git a/man/man1/shsh-completions.1 b/man/man1/shsh-completions.1 index 25b3e6e..e2ff3c8 100644 --- a/man/man1/shsh-completions.1 +++ b/man/man1/shsh-completions.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,completions \/\fR diff --git a/man/man1/shsh-help.1 b/man/man1/shsh-help.1 index dfd8b77..f8258f8 100644 --- a/man/man1/shsh-help.1 +++ b/man/man1/shsh-help.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,help \/\fR[\fI\,--usage\/\fR] \fI\,COMMAND\/\fR diff --git a/man/man1/shsh-init.1 b/man/man1/shsh-init.1 index 9945730..a26a59d 100644 --- a/man/man1/shsh-init.1 +++ b/man/man1/shsh-init.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B eval \fI\,"$(shsh init SHELL)"\/\fR diff --git a/man/man1/shsh-install.1 b/man/man1/shsh-install.1 index 45a3e3d..3fe4d85 100644 --- a/man/man1/shsh-install.1 +++ b/man/man1/shsh-install.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,install \/\fR[\fI\,site\/\fR]\fI\,/\/\fR[\fI\,@ref\/\fR] [\fI\,/\/\fR] @@ -64,36 +64,44 @@ multiples are given, they will be run in sequential order. a+x Before linking, add executable bit to all files. .SH EXAMPLES -.TP +.IP shsh install soraxas/dot\-reminder +.IP install 'soraxas/dot\-reminder' as a package -.TP +.IP shsh install soraxas/git\-utils git/tools +.IP install 'soraxas/git\-utils' to a folder within 'git/tools' -.TP +.IP shsh install \-\-ssh +.IP install with ssh protocal (rather than https) -.TP +.IP shsh install \-v FISH_COMPLETIONS=synoservice.fish:forgit.fish +.IP link 'synoservice.fish' and 'forgit.fish' as fish completion files -.TP +.IP shsh install \-\-hook pre="mv bin/foo bin/bar" +.IP Execute the script "mv bin/foo bin/bar" before `shsh` performs linking (e.g. this script renames the binary) -.TP +.IP shsh install \-\-hook +x=foobar +.IP add a hook that add executable bits to the file 'foobar', before linking is performed -.TP +.IP shsh install \-h pre='make all' \-h post='rm \-r build/*' +.IP add a hook that runs 'make all' to build binaries, right after cloning and before linking is performed. Then, linking is performed with its usual rules (i.e. all executable files in root and in bin/). Finally, \&'rm \-r build/*' is ran to remove leftovers. -.TP +.IP shsh install \-\-plain wsl\-tools/win32yank \-h pre='curl \-sLo out.zip \e +.IP https://<..>/releases/<..>.zip && unzip out.zip' \-h +x=win32yank.exe .IP add a plain package by using curl to download pre\-built diff --git a/man/man1/shsh-link.1 b/man/man1/shsh-link.1 index 29bb68a..783a0fc 100644 --- a/man/man1/shsh-link.1 +++ b/man/man1/shsh-link.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,link \/\fR[\fI\,--no-deps\/\fR] \fI\, \/\fR diff --git a/man/man1/shsh-list.1 b/man/man1/shsh-list.1 index 5a0d2ee..64eb480 100644 --- a/man/man1/shsh-list.1 +++ b/man/man1/shsh-list.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,list \/\fR[\fI\,-d|--details\/\fR] diff --git a/man/man1/shsh-outdated.1 b/man/man1/shsh-outdated.1 index abeb541..4c31ac8 100644 --- a/man/man1/shsh-outdated.1 +++ b/man/man1/shsh-outdated.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,outdated \/\fR[\fI\,-q|--quiet\/\fR] diff --git a/man/man1/shsh-package-path.1 b/man/man1/shsh-package-path.1 index 2726a5d..0e74bf1 100644 --- a/man/man1/shsh-package-path.1 +++ b/man/man1/shsh-package-path.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B source \fI\,"$(shsh package-path )/file.sh"\/\fR diff --git a/man/man1/shsh-refresh.1 b/man/man1/shsh-refresh.1 index dc7cae8..7cac936 100644 --- a/man/man1/shsh-refresh.1 +++ b/man/man1/shsh-refresh.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,refresh \/\fR[\fI\,--verbose\/\fR] [\fI\,-a|--all\/\fR] diff --git a/man/man1/shsh-self-upgrade.1 b/man/man1/shsh-self-upgrade.1 index 464b0ad..54f1543 100644 --- a/man/man1/shsh-self-upgrade.1 +++ b/man/man1/shsh-self-upgrade.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,self-upgrade\/\fR diff --git a/man/man1/shsh-uninstall.1 b/man/man1/shsh-uninstall.1 index 4dbc9a0..8d29e4f 100644 --- a/man/man1/shsh-uninstall.1 +++ b/man/man1/shsh-uninstall.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\,uninstall \/\fR diff --git a/man/man1/shsh-upgrade.1 b/man/man1/shsh-upgrade.1 index 12a405c..b32f251 100644 --- a/man/man1/shsh-upgrade.1 +++ b/man/man1/shsh-upgrade.1 @@ -1,10 +1,10 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh -\fI\,upgrade \/\fR +\fI\,upgrade \/\fR[\fI\,-f|--force\/\fR] .br .B shsh \fI\,upgrade <-a|--all>\/\fR @@ -14,6 +14,14 @@ Upgrades a package .TP \fB\-a\fR, \fB\-\-all\fR upgrade all packages, instead of invidivual package +.TP +\fB\-f\fR, \fB\-\-force\fR +force upgrade a package even if the cloned repository is +up\-to\-date +.TP +\fB\-\-nohooks\fR +supress the evaluation of existing hooks in SHSHRC file +(default is executing all previously saved hooks) .SH AUTHOR Written by Tin Lai (@soraxas) .SH COPYRIGHT diff --git a/man/man1/shsh.1 b/man/man1/shsh.1 index 7480a44..f23c690 100644 --- a/man/man1/shsh.1 +++ b/man/man1/shsh.1 @@ -1,7 +1,7 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15. -.TH SHSH "1" "July 2020" "shell script handler v2.4.2" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.16. +.TH SHSH "1" "January 2021" "shell script handler v2.4.3" "User Commands" .SH NAME -shsh \- manual page for shsh v2.4.2 +shsh \- manual page for shsh v2.4.3 .SH SYNOPSIS .B shsh \fI\, \/\fR[\fI\,\/\fR] [\fI\,--verbose\/\fR] [\fI\,--help\/\fR] @@ -174,36 +174,44 @@ multiples are given, they will be run in sequential order. a+x Before linking, add executable bit to all files. .SS EXAMPLES -.TP +.IP shsh install soraxas/dot\-reminder +.IP install 'soraxas/dot\-reminder' as a package -.TP +.IP shsh install soraxas/git\-utils git/tools +.IP install 'soraxas/git\-utils' to a folder within 'git/tools' -.TP +.IP shsh install \-\-ssh +.IP install with ssh protocal (rather than https) -.TP +.IP shsh install \-v FISH_COMPLETIONS=synoservice.fish:forgit.fish +.IP link 'synoservice.fish' and 'forgit.fish' as fish completion files -.TP +.IP shsh install \-\-hook pre="mv bin/foo bin/bar" +.IP Execute the script "mv bin/foo bin/bar" before `shsh` performs linking (e.g. this script renames the binary) -.TP +.IP shsh install \-\-hook +x=foobar +.IP add a hook that add executable bits to the file 'foobar', before linking is performed -.TP +.IP shsh install \-h pre='make all' \-h post='rm \-r build/*' +.IP add a hook that runs 'make all' to build binaries, right after cloning and before linking is performed. Then, linking is performed with its usual rules (i.e. all executable files in root and in bin/). Finally, \&'rm \-r build/*' is ran to remove leftovers. -.TP +.IP shsh install \-\-plain wsl\-tools/win32yank \-h pre='curl \-sLo out.zip \e +.IP https://<..>/releases/<..>.zip && unzip out.zip' \-h +x=win32yank.exe .IP add a plain package by using curl to download pre\-built @@ -269,7 +277,7 @@ uninstall all packages that is not present in SHSHRC file do not prompt to confirm uninstalling each package .SH "SUBCMD: SHSH UPGRADE" .B shsh -\fI\,upgrade \/\fR +\fI\,upgrade \/\fR[\fI\,-f|--force\/\fR] .br .B shsh \fI\,upgrade <-a|--all>\/\fR @@ -279,6 +287,14 @@ Upgrades a package .TP \fB\-a\fR, \fB\-\-all\fR upgrade all packages, instead of invidivual package +.TP +\fB\-f\fR, \fB\-\-force\fR +force upgrade a package even if the cloned repository is +up\-to\-date +.TP +\fB\-\-nohooks\fR +supress the evaluation of existing hooks in SHSHRC file +(default is executing all previously saved hooks) .SH ENVIRONMENT The following environment variables has effects in `shsh` of changing the default directories of stored files.