On 11.10.2014 22:44, Andrei POPESCU wrote: [...] > > Markus Koschany was kind enough to work on a patch, would you mind > looking at it and possibly apply it?
Hi, I have rebased the patch against the latest version of Transmission in unstable. I agree with Andrei that this bug is not entirely fixed yet. Regards, Markus
diff -Nru transmission-2.84/debian/changelog transmission-2.84/debian/changelog --- transmission-2.84/debian/changelog 2014-08-30 08:31:07.000000000 +0200 +++ transmission-2.84/debian/changelog 2014-10-16 14:58:20.000000000 +0200 @@ -1,3 +1,34 @@ +transmission (2.84-0.2) unstable; urgency=medium + + * Non-maintainer upload. + * transmission-daemon.postinst: + - Change home directory of transmission-daemon to + /var/lib/transmission-daemon from /home/debian-transmission. + Thanks to Alex Peters for the report. (Closes: #734467) + - Disable password authentication for debian-transmission user for + improved security. Logins with e.g. SSH RSA keys are still possible. + - Check existence of debian-transmission user with getent passwd + debian-transmission instead of id. + * Add transmission-daemon.preinst: + - Fix permissions in /var/lib/transmission-daemon and use + /var/lib/transmission-daemon as the new home directory. + - Move old configuration files to appropriate config directory + /var/lib/transmission-daemon/.config/transmission-daemon. + All together this ensures that transmission-daemon will not segfault + when systemd is the default init system. + Thanks to Andrei Popescu and Antoine Legonidec for the report and + additional tests. (Closes: #718624) + * transmission-daemon.links: + - Link settings.json from /etc/transmission-daemon/settings.json to + /var/lib/transmission-daemon/.config/transmission-daemon. + - Link /var/lib/transmission-daemon/.config/transmission-daemon to + /var/lib/transmission-daemon/info due to compatibility reasons with + the old sysv-rc init script settings. + * transmission-daemon.dirs: + - Do not create /var/lib/transmission-daemon/info anymore. + + -- Markus Koschany <a...@gambaru.de> Thu, 16 Oct 2014 14:54:23 +0200 + transmission (2.84-0.1) unstable; urgency=medium * Non-maintainer upload. diff -Nru transmission-2.84/debian/patches/systemd_service_fixes.patch transmission-2.84/debian/patches/systemd_service_fixes.patch --- transmission-2.84/debian/patches/systemd_service_fixes.patch 2014-08-30 08:30:08.000000000 +0200 +++ transmission-2.84/debian/patches/systemd_service_fixes.patch 2014-10-16 14:58:20.000000000 +0200 @@ -1,27 +1,29 @@ Description: fix segfaults due to wrong systemd service file The service file has the following line: - User=transmission + User=transmission . It should be replaced with: - User=debian-transmission + User=debian-transmission . - Moreover, the type is set to "notify", but it never sends a signal, so systemd - kills it. Until this has been explained, this line should be removed. -Author: Adrien CLERC <bugs-deb...@antipoul.fr> -Bug-Debian: https://bugs.debian.org/718624 -Origin: other, https://bugs.debian.org/718624 -Forwarded: no -Last-Update: 2014-07-18 + Bug-Debian: https://bugs.debian.org/718624 + Origin: other, https://bugs.debian.org/718624 + Forwarded: no + Last-Update: 2014-10-16 ---- transmission-2.84.orig/daemon/transmission-daemon.service -+++ transmission-2.84/daemon/transmission-daemon.service -@@ -3,8 +3,7 @@ Description=Transmission BitTorrent Daem +--- + daemon/transmission-daemon.service | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/daemon/transmission-daemon.service b/daemon/transmission-daemon.service +index 8a1d429..3687cf3 100644 +--- a/daemon/transmission-daemon.service ++++ b/daemon/transmission-daemon.service +@@ -3,7 +3,7 @@ Description=Transmission BitTorrent Daemon After=network.target [Service] -User=transmission --Type=notify +User=debian-transmission + Type=notify ExecStart=/usr/bin/transmission-daemon -f --log-error ExecReload=/bin/kill -s HUP $MAINPID - diff -Nru transmission-2.84/debian/transmission-daemon.dirs transmission-2.84/debian/transmission-daemon.dirs --- transmission-2.84/debian/transmission-daemon.dirs 2014-08-30 08:29:16.000000000 +0200 +++ transmission-2.84/debian/transmission-daemon.dirs 2014-10-16 14:58:20.000000000 +0200 @@ -1,2 +1 @@ -/var/lib/transmission-daemon/info /var/lib/transmission-daemon/downloads diff -Nru transmission-2.84/debian/transmission-daemon.links transmission-2.84/debian/transmission-daemon.links --- transmission-2.84/debian/transmission-daemon.links 2014-08-30 08:29:16.000000000 +0200 +++ transmission-2.84/debian/transmission-daemon.links 2014-10-16 14:58:20.000000000 +0200 @@ -1,2 +1,3 @@ usr/share/doc/transmission-common usr/share/doc/transmission-daemon -etc/transmission-daemon/settings.json var/lib/transmission-daemon/info/settings.json +etc/transmission-daemon/settings.json var/lib/transmission-daemon/.config/transmission-daemon/settings.json +var/lib/transmission-daemon/.config/transmission-daemon /var/lib/transmission-daemon/info diff -Nru transmission-2.84/debian/transmission-daemon.postinst transmission-2.84/debian/transmission-daemon.postinst --- transmission-2.84/debian/transmission-daemon.postinst 2014-08-30 08:29:16.000000000 +0200 +++ transmission-2.84/debian/transmission-daemon.postinst 2014-10-16 14:58:20.000000000 +0200 @@ -15,22 +15,25 @@ } case "$1" in - configure|upgrade) - if ! id -u debian-transmission > /dev/null; then + configure) + if ! getent passwd debian-transmission > /dev/null; then adduser --quiet \ --system \ --group \ --no-create-home \ + --disabled-password \ + --home /var/lib/transmission-daemon \ debian-transmission fi - chperms debian-transmission debian-transmission 4750 /var/lib/transmission-daemon/info + chperms debian-transmission debian-transmission 4750 /var/lib/transmission-daemon/.config/transmission-daemon chperms debian-transmission debian-transmission 4775 /var/lib/transmission-daemon/downloads chperms debian-transmission debian-transmission 0660 /etc/transmission-daemon/settings.json chperms root debian-transmission 2775 /etc/transmission-daemon + ;; esac diff -Nru transmission-2.84/debian/transmission-daemon.postrm transmission-2.84/debian/transmission-daemon.postrm --- transmission-2.84/debian/transmission-daemon.postrm 2014-08-30 08:29:16.000000000 +0200 +++ transmission-2.84/debian/transmission-daemon.postrm 2014-10-16 14:58:20.000000000 +0200 @@ -4,8 +4,8 @@ case "$1" in purge) - if [ -d /var/lib/transmission-daemon/info ]; then - rm -rf /var/lib/transmission-daemon/info/* + if [ -d /var/lib/transmission-daemon/.config ]; then + rm -rf /var/lib/transmission-daemon/.config/* fi ;; esac diff -Nru transmission-2.84/debian/transmission-daemon.preinst transmission-2.84/debian/transmission-daemon.preinst --- transmission-2.84/debian/transmission-daemon.preinst 1970-01-01 01:00:00.000000000 +0100 +++ transmission-2.84/debian/transmission-daemon.preinst 2014-10-16 14:58:20.000000000 +0200 @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +case "$1" in + upgrade) + if dpkg --compare-versions "$2" lt "2.84-0.2~"; then + mkdir -p /var/lib/transmission-daemon/.config/transmission-daemon + chown -R debian-transmission:debian-transmission /var/lib/transmission-daemon/* + usermod debian-transmission -d /var/lib/transmission-daemon + mv /var/lib/transmission-daemon/info/* /var/lib/transmission-daemon/.config/transmission-daemon + rmdir /var/lib/transmission-daemon/info + fi + ;; + install|abort-upgrade) + ;; + *) + echo "preinst called with unknown argument '$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER#
signature.asc
Description: OpenPGP digital signature