From 05f41cfdc0a5d87ed0ccf0dc9de42a4aaa8d8a17 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@robotics.uk.to>
Date: Sat, 9 Jul 2016 11:51:18 +0100
Subject: [PATCH] Move emacs local backup into app script

---
 src/freedombone-app-emacs     | 44 +++++++++++++++++++++++++++++++----
 src/freedombone-restore-local | 30 ------------------------
 2 files changed, 40 insertions(+), 34 deletions(-)

diff --git a/src/freedombone-app-emacs b/src/freedombone-app-emacs
index d4b65569e..bccc3515e 100755
--- a/src/freedombone-app-emacs
+++ b/src/freedombone-app-emacs
@@ -31,19 +31,55 @@
 VARIANTS='all'
 
 function reconfigure_emacs {
-    echo -n ''
+	echo -n ''
 }
 
 function upgrade_emacs {
-    echo -n ''
+	echo -n ''
 }
 
 function backup_local_emacs {
-	echo -n ''
+	for d in /home/*/ ; do
+		USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
+		if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" ]]; then
+			if [ -d /home/$USERNAME/.emacs.d ]; then
+				echo $"Backing up Emacs config for $USERNAME"
+				if [ -f /home/$USERNAME/.emacs ]; then
+					cp /home/$USERNAME/.emacs /home/$USERNAME/.emacs.d/dotemacs
+				fi
+				function_check backup_directory_to_usb
+				backup_directory_to_usb /home/$USERNAME/.emacs.d config/$USERNAME
+			fi
+		fi
+	done
 }
 
 function restore_local_emacs {
-	echo -n ''
+	temp_restore_dir=/root/tempemacs
+	if [ -d $USB_MOUNT/backup/emacs ]; then
+		for d in $USB_MOUNT/backup/emacs/*/ ; do
+			USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
+			if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" ]]; then
+				if [ ! -d /home/$USERNAME ]; then
+					${PROJECT_NAME}-adduser $USERNAME
+				fi
+				echo $"Restoring Emacs config for $USERNAME"
+				function_check restore_directory_from_usb
+				restore_directory_from_usb $temp_restore_dir emacs/$USERNAME
+				cp -r $temp_restore_dir/home/$USERNAME/.emacs.d /home/$USERNAME/
+				if [ ! "$?" = "0" ]; then
+					rm -rf $temp_restore_dir
+					function_check set_user_permissions
+					set_user_permissions
+					function_check backup_unmount_drive
+					backup_unmount_drive
+					exit 664
+				fi
+				cp -f $temp_restore_dir/home/$USERNAME/.emacs.d/dotemacs /home/$USERNAME/.emacs
+				rm -rf $temp_restore_dir
+			fi
+		done
+	fi
 }
 
 function backup_remote_emacs {
diff --git a/src/freedombone-restore-local b/src/freedombone-restore-local
index 4f318fd16..cecb9ee5b 100755
--- a/src/freedombone-restore-local
+++ b/src/freedombone-restore-local
@@ -547,35 +547,6 @@ function restore_user_config {
     fi
 }
 
-function restore_user_emacs {
-    if [[ $RESTORE_APP != 'all' ]]; then
-        if [[ $RESTORE_APP != 'useremacs' ]]; then
-            return
-        fi
-    fi
-    if [ -d $USB_MOUNT/backup/emacs ]; then
-        for d in $USB_MOUNT/backup/emacs/*/ ; do
-            USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" ]]; then
-                if [ ! -d /home/$USERNAME ]; then
-                    ${PROJECT_NAME}-adduser $USERNAME
-                fi
-                echo $"Restoring Emacs config for $USERNAME"
-                restore_directory_from_usb /root/tempemacs emacs/$USERNAME
-                cp -r /root/tempemacs/home/$USERNAME/.emacs.d /home/$USERNAME/
-                if [ ! "$?" = "0" ]; then
-                    rm -rf /root/tempemacs
-                    set_user_permissions
-                    backup_unmount_drive
-                    exit 664
-                fi
-                cp -f /root/tempemacs/home/$USERNAME/.emacs.d/dotemacs /home/$USERNAME/.emacs
-                rm -rf /root/tempemacs
-            fi
-        done
-    fi
-}
-
 function gpg_pubkey_from_email {
     key_owner_username=$1
     key_email_address=$2
@@ -856,7 +827,6 @@ restore_spamassassin
 restore_admin_readme
 restore_user_ssh_keys
 restore_user_config
-restore_user_emacs
 restore_user_monkeysphere
 restore_user_fin
 restore_user_local
-- 
GitLab