Skip to content

Commit

Permalink
Merge pull request scrapy#41 from nyov/sysvinit
Browse files Browse the repository at this point in the history
debian sysvinit script
  • Loading branch information
dangra committed Apr 28, 2014
2 parents d945ae7 + ff457a9 commit 439f0c1
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 16 deletions.
14 changes: 10 additions & 4 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,18 @@ Homepage: http://scrapy.org/
Package: scrapyd
Architecture: all
Depends: ${misc:Depends}, ${python:Depends}, scrapy
Description: Scrapyd server
This package deploys and configures Scrapyd to run as a system service.
Description: Service to host scrapy crawlers
This package installs and configures Scrapyd to run as a system service.
.
Scrapyd is an application for deploying and running Scrapy spiders.
It enables you to deploy (upload) your projects and control their spiders
using an API.

Package: scrapyd-deploy
Architecture: all
Depends: ${misc:Depends}, ${python:Depends}, scrapy, python-w3lib, python-setuptools
Description: Scrapyd deployment tool
The package contains the Scrapyd deployment tool which is used to deploy
Scrapy projects to Scrapyd servers.
The package contains the Scrapyd deployment tool.
.
scrapyd-deploy is used to deploy Scrapy projects to Scrapyd servers.
It contains the same functionality as provided by the `scrapy deploy` command.
13 changes: 5 additions & 8 deletions debian/copyright
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ It was downloaded from http://scrapy.org

Upstream Author: Scrapy Developers

Copyright: 2007-2012 Scrapy Developers
Copyright: 2007-2014 Scrapy Developers

License: bsd
License: BSD

Copyright (c) Scrapy developers.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

Expand All @@ -35,6 +35,3 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The Debian packaging is (C) 2010-2012, Scrapinghub <info@scrapinghub.com> and
is licensed under the BSD, see `/usr/share/common-licenses/BSD'.
4 changes: 0 additions & 4 deletions debian/lintian-overrides
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
new-package-should-close-itp-bug
script-in-etc-init.d-not-registered-via-update-rc.d etc/init.d/scrapyd
postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/scrapyd
package-installs-python-egg
binary-without-manpage usr/bin/scrapyd
105 changes: 105 additions & 0 deletions debian/scrapyd.init
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
#!/bin/bash
### BEGIN INIT INFO
# Provides: scrapyd
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Scrapyd
# Description: Run the scrapyd service as a system service.
### END INIT INFO

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Scrapyd"
NAME=scrapyd
DAEMON=/usr/bin/$NAME
LOGDIR=/var/log/scrapyd
LIBDIR=/var/lib/scrapyd
DAEMON_ARGS="-u scrapy -g nogroup -l $LOGDIR/scrapyd.log" # >$LOGDIR/scrapyd.out 2>$LOGDIR/scrapyd.err
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x $DAEMON ] || exit 0

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--background --make-pidfile --startas $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--background --make-pidfile --startas $DAEMON --chdir $LIBDIR -- \
$DAEMON_ARGS \
|| return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
rm -f $PIDFILE
return "$RETVAL"
}

case "$1" in
start)
log_daemon_msg "Starting $DESC " "$NAME"
do_start
case "$?" in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac

0 comments on commit 439f0c1

Please sign in to comment.