[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