[DRE-commits] r4005 - in trunk/stompserver/debian: . patches

Joshua Timberman jtimberman-guest at alioth.debian.org
Thu Aug 27 15:17:41 UTC 2009


Author: jtimberman-guest
Date: 2009-08-27 15:17:41 +0000 (Thu, 27 Aug 2009)
New Revision: 4005

Added:
   trunk/stompserver/debian/dirs
   trunk/stompserver/debian/patches/fhs_paths.patch
   trunk/stompserver/debian/patches/fix_storagedir.patch
   trunk/stompserver/debian/stompserver.conf
   trunk/stompserver/debian/stompserver.init
   trunk/stompserver/debian/stompserver.logrotate
   trunk/stompserver/debian/stompserver.postinst
   trunk/stompserver/debian/stompserver.postrm
Modified:
   trunk/stompserver/debian/changelog
   trunk/stompserver/debian/control
   trunk/stompserver/debian/copyright
   trunk/stompserver/debian/patches/remove_rubygems.patch
   trunk/stompserver/debian/patches/ruby_hashbang.patch
   trunk/stompserver/debian/patches/series
   trunk/stompserver/debian/rules
Log:
Updates from packaging for Ubuntu, init script, config file and more.

Modified: trunk/stompserver/debian/changelog
===================================================================
--- trunk/stompserver/debian/changelog	2009-08-27 15:03:43 UTC (rev 4004)
+++ trunk/stompserver/debian/changelog	2009-08-27 15:17:41 UTC (rev 4005)
@@ -2,4 +2,4 @@
 
   * Initial release (Closes: #537410)
 
- -- Bryan McLellan <btm at loftninjas.org>  Fri, 17 Jul 2009 16:38:07 -0700
+ -- Joshua Timberman <joshua at opscode.com>  Thu, 13 Aug 2009 12:25:59 -0600

Modified: trunk/stompserver/debian/control
===================================================================
--- trunk/stompserver/debian/control	2009-08-27 15:03:43 UTC (rev 4004)
+++ trunk/stompserver/debian/control	2009-08-27 15:17:41 UTC (rev 4005)
@@ -2,7 +2,7 @@
 Section: ruby
 Priority: extra
 Maintainer: Bryan McLellan <btm at loftninjas.org>
-Uploaders: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>
+Uploaders: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>, Joshua Timberman <joshua at opscode.com>
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-ruby-extras/trunk/stompserver/
 Vcs-Svn: svn://svn.debian.org/svn/pkg-ruby-extras/trunk/stompserver/
 Build-Depends: cdbs, debhelper (>= 5), ruby-pkg-tools (>= 0.14), quilt
@@ -12,7 +12,7 @@
 
 Package: stompserver
 Architecture: all
-Depends: ${misc:Depends}, ruby1.8, libdaemons-ruby1.8, libeventmachine-ruby1.8
+Depends: ${misc:Depends}, ruby1.8, libdaemons-ruby1.8, libeventmachine-ruby1.8, adduser
 Description: stomp messaging server implemented in ruby
  Stompserver is a stomp messaging server with support for multiple FIFO
  based queue backends including file, dbm, memory and activerecord.

Modified: trunk/stompserver/debian/copyright
===================================================================
--- trunk/stompserver/debian/copyright	2009-08-27 15:03:43 UTC (rev 4004)
+++ trunk/stompserver/debian/copyright	2009-08-27 15:17:41 UTC (rev 4005)
@@ -14,6 +14,8 @@
     Copyright © 2007 Lionel Bouton
 
 License:
+    From README.txt (/usr/share/doc/stompserver/README.txt.gz)
+    (The MIT License)
 
     Permission is hereby granted, free of charge, to any person obtaining
     a copy of this software and associated documentation files (the

Added: trunk/stompserver/debian/dirs
===================================================================
--- trunk/stompserver/debian/dirs	                        (rev 0)
+++ trunk/stompserver/debian/dirs	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,3 @@
+var/log/stompserver
+var/lib/stompserver
+etc/stompserver

Added: trunk/stompserver/debian/patches/fhs_paths.patch
===================================================================
--- trunk/stompserver/debian/patches/fhs_paths.patch	                        (rev 0)
+++ trunk/stompserver/debian/patches/fhs_paths.patch	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,32 @@
+# Description: Check for absolute paths so we can enforce FHS in config.
+# No upstream patch/URL yet, will update package when one is open.
+# Author: Joshua Timberman <joshua at opscode.com>
+Index: stompserver-0.9.9/lib/stomp_server.rb
+===================================================================
+--- stompserver-0.9.9.orig/lib/stomp_server.rb	2009-08-19 16:43:04.368066674 -0600
++++ stompserver-0.9.9/lib/stomp_server.rb	2009-08-19 16:44:24.783974681 -0600
+@@ -28,6 +28,7 @@
+         :working_dir => Dir.getwd,
+         :storage => ".stompserver",
+         :logdir => 'log',
++        :etcdir => 'etc',
+         :configfile => 'stompserver.conf',
+         :logfile => 'stompserver.log',
+         :pidfile => 'stompserver.pid',
+@@ -63,10 +63,10 @@
+         opts = @defaults
+       end
+ 
+-      opts[:etcdir] = File.join(opts[:working_dir],'etc')
+-      opts[:storage] = File.join(opts[:working_dir],opts[:storage])
+-      opts[:logdir] = File.join(opts[:working_dir],opts[:logdir])
+-      opts[:logfile] = File.join(opts[:logdir],opts[:logfile])
+-      opts[:pidfile] = File.join(opts[:logdir],opts[:pidfile])
++      opts[:etcdir] = opts[:etcdir] =~ /^\// ? opts[:etcdir] : File.join(opts[:working_dir],opts[:etcdir])
++      opts[:storage] = opts[:storage] =~ /^\// ? opts[:storage] : File.join(opts[:working_dir],opts[:storage])
++      opts[:logdir] = opts[:logdir] =~ /^\// ? opts[:logdir] : File.join(opts[:working_dir],opts[:logdir])
++      opts[:logfile] = opts[:logfile] =~ /^\// ? opts[:logfile] : File.join(opts[:logdir],opts[:logfile])
++      opts[:pidfile] = opts[:pidfile] =~ /^\// ? opts[:pidfile] : File.join(opts[:logdir],opts[:pidfile])
+       if opts[:auth]
+         opts[:passwd] = File.join(opts[:etcdir],'.passwd')
+       end

Added: trunk/stompserver/debian/patches/fix_storagedir.patch
===================================================================
--- trunk/stompserver/debian/patches/fix_storagedir.patch	                        (rev 0)
+++ trunk/stompserver/debian/patches/fix_storagedir.patch	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,15 @@
+# Description: Bug in initialize won't create the storage dir in FHS compliant location
+# No upstream bug yet, will update the package when there is one.
+Index: stompserver-0.9.9/lib/stomp_server/queue/activerecord_queue.rb
+===================================================================
+--- stompserver-0.9.9.orig/lib/stomp_server/queue/activerecord_queue.rb	2009-08-19 17:49:44.559625055 -0600
++++ stompserver-0.9.9/lib/stomp_server/queue/activerecord_queue.rb	2009-08-19 17:50:07.623903343 -0600
+@@ -15,7 +15,7 @@
+     # Default configuration, use SQLite for simplicity
+     db_params = {
+       'adapter' => 'sqlite3',
+-      'database' => "#{configdir}/stompserver_development"
++      'database' => "#{storagedir}/stompserver_development"
+     }
+     # Load DB configuration
+     db_config = "#{configdir}/database.yml"

Modified: trunk/stompserver/debian/patches/remove_rubygems.patch
===================================================================
--- trunk/stompserver/debian/patches/remove_rubygems.patch	2009-08-27 15:03:43 UTC (rev 4004)
+++ trunk/stompserver/debian/patches/remove_rubygems.patch	2009-08-27 15:17:41 UTC (rev 4005)
@@ -1,4 +1,7 @@
-Remove requirement of rubygems
+# Description: Remove requirement of rubygems
+# Requiring RubyGems is discouraged by the Debian Ruby Extras team
+# per http://pkg-ruby-extras.alioth.debian.org/upstream-devs.html
+# Author: Bryan McLellan <btm at loftninjas.org>
 Index: stompserver-0.9.9/bin/stompserver
 ===================================================================
 --- stompserver-0.9.9.orig/bin/stompserver	2009-07-28 10:47:18.000000000 -0700

Modified: trunk/stompserver/debian/patches/ruby_hashbang.patch
===================================================================
--- trunk/stompserver/debian/patches/ruby_hashbang.patch	2009-08-27 15:03:43 UTC (rev 4004)
+++ trunk/stompserver/debian/patches/ruby_hashbang.patch	2009-08-27 15:17:41 UTC (rev 4005)
@@ -1,4 +1,6 @@
-Add a ruby shebang to the stompserver binary per policy
+# Description: Add a ruby shebang to the stompserver binary per policy
+# Debian Policy Manual section 10.4 Scripts.
+# Author: Bryan McLellan <btm at loftninjas.org>
 Index: stompserver-0.9.9/bin/stompserver
 ===================================================================
 --- stompserver-0.9.9.orig/bin/stompserver	2009-07-28 11:45:59.000000000 -0700

Modified: trunk/stompserver/debian/patches/series
===================================================================
--- trunk/stompserver/debian/patches/series	2009-08-27 15:03:43 UTC (rev 4004)
+++ trunk/stompserver/debian/patches/series	2009-08-27 15:17:41 UTC (rev 4005)
@@ -1,2 +1,4 @@
 remove_rubygems.patch
 ruby_hashbang.patch
+fhs_paths.patch
+fix_storagedir.patch

Modified: trunk/stompserver/debian/rules
===================================================================
--- trunk/stompserver/debian/rules	2009-08-27 15:03:43 UTC (rev 4004)
+++ trunk/stompserver/debian/rules	2009-08-27 15:17:41 UTC (rev 4005)
@@ -7,5 +7,5 @@
 DEB_INSTALL_CHANGELOGS_ALL = History.txt
 
 binary-install/stompserver::
-	dh_rdoc -pstompserver
+	install -Dp -m0644 debian/stompserver.conf debian/stompserver/etc/stompserver.conf
 

Added: trunk/stompserver/debian/stompserver.conf
===================================================================
--- trunk/stompserver/debian/stompserver.conf	                        (rev 0)
+++ trunk/stompserver/debian/stompserver.conf	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,14 @@
+---
+:daemon: true
+:working_dir: /var/lib/stompserver
+:logdir: /var/log/stompserver
+:pidfile: /var/run/stompserver/pid
+:storage: /var/lib/stompserver/storage
+:etcdir: /etc/stompserver
+:queue: memory
+:auth: false
+:debug: false
+:group: stompserver
+:user: stompserver
+:host: 127.0.0.1
+:port: 61613

Added: trunk/stompserver/debian/stompserver.init
===================================================================
--- trunk/stompserver/debian/stompserver.init	                        (rev 0)
+++ trunk/stompserver/debian/stompserver.init	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,167 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          stompserver
+# Required-Start:    $network $local_fs
+# Required-Stop:     $network $local_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: a stomp messaging server implemented in ruby
+### END INIT INFO
+#
+# Copyright (c) 2009 Joshua Timberman, <joshua at opscode.com>
+#
+# stompserver         Startup script for stompserver
+# chkconfig: - 80 20
+# description: starts up stompserver in daemon mode.
+
+DAEMON=/usr/bin/stompserver
+NAME=stompserver
+DESC=stompserver
+PIDFILE=/var/run/$NAME/pid
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+if [ ! -d /var/run/stompserver ]; then
+  mkdir -p /var/run/stompserver
+fi
+
+chown stompserver:stompserver /var/run/stompserver
+
+DAEMON_OPTS="-C /etc/stompserver.conf"
+
+running_pid() {                                                                 
+  pid=$1
+  name=$2                                                                     
+  [ -z "$pid" ] && return 1                                                   
+  [ ! -d /proc/$pid ] &&  return 1                                            
+  cmd=`awk '/Name:/ {print $2}' /proc/$pid/status`
+  [ "$cmd" != "$name" ] &&  return 1                                          
+  return 0 
+}   
+
+running() {                                                                     
+  [ ! -f "$PIDFILE" ] && return 1
+  pid=`cat $PIDFILE`
+  running_pid $pid $NAME || return 1                                        
+  return 0
+}   
+
+start_server() {                                                                
+  start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS                       
+  errcode=$?
+  return $errcode                                                         
+}       
+
+stop_server() {                                                                 
+   if [ -z "$DAEMONUSER" ] ; then                                          
+     killproc -p $PIDFILE $DAEMON                                        
+     errcode=$?
+   else
+     start-stop-daemon --stop --quiet --pidfile $PIDFILE \               
+       --user $DAEMONUSER \ 
+       --exec $DAEMON
+     errcode=$?  
+   fi  
+   return $errcode                                                         
+}       
+
+reload_server() {                                                               
+  [ ! -f "$PIDFILE" ] && return 1                                             
+  pid=pidofproc $PIDFILE # This is the daemon's pid                           
+  kill -1 $pid
+  return $?
+}   
+
+force_stop() {
+  [ ! -e "$PIDFILE" ] && return
+  if running ; then
+    kill -15 $pid
+    sleep "$DIETIME"s
+    if running ; then
+      kill -9 $pid
+      sleep "$DIETIME"s
+      if running ; then
+        echo "Cannot kill $NAME (pid=$pid)!"
+        exit 1
+      fi
+    fi
+  fi
+  rm -f $PIDFILE
+}
+
+case "$1" in
+  start)
+    log_daemon_msg "Starting $DESC " "$NAME"
+    if running ;  then
+        log_progress_msg "apparently already running"
+        log_end_msg 0
+        exit 0
+    fi
+    if start_server ; then
+        [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time 
+        if  running ;  then
+            log_end_msg 0
+        else
+            log_end_msg 1
+        fi
+    else
+        log_end_msg 1
+    fi
+    ;;
+  stop)
+    log_daemon_msg "Stopping $DESC" "$NAME"
+    if running ; then
+      errcode=0
+      stop_server || errcode=$?
+      log_end_msg $errcode
+    else
+      log_progress_msg "apparently not running"
+      log_end_msg 0
+      exit 0
+    fi
+    ;;
+  force-stop)
+    $0 stop
+    if running; then
+      log_daemon_msg "Stopping (force) $DESC" "$NAME"
+      errcode=0
+      force_stop || errcode=$?
+      log_end_msg $errcode
+    fi
+    ;;
+  restart|force-reload)
+    log_daemon_msg "Restarting $DESC" "$NAME"
+    errcode=0
+    stop_server || errcode=$?
+    [ -n "$DIETIME" ] && sleep $DIETIME
+    start_server || errcode=$?
+    [ -n "$STARTTIME" ] && sleep $STARTTIME
+    running || errcode=$?
+    log_end_msg $errcode
+    ;;
+  status)
+    log_daemon_msg "Checking status of $DESC" "$NAME"
+    if running ;  then
+      log_progress_msg "running"
+      log_end_msg 0
+    else
+      log_progress_msg "apparently not running"
+      log_end_msg 1
+      exit 1
+    fi
+    ;;
+  reload)
+    log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
+    log_warning_msg "cannot re-read the config file (use restart)."
+    ;;
+  *)
+    N=/etc/init.d/$NAME
+    echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
+    exit 1
+    ;;
+esac
+
+exit 0
+


Property changes on: trunk/stompserver/debian/stompserver.init
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/stompserver/debian/stompserver.logrotate
===================================================================
--- trunk/stompserver/debian/stompserver.logrotate	                        (rev 0)
+++ trunk/stompserver/debian/stompserver.logrotate	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,10 @@
+/var/log/stompserver/*log {
+  missingok
+  create 0644 stompserver stompserver
+  compress
+  rotate 12
+  weekly
+  postrotate
+  /etc/init.d/stompserver force-reload
+  endscript
+}

Added: trunk/stompserver/debian/stompserver.postinst
===================================================================
--- trunk/stompserver/debian/stompserver.postinst	                        (rev 0)
+++ trunk/stompserver/debian/stompserver.postinst	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,34 @@
+#!/bin/sh
+# postinst script for stompserver
+#
+# see: dh_installdeb(1)
+
+set -e
+
+case "$1" in
+    configure)
+      if [ -z "`getent passwd stompserver`" ]; then
+        adduser --quiet --system --home /var/lib/stompserver --shell /bin/false \
+        --group --disabled-password --disabled-login --no-create-home \
+        --gecos "Stomp Server" stompserver 
+      fi
+      chown stompserver:stompserver /var/lib/stompserver
+      chown stompserver:stompserver /var/log/stompserver
+      chown stompserver:stompserver /etc/stompserver
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

Added: trunk/stompserver/debian/stompserver.postrm
===================================================================
--- trunk/stompserver/debian/stompserver.postrm	                        (rev 0)
+++ trunk/stompserver/debian/stompserver.postrm	2009-08-27 15:17:41 UTC (rev 4005)
@@ -0,0 +1,27 @@
+#!/bin/sh
+# postrm script for stompserver
+#
+# see: dh_installdeb(1)
+
+set -e
+
+case "$1" in
+    purge)
+      rm -rf /etc/stompserver
+      rm -rf /var/log/stompserver
+    ;;
+    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0




More information about the Pkg-ruby-extras-commits mailing list