]> code.delx.au - gnu-emacs-elpa/commitdiff
* admin/org-synch.sh, admin/package-update.sh: Rewrite for
authorTed Zlatanov <tzz@lifelogs.com>
Sat, 20 Nov 2010 17:17:25 +0000 (11:17 -0600)
committerTed Zlatanov <tzz@lifelogs.com>
Sat, 20 Nov 2010 17:17:25 +0000 (11:17 -0600)
in-place exporting.

admin/org-synch.sh
admin/package-update.sh

index 86d57a4d845b4f962407b3a7f35497e4243cb1d1..45000b8f50b7044c59e492d198b23d7a6d49f057 100755 (executable)
@@ -1,11 +1,13 @@
 #!/bin/sh
 
+# this script expects $1 to be the download directory and $2 to have org-synch.el
+
 pkgname=`/usr/bin/curl -s http://orgmode.org/pkg/daily/|/usr/bin/perl -ne 'push @f, $1 if m/(org-\d{8}\.tar)/; END { @f = sort @f; print "$f[-1]\n"}'`
 
-cd /home/elpa/
-/usr/bin/wget -q http://orgmode.org/pkg/daily/$pkgname
-if [ -f $pkgname ]; then
-    /bin/rm -f packages/org*.tar && \
-    /bin/mv $pkgname packages-new && \
-    /usr/bin/emacs -batch -l /home/elpa/bin/org-synch.el -f org-synch &> /home/elpa/update-log
+cd $1
+/usr/bin/wget -q http://orgmode.org/pkg/daily/$pkgname -O ${pkgname}-tmp
+if [ -f ${pkgname}-tmp ]; then
+    /bin/rm -f org*.tar
+    /bin/mv ${pkgname}-tmp $pkgname && \
+    /usr/bin/emacs -batch -l $2/org-synch.el -f org-synch
 fi
index de42d8272193c5edc9e30a4849c547243ad84c05..ac6561fe1bd92cade784ec565c7156a3a920a728 100755 (executable)
@@ -1,21 +1,52 @@
 #/bin/sh
 
-/bin/rm /home/elpa/update-log
+ROOT=$1
+LOG=$ROOT/update-log
+PKGROOT=$ROOT/packages
+ADMINROOT=$ROOT/admin
+
+TARBALL=$PKGROOT/emacs-packages-latest.tgz
+TARBALL_ROOT="emacs-24.1-packages-`/bin/date +'%F'`"
+
+REPO=bzr://bzr.savannah.gnu.org/emacs/elpa
+REPO_PACKAGES=$REPO/packages
+REPO_ADMIN=$REPO/admin
+
+if [ -z $ROOT ]; then
+    echo "Syntax: $0 HOMEDIR"
+    exit 1
+elif [ -d $ROOT ]; then
+    echo "Installing into '$ROOT', log is '$LOG'"
+    echo "Installing into '$ROOT'" > $LOG
+else
+    echo "Sorry but $ROOT is not a directory, aborting."
+    exit 1
+fi
+
 
 ## Create emacs-packages-latest.tgz
-/usr/bin/bzr export --format=tgz --root=emacs-24.1-packages-`/bin/date +'%F'` /home/elpa/emacs-packages-latest.tgz /home/elpa/package-repo
+echo "Exporting packages into $TARBALL (root = $TARBALL_ROOT)" >> $LOG
+/usr/bin/bzr export --format=tgz --root=$TARBALL_ROOT $TARBALL $REPO_PACKAGES
 
 ## Create the world-facing copy
-rm -rf /home/elpa/packages-new
-/usr/bin/bzr export /home/elpa/packages-new /home/elpa/package-repo
+echo "[$TMPROOT -> $PKGROOT] Creating the world-facing package repository copy in $PKGROOT" >> $LOG
+TMPROOT=$PKGROOT-new
+rm -rf $TMPROOT
+/usr/bin/bzr export $TMPROOT $REPO_PACKAGES
+
+echo "[$TMPROOT -> $PKGROOT] Running the post-export fetchers in $ADMINROOT against $TMPROOT" >> $LOG
+rm -rf $ADMINROOT
+bzr export $ADMINROOT $REPO_ADMIN
 
 # Copy the org daily package from orgmode.org
-/home/elpa/bin/org-synch.sh
+echo "[$TMPROOT -> $PKGROOT] Running the post-export org-mode fetcher as '$ADMINROOT/org-synch.sh $TMPROOT $ADMINROOT'" >> $LOG
+$ADMINROOT/org-synch.sh $TMPROOT $ADMINROOT >> $LOG 2>&1
 
-/bin/mv /home/elpa/packages /home/elpa/packages-old
-/bin/mv /home/elpa/packages-new /home/elpa/packages
-/bin/rm -rf /home/elpa/packages-old
+echo "[$TMPROOT -> $PKGROOT] Moving $TMPROOT to $PKGROOT" >> $LOG
+/bin/mv $PKGROOT $PKGROOT-old
+/bin/mv $TMPROOT $PKGROOT
+/bin/rm -rf $PKGROOT-old
 
-/bin/chmod -R a+rX /home/elpa/packages
+/bin/chmod -R a+rX $PKGROOT
 
-/bin/echo "Update complete at" `/bin/date` >> /home/elpa/update-log
+echo "Update complete at" `/bin/date` >> $LOG