Control: tags -1 confirmed patch On 06.12.2014 01:09, Raphael Geissert wrote: > Package: armagetronad-dedicated > Severity: serious > Version: 0.2.8.3.2-2 > User: [email protected] > Usertags: goal-dash > > Hi, > > I've ran checkbashisms (from the 'devscripts' package) over the whole > archive and I found that your package has a /bin/sh script that uses a > "bashism".
And I thought the last revision fixed all of those.. I have prepared a new one that removes the run_continuous function completely because I don't see a real value for people. I would usually recommend a real monitoring solution like monit or systemd's built-in features to ensure that the server will be restarted after crashes. The shell code was rather hackish in this way. A second PID file became useless after this change, so I removed the STARTERPIDFILE option from /etc/default/armagetronad-dedicated and updated the corresponding init script. I verified that the server still works as expected. I also fixed two minor issues in Debian's copyright file and upstream's desktop file. I think both are small enough to get accepted by the release team. I am attaching the debdiff against the version in testing. All changes are also available from the Git repository. Markus
diff -Nru armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.default
armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.default
--- armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.default
2014-08-28 06:10:51.000000000 +0200
+++ armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.default
2014-12-06 11:03:15.000000000 +0100
@@ -9,7 +9,6 @@
LOGDIR=/var/log
# pidfile names.
NAME=armagetronad-dedicated
-STARTERPIDFILE=$PIDDIR/$NAME-starter.pid
MAINPIDFILE=$PIDDIR/$NAME.pid
# Logfile.
LOGFILE=$LOGDIR/$NAME.log
diff -Nru armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.init
armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.init
--- armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.init 2014-08-28
06:10:51.000000000 +0200
+++ armagetronad-0.2.8.3.2/debian/armagetronad-dedicated.init 2014-12-06
11:03:15.000000000 +0100
@@ -46,7 +46,14 @@
run()
{
- /sbin/start-stop-daemon --start --quiet --chuid $ARMAGETRONAD_USER
--oknodo --pidfile $STARTERPIDFILE --nicelevel $NICENESS --exec $DAEMON
>$LOGFILE &
+ start-stop-daemon \
+ --start \
+ --quiet \
+ --chuid $ARMAGETRONAD_USER \
+ --oknodo \
+ --pidfile $MAINPIDFILE \
+ --nicelevel $NICENESS \
+ --exec $DAEMON >$LOGFILE &
}
case "$1" in
@@ -61,11 +68,9 @@
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
- # Kill both the starter keepalive script and server.
- /sbin/start-stop-daemon --stop --pidfile $STARTERPIDFILE --quiet --oknodo
$DAEMON
- /sbin/start-stop-daemon --stop --pidfile $MAINPIDFILE --quiet --oknodo
$DAEMON.real
+ start-stop-daemon --stop --pidfile $MAINPIDFILE --quiet --oknodo || return
1
log_end_msg $?
- rm -f $STARTERPIDFILE $MAINPIDFILE
+ rm -f $MAINPIDFILE
;;
restart|force-reload)
$0 stop
diff -Nru armagetronad-0.2.8.3.2/debian/bin/armagetronad-dedicated
armagetronad-0.2.8.3.2/debian/bin/armagetronad-dedicated
--- armagetronad-0.2.8.3.2/debian/bin/armagetronad-dedicated 2014-08-29
08:58:53.000000000 +0200
+++ armagetronad-0.2.8.3.2/debian/bin/armagetronad-dedicated 2014-12-06
11:03:15.000000000 +0100
@@ -20,35 +20,6 @@
echo Terminated
}
-run_continuous()
-{
- # local variable for keeping track of start times.
- local STARTDATE_LOG
- echo $$ > $STARTERPIDFILE
- while true; do
- STARTDATE=`date +%s`
- run
-
- # Give up if restarts come too quickly; ten per minute is suspicious.
- OLDESTSTART=${STARTDATE_LOG[1]}
- if [ ! -z "$OLDESTSTART" ]; then
- TIMESPENT=$(($STARTDATE - $OLDESTSTART))
- if [ ${TIMESPENT} -lt 60]; then
- echo "Stopping server, it is restarting too quickly."
- rm -f $STARTERPIDFILE
- rm -f $MAINPIDFILE
- exit
- fi
- fi
-
- # Keep log of past start dates.
- for f in 1 2 3 4 5 6 7 8 9; do
- next=$(( $f + 1))
- STARTDATE_LOG[$f]=${STARTDATE_LOG[$next]}
- done
- STARTDATE_LOG[10]=${STARTDATE}
- done
-}
# Still allow other arguments to be executed, e.g. --doc
if [ "$1" != "" ]; then
@@ -56,5 +27,5 @@
exit 0
fi
-# Run and keep-alive in case of crashes.
-run_continuous
+# Run the server
+run
diff -Nru armagetronad-0.2.8.3.2/debian/changelog
armagetronad-0.2.8.3.2/debian/changelog
--- armagetronad-0.2.8.3.2/debian/changelog 2014-08-29 08:58:53.000000000
+0200
+++ armagetronad-0.2.8.3.2/debian/changelog 2014-12-06 11:03:15.000000000
+0100
@@ -1,3 +1,17 @@
+armagetronad (0.2.8.3.2-3) unstable; urgency=medium
+
+ * Fix all remaining bashisms in armagetronad-dedicated wrapper script by
+ removing the run_continuous function. Users are advised to use a real
+ monitoring solution like Monit instead.
+ As a consequence do not use a second PID file for the server and remove the
+ STARTERPIDFILE option from /etc/default/armagetron-dedicated because it is
+ useless now. (Closes: #772191)
+ * armagetronad.desktop: Fix lintian warning desktop-mime-but-no-exec-code by
+ adding %f parameter to Exec key. Add Forwarded header.
+ * debian/copyright: Fix wrong path to public-domain licensed files.
+
+ -- Markus Koschany <[email protected]> Sat, 06 Dec 2014 11:02:22 +0100
+
armagetronad (0.2.8.3.2-2) unstable; urgency=medium
* New maintainer Debian Games Team.
diff -Nru armagetronad-0.2.8.3.2/debian/copyright
armagetronad-0.2.8.3.2/debian/copyright
--- armagetronad-0.2.8.3.2/debian/copyright 2014-08-28 06:10:51.000000000
+0200
+++ armagetronad-0.2.8.3.2/debian/copyright 2014-12-06 11:03:15.000000000
+0100
@@ -8,7 +8,7 @@
2000-2011, Armagetron Advanced development team
License: GPL-2+
-Files: src/binreloc/*
+Files: src/thirdparty/binreloc/*
Copyright: Mike Hearn <[email protected]>
Hongli Lai <[email protected]>
License: public-domain
diff -Nru armagetronad-0.2.8.3.2/debian/patches/desktop-file.patch
armagetronad-0.2.8.3.2/debian/patches/desktop-file.patch
--- armagetronad-0.2.8.3.2/debian/patches/desktop-file.patch 2014-08-28
06:10:51.000000000 +0200
+++ armagetronad-0.2.8.3.2/debian/patches/desktop-file.patch 2014-12-06
11:03:15.000000000 +0100
@@ -2,17 +2,21 @@
Date: Tue, 26 Aug 2014 23:42:04 +0200
Subject: desktop file
+Forwarded: http://forums3.armagetronad.net/viewtopic.php?f=4&t=23750
---
- desktop/armagetronad.desktop.in | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
+ desktop/armagetronad.desktop.in | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/desktop/armagetronad.desktop.in b/desktop/armagetronad.desktop.in
-index eeee58b..82747b0 100644
+index eeee58b..8b5eb77 100644
--- a/desktop/armagetronad.desktop.in
+++ b/desktop/armagetronad.desktop.in
-@@ -3,9 +3,11 @@ Type=Application
+@@ -1,11 +1,13 @@
+ [Desktop Entry]
+ Type=Application
Name=@progtitle@@progtitle_server@
- Exec=@progname@
+-Exec=@progname@
++Exec=@progname@ %f
Comment=3d light cycle game
-Icon=@[email protected]
+Comment[de]=dreidimensionales Lichtradspiel
signature.asc
Description: OpenPGP digital signature

