small fixes and config changes
[automated-distro-installer] / fai / config / scripts / GRUB_PC / 11-ian
index d9534b024f40dd96bd912aa53b03d04a14c5c588..221b6d4da9277a9eb8a70dbef7df53052cc7570b 100755 (executable)
@@ -1,19 +1,74 @@
 #!/bin/bash -x
 
 set -eE -o pipefail
-trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR
+trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 
 $ROOTCMD adduser --disabled-password --gecos ian ian
+
+if [[ ! $ROOTPW ]]; then
+    echo "$0: error: empty \$ROOTPW"
+    exit 1
+fi
+
 $ROOTCMD usermod -p "$ROOTPW" ian
 
+if ifclass STABLE; then
+    fcopy -M /etc/apt/preferences
+fi
+
+if ifclass DEBIAN; then
+    fcopy -M /etc/apt/preferences.d/unstable
+    fcopy -riM /etc/apt/sources.list.d
+fi
+
 
-fcopy -rM -i /home/ian/.ssh
+# note:
+# fcopy -i = ignore nonmatching class error, always return 0.
+
+f=/target/home/ian/.ssh/authorized_keys
+if [[ ! -L $f || -e $f ]]; then
+    fcopy -r -M /home/ian/.ssh
+fi
 /var/lib/fai/config/distro-install-common/end
 
-$ROOTCMD chown -R 1000:1000 /home/ian/.ssh
-$ROOTCMD chmod -R u=Xrw,og= /home/ian/.ssh
-$ROOTCMD cp -ar /home/ian/.ssh /root
-$ROOTCMD chown -R root:root /root/.ssh
+rm -f /target/etc/apt/sources.list
+
+chroot /target bash <<'EOF'
+set -eE -o pipefail
+chown -R 1000:1000 /home/ian/.ssh
+chmod -R u=Xrw,og= /home/ian/.ssh
+rm -rf /root/.ssh
+cp -rL /home/ian/.ssh /root
+chown -R root:root /root/.ssh
+
+# default jessie groups + kvm & systemd-journal
+usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,kvm,systemd-journal ian
+EOF
+
+
+$ROOTCMD apt-get -y install unison-gtk
+if ifclass STABLE; then
+    # don't think this is needed since I figured out how to
+    # deal with mismatching unison compilers, but I don't
+    # see any reason to revert it, since it only installs
+    # a single package which is primarily a single binary
+    $ROOTCMD apt-get -y install unison-gtk/testing
+fi
+
+
+
+$ROOTCMD adduser --disabled-password --gecos traci traci
+$ROOTCMD usermod -a -G traci ian
+# reading through the groups that ian is in but traci isn't,
+for g in plugdev audio video cdrom; do
+    $ROOTCMD usermod -a -G $g traci
+done
+
+if ifclass frodo; then
+    $ROOTCMD usermod -p "$(cat /var/lib/fai/config/distro-install-common/shadow/traci-simple)" traci
+fi
+
 
-# default jessie groups + kvm
-$ROOTCMD usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,kvm ian
+# makes the journal be saved to disk.
+$ROOTCMD mkdir -p /target/var/log/journal
+$ROOTCMD chmod 755 /target/var/log/journal