From 0f823effabf827efd69eaf1bb753e6088b1e191b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Fri, 8 May 2009 10:53:25 +0200 Subject: Add config vars to the conf.d-file --- conf.d/moztmp | 18 +++++++++++++++++- init.d/moztmp | 48 +++++++++++++++++++----------------------------- 2 files changed, 36 insertions(+), 30 deletions(-) diff --git a/conf.d/moztmp b/conf.d/moztmp index 57f0718..254c1a7 100644 --- a/conf.d/moztmp +++ b/conf.d/moztmp @@ -1 +1,17 @@ -USERS="necoro root" +# The users whose mozilla directory should be moved +MOZ_USERS="root necoro" + +# The mozilla directory in each home directory +MOZ_DIR=.mozilla + +# The name of the directory which should be a backup, +# while it is placed in RAM +MOZ_SAVEDIR=.mozilla_save + +# Directory where the ramdisk should be mounted +MOZ_MOUNTDIR=/tmp/moztmp + +# Enable mounting. Disable this, if $MOZ_MOUNTDIR is already in a ramdisk, f.ex. +MOZ_MOUNT=YES + +# vim:ft=gentoo-conf-d diff --git a/init.d/moztmp b/init.d/moztmp index 6d91ef7..c710ec6 100755 --- a/init.d/moztmp +++ b/init.d/moztmp @@ -1,13 +1,11 @@ #!/sbin/runscript -opts="save load" - depend() { need localmount after bootmisc } -MOZ_MOUNT=${MOZ_MOUNT:-/tmp/moztmp/} +MOZ_MOUNTDIR=${MOZ_MOUNT:-/tmp/moztmp/} MOZ_DIR=${MOZ_DIR:-.mozilla} MOZ_SAVEDIR=${MOZ_SAVEDIR:-.mozilla_save} @@ -17,7 +15,7 @@ homedir() { get_size() { local size=0 - for u in $MOZ_USERS; do + for u in ${MOZ_USERS}; do local dir=$(homedir $u)/${MOZ_DIR} if [ -d $dir ]; then s=$(du -s $dir | cut -f 1) @@ -41,9 +39,9 @@ get_size() { set_folder() { local user=$1 - local mdir=$(homedir $u)/$MOZ_DIR - local sdir=$(homedir $u)/$MOZ_SAVEDIR - local mntdir=$MOZ_MOUNT/$user + local mdir=$(homedir $u)/${MOZ_DIR} + local sdir=$(homedir $u)/${MOZ_SAVEDIR} + local mntdir=${MOZ_MOUNTDIR}/${user} if [ -e $sdir ]; then eerror "$sdir already existing. Skipping user $user." @@ -77,9 +75,9 @@ set_folder() { get_folder() { local user=$1 - local mdir=$(homedir $u)/$MOZ_DIR - local sdir=$(homedir $u)/$MOZ_SAVEDIR - local mntdir=$MOZ_MOUNT/$user + local mdir=$(homedir $u)/${MOZ_DIR} + local sdir=$(homedir $u)/${MOZ_SAVEDIR} + local mntdir=${MOZ_MOUNTDIR}/${user} if [ ! -L $mdir ]; then eerror "$mdir is not a link. Skipping user $user." @@ -94,8 +92,8 @@ get_folder() { return 0 } -save() { - for u in $MOZ_USERS; do +stop() { + for u in ${MOZ_USERS}; do ebegin "Deleting moztmp for user $u" eindent get_folder $u @@ -104,19 +102,19 @@ save() { done if yesno $(service_get_value mnted); then - ebegin "Unmounting ${MOZ_MOUNT}" - umount ${MOZ_MOUNT} + ebegin "Unmounting ${MOZ_MOUNTDIR}" + umount ${MOZ_MOUNTDIR} eend $? fi } -load() { - local size=$(get_size) +start() { - if ! mountinfo -q ${MOZ_MOUNT}; then - ebegin "Mounting ${MOZ_MOUNT}" - checkpath -d ${MOZ_MOUNT} - mount -t tmpfs -o size=${size}k tmpfs ${MOZ_MOUNT} + if yesno ${MOZ_MOUNT} && ! mountinfo -q ${MOZ_MOUNTDIR}; then + local size=$(get_size) + ebegin "Mounting ${MOZ_MOUNTDIR}" + checkpath -d ${MOZ_MOUNTDIR} + mount -t tmpfs -o size=${size}k tmpfs ${MOZ_MOUNTDIR} eend $? service_set_value mnted YES @@ -124,7 +122,7 @@ load() { service_set_value mnted NO fi - for u in $MOZ_USERS; do + for u in ${MOZ_USERS}; do ebegin "Setting moztmp for user $u" eindent set_folder $u @@ -135,12 +133,4 @@ load() { return 0 } -start() { - load -} - -stop() { - save -} - # vim:ft=gentoo-init-d -- cgit v1.2.3