[DRE-commits] [diaspora-installer] 01/02: fix backup logic for updates

Praveen Arimbrathodiyil praveen at moszumanska.debian.org
Fri Mar 17 10:41:03 UTC 2017


This is an automated email from the git hooks/post-receive script.

praveen pushed a commit to annotated tag debian/0.6.3.0+debian2
in repository diaspora-installer.

commit 88b9039b6dba1bc33796c64d4b45e770751d8831
Author: Praveen Arimbrathodiyil <praveen at debian.org>
Date:   Fri Mar 17 11:00:47 2017 +0530

    fix backup logic for updates
---
 debian/postinst      |  3 ++-
 debian/preinst       | 26 ++++++++++++++------------
 diaspora-download.sh |  2 +-
 3 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/debian/postinst b/debian/postinst
index d44ed31..4c3ac11 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -56,8 +56,9 @@ https://github.com/hyperic/sigar/issues/60 ..."
 
 	echo "Precompiling assets..."
 	su diaspora -s /bin/sh -c 'bundle exec rake tmp:cache:clear assets:precompile'
+        # preinst creates backup (to be able to remove files removed upstream)
         echo "Remove backup..."
-        rm -rf ${diaspora_home}-backup.*
+        rm -rf ${diaspora_home}/.backup.*
 
         # Starting diaspora
         service diaspora start
diff --git a/debian/preinst b/debian/preinst
index 4d189dc..1b770fa 100755
--- a/debian/preinst
+++ b/debian/preinst
@@ -2,6 +2,7 @@
 set -e
 
 diaspora_home=/usr/share/diaspora
+diaspora_symlinks_list="Gemfile.lock log tmp app/assets bin/bundle vendor/bundle db/schema.rb config/database.yml config/diaspora/yml"
 
 # Fix bin symlink set by earlier versions
 if test -L ${diaspora_home}/bin
@@ -10,20 +11,21 @@ then
 fi
 
 # Backup the previous version
-# Just keep the config and vendor/bundle
+# Just keep the modified files/directories
+# We need this to remove files removed upstream
 backup() {
-    cp -r ${diaspora_home}/config ${diaspora_home}-config
-    cp -r ${diaspora_home}/vendor/bundle ${diaspora_home}-vendor-bundle
-    cp -r ${diaspora_home}/.bundle ${diaspora_home}.bundle
     backup_suffix=$(openssl rand -hex 4)
-    mv ${diaspora_home} ${diaspora_home}-backup.${backup-suffix}
-    mkdir ${diaspora_home}
-    mkdir ${diaspora_home}/vendor
-    mv ${diaspora_home}-config ${diaspora_home}/config
-    mv ${diaspora_home}-vendor-bundle ${diaspora_home}/vendor/bundle
-    mv ${diaspora_home}.bundle ${diaspora_home}/.bundle
-    mv ${diaspora_home}-backup.${backup-suffix}/public ${diaspora_home}/public
-	
+    backup_dir=${diaspora_home}/.backup.${backup_suffix}
+    mkdir  ${backup_dir}
+    mv ${diaspora_home}/* ${backup_dir}
+
+    for i in vendor,app,bin,db,config; do
+      mkdir ${diaspora_home}/$i
+    done
+
+    for i in ${diaspora_symlinks_list}; do
+      mv ${backup_dir}/$i ${diaspora_home}/$i
+    done
 }
  
 case "$1" in
diff --git a/diaspora-download.sh b/diaspora-download.sh
index ab7ea84..0caf307 100755
--- a/diaspora-download.sh
+++ b/diaspora-download.sh
@@ -33,7 +33,7 @@ echo "Copying files to ${diaspora_home}..."
     
 echo "diaspora archive to copy: ${diaspora_archive}"
 
-rsync -a ${diaspora_cache}/${diaspora_archive}/* ${diaspora_home} --exclude tmp --exclude log --exclude db/schema.rb --exclude app/assets --exclude public
+rsync -a ${diaspora_cache}/${diaspora_archive}/* ${diaspora_home} --exclude tmp --exclude log --exclude db/schema.rb --exclude app/assets --exclude public --exclude Gemfile.lock
 cp -r  ${diaspora_cache}/${diaspora_archive}/db/schema.rb ${diaspora_user_home}/db-schema.rb.template
 cp -r  ${diaspora_cache}/${diaspora_archive}/app/assets/* ${diaspora_user_home}/app-assets
 cp -r  ${diaspora_cache}/${diaspora_archive}/public/* ${diaspora_user_home}/public

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/diaspora-installer.git



More information about the Pkg-ruby-extras-commits mailing list