summarylogtreecommitdiffstats
path: root/iceweasel-sync
diff options
context:
space:
mode:
Diffstat (limited to 'iceweasel-sync')
-rwxr-xr-xiceweasel-sync61
1 files changed, 61 insertions, 0 deletions
diff --git a/iceweasel-sync b/iceweasel-sync
new file mode 100755
index 000000000000..f0148c44c10e
--- /dev/null
+++ b/iceweasel-sync
@@ -0,0 +1,61 @@
+#!/bin/bash
+STATIC=main
+LINK=
+VOLATILE=/dev/shm/$USER/firefox
+
+usage()
+{
+ echo "Usage: firefox-sync [-dh] [-p profile-basename]"
+}
+
+longhelp()
+{
+ usage
+ cat <<EOF
+
+This program syncs your firefox profile to a ramdisk (/dev/shm) and back.
+
+-h prints this help message
+-d prints the default profile directory
+-p [dir] set the profile basename
+EOF
+exit 0
+}
+
+while getopts dhp: options
+do
+case $options in
+ d) echo "default profile directory is ~/.mozilla/firefox/$LINK"
+ exit 0;;
+ h) longhelp;;
+ p) LINK="$OPTARG";;
+ ?) usage
+ exit 0;;
+ esac
+done
+
+if [ -z "$LINK" ]; then
+ echo "Profile directory not set. Try the -p option" > /dev/stderr
+ exit 1
+fi
+
+[[ -r $VOLATILE ]] || install -dm700 $VOLATILE
+
+cd ~/.mozilla/firefox
+
+if [ ! -e "$LINK" ]; then
+ echo "~/.mozilla/firefox/$LINK does not exist" > /dev/stderr
+ exit 1
+fi
+
+if [[ `readlink $LINK` != $VOLATILE ]]; then
+ mv $LINK $STATIC
+ ln -s $VOLATILE $LINK
+fi
+
+if [[ -e $LINK/.unpacked ]]; then
+ rsync -av --delete --exclude .unpacked ./$LINK/ ./$STATIC/
+else
+ rsync -av ./$STATIC/ ./$LINK/
+ touch $LINK/.unpacked
+fi