[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#693343: unblock: lyskom-server/2.1.2-13



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package lyskom-server

I've taken over this package and fixed the RC bug #689898 that caused it to be removed
from testing, as well as cleaned up a few other relatively important issues. With this, 
I hope that it can be let back in testing.

unblock lyskom-server/2.1.2-13

Debdiff follows (excluding some changes to config.{guess,sub} files.

diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/changelog lyskom-server-2.1.2/debian/changelog
--- lyskom-server-2.1.2/debian/changelog	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/changelog	2012-11-15 16:40:46.000000000 +0100
@@ -1,3 +1,37 @@
+lyskom-server (2.1.2-13) unstable; urgency=low
+
+  * New maintainer.
+  * Rename debian/lyskom-server.copyright debian/copyright as a source
+    package should have a debian/copyright file.
+  * Create /var/run/lyskom-server in the init script instead of shipping
+    it with the package (Closes: #689898). Thanks Thomas Goirand.
+  * Drop the $startonboot variable, which is rather pointless since
+    lyskomd is actually started via cron, is disabled there by default,
+    and will start regardless of $startonboot because the status file
+    won't exist.
+  * Fix LSB header in the init script: add $remote_fs and move $local_fs
+    to Required-Start/Required-Stop; delete commas.
+  * Add dependency on rsyslog | system-log-daemon, since the LSB header
+    indicates that lyskomd requires a syslog facility.
+  * Rework and simplify lyskom-server.postinst:
+    * Use dpkg-statoverride to set ownership of data and log directories.
+    * Don't nullify errors; the package should be left in an unconfigured
+      state in such cases. Remove sanity checks.
+    * Simply call adduser with --quiet instead of checking whether the
+      lyskom user already exists.
+    * Set stricter modes on the directories.
+  * Don't delete /var/run/lyskom-server/status in the init script. It is
+    created by komrunning when shutting down lyskomd to keep updateLysKOM
+    from starting lyskomd again.
+  * lyskom-server.postrm: As recommended by policy, don't delete log files
+    until on purge. Also, simply rm -rf /var/lib/lyskom-server
+    /var/log/lyskom-server.
+  * Add dependendy on cron | cron-daemon, since that's how lyskomd is
+    started.
+  * debian/rules: Add build-indep and build-arch targets.
+
+ -- Magnus Holmgren <holmgren@debian.org>  Thu, 15 Nov 2012 09:26:58 +0100
+
 lyskom-server (2.1.2-12) unstable; urgency=low
 
   * Added Danish translation of Debconf templates.
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/control lyskom-server-2.1.2/debian/control
--- lyskom-server-2.1.2/debian/control	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/control	2012-11-15 16:40:46.000000000 +0100
@@ -1,7 +1,7 @@
 Source: lyskom-server
 Section: net
 Priority: extra
-Maintainer: Peter Krefting <peterk@debian.org>
+Maintainer: Magnus Holmgren <holmgren@debian.org>
 Build-Depends: debhelper (>= 5.0), bison, flex, po-debconf, autotools-dev
 Standards-Version: 3.8.2
 Homepage: http://www.lysator.liu.se/lyskom/lyskom-server/
@@ -10,7 +10,8 @@
 
 Package: lyskom-server
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, debconf | debconf-2.0, adduser
+Depends: ${shlibs:Depends}, ${misc:Depends}, debconf | debconf-2.0, adduser,
+ rsyslog | system-log-daemon, cron | cron-daemon
 Suggests: lyskom-elisp-client | lyskom-tty-client
 Homepage: http://www.lysator.liu.se/lyskom/lyskom-server/
 Description: Server for the LysKOM conference system
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/copyright lyskom-server-2.1.2/debian/copyright
--- lyskom-server-2.1.2/debian/copyright	1970-01-01 01:00:00.000000000 +0100
+++ lyskom-server-2.1.2/debian/copyright	2012-11-15 16:40:46.000000000 +0100
@@ -0,0 +1,27 @@
+Package: lyskom-server
+Obtained from: ftp://ftp.lysator.liu.se/pub/lyskom/server
+Packaged for Debian by: Peter Krefting <peterk@debian.org>
+
+Copyright (C) 1991-2003 Lysator Academic Computer Association.
+The LysKOM server was written by Lars Aronsson, Thomas Bellman, David Byers,
+Per Cederqvist, Pär Emanuelsson, Peter Eriksson, Linus Tolke, Inge Wallin,
+Lars Willför et.al. Please the AUTHORS file for more information.
+
+   LysKOM is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 1, or (at your
+   option) any later version.
+
+   LysKOM is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with LysKOM. If not, write to Lysator, c/o ISY, Linköping
+   University, SE-581 83 Linköping, SWEDEN, or the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in "/usr/share/common-licenses/GPL".
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/etc_default_lyskom-server lyskom-server-2.1.2/debian/etc_default_lyskom-server
--- lyskom-server-2.1.2/debian/etc_default_lyskom-server	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/etc_default_lyskom-server	2012-11-15 16:40:46.000000000 +0100
@@ -1,6 +1 @@
-# By default, automatic start is disabled. To start automatically on boot,
-# change the following line from NO to YES. Please note that startup is
-# actually handled via /etc/cron.d/lyskom-server, this scripts only signals
-# that start is wanted.
-
-startonboot="NO"
+# Variables used in /etc/init.d/lyskom-server can be set here
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/lyskom-server.copyright lyskom-server-2.1.2/debian/lyskom-server.copyright
--- lyskom-server-2.1.2/debian/lyskom-server.copyright	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/lyskom-server.copyright	1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-Package: lyskom-server
-Obtained from: ftp://ftp.lysator.liu.se/pub/lyskom/server
-Packaged for Debian by: Peter Krefting <peterk@debian.org>
-
-Copyright (C) 1991-2003 Lysator Academic Computer Association.
-The LysKOM server was written by Lars Aronsson, Thomas Bellman, David Byers,
-Per Cederqvist, Pär Emanuelsson, Peter Eriksson, Linus Tolke, Inge Wallin,
-Lars Willför et.al. Please the AUTHORS file for more information.
-
-   LysKOM is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 1, or (at your
-   option) any later version.
-
-   LysKOM is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with LysKOM. If not, write to Lysator, c/o ISY, Linköping
-   University, SE-581 83 Linköping, SWEDEN, or the Free Software
-   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-   02110-1301, USA.
-
-On Debian GNU/Linux systems, the complete text of the GNU General
-Public License can be found in "/usr/share/common-licenses/GPL".
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/lyskom-server.dirs lyskom-server-2.1.2/debian/lyskom-server.dirs
--- lyskom-server-2.1.2/debian/lyskom-server.dirs	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/lyskom-server.dirs	2012-11-15 16:40:46.000000000 +0100
@@ -4,4 +4,3 @@
 usr/share/lyskom-server/default
 var/log/lyskom-server
 var/lib/lyskom-server
-var/run/lyskom-server
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/lyskom-server.init.d lyskom-server-2.1.2/debian/lyskom-server.init.d
--- lyskom-server-2.1.2/debian/lyskom-server.init.d	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/lyskom-server.init.d	2012-11-15 16:40:46.000000000 +0100
@@ -5,10 +5,10 @@
 #
 ### BEGIN INIT INFO
 # Provides:          lyskom-server
-# Required-Start:    $syslog, $network, $time
-# Required-Stop:     $syslog, $network, $time
-# Should-Start:      $local_fs
-# Should-Stop:       $local_fs
+# Required-Start:    $syslog $network $time $local_fs $remote_fs
+# Required-Stop:     $syslog $network $time $local_fs $remote_fs
+# Should-Start:
+# Should-Stop:
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: Start and stop the LysKOM server
@@ -19,6 +19,9 @@
 ### END INIT INFO
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DESC="LysKOM server"
+NAME=komrunning
+RUNDIR=/var/run/lyskom-server
 
 if [ -f  /etc/default/lyskom-server ]; then
   . /etc/default/lyskom-server
@@ -26,28 +29,26 @@
 
 test -x /usr/sbin/komrunning || exit 0
 
-case "$1" in
-  start)
-    if test "$startonboot" = "NO"; then
-      echo "Automatic start of the LysKOM server from /etc/init.d is disabled."
-    else
-      sh $0 force-start
-    fi
-    ;;
+. /lib/lsb/init-functions
 
-  force-start)
-    echo -n "Signalling start of LysKOM server"
-    mkdir -p /var/run/lyskom-server
+if [ ! -d ${RUNDIR} ]; then
+  if ! install -o lyskom -m 755 -d ${RUNDIR}; then
+    log_failure_msg "Failed to create ${RUNDIR}"
+    exit 1
+  fi
+fi
+
+case "$1" in
+  start|force-start)
+    log_begin_msg "Signalling start of ${DESC}"
     /usr/sbin/komrunning start
-    echo "."
+    log_end_msg $?
     ;;
 
   stop)
-    echo -n "Stopping LysKOM server"
-    /usr/sbin/komrunning stop
-    rm -f /var/run/lyskom-server/pid
-    rm -f /var/run/lyskom-server/status
-    echo "."
+    log_begin_msg "Stopping ${DESC}" ${NAME}
+    /usr/sbin/komrunning stop && rm -f ${RUNDIR}/pid
+    log_end_msg $?
     ;;
 
   restart|force-reload)
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/lyskom-server.postinst lyskom-server-2.1.2/debian/lyskom-server.postinst
--- lyskom-server-2.1.2/debian/lyskom-server.postinst	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/lyskom-server.postinst	2012-11-15 16:40:46.000000000 +0100
@@ -3,62 +3,34 @@
 #
 # see: dh_installdeb(1)
 
-# Add the user 'lyskom' to run the server
-userexist=1
-getent passwd lyskom > /dev/null || userexist=0
-if test "$userexist" = "0"; then
-  # User did not exist
-  adduser --system --no-create-home --home /dev/null --shell /bin/sh lyskom || echo 'Unable to create user "lyskom"'
-fi
+# Source debconf library.
+. /usr/share/debconf/confmodule
 
-# Install default database if none exists
 if test "$1" = "configure"; then
-  if test ! -e /var/lib/lyskom-server/lyskomd-data; then
-    if test ! -d /var/lib/lyskom-server; then
-      mkdir -p /var/lib/lyskom-server || echo 'Unable to create /var/lib/lyskom-server directory'
-    fi
+  # Add the user 'lyskom' to run the server
+  adduser --quiet --system --no-create-home --home /var/lib/lyskom --shell /bin/sh lyskom
 
-    # Source debconf library.
-    . /usr/share/debconf/confmodule || echo 'Error communicating with debconf'
+  # Set database to be owned by the 'lyskom' user
+  for f in /var/lib/lyskom-server /var/log/lyskom-server; do
+    if ! dpkg-statoverride --list $f >/dev/null 2>&1; then
+      dpkg-statoverride --update --add lyskom root 0750 $f
+    fi
+  done
 
+  # Install default database if none exists
+  if [ ! -e /var/lib/lyskom-server/lyskomd-data ]; then
     # Get selected database language
-    db_get lyskom-server/language || echo 'Error communicating with debconf'
-    if test "$RET" = "Swedish"; then
-      # Sanity check
-      if test -e /usr/share/lyskom-server/default/lyskomd-data; then
-        cp -f /usr/share/lyskom-server/default/lyskomd-data /var/lib/lyskom-server/lyskomd-data
-      else
-        echo 'Unable to locate default database in /usr/share/lyskom-server/default'
-      fi
-    else
-      # Sanity check
-      if test -e /usr/share/lyskom-server/default/lyskomd-data-en; then
-        cp -f /usr/share/lyskom-server/default/lyskomd-data-en /var/lib/lyskom-server/lyskomd-data
-      else
-        echo 'Unable to locate default database in /usr/share/lyskom-server/default'
-      fi
-    fi
-    # Sanity check
-    if test -e /usr/share/lyskom-server/default/lyskomd-texts; then
-      cp -f /usr/share/lyskom-server/default/lyskomd-texts /var/lib/lyskom-server/lyskomd-texts
+    db_get lyskom-server/language
+
+    if [ "$RET" = "Swedish" ]; then
+      install -m 0640 -o lyskom /usr/share/lyskom-server/default/lyskomd-data /var/lib/lyskom-server/lyskomd-data
     else
-      echo 'Unable to locate default database in /usr/share/lyskom-server/default'
+      install -m 0640 -o lyskom /usr/share/lyskom-server/default/lyskomd-data-en /var/lib/lyskom-server/lyskomd-data
     fi
+    install -m 0640 -o lyskom /usr/share/lyskom-server/default/lyskomd-texts /var/lib/lyskom-server/
   fi
 
-  # Set database to be owned by the 'lyskom' user
-  chown lyskom:nogroup /var/lib/lyskom-server
-  chown lyskom:nogroup /var/lib/lyskom-server/lyskomd-data
-  chown lyskom:nogroup /var/lib/lyskom-server/lyskomd-texts
-
-  # Set log directory to be owned by the 'lyskom' user
-  chown lyskom:nogroup /var/log/lyskom-server
-
-  # Set pid directory to be owned by the 'lyskom' user
-  chown lyskom:nogroup /var/run/lyskom-server
 fi
 
 # Do anything debhelper wants to do
 #DEBHELPER#
-
-exit 0
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/lyskom-server.postrm lyskom-server-2.1.2/debian/lyskom-server.postrm
--- lyskom-server-2.1.2/debian/lyskom-server.postrm	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/lyskom-server.postrm	2012-11-15 16:40:46.000000000 +0100
@@ -6,15 +6,6 @@
 
 # Remove run-time files if removing or purging
 if test "$1" = "purge" -o "$1" = "remove"; then
-  # Remove log directory and files
-  if test -d /var/log/lyskom-server; then
-    echo 'Removing log files.'
-    rm -f /var/log/lyskom-server/server-log
-    rm -f /var/log/lyskom-server/lyskomd-log
-    rm -f /var/log/lyskom-server/memory-usage
-    rmdir /var/log/lyskom-server || echo 'Could not remove /var/log/lyskom-server'
-  fi
-
   # Remove state directory and files
   if test -d /var/run/lyskom-server; then
     echo 'Removing state files.'
@@ -26,19 +17,22 @@
 
 # Remove database and user if purging
 if test "$1" = "purge"; then
+  for f in /var/lib/lyskom-server /var/log/lyskom-server; do
+    if dpkg-statoverride --list $f >/dev/null 2>&1; then
+      dpkg-statoverride --remove $f
+    fi
+  done
+
+  # Remove log directory and files
+  if test -d /var/log/lyskom-server; then
+    echo 'Removing log files.'
+    rm -rf /var/log/lyskom-server
+  fi
+
   # Remove database directory and files
   if test -d /var/lib/lyskom-server; then
     echo 'Removing LysKOM database.'
-    rm -f /var/lib/lyskom-server/lyskomd-data
-    rm -f /var/lib/lyskom-server/lyskomd-backup
-    rm -f /var/lib/lyskom-server/lyskomd-backup-prev
-    rm -f /var/lib/lyskom-server/lyskomd-lock
-    rm -f /var/lib/lyskom-server/lyskomd-texts
-    rm -f /var/lib/lyskom-server/lyskomd-texts-backup
-    rm -f /var/lib/lyskom-server/run
-    rm -rf /var/lib/lyskom-server/lyskomd
-    rm -rf /var/lib/lyskom-server/lyskomd.cores
-    rmdir /var/lib/lyskom-server || echo 'Could not remove /var/lib/lyskom-server'
+    rm -rf /var/lib/lyskom-server
   fi
 
   # Remove 'lyskom' user
@@ -49,7 +43,7 @@
     if [ -x /usr/sbin/deluser ]; then
         # Deluser is installed
     	echo 'Removing lyskom user.'
-        deluser lyskom || echo 'Could not remove lyskom user'
+        deluser --system --quiet lyskom || echo 'Could not remove lyskom user'
     fi
   fi
 fi
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/lyskom-server.README.Debian lyskom-server-2.1.2/debian/lyskom-server.README.Debian
--- lyskom-server-2.1.2/debian/lyskom-server.README.Debian	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/lyskom-server.README.Debian	2012-11-15 16:40:46.000000000 +0100
@@ -1,14 +1,18 @@
 LysKOM server for Debian
 ------------------------
 
-Please note that the default paths for a number of the included files have
-been moved compared to what is documented in the LysKOM manual. All paths
-have been modified to comply with the FHS. Please see the configuration file
-/etc/lyskom-server/lyskomd.conf for a list of moved files.
+Please note that the default paths for a number of the included files
+have been moved compared to what is documented in the LysKOM
+manual. All paths have been modified to comply with the FHS. Please
+see the configuration file /etc/lyskom-server/lyskomd.conf for a list
+of moved files.
 
-Also note that the server is not automatically started after install or on
-boot, since the administrator account is initalized with a default password
-of "gazonk" on the initial install. You will need to manually activate the
-server in the files /etc/cron.d/lyskom-server and /etc/default/lyskom-server
+Also note that the server is not automatically started after install
+or on boot, since the administrator account is initalized with a
+default password of "gazonk" on the initial install. You will need to
+manually activate the server in /etc/cron.d/lyskom-server. Especially
+note that the init script doesn't actually start the server; that is
+done by updateLysKOM, which is run via cron. The init script merely
+deletes a file that tells updateLysKOM not to start lyskomd.
 
- -- Peter Krefting <peterk@debian.org>
+ -- Magnus Holmgren <holmgren@debian.org>, Thu, 15 Nov 2012 08:59:02 +0100
diff -Nru --exclude 'config.*' lyskom-server-2.1.2/debian/rules lyskom-server-2.1.2/debian/rules
--- lyskom-server-2.1.2/debian/rules	2012-11-15 16:40:46.000000000 +0100
+++ lyskom-server-2.1.2/debian/rules	2012-11-15 16:40:46.000000000 +0100
@@ -18,6 +18,8 @@
 	./configure --prefix=/usr --exec-prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc/lyskom-server --localstatedir=/var/lib/lyskom-server --enable-ipv6
 	touch configure-stamp
 
+build-indep:
+build-arch: build
 build: configure-stamp build-stamp
 build-stamp:
 	dh_testdir
@@ -46,9 +48,9 @@
 	dh_clean -k
 	dh_installdirs
 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-	DESTDIR=$(CURDIR)/debian/lyskom-server $(MAKE) install prefix=$(CURDIR)/debian/lyskom-server
+	DESTDIR=$(CURDIR)/debian/lyskom-server $(MAKE) install
 else
-	DESTDIR=$(CURDIR)/debian/lyskom-server STRIPPROG=/bin/true $(MAKE) install prefix=$(CURDIR)/debian/lyskom-server
+	DESTDIR=$(CURDIR)/debian/lyskom-server STRIPPROG=/bin/true $(MAKE) install
 endif
 	cp -p db-crypt/db/lyskomd-data       debian/lyskom-server/usr/share/lyskom-server/default/
 	cp -p db-crypt/db/lyskomd-data-en    debian/lyskom-server/usr/share/lyskom-server/default/
@@ -88,4 +90,4 @@
 	dh_builddeb
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
+.PHONY: build-indep build-arch build clean binary-indep binary-arch binary install configure


Reply to: