Added loadDumps option, which makes it possible to load a specific ejabberd configuration on the first startup
svn path=/nixos/branches/upstart-0.6/; revision=18461
This commit is contained in:
parent
a5cdfcbdb2
commit
9b000b3dcf
@ -41,6 +41,11 @@ in
|
|||||||
description = "Virtualhosts that ejabberd should host. Hostnames are surrounded with doublequotes and separated by commas";
|
description = "Virtualhosts that ejabberd should host. Hostnames are surrounded with doublequotes and separated by commas";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
loadDumps = mkOption {
|
||||||
|
default = [];
|
||||||
|
description = "Configuration dump that should be loaded on the first startup";
|
||||||
|
example = [ ./myejabberd.dump ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -68,6 +73,7 @@ in
|
|||||||
|
|
||||||
if ! test -d ${cfg.spoolDir}
|
if ! test -d ${cfg.spoolDir}
|
||||||
then
|
then
|
||||||
|
initialize=1
|
||||||
cp -av ${pkgs.ejabberd}/var/lib/ejabberd /var/lib
|
cp -av ${pkgs.ejabberd}/var/lib/ejabberd /var/lib
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -79,6 +85,33 @@ in
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
ejabberdctl --config-dir ${cfg.confDir} --logs ${cfg.logsDir} --spool ${cfg.spoolDir} start
|
ejabberdctl --config-dir ${cfg.confDir} --logs ${cfg.logsDir} --spool ${cfg.spoolDir} start
|
||||||
|
|
||||||
|
${if cfg.loadDumps == [] then "" else
|
||||||
|
''
|
||||||
|
# Wait until the ejabberd server is available for use
|
||||||
|
count=0
|
||||||
|
while ! ejabberdctl --config-dir ${cfg.confDir} --logs ${cfg.logsDir} --spool ${cfg.spoolDir} status
|
||||||
|
do
|
||||||
|
if [ $count -eq 30 ]
|
||||||
|
then
|
||||||
|
echo "Tried 30 times, giving up..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Ejabberd daemon not yet started. Waiting for 1 second..."
|
||||||
|
count=$((count++))
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$initialize" = "1" ]
|
||||||
|
then
|
||||||
|
${concatMapStrings (dump:
|
||||||
|
''
|
||||||
|
echo "Importing dump: ${dump}"
|
||||||
|
ejabberdctl --config-dir ${cfg.confDir} --logs ${cfg.logsDir} --spool ${cfg.spoolDir} load ${dump}
|
||||||
|
'') cfg.loadDumps}
|
||||||
|
fi
|
||||||
|
''}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postStop =
|
postStop =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user