iankelling.org
/
git
/
distro-setup
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3f87809
)
conflink detect systemd changes, better btrbk for roaming laptops
author
Ian Kelling
<ian@iankelling.org>
Sat, 19 Oct 2019 17:37:56 +0000
(13:37 -0400)
committer
Ian Kelling
<ian@iankelling.org>
Sat, 19 Oct 2019 17:37:56 +0000
(13:37 -0400)
btrbk-run
patch
|
blob
|
history
conflink
patch
|
blob
|
history
diff --git
a/btrbk-run
b/btrbk-run
index bfb2080778699b17b816737170a2c7a33cf7f1eb..10bd6382c65df24a4ec1efe35a45270e70ad9005 100644
(file)
--- a/
btrbk-run
+++ b/
btrbk-run
@@
-138,9
+138,21
@@
if [[ ! -v targets && ! $source ]]; then
echo "MAIL_HOST=$MAIL_HOST, nothing to do"
exit 0
fi
echo "MAIL_HOST=$MAIL_HOST, nothing to do"
exit 0
fi
+
+ at_work=false
+
case $HOSTNAME in
case $HOSTNAME in
- kw|x2)
- if ping -q -c1 -w1 iank.vpn.office.fsf.org &>/dev/null; then
+ kw)
+ at_work=true
+ ;;&
+ x2|x3)
+ if ping -q -c1 -w1 hal.office.fsf.org \
+ && ip n show 192.168.0.26 | grep . &>/dev/null; then
+ at_work=true
+ fi
+ ;;&
+ kw|x2|x3)
+ if $at_work && ping -q -c1 -w1 iank.vpn.office.fsf.org &>/dev/null; then
home=iank.vpn.office.fsf.org
else
home=b8.nz
home=iank.vpn.office.fsf.org
else
home=b8.nz
@@
-149,12
+161,9
@@
if [[ ! -v targets && ! $source ]]; then
kw)
targets=($home x2)
;;
kw)
targets=($home x2)
;;
- x2)
+ x2
|x3
)
targets=($home kw)
;;
targets=($home kw)
;;
- x3)
- targets=($home)
- ;;
tp)
# kd disabled temporarily while its hot and i plan to work on it.
#targets=(frodo kd)
tp)
# kd disabled temporarily while its hot and i plan to work on it.
#targets=(frodo kd)
diff --git
a/conflink
b/conflink
index fdd3bd6072e07c25d802e132f0a828abb9605230..aecd0377119a99daf04b7d0e497e65c46f729de0 100755
(executable)
--- a/
conflink
+++ b/
conflink
@@
-66,13
+66,19
@@
subdir-link-r() {
}
}
-
common-file-setup() {
common-file-setup() {
- local dir fs x f
+ local dir fs x f systemd_reload
+ systemd_reload=false
for dir in "$@"; do
fs=$dir/filesystem
if [[ -e $fs && $user =~ ^iank?$ ]]; then
for dir in "$@"; do
fs=$dir/filesystem
if [[ -e $fs && $user =~ ^iank?$ ]]; then
+ # this could be done with rsync, something like this,
+ # but I haven't looked at the symlinks.
+ # s rsync -n -ahviSAXPH --specials --devices --chown=root:root --chmod=g-s $fs /
# note, symlinks get resolved, not copied.
# note, symlinks get resolved, not copied.
+ if s tar --mode=g-s --owner=0 --group=0 -cz -C $fs . | s tar -dz -C / | grep /etc/systemd &>/dev/null; then
+ systemd_reload=true
+ fi
s tar --mode=g-s --owner=0 --group=0 -cz -C $fs . | s tar -xz -C /
fi
s tar --mode=g-s --owner=0 --group=0 -cz -C $fs . | s tar -xz -C /
fi
@@
-83,6
+89,9
@@
common-file-setup() {
(( ${#x[@]} >= 1 )) || continue
m lnf ${x[@]} ~
done
(( ${#x[@]} >= 1 )) || continue
m lnf ${x[@]} ~
done
+ if $systemd_reload; then
+ m s systemctl daemon-reload
+ fi
}
user=$(id -un)
}
user=$(id -un)