Merge branch 'upstream'
[automated-distro-installer] / fai / config / scripts / LAST / 50-misc
index 25b6ce7e239bde45aa96af061dfcd133fe8fc919..2a8f2f129a6b47faa295b2f34ed6507595317d2d 100755 (executable)
@@ -1,10 +1,10 @@
 #! /bin/bash
 
-# copyright Thomas Lange 2001-2015, lange@debian.org
+# copyright Thomas Lange 2001-2016, lange@debian.org
 
 error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code
 
-if [ "$FAI_ACTION" = "dirinstall" ] ; then
+if [ "$FAI_ACTION" = "dirinstall" -o $do_init_tasks -eq 0 ] ; then
   :
 else
   # check if mdadm has been forgotten
@@ -15,13 +15,14 @@ else
     fi
   fi
 
-  usedm=$(dmsetup ls | egrep -v '^live-rw|^live-base|^No devices found' | wc -l)
-  if [ $usedm -ne 0 ]; then
-    if [ ! -d $target/etc/lvm ]; then
-       echo ERROR: Found lvm devices, but the lvm2 package was not installed
-       error=1
-    fi
-  fi
+  # # commented because it does false possitive
+  # usedm=$(dmsetup ls | egrep -v '^live-rw|^live-base|^No devices found' | wc -l)
+  # if [ $usedm -ne 0 ]; then
+  #   if [ ! -d $target/etc/lvm ]; then
+  #       echo ERROR: Found lvm devices, but the lvm2 package was not installed
+  #       error=1
+  #   fi
+  # fi
 fi
 
 # remove backup files from cfengine, but only if cfengine is installed
@@ -45,7 +46,7 @@ if [ $do_init_tasks -eq 1 ] ; then
 fi
 
 # Make sure everything is configured properly
-if ifclass DEBIAN ; then
+if ifclass DEBIAN || ifclass UBUNTU; then
         echo "Running \"apt-get -f install\" for the last time."
         $ROOTCMD apt-get -f install
 fi
@@ -58,4 +59,36 @@ fi
 # copy sources.list
 fcopy -iM /etc/apt/sources.list
 
+
+setrel() {
+
+    # if release is not set, try to determine it
+
+    if [ -n "$release" ]; then
+       return
+    fi
+    if [ ! -f $target/etc/os-release ]; then
+       return
+    fi
+
+    dists="jessie stretch xenial trusty"
+    for d in $dists; do
+       if grep -iq $d $target/etc/os-release; then
+           release=$d
+           break
+       fi
+    done
+    echo "\$release set to $release"
+}
+
+# if installation was done from CD, replace useless sources.list
+setrel
+if [ -f $target/etc/apt/sources.list -a -n "$release" ]; then
+    grep -q 'file generated by fai-cd' $target/etc/apt/sources.list && cat <<EOF > $target/etc/apt/sources.list
+deb http://httpredir.debian.org/debian $release main contrib non-free
+deb http://httpredir.debian.org/debian-security $release/updates main contrib non-free
+deb [trusted=yes] http://fai-project.org/download $release koeln
+EOF
+fi
+
 exit $error