various fixes
[automated-distro-installer] / fai / config / scripts / GRUB_PC / 11-ian
index 629d1bc6a0deaf9a34b91c49b10dd44dda4bad1c..5d064be41bfa8593539c54ac1e1d9d65ee494c8d 100755 (executable)
@@ -8,40 +8,44 @@ if [[ $EUID != 0 ]]; then
     exit 1
 fi
 
+if ! type -t fcopy &>/dev/null; then
+    sudo apt-get -y install fai-client
+fi
 
 dir=/q/root/shadow
-if [[ ! -e $dir ]]; then
+fai_shadow=$FAI/distro-install-common/shadow
+if [[ ! -e $dir && -e $fai_shadow ]]; then
     mkdir -p $dir
-    echo "IANNNNNN 111"
-    ls -la $FAI/distro-install-common/shadow
-    mount -o bind $FAI/distro-install-common/shadow $dir
+    mount -o bind $fai_shadow $dir
 fi
 $FAI/distro-install-common/end
 
-if ifclass STABLE; then
+if ifclass STABLE || ifclass LINODESTABLE; 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
+    $ROOTCMD apt-get update
 fi
 
 
 # note:
 # fcopy -i = ignore nonmatching class error, always return 0.
 
-f=$FAI_ROOT/home/ian/.ssh/authorized_keys
-if [[ ! -L $f || -e $f ]]; then
-    fcopy -r -M /home/ian/.ssh
-else
-    echo "$0: info: $f exists"
-fi
+# for lj, this will be empty and fail
+fcopy -riM /home/ian/.ssh
 
 rm -f $FAI_ROOT/etc/apt/sources.list
 
 chroot $FAI_ROOT bash <<'EOF'
 set -eE -o pipefail
+mkdir -p /home/ian/.ssh
+f=/root/.ssh/authorized_keys
+if [[ -e $f ]]; then
+   cp $f /home/ian/.ssh
+fi
 chown -R 1000:1000 /home/ian/.ssh
 chmod -R u=Xrw,og= /home/ian/.ssh
 rm -rf /root/.ssh
@@ -49,8 +53,8 @@ cp -rL /home/ian/.ssh /root
 chown -R root:root /root/.ssh
 chmod 700 /root/.ssh
 
-# default jessie groups + kvm & systemd-journal
-usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,systemd-journal ian
+# default jessie groups + kvm, systemd-journal, adm
+usermod -aG adm,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,systemd-journal ian
 EOF