virtual-appliance/appliances/dpaste/dpaste.init

36 lines
870 B
Plaintext
Raw Normal View History

2013-08-31 03:35:00 +02:00
#!/sbin/runscript
The great systemd commit. This change converts the appliances from openrc to systemd. In addition, systemd needs to at least be be installed on the build machine as we now use systemd-nspawn instead of chroot/bind mounts do to the fact that systemd-nspawn is much more robust and lese prone to errors. In addition: * All stage4 tarballs and images are now stored in the images/ directory by default. * A package dir is now required and is set up in the packages/ directory by default. * The portage directory is not unpacked in the chroot every time anymore and is instead bind-mounted from a directory by systemd-nspawn. This is the portage/ directory by default. * In addition there is a distfiles/ directory (by default) which is bind-mounted in the chroot. It does what you'd probably expect. * The Makefile learned new target, eclean, which will run eclean-dist and eclean-pkg to clean out obsolete distfiles and binary packages. * The REMOVE_PORTAGE_TREE option is removed as portage is no longer installed. * The unused/untested PRUNE_CRITICAL functionality has been removed. I have no idea if it worked and if it didn't I didn't want to fix it. * As appliances are always using systemd, UDEV is no longer optional. * Timezones and hostnames are now handled by systemd (systemd-firstboot). * Stage4 tarballs are now directly importable as systemd containers (and probably docker too though I haven't tested that yet). * A number of packages (for example dhcpd, acpid) have been removed from the appliances when systemd provides equivalent functionality. * We no longer override etc-update.conf. There's no reason. * A number of Makefile targets, checkpoints, temp files, etc have been removed as they are no longer needed.
2015-02-22 16:32:16 +01:00
# Copyright 2013-2015 Marduk Enterprises (marduk@python.net)
2013-08-31 03:35:00 +02:00
# Distributed under the terms of the GNU General Public License v2
description="GUnicorn server for the dpaste app"
depend() {
need localmount
after nginx
2014-05-10 15:22:48 +02:00
after postgresql-9.3
2013-08-31 03:35:00 +02:00
}
start() {
ebegin "Starting dpaste"
. /opt/dpaste/bin/activate
export PYTHONPATH=/opt/dpaste/dpaste
start-stop-daemon --start --exec /opt/dpaste/bin/python -- /opt/dpaste/manage.py run_gunicorn \
--user=dpaste \
--daemon \
--group=dpaste \
--workers=2 \
--error-logfile=/opt/dpaste/var/gunicorn.error.log \
--pid=/opt/dpaste/var/gunicorn.pid \
--bind=unix:///opt/dpaste/var/dpaste.sock
}
stop() {
ebegin "Stopping dpaste"
start-stop-daemon --stop \
--pidfile /opt/dpaste/var/gunicorn.pid \
--exec /opt/dpaste/bin/python
eend $? "Failed to stop dpaste"
}