public
anonymous / firefox-sync
Created

firefox-sync arch aur package build

  • Download Gist
firefox-sync
Shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 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
 
cd ~/.mozilla/firefox
 
if [ ! -e "$LINK" ]; then
echo "~/.mozilla/firefox/$LINK does not exist" > /dev/stderr
exit 1
fi
 
[[ -r $VOLATILE ]] || install -dm700 $VOLATILE
 
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

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.