iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix mail forwarded from fsf
[distro-setup]
/
conflink
diff --git
a/conflink
b/conflink
index 0f2e64c88450dcb2432bdb96a0024f85846fba4f..1cefd0bd3f7bad668d25e380b717c80a51689b7e 100755
(executable)
--- a/
conflink
+++ b/
conflink
@@
-12,33
+12,61
@@
Usage: ${0##*/} [OPTIONS]
Link or otherwise install configuration files.
-f For fast. Dont use lnf, use ln -sf. Good for updating existing files.
Link or otherwise install configuration files.
-f For fast. Dont use lnf, use ln -sf. Good for updating existing files.
+-v Verbose show all the files getting linked and whatnot.
EOF
exit $1
}
EOF
exit $1
}
+s() { sudo "$@"; }
m() {
m() {
+ "$@"
+}
+v() {
echo "$*"
"$@"
}
echo "$*"
"$@"
}
-s() { sudo "$@"; }
lnf() { /a/exe/lnf "$@"; }
lnf() { /a/exe/lnf "$@"; }
+
+
+##### begin command line parsing ########
+
+# ensure we can handle args with spaces or empty.
+ret=0; getopt -T || ret=$?
+[[ $ret == 4 ]] || { echo "Install util-linux for enhanced getopt" >&2; exit 1; }
+
fast=false
fast=false
-if [[ $1 == -f ]]; then # f for fast
- fast=true
+verbose=false
+temp=$(getopt -l help hvf "$@") || usage 1
+eval set -- "$temp"
+while true; do
+ case $1 in
+ -v) verbose=true ;;
+ -f) fast=true ;;
+ -h|--help) usage ;;
+ --) shift; break ;;
+ *) echo "$0: unexpected args: $*" >&2 ; usage 1 ;;
+ esac
shift
shift
-elif
- [[ $1 ]]; then
- echo "error: unrecognized arguments" >&2
- exit 0
-fi
+done
+readonly fast verbose
+
+##### end command line parsing ########
+
if $fast; then
lnf() { ln -sf "$@"; }
fi
if $fast; then
lnf() { ln -sf "$@"; }
fi
+if $verbose; then
+ m() {
+ echo "$*"
+ "$@"
+ }
+fi
+
shopt -s nullglob
shopt -s extglob
shopt -s dotglob
shopt -s nullglob
shopt -s extglob
shopt -s dotglob
@@
-97,7
+125,7
@@
common-file-setup() {
case $HOSTNAME in
kd)
if systemctl is-active prometheus &>/dev/null; then
case $HOSTNAME in
kd)
if systemctl is-active prometheus &>/dev/null; then
-
m
s systemctl reload prometheus
+
v
s systemctl reload prometheus
fi
;;
esac
fi
;;
esac
@@
-130,11
+158,11
@@
common-file-setup() {
m lnf ${x[@]} ~
done
if $reload_systemd; then
m lnf ${x[@]} ~
done
if $reload_systemd; then
-
m
s systemctl daemon-reload
+
v
s systemctl daemon-reload
fi
for service in ${restart_services[@]}; do
if systemctl is-active $service >/dev/null; then
fi
for service in ${restart_services[@]}; do
if systemctl is-active $service >/dev/null; then
-
m
s systemctl restart $service
+
v
s systemctl restart $service
fi
done
}
fi
done
}
@@
-155,8
+183,8
@@
case $user in
for t in systemstatus epanicclean btrfsmaintstop dynamicipupdate; do
f=/etc/systemd/system/$t.timer
if [[ -e $f ]]; then
for t in systemstatus epanicclean btrfsmaintstop dynamicipupdate; do
f=/etc/systemd/system/$t.timer
if [[ -e $f ]]; then
-
s
systemctl stop $t.timer
-
s
systemctl disable $t.timer
+
v
systemctl stop $t.timer
+
v
systemctl disable $t.timer
s rm -fv $f
reload_systemd=true
fi
s rm -fv $f
reload_systemd=true
fi
@@
-165,7
+193,10
@@
case $user in
if [[ -e /etc/cron.daily/check-lets-encrypt-ssl-settings ]]; then
m s rm -f /etc/cron.daily/check-lets-encrypt-ssl-settings
fi
if [[ -e /etc/cron.daily/check-lets-encrypt-ssl-settings ]]; then
m s rm -f /etc/cron.daily/check-lets-encrypt-ssl-settings
fi
-
+ # conversion from whole folder subdir to individual files.
+ if [[ -L /home/iank/.config/copyq ]]; then
+ rm -fv /home/iank/.config/copyq
+ fi
/a/bin/ds/install-my-scripts
files=(/p/c/machine_specific/*/filesystem/etc/ssh/*_key
/a/bin/ds/install-my-scripts
files=(/p/c/machine_specific/*/filesystem/etc/ssh/*_key
@@
-188,7
+219,7
@@
case $user in
m s chgrp -R bind $f
m s chmod g+w $f
fi
m s chgrp -R bind $f
m s chmod g+w $f
fi
- s
udo
bash -c 'shopt -s nullglob; for f in /etc/bind/*.key /etc/bind/*.private /etc/bind/key.*; do chgrp bind $f; done'
+ s bash -c 'shopt -s nullglob; for f in /etc/bind/*.key /etc/bind/*.private /etc/bind/key.*; do chgrp bind $f; done'
if [[ -e /etc/caldav-htpasswd ]] && getent group www-data &>/dev/null; then
s chgrp www-data /etc/caldav-htpasswd
fi
if [[ -e /etc/caldav-htpasswd ]] && getent group www-data &>/dev/null; then
s chgrp www-data /etc/caldav-htpasswd
fi
@@
-214,7
+245,7
@@
case $user in
##### end special extra stuff #####
if ! $fast; then
##### end special extra stuff #####
if ! $fast; then
- m s
udo
-H -u user2 "${BASH_SOURCE[0]}"
+ m s -H -u user2 "${BASH_SOURCE[0]}"
fi
f=/a/bin/distro-setup/system-status
fi
f=/a/bin/distro-setup/system-status