tag 516349 pending
thanks

Dear maintainer,

I've prepared an NMU for jabber-irc (versioned as 0.4cvs20080505-1.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I should delay it
longer.

Cheers,
Serafeim
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/changelog jabber-irc-0.4cvs20080505/debian/changelog
--- orig/jabber-irc-0.4cvs20080505/debian/changelog	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/changelog	2010-08-06 05:32:58.000000000 +0200
@@ -1,3 +1,25 @@
+jabber-irc (0.4cvs20080505-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Applied patch from Ubuntu (Closes: #516349). Thanks to Miguel Landaeta and
+    Ilya Barygin.
+    - debian/control: depend on adduser and on lsb-base (instead of
+      jabber-common)
+    - debian/init.d: take into account the substitution of jabber-common with
+      lsb-base
+    - debian/postinst, debian/postrm: use "jabber" user creation/deletion
+      code from jabber-common
+    - debian/dirs: add var/log/jabber
+  * Fix binary-arch-rules-but-pkg-is-arch-indep lintian warning
+  * Depend on ${misc:Depends} for debhelper
+  * Set debian/compat to 7, update minimum debhelper version, and replace
+    deprecated ``dh_clean -k'' with dh_prep
+  * Move init.d script to /etc/init.d/
+  * Remove debian/prerm and let dh_installinit generate it instead
+  * Invoke start-stop-deamon with --make-pidfile
+
+ -- Serafeim Zanikolas <s...@debian.org>  Fri, 06 Aug 2010 03:41:27 +0200
+
 jabber-irc (0.4cvs20080505-1) unstable; urgency=low
 
   * New upstream release. (Closes: #370601)
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/compat jabber-irc-0.4cvs20080505/debian/compat
--- orig/jabber-irc-0.4cvs20080505/debian/compat	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/compat	2010-08-06 04:11:06.000000000 +0200
@@ -1 +1 @@
-4
+7
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/control jabber-irc-0.4cvs20080505/debian/control
--- orig/jabber-irc-0.4cvs20080505/debian/control	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/control	2010-08-06 04:22:00.000000000 +0200
@@ -2,13 +2,13 @@ Source: jabber-irc
 Section: net
 Priority: optional
 Maintainer: Alexey Nezhdanov <snak...@users.sourceforge.net>
-Build-Depends: debhelper (>= 4.0.0)
+Build-Depends: debhelper (>= 7.0.0)
 Standards-Version: 3.8.0
 Uploaders: Cosimo Alfarano <ka...@debian.org>, Jamin W. Collins <jcoll...@debian.org>
 
 Package: jabber-irc
 Architecture: all
-Depends: python-irclib, python-xmpp (>=0.4.1), jabber-common, python
+Depends: ${misc:Depends}, python-irclib, python-xmpp (>=0.4.1), lsb-base, python, adduser
 Suggests: jabber
 Description: IRC transport for jabber
  Provides jabber server with gateway to IRC messaging system.
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/default jabber-irc-0.4cvs20080505/debian/default
--- orig/jabber-irc-0.4cvs20080505/debian/default	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/default	2010-08-06 04:42:42.000000000 +0200
@@ -1,5 +1,5 @@
 # Default settings for jabber-irc.  This file is sourced by /bin/sh
-# from /etc/jabber/jabber.d/jabber-irc.
+# from /etc/init.d/jabber-irc.
 
 # Change the following to 1 to enable the service
 ENABLED='0'
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/dirs jabber-irc-0.4cvs20080505/debian/dirs
--- orig/jabber-irc-0.4cvs20080505/debian/dirs	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/dirs	2010-08-06 04:59:56.000000000 +0200
@@ -1,5 +1,6 @@
 etc/default
-etc/jabber/jabber.d
 usr/lib/jabber-irc
 usr/sbin
 var/lib/jabber-irc
+var/log/jabber
+etc/init.d
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/init.d jabber-irc-0.4cvs20080505/debian/init.d
--- orig/jabber-irc-0.4cvs20080505/debian/init.d	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/init.d	2010-08-06 05:58:46.000000000 +0200
@@ -12,17 +12,25 @@
 
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 DAEMON=/usr/sbin/jabberd-irc
+CMDLINE=/usr/bin/python/usr/sbin/jabberd-irc
 NAME=jabber-irc
 DESC=jabber-irc
-CMDLINE=''
+ARGS=''
 PID=/var/run/jabber/$NAME.pid
 ENABLED='0'
 
+# Create needed dir in /var/run.
+if [ ! -d /var/run/jabber ] ; then
+	mkdir /var/run/jabber
+	chown jabber:adm /var/run/jabber
+	chmod 0775 /var/run/jabber
+fi
+
 if [ -f /etc/default/jabber-irc ]; then
    . /etc/default/jabber-irc
 fi
 
-. /etc/jabber/functions
+. /lib/lsb/init-functions
 
 test -x $DAEMON -a "$ENABLED" -eq "1" || exit 0
 
@@ -30,18 +38,29 @@ set -e
 
 case "$1" in
   start)
-   check_pid
-	echo -n "Starting $DESC: "
-	export PID
-	start-stop-daemon -b -c jabber:adm --start --quiet \
-		--exec $DAEMON -- $CMDLINE
-	echo "$NAME."
-	;;
+   if [ -e $PID ]; then
+     PIDDIR=/proc/$(cat $PID)
+     if [ -d ${PIDDIR} -a "$(cat ${PIDDIR}/cmdline)" = "$CMDLINE" ]; then 
+       log_success_msg "$DESC already started; not starting"
+       exit
+     else
+       log_success_msg "Removing stale PID file $PID"
+       rm -f $PID
+     fi
+   fi
+
+   log_daemon_msg "Starting $DESC: "
+   export PID
+   start-stop-daemon -b -c jabber:adm --start --quiet --pidfile $PID\
+      --make-pidfile --exec $DAEMON -- $ARGS
+   echo "$NAME."
+   ;;
   stop)
 	echo -n "Stopping $DESC: "
 	start-stop-daemon -o --stop --signal INT --quiet --retry 3 \
                 --pidfile $PID --exec /usr/bin/python
 	echo "$NAME."
+	rm -f $PID
 	;;
   #reload)
 	#
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/postinst jabber-irc-0.4cvs20080505/debian/postinst
--- orig/jabber-irc-0.4cvs20080505/debian/postinst	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/postinst	2010-08-06 04:43:22.000000000 +0200
@@ -25,10 +25,23 @@ set -e
 
 case "$1" in
     configure)
+      # create jabber user if it doesn't exist
+      if ! getent passwd | grep -q '^jabber:'; then
+         if [ ! -d /var/run/jabber ]; then
+            mkdir /var/run/jabber
+         fi
+         adduser --quiet --system --disabled-password \
+            --no-create-home --home /var/run/jabber jabber
+      fi    
+      # update permissions on folders
+      chown jabber:adm /var/run/jabber/
+      chmod 0775 /var/run/jabber/
+      chown -R jabber:adm /var/log/jabber/
+
       chown jabber:adm /etc/pyirct.conf.xml /var/lib/jabber-irc
       chmod 0640 /etc/pyirct.conf.xml
       # start the service 
-      /etc/jabber/jabber.d/jabber-irc restart
+      /etc/init.d/jabber-irc restart
 
     ;;
 
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/postrm jabber-irc-0.4cvs20080505/debian/postrm
--- orig/jabber-irc-0.4cvs20080505/debian/postrm	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/postrm	2010-08-06 04:43:49.000000000 +0200
@@ -21,12 +21,37 @@ set -e
 case "$1" in
    purge)
       # remove potentially empty directories if they exist
-      DIRS="/etc/jabber/jabber.d /etc/jabber /var/run/jabber"
+      DIRS="/etc/jabber /var/run/jabber"
       for DIR in $DIRS; do
          if [ -d $DIR ]; then
             rmdir --ignore-fail-on-non-empty $DIR
          fi
       done
+
+      # find first and last SYSTEM_UID numbers
+      for LINE in `grep SYSTEM_UID /etc/adduser.conf | grep -v "^#"`; do
+         case $LINE in
+            FIRST_SYSTEM_UID*)
+               FIST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
+            ;;
+            LAST_SYSTEM_UID*)
+               LAST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
+            ;;
+            *)
+            ;;
+         esac
+      done
+      # remove jabber system account if necessary
+      if [ -n "$FIST_SYSTEM_UID" ] && [ -n "$LAST_SYSTEM_UID" ]; then
+         if USERID=`getent passwd jabber | cut -f 3 -d ':'`; then
+            if [ -n "$USERID" ]; then
+               if [ "$FIST_SYSTEM_UID" -le "$USERID" ] && \
+                  [ "$USERID" -le "$LAST_SYSTEM_UID" ]; then
+                     deluser --quiet jabber || true
+               fi
+            fi
+         fi
+      fi
    ;;      
   
    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/prerm jabber-irc-0.4cvs20080505/debian/prerm
--- orig/jabber-irc-0.4cvs20080505/debian/prerm	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/prerm	1970-01-01 01:00:00.000000000 +0100
@@ -1,39 +0,0 @@
-#! /bin/sh
-# prerm script for jabber-irc
-#
-# see: dh_installdeb(1)
-
-set -e
-
-# summary of how this script can be called:
-#        * <prerm> `remove'
-#        * <old-prerm> `upgrade' <new-version>
-#        * <new-prerm> `failed-upgrade' <old-version>
-#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
-#        * <deconfigured's-prerm> `deconfigure' `in-favour'
-#          <package-being-installed> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-
-case "$1" in
-    remove|upgrade|deconfigure)
-#       install-info --quiet --remove /usr/info/jabber-irc.info.gz
-        # stop the service
-        /etc/jabber/jabber.d/jabber-irc stop
-        ;;
-    failed-upgrade)
-        ;;
-    *)
-        echo "prerm 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
diff -Nurp orig/jabber-irc-0.4cvs20080505/debian/rules jabber-irc-0.4cvs20080505/debian/rules
--- orig/jabber-irc-0.4cvs20080505/debian/rules	2010-08-06 04:29:11.000000000 +0200
+++ jabber-irc-0.4cvs20080505/debian/rules	2010-08-06 05:10:02.000000000 +0200
@@ -31,26 +31,26 @@ clean:
 
 	# Add here commands to clean up after the build process.
 
-	dh_clean 
+	dh_clean
 
 install: build
 	dh_testdir
 	dh_testroot
-	dh_clean -k 
+	dh_prep
 	dh_installdirs
 
 	# Add here commands to install the package into debian/jabber-irc.
-	install -o root -g root -m 755 $(CURDIR)/debian/init.d $(CURDIR)/debian/jabber-irc/etc/jabber/jabber.d/jabber-irc
+	install -o root -g root -m 755 $(CURDIR)/debian/init.d $(CURDIR)/debian/jabber-irc/etc/init.d/jabber-irc
 	install -o root -g root -m 644 $(CURDIR)/debian/default $(CURDIR)/debian/jabber-irc/etc/default/jabber-irc
 	install -o root -g root -m 644 $(CURDIR)/config_example.xml $(CURDIR)/debian/jabber-irc/etc/pyirct.conf.xml
 	install -o root -g root -m 644 $(CURDIR)/????*.py $(CURDIR)/debian/jabber-irc/usr/lib/jabber-irc
 
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
 # Build architecture-dependent files here.
 binary-arch: build install
+# We have nothing to do by default.
+
+# Build architecture-independent files here.
+binary-indep: build install
 	dh_testdir
 	dh_testroot
 	dh_installchangelogs 
@@ -63,7 +63,7 @@ binary-arch: build install
 #	dh_installemacsen
 #	dh_installpam
 #	dh_installmime
-#	dh_installinit
+	dh_installinit
 #	dh_installcron
 #	dh_installinfo
 	dh_installman

Reply via email to