various fixes, add emacs wrappers
[distro-setup] / distro-begin
index a76549110ad0e77c62eb93e00a46c5a3ed50dbdc..bbd94f2afdd68bf641bf326e0bddb5b4c7397779 100755 (executable)
@@ -567,7 +567,7 @@ EOF
     fi
 fi
 
-s mkdir -p /q/i/{w,k}
+s mkdir -p /q /i/{w,k}
 for dir in /{i,w,k}; do
     if mountpoint $dir; then continue; fi # already mounted
     s mkdir -p $dir
@@ -583,16 +583,21 @@ s mkdir -p /mnt/iroot
 # then waits endlessly for them on bootup, after the /dev/mapper disks
 # have already been created and exist. todo: create a simple repro
 # for this in a vm and report it upstream.
+pi nfs-common
 s dd of=/root/imount <<'EOF'
 #!/bin/bash
 [[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@"
 set -eE -o pipefail
 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 for dir in /i /mnt/iroot /w /k /kr; do
-  if ! mountpoint $dir &>/dev/null && \
-        awk '{print $2}' /etc/fstab | grep -xFq $dir; then
-    mount $dir
-  fi
+    if ! mountpoint $dir &>/dev/null && \
+            awk '{print $2}' /etc/fstab | grep -xF $dir &>/dev/null; then
+        if awk '{print $3}' /etc/fstab | grep -xF nfs &>/dev/null; then
+            mount $dir || echo "warning: failed to mount nfs on $dir"
+        else
+            mount $dir
+        fi
+    fi
 done
 EOF
 s chmod +x /root/imount
@@ -714,28 +719,33 @@ EOF
 
 
 if isdeb; then
-    # I've had problems with postfix on debian:
+    # I\'ve had problems with postfix on debian:
     # on stretch, a startup ordering issue caused all mail to fail.
     # postfix changed defaults to only use ipv6 dns, causing all my mail to fail.
     # exim4 is default on debian, so I assume it would
     # be packaged better to avoid these types of things.
-    # I haven't gotten around to getting a non-debian exim
+    # I haven\'t gotten around to getting a non-debian exim
     # setup.
     mail-setup exim4
-   else
-       mail-setup postfix
+else
+    mail-setup postfix
 fi
 
-   if isubuntu; then
-       # disable crash report annoying crap
-       s dd of=/etc/default/apport <<<'enabled=0'
-   fi
+if isubuntu; then
+    # disable crash report annoying crap
+    s dd of=/etc/default/apport <<<'enabled=0'
+fi
 
 # fai sets this an old way that doesn't work for stretch.
 # no harm in setting it universally here.
 # using debconf-set-selection, the area gets reset to ETC
 # on my linode test machine after doing a dpkg-reconfigure, or a reinstall,
 # so we are using expect :(
+# I got a random error when running this, so I added a sleep
+# rather than trying to write a whole detect and wait loop.
+# E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
+# E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
+sleep 1
 s apt-get -y install --no-install-recommends expect
 s expect <<EOF
 set force_conservative 0