updates, especially for etiona
authorIan Kelling <ian@iankelling.org>
Sun, 5 Jan 2020 18:41:50 +0000 (13:41 -0500)
committerIan Kelling <ian@iankelling.org>
Sun, 5 Jan 2020 18:41:50 +0000 (13:41 -0500)
15 files changed:
.bashrc
Makefile
brc
brc2
btrbk-run
check-subvol-stale
conflink
distro-begin
distro-end
filesystem/usr/local/bin/myupgrade
mail-setup
pkgs
ssh-emacs-setup
subdir_files/sieve/lists.sieve
subdir_files/sieve/liststest.sieve

diff --git a/.bashrc b/.bashrc
index d374dd4e522a7f7d34a88ee28c6e90e37e7d9509..04df859f14367be83d2655d2f12e9aee32c2b820 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -36,6 +36,10 @@ HISTIGNORE='pass *:[ ]*:otp *:oathtool *'
 # see comments in brc2 sl() function for background.
 if [[ $SSH_CONNECTION ]] \
      && [[ $BRC != t ]];  then
+  brc() {
+    export BRC=t
+    source ~/.bashrc
+  }
   return 0
 else
 
index 3c19e63bfad5093117a5dff68de533520b14536a..eeb913a6cf5d3f8f5332dba6df0eda274a74cafa 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,5 +3,5 @@ all: ~/.local/distro-begin ~/.local/distro-end
 ~/.local/distro-begin: distro-begin mail-setup /a/bin/buildscripts/emacs ssh-emacs-setup
        distro-begin
 
-~/.local/distro-end: distro-end distro-pkgs pkgs primary-setup /a/bin/buildscripts/tor-browser /a/bin/buildscripts/go /a/bin/buildscripts/rust /a/bin/buildscripts/misc
+~/.local/distro-end: distro-end distro-pkgs pkgs primary-setup /a/bin/buildscripts/tor-browser /a/bin/buildscripts/go /a/bin/buildscripts/rust /a/bin/buildscripts/misc /p/c/gen-fsf-vpn
        distro-end
diff --git a/brc b/brc
index 30ee49a6680e4524dadfb4601acb02a899e1fce7..a85cd66db70995f727d010fd7194e9782ef171f6 100644 (file)
--- a/brc
+++ b/brc
@@ -479,7 +479,6 @@ ev() {
   done
 }
 
-
 ediff() {
   [[ ${#@} == 2 ]] || { echo "error: ediff requires 2 arguments"; return 1; }
   emacs --eval "(ediff-files \"$1\" \"$2\")"
diff --git a/brc2 b/brc2
index d9c7cbde71d5da4126b1466c106e699e9375d02b..cdac34b690b40401c314c0138a543e7918674d09 100644 (file)
--- a/brc2
+++ b/brc2
@@ -114,11 +114,11 @@ bbk() { # btrbk wrapper
   local active=true
   systemctl is-active btrbk.timer || active=false
   if $active; then
-    ser disable btrbk.timer
+    ser stop btrbk.timer
   fi
-  if systemctl is-active btrbk.service; then
-    $active && ser enable btrbk.timer
+  if [[ $(systemctl is-active btrbk.service ||:) != inactive ]]; then
     echo "cron btrbk is already running"
+    if $active; then ser start btrbk.timer; fi
     return 1
   fi
   # run latest
@@ -126,9 +126,9 @@ bbk() { # btrbk wrapper
   jrun -p btrbk btrbk-run "$@"
   if $active; then
     if (( $ret )); then
-      echo bbk: WARNING: btrbk.timer not reenabled due to failure
+      echo bbk: WARNING: btrbk.timer not restarted due to failure
     else
-      ser enable btrbk.timer
+      ser start btrbk.timer
     fi
   fi
   return $ret
@@ -807,22 +807,28 @@ resolvcat() {
   m s nscd -i hosts
   f=/etc/resolv.conf
   echo $f:;  ccat $f
-  # this will fail is dnsmasq is failed
-  hr; m ser status dnsmasq | cat || :
   hr; s ss -lpn 'sport = 53'
-  #hr; echo dnsmasq is $(systemctl is-active dnsmasq)
-  f=/var/run/dnsmasq/resolv.conf
-  hr; echo $f:;  ccat $f
-  hr; m grr '^ *(servers-file|server) *=|^ *no-resolv *$' /etc/dnsmasq.conf /etc/dnsmasq.d
-  f=/etc/dnsmasq-servers.conf
-  hr; echo $f:;  ccat $f
+  if systemctl is-enabled dnsmasq &>/dev/null || [[ $(systemctl is-active dnsmasq ||:) != inactive ]]; then
+    # this will fail is dnsmasq is failed
+    hr; m ser status dnsmasq | cat || :
+    f=/var/run/dnsmasq/resolv.conf
+    hr; echo $f:;  ccat $f
+    hr; m grr '^ *(servers-file|server) *=|^ *no-resolv *$' /etc/dnsmasq.conf /etc/dnsmasq.d
+    f=/etc/dnsmasq-servers.conf
+    hr; echo $f:;  ccat $f
+  fi
+  if systemctl is-enabled systemd-resolved &>/dev/null || [[ $(systemctl is-active systemd-resolved ||:) != inactive ]]; then
+    hr; m ser status systemd-resolved | cat || :
+    hr; m systemd-resolve --status
+  fi
+
 }
 rcat() {
   resolvcat | less
 }
 reresolv() {
   sudo nscd -i hosts
-  sudo systemctl restart dnsmasq
+  #sudo systemctl restart dnsmasq
 }
 
 # only run on MAIL_HOST. simpler to keep this on one system.
index 04a71a82da4c18db673c79bae3e7c2c9573b6150..68363821af2b1f695655805c83fe683d7f8102cc 100644 (file)
--- a/btrbk-run
+++ b/btrbk-run
@@ -176,16 +176,17 @@ if [[ ! -v targets && ! $source ]]; then
     tp)
       # kd disabled temporarily while its hot and i plan to work on it.
       #targets=(frodo kd)
-      targets=(frodo x3.b8.nz)
+      #targets=(frodo x2.b8.nz)
+      targets=(frodo)
       # might not be connected to the vpn
-      if timeout -s 9 10 ssh kw :; then
+      if timeout -s 9 6 ssh kw :; then
         targets+=(kw)
       fi
       ;;
     kd)
       targets=(frodo tp)
       # might not be connected to the vpn
-      if timeout -s 9 10 ssh kw :; then
+      if timeout -s 9 6 ssh kw :; then
         targets+=(kw)
       fi
       ;;
@@ -278,7 +279,6 @@ fi
 
 
 
-
 if ! which btrbk &>/dev/null; then
   die "error: no btrbk binary found"
 fi
@@ -306,7 +306,7 @@ else
   for h in ${targets[@]}; do
     if zone=$(ssh root@$h "mkdir -p /mnt/root/btrbk && date +%z"); then
       # This is a separate ssh because xprintidle can fail and thats ok.
-      if $cron && idle_ms=$(ssh $h DISPLAY=:0 xprintidle); then
+      if $cron && idle_ms=$(timeout -s 9 6 ssh $h DISPLAY=:0 xprintidle); then
         if (( idle_ms < min_idle_ms )); then
 
           # Ignore this host. i sometimes use a non-main machine for
@@ -449,7 +449,7 @@ if mountpoint $rsync_mountpoint >/dev/null; then
 fi
 
 if [[ $source ]]; then
-  m mount-latest-subvol $verbose_arg
+  m mount-latest-subvol
 else
   m /a/exe/mount-latest-remote ${targets[@]}
 fi
index d514bafa8ed22d047f751cb28a972f3724d0ea16..8e7d7547457a4e02f01efeaf4720f4a9bf9a699a 100644 (file)
@@ -100,7 +100,7 @@ for d; do
     echo "$0: error could not find root subvol mount for $dev" >&2
     exit 1
   fi
-  svp=$root_dir/$subvol_dir
+  svp=$root_dir/$subvol_dir # subvolume path
   d "svp=$svp # subvolume path"
 
   snaps=($root_dir/btrbk/$subvol_dir.20*) # Assumes we are in the 21st century.
@@ -136,7 +136,8 @@ for d; do
       f=${s##*/}
       unix_time=$(date -d $(sed -r  's/(.{4})(..)(.{5})(..)(.*)/\1-\2-\3:\4:\5/' <<<${f#$vol.}) +%s)
       printf "%s %s\n" $unix_time $s
-    done | sort -r | head -n 1 | awk '{print $2}'
+      # sort will fail
+    done | sort -r | head -n 1 | awk '{print $2}' || [[ ${PIPESTATUS[1]} == 2 ]]
            )
   if [[ ! $last_snap ]]; then
     # should not happen.
index 8deae093a7bbee829a72ab1cc590ed8a91390372..69b6a6eca005592194ebe2f8c22691527e9a7005 100755 (executable)
--- a/conflink
+++ b/conflink
@@ -173,10 +173,6 @@ case $user in
 
     ##### end special extra stuff #####
 
-    if [[ -e /etc/openvpn ]]; then
-      sudo bash -c 'shopt -s nullglob && cd /etc/openvpn && for f in client/* server/*; do ln -sf $f .; done'
-    fi
-
     m sudo -H -u user2 "${BASH_SOURCE[0]}"
 
     f=/a/bin/distro-setup/system-status
index eb51dcbe33fb67d0008357e8bddc203ad6f125f3..16d3359d5d8f8579250d9541e14f37479601089d 100755 (executable)
@@ -46,7 +46,6 @@
 ### make ssh interactive shell run better. for when running line interactively line by line
 sudo bash -c '/a/exe/ssh-emacs-setup'
 
-if [[ -s ~/.bashrc ]];then . ~/.bashrc;fi
 ##### setup error handling
 interactive=true  # set this to false to force set -x
 [[ $- == *i* ]] || interactive=false
@@ -168,15 +167,26 @@ EOF
 
   pi rsync
 
-  # from /usr/share/doc/dropbear-initramfs/README.initramfs.gz
-  tmp=$(mktemp)
-  while read -r m _; do /sbin/modinfo -F filename "$m"; done </proc/modules | \
-    sed -nr "s@^/lib/modules/$(uname -r)/kernel/drivers/net(/.*)?/([^/]+)\.ko\$@\2@p" \
-    | sudo dd of=$tmp
-  if ! diff -q /etc/initramfs-tools/modules $tmp &>/dev/null; then
-    sudo dd if=$tmp of=/etc/initramfs-tools/modules
+  ## /usr/share/doc/dropbear-initramfs/README.initramfs.gz
+  ## claims we need to do this. but it works fine without it.
+  # tmp=$(mktemp)
+  # while read -r m _; do /sbin/modinfo -F filename "$m"; done </proc/modules | \
+    #   sed -nr "s@^/lib/modules/$(uname -r)/kernel/drivers/net(/.*)?/([^/]+)\.ko\$@\2@p" \
+    #   | sudo dd of=$tmp
+  # if ! diff -q /etc/initramfs-tools/modules $tmp &>/dev/null; then
+  #   sudo dd if=$tmp of=/etc/initramfs-tools/modules
+  #   sudo /usr/sbin/update-initramfs -u -k all
+  # fi
+  #
+  ## if we were creating an intall for a different machine needing different modules, we could include them all like this:
+  ## find /lib/modules/*/kernel/drivers/net /lib/modules/*/kernel/net -type f -name '*.ko' -printf "%f\n" | sed 's/.ko$//' | sort -u >/etc/initramfs-tools/modules
+
+  # this is here to cleanup the leftover from the comments above. remove it eventually.
+  if [[ -s /etc/initramfs-tools/modules ]]; then
+    sudo truncate -s0 /etc/initramfs-tools/modules
     sudo /usr/sbin/update-initramfs -u -k all
   fi
+
   # initram auth keys get setup with rootsshsync
   $script_dir/rootsshsync
   # then for remote unlock, ssh and do this once per crypt disk:
@@ -516,36 +526,28 @@ if tp || x2 || x3; then
   esac
 fi
 
-if has_x; then
+if has_monitor; then
+
+  # sway not packaged for t9, not bothering to build it yet since
+  # i3 doesnt seem to tear and stutter on video anymore.
+  if [[ $codename == buster ]]; then
+    pi sway xwayland
+  fi
+
+
   ###### install X
   pi i3
-  if isarch; then
-    # xorg-xmessage for displaying error messages.
-    # optional dependency in arch, standard elsewhere.
-    pi xorg-server xorg-xmessage xorg-xsetroot xorg-xinit
-  fi
 
   ##### install xinput
   case $(distro-name) in
     trisquel|ubuntu|debian)
       pi xinput
       ;;
-    arch)
-      pi xorg-xinput
-      ;;
   esac
 
-  #### install redshift
-  case $(distro-name) in
-    trisquel|ubuntu|debian)
-      # recommends gets us geoclue (for darkening automatically at night i assume),
-      # which recommends modemmanager, which is annoying to fix for the model01 keyboard.
-      pi --no-install-recommends gtk-redshift
-      ;;&
-    arch)
-      pi redshift
-      ;;&
-  esac
+  # recommends gets us geoclue (for darkening automatically at night i assume),
+  # which recommends modemmanager, which is annoying to fix for the model01 keyboard.
+  pi --no-install-recommends gtk-redshift
 
   ##### setup X autostart
   # todo, figure this out for arch if we ever try out gnome.
@@ -558,23 +560,19 @@ if has_x; then
 [SeatDefaults]
 session-setup-script=/a/bin/distro-setup/desktop-20-autostart.sh
 EOF
-fi
 
-### install and configure wayland
-if has_wayland; then
-  pi sway xwayland
+
   # originally used xkbcomp, documented in input-setup.sh, this doesnt
   # work under wayland, but its still useful for creating the config,
   # then modifying the system files.
   sudo sed -i.orig '/key *<KPMU> *{/,/}/s/KP_Multiply/underscore/g' /usr/share/X11/xkb/symbols/keypad
-fi
 
-##### basic graphical packages
-if has_monitor; then
+  ##### basic graphical packages
   pi konsole suckless-tools
 fi
 
 
+
 ##### install  emacs
 if $emacs; then
   if isarch; then
index a53c8c8c26c593e236846c38dda1ea0b6eb95002..0c6b463623c5f9a352be268363910b0a73a5d5bd 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 # Copyright (C) 2019 Ian Kelling
 # SPDX-License-Identifier: AGPL-3.0-or-later
-if [[ -s ~/.bashrc ]];then . ~/.bashrc;fi
+export BRC=t; if [[ -s ~/.bashrc ]];then . ~/.bashrc;fi
 
 ### setup
 source /a/bin/errhandle/err
@@ -362,7 +362,18 @@ Pin-Priority: 1005
 EOF
 
 
-    ;;
+    ;;&
+  etiona)
+    sd /etc/apt/preferences.d/etiona-bionic <<'EOF'
+Package: *
+Pin: release n=bionic
+Pin-Priority: -100
+
+Package: firefox gnome-screenshot gnome-icon-theme libnautilus-extension1a gnome-settings-daemon nautilus yelp gnome-settings-daemon-schemas nautilus-data ubuntu-wallpapers gnome-control-center gnome-control-center-data gnome-control-center-faces libsnapd-glib1 ubuntu-wallpapers-bionic gir1.2-snapd-1 ubuntu-drivers-common ubuntu-docs libyelp0
+Pin: release n=bionic
+Pin-Priority: 500
+EOF
+    ;;&
   *)
     if isdeb; then
       pi debian-goodies shellcheck
@@ -793,16 +804,11 @@ fi
 ######### end irc periodic backup #############
 
 
-case $distro in
-  debian|trisquel|ubuntu)
-    # suggests resolvconf package. installing it here is redundant, but make sure anyways.
-    # todo: check other distros to make sure it\'s installed
-    pi-nostart openvpn resolvconf
-    # pi-nostart does not disable
-    ser disable openvpn
-    ;;
-  *) pi openvpn;;
-esac
+pi-nostart openvpn
+# pi-nostart does not disable
+ser disable openvpn
+
+/p/c/gen-fsf-vpn
 
 m /a/bin/distro-setup/radicale-setup
 
@@ -1045,6 +1051,7 @@ sgo schrootupdate.timer
 # for my roommate
 case $distro in
   trisquel)
+    # cant do buster due to old gpg
     m mkschroot debian stretch firefox-esr pulseaudio chromium
     ;;
   debian)
@@ -1377,16 +1384,31 @@ DEVICESCAN -a -o on -S on -n standby,q $sched \
 
 ########### misc stuff
 
-pi-nostart network-manager
-# make networkmanager use resolvconf instead of its own dnsmasq which
-# conflicts with the normal dnsmasq package.
-f=/etc/NetworkManager/NetworkManager.conf
-m=$(md5sum $f)
-sudo sed -ri '/ *\[main\]/,/^ *\[[^]]+\]/{/^\s*dns[[:space:]=]/d}' $f
-sudo sed -ri '/ *\[main\]/a dns=default' $f
-if [[ $m != $(md5sum $f) ]]; then
-  srestart NetworkManager
-fi
+case $(debian-codename) in
+  # needed for debootstrap scripts for fai since fai requires debian
+  flidas)
+    pi dnsmasq
+    pi-nostart network-manager
+    # make networkmanager use resolvconf instead of its own dnsmasq which
+    # conflicts with the normal dnsmasq package.
+    f=/etc/NetworkManager/NetworkManager.conf
+    m=$(md5sum $f)
+    sudo sed -ri '/ *\[main\]/,/^ *\[[^]]+\]/{/^\s*dns[[:space:]=]/d}' $f
+    sudo sed -ri '/ *\[main\]/a dns=default' $f
+    if [[ $m != $(md5sum $f) ]]; then
+      srestart NetworkManager
+    fi
+    # networkmanager has this nasty behavior on flidas: if the machine
+    # crashes with dnsmasq running, on subsequent boot, it adds an entry to
+    # resolvconf for 127.0.0.1 in some stupid attempt to restore
+    # nameservers.
+    # This can be manually fixed by stoping dnsmasq,
+    # then based on whats in /run/dnsmasq/, i see we can run
+    # s resolvconf -d NetworkManager
+    # oh ya, and stoping NetworkManager leaves this crap behind without cleaning it up.
+    ser disable NetworkManager
+    ;;
+esac
 
 # make my /etc/fonts/conf.d/ get used.
 # I have a new sans-serif font there because the default one
@@ -1465,15 +1487,6 @@ m /a/bin/buildscripts/tor-browser
 # nfs server
 pi-nostart nfs-kernel-server
 
-# networkmanager has this nasty behavior on flidas: if the machine
-# crashes with dnsmasq running, on subsequent boot, it adds an entry to
-# resolvconf for 127.0.0.1 in some stupid attempt to restore
-# nameservers.
-# This can be manually fixed by stoping dnsmasq,
-# then based on whats in /run/dnsmasq/, i see we can run
-# s resolvconf -d NetworkManager
-# oh ya, and stoping NetworkManager leaves this crap behind without cleaning it up.
-ser disable NetworkManager
 
 
 if [[ $HOSTNAME == frodo ]]; then
index eedc62d1e8bb63e2316cdc0d2a8b1ca86425df55..737cb13ccb5c7a8967ae945d2f9208735f9f2dd5 100755 (executable)
@@ -46,7 +46,7 @@ l go get -u mvdan.cc/fdroidcl
 
 cmd="sudo /usr/sbin/checkrestart -p"
 if [[ $($cmd | sed '/^Found 0 processes using old versions of upgraded files$/d' | wc -l) != 0 ]]; then
-  $cmd -v | pee cat "wall -n"
+  $cmd | pee cat wall
 fi
 
 # no automatic reboot for these hosts
index 6f96982c559c23c9542856f1efda1a145321966e..b0454841ad1874b53f5a9dc85890743183fb9275 100755 (executable)
@@ -308,25 +308,19 @@ f=/a/bin/bash_unpublished/source-state
 if [[ -e $f ]]; then
     source $f
 fi
-if [[ $HOSTNAME == "$MAIL_HOST" ]]; then
-    local_mx=mail.iankelling.org
-    mkdir -p /etc/letsencrypt/live/$local_mx
-    chmod 700 /etc/letsencrypt/live
-    rsync_common="rsync -ogtL --chown=root:Debian-exim --chmod=640 root@li.iankelling.org:/etc/letsencrypt/live/$local_mx/"
-    ${rsync_common}fullchain.pem /etc/exim4/exim.crt
-    ret=$?
-    ${rsync_common}privkey.pem /etc/exim4/exim.key
-    new_ret=$?
-    if [[ $ret != $new_ret ]]; then
-       echo "$0: error: differing rsync returns, $ret, $new_ret"
-       exit 1
-    fi
+if [[ $HOSTNAME != "$MAIL_HOST" ]]; then
+  exit 0
 fi
-if [[ $new_ret != 0 ]]; then
-    if ! openssl x509 -checkend $(( 60 * 60 * 24 * 3 )) -noout -in /etc/exim4/exim.crt; then
-        echo "$0: error!: cert rsync failed and it will expire in less than 3 days"
-        exit 1
-    fi
+local_mx=mail.iankelling.org
+mkdir -p /etc/letsencrypt/live/$local_mx
+chmod 700 /etc/letsencrypt/live
+rsync_common="rsync -ogtL --chown=root:Debian-exim --chmod=640 root@li.iankelling.org:/etc/letsencrypt/live/$local_mx/"
+# allow for temporary connection issues
+${rsync_common}fullchain.pem /etc/exim4/exim.crt ||:
+${rsync_common}privkey.pem /etc/exim4/exim.key ||:
+if ! openssl x509 -checkend $(( 60 * 60 * 24 * 3 )) -noout -in /etc/exim4/exim.crt; then
+    echo "$0: error!: cert rsync failed and it will expire in less than 3 days"
+    exit 1
 fi
 exit 0
 EOF
@@ -446,7 +440,7 @@ DKIM_SELECTOR = li
 # The file is based on the outgoing domain-name in the from-header.
 DKIM_DOMAIN = \${lc:\${domain:\$h_from:}}
 # sign if key exists
-DKIM_PRIVATE_KEY= \${if exists{/etc/exim4/\${dkim_domain}-private.pem} {/etc/exim4/\${dkim_domain}-private.pem}}
+DKIM_PRIVATE_KEY = \${if exists{/etc/exim4/\${dkim_domain}-private.pem} {/etc/exim4/\${dkim_domain}-private.pem}}
 
 # most of the ones that gmail seems to use.
 # Exim has horrible default of signing unincluded
@@ -689,13 +683,16 @@ case $HOSTNAME in
 /^127\.0\.1\.1.* mail\.iankelling\.org\b/{p;d}
 /^127\.0\.1\.1 /s/ *$/ mail.iankelling.org/
 EOF
+
+    # note: systemd-resolved will consult /etc/hosts, dnsmasq wont. this assumes
+    # weve configured this file in dnsmasq if we are using it.
     /a/exe/cedit mail /etc/dnsmasq-servers.conf <<'EOF' || [[ $? == 1 ]]
 server=/mail.iankelling.org/127.0.1.1
 EOF
     if systemctl is-active dnsmasq >/dev/null; then
       m systemctl restart dnsmasq
-      m nscd -i hosts
     fi
+    m nscd -i hosts
 
     # I used to use debconf-set-selections + dpkg-reconfigure,
     # which then updates this file
@@ -818,7 +815,7 @@ EOF
     ;;
   # * not MAIL_HOST
   *) # $HOSTNAME != $MAIL_HOST
-    # remove mail. 2 lines to properly remove whitespace
+    # remove mail. uses 2 lines to properly remove whitespace
     sed -ri -f - /etc/hosts <<'EOF'
 s#^(127\.0\.1\.1 .*) +mail\.iankelling\.org$#\1#
 s#^(127\.0\.1\.1 .*)mail\.iankelling\.org +(.*)#\1\2#
@@ -826,9 +823,9 @@ EOF
 
     echo | /a/exe/cedit mail /etc/dnsmasq-servers.conf || [[ $? == 1 ]]
     if systemctl is-active dnsmasq >/dev/null; then
-      m nscd -i hosts
       m systemctl restart dnsmasq # reload does not ensure new config is used
     fi
+    m nscd -i hosts
 
     m systemctl disable mailclean.timer &>/dev/null ||:
     m systemctl stop mailclean.timer &>/dev/null ||:
@@ -941,8 +938,8 @@ elif [[ $uid != 608 ]]; then
   m usermod -u 608 Debian-exim
   m groupmod -g 608 Debian-exim
   m usermod -g 608 Debian-exim
-  m find / /nocow -xdev -uid $uid -exec chown -h 608 {} +
-  m find / /nocow -xdev -gid $gid -exec chgrp -h 608 {} +
+  m find / /nocow -path ./var/tmp -prune -o -xdev -uid $uid -execdir chown -h 608 {} +
+  m find / /nocow -path ./var/tmp -prune -o -xdev -gid $gid -execdir chgrp -h 608 {} +
 fi
 
 
diff --git a/pkgs b/pkgs
index 7bc4db7cb272d469b1199820d01817f63c50ac00..c24084c35d785d3aa37f2737e789a992eee52d23 100644 (file)
--- a/pkgs
+++ b/pkgs
@@ -76,7 +76,6 @@ p3=(
   dillo
   dirmngr
   dnsutils
-  dnsmasq
   python-dnspython
   python3-dnspython
   dtrx
index 65679fde3459fc7f6b833cfe52b70e99cf7573bb..ff3e2d03fd90ce0a958ab5bc3e7fee2aad026e1f 100755 (executable)
@@ -25,6 +25,7 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR
 
 cd $(dirname $0)
 teeu /etc/ssh/ssh_config 'SendEnv INSIDE_EMACS BRC COLUMNS'
+## note, duplicated in /a/bin/fai/fai/config/scripts/GRUB_PC/11-iank
 teeu /etc/ssh/sshd_config 'AcceptEnv INSIDE_EMACS BRC COLUMNS'
 # get rid of useless motd stuff
 sed -i --follow-symlinks 's/^\s*PrintLastLog .*/PrintLastLog no/' /etc/ssh/sshd_config
index 00b9443cd68a22298e068838470e36e077671c39..6c09b2f0d008d6ffdbc44e26f51c16dc6d5e8109 100644 (file)
@@ -72,6 +72,7 @@ if anyof (
     header :contains "list-id" "<freetype-devel.nongnu.org>",
     header :contains "list-id" "<mailman-developers.python.org>",
     header :contains "list-id" "<mailop.mailop.org>",
+    header :contains "list-id" "<linux-raid.vger.kernel.org>",
     header :contains "list-id" "<xmonad.haskell.org>") {
     if header :regex "list-id" "<([a-z_0-9-]+)[.@]" {
         set :lower "listname" "${1}";
@@ -116,6 +117,7 @@ if anyof (
     header :contains "list-id" "<discussion.lists.fsfe.org>",
     header :contains "list-id" "<gnu-system-discuss.gnu.org>",
     header :contains "from" "<general-info@artisansasylum.com>",
+    header :contains "list-id" "<discuss.lists.blu.org>",
     header :contains "list-id" "<spdx.lists.spdx.org>"
     ) {
     fileinto :create "community";
index 00b9443cd68a22298e068838470e36e077671c39..c69155cea36235487e489b61076110cb1cb0495c 100644 (file)
@@ -71,6 +71,7 @@ if anyof (
     header :contains "list-id" "<seabios.seabios.org>",
     header :contains "list-id" "<freetype-devel.nongnu.org>",
     header :contains "list-id" "<mailman-developers.python.org>",
+    header :contains "list-id" "<linux-raid.vger.kernel.org>",
     header :contains "list-id" "<mailop.mailop.org>",
     header :contains "list-id" "<xmonad.haskell.org>") {
     if header :regex "list-id" "<([a-z_0-9-]+)[.@]" {
@@ -116,6 +117,7 @@ if anyof (
     header :contains "list-id" "<discussion.lists.fsfe.org>",
     header :contains "list-id" "<gnu-system-discuss.gnu.org>",
     header :contains "from" "<general-info@artisansasylum.com>",
+    header :contains "list-id" "<discuss.lists.blu.org>",
     header :contains "list-id" "<spdx.lists.spdx.org>"
     ) {
     fileinto :create "community";