mail backups were getting in a loop, i think this fixes
[distro-setup] / brc2
diff --git a/brc2 b/brc2
index 1905c792569e431e9b2ed9124236644e58a140d7..754f9a0ca1b37a784bad5ebfee9fb14d6abacabc 100644 (file)
--- a/brc2
+++ b/brc2
@@ -6,7 +6,10 @@
 
 # * settings
 
-if [[ $HISTFILE ]]; then
+if [[ $LESSHISTFILE == - ]]; then
+  HISTFILE=
+  c() { cd "$@"; }
+elif [[ $HISTFILE ]]; then
   HISTFILE=$HOME/.bh
 fi
 
@@ -22,6 +25,7 @@ path-add --end ~/.local/bin
 path-add --ifexists --end /a/work/libremanage
 path-add --ifexists --end /a/opt/adt-bundle*/tools /a/opt/adt-bundle*/platform-tools
 path-add --ifexists --end /a/opt/scancode-toolkit-3.10.
+path-add --ifexists --end /p/bin
 
 case $HOSTNAME in
   sy|bo)
@@ -115,7 +119,7 @@ zcheck() {
   s scp bow:/tmp/oegu.jpg /t
   s ssh bow rm /tmp/oegu.jpg
   feh /t/oegu.jpg
-  }
+}
 
 slemacs() {
   local arg rtime v
@@ -299,19 +303,6 @@ abrowserrmcompat() {
   fi
   ngreset
 }
-ngset() {
-  if shopt nullglob >/dev/null; then
-    ngreset=false
-  else
-    shopt -s nullglob
-    ngreset=true
-  fi
-}
-ngreset() {
-  if $ngreset; then
-    shopt -u nullglob
-  fi
-}
 
 checkre() {
   s checkrestart -b /a/bin/ds/checkrestart-blacklist -pv
@@ -1202,6 +1193,7 @@ mnsr() { # mns run
 
 mnsnonet() {
   ns=$1
+  lomh
   if ! s ip netns list | grep -Fx nonet &>/dev/null; then
     s ip netns add nonet
   fi
@@ -1283,48 +1275,60 @@ mp() {
   done
 }
 
-# these might need a mu index or something added.
-mbenable() {
-  local mb=$1
-  dst=/m/4e/$mb
-  src=/m/md/$mb
-  [[ -e $src ]] || { echo "src:$src does not exist"; return 1; }
-  m mv -T $src $dst
-  m ln -s -T $dst $src
-}
-mb2enable() {
-  local mb
-  for mb; do
-    dst=/m/4e2/$mb
-    link=/m/md/$mb
-    src=/m/md/$mb
-    if [[ ! -e $src || -L $src ]]; then
-      src=/m/4e/$mb
+# maildir enable
+mdenable() {
+  local md dst ln_path src two
+
+  two=false
+  case $1 in
+    -2) two=true shift ;;
+  esac
+
+  for md; do
+    src=
+    if $two; then
+      dst=/m/4e2/$md
+    else
+      dst=/m/4e/$md
+    fi
+
+    ln_path=/m/md/$md
+    for d in /m/md/$md /m/4e2/$md; do
+      if [[ -d $d && ! -L $d ]]; then
+        src=$d
+        break
+      fi
+    done
+    if [[ ! $src ]]; then
+      echo "error: could not find $md" >&2
+      return 1
     fi
-    [[ -e $src ]] || { echo "src:$src does not exist"; return 1; }
     m mv -T $src $dst
-    m ln -sf -T $dst $link
+    m ln -sf -T $dst $ln_path
   done
 }
-mbdisable() {
-  local mb=$1
-  dst=/m/md/$mb
-  src=/m/4e/$mb
-  set -x
-  [[ -e $src ]] || { set +x; return 1; }
-  if [[ -L $dst ]]; then rm $dst; fi
-  mv -T $src $dst
-  set +x
+md2enable() {
+  mdenable -2 "$@"
 }
-mb2disable() {
-  local mb=$1
-  dst=/m/md/$mb
-  src=/m/4e2/$mb
-  set -x
-  [[ -e $src ]] || { set +x; return 1; }
-  if [[ -L $dst ]]; then rm $dst; fi
-  mv -T $src $dst
-  set +x
+mddisable() {
+  local md=$1
+  dst=/m/md/$md
+
+  ### begin copied from mdenable, but different d ###
+  for d in /m/4e/$md /m/4e2/$md; do
+    if [[ -d $d && ! -L $d ]]; then
+      src=$d
+      break
+    fi
+  done
+  if [[ ! $src ]]; then
+    echo "error: could not find $md" >&2
+    return 1
+  fi
+  ### end copy from mdenable ###
+
+  if [[ -L $dst ]]; then m rm $dst; fi
+  m mv -T $src $dst
 }
 
 
@@ -1403,8 +1407,8 @@ mpvm() {
   arg+=(")")
   dir=${1:-.}
   # debug:
-  #find $dir "${arg[@]}" -size +1M
-  find $dir "${arg[@]}" -size +1M -exec mpv --profile=d '{}' +
+  #find $dir "${arg[@]}" -size +200k
+  find $dir "${arg[@]}" -size +200k -exec mpv --profile=d '{}' +
 }
 mpvs() {
   mpv --profile=s "$@";
@@ -1560,6 +1564,7 @@ rebr() {
 }
 
 
+r2e() { command r2e -d /p/c/rss2email.json -c /p/c/rss2email.cfg "$@"; }
 # only run on MAIL_HOST. simpler to keep this on one system.
 r2eadd() { # usage: name url
   # initial setup of rss2email:
@@ -1578,7 +1583,6 @@ r2eadd() { # usage: name url
   # get up to date and dont send old entries now:
   r2e run --no-send $1
 }
-r2e() { command r2e -d /p/c/rss2email.json -c /p/c/rss2email.cfg "$@"; }
 
 rspicy() { # usage: HOST DOMAIN
   # connect to spice vm remote host. use vspicy for local host
@@ -1820,9 +1824,9 @@ testexim() {
   #  exim -t 'test@zroe.org, t2@zroe.org'  <<'EOF'
   #
   # -t = get recipient from header
-  exim -d -t <<'EOF'
-From: root@$(hostname-f)
-To: root@$(hostname-f)
+  exim -d -t <<EOF
+From: root@$(hostname -f)
+To: root@$(hostname -f)
 Subject: test2
 
 This is a test message.
@@ -1933,6 +1937,18 @@ sdnbash() { # systemd namespace bash
   m sudo nsenter -t $pid -n -m sudo -u $USER -i bash
 }
 
+sdnbashroot() { # systemd namespace bash
+  local unit pid
+  if (( $# != 1 )); then
+    echo $0: error wrong number of args >&2
+    return 1
+  fi
+  unit=$1
+  pid=$(servicepid $unit)
+  m sudo nsenter -t $pid -n -m bash
+}
+
+
 sdncmd() { # systemd namespace cmd
   local unit pid
   if (( $# <= 2 )); then