git » transmission.git » commit 5164920

switch to systemd-sysusers and systemd-tmpfiles for user creation (FS#46264)

author Bartłomiej Piotrowski
2016-07-15 08:05:35 UTC
committer Bartłomiej Piotrowski
2016-07-15 08:05:35 UTC
parent c9c7a1067da6f0b7a9b26be277d68f37741098ef

switch to systemd-sysusers and systemd-tmpfiles for user creation (FS#46264)

use hooks where applicable
fix icon location for transmission-qt launcher

PKGBUILD +15 -6
transmission-cli.install +0 -10
transmission-cli.sysusers +1 -0
transmission-cli.tmpfiles +1 -0
transmission-gtk.install +0 -12
transmission-qt.install +0 -11

diff --git a/PKGBUILD b/PKGBUILD
index d314f34..3bda054 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,22 +4,28 @@
 pkgbase=transmission
 pkgname=('transmission-cli' 'transmission-gtk' 'transmission-qt')
 pkgver=2.92
-pkgrel=2
+pkgrel=3
 arch=('i686' 'x86_64')
 url="http://www.transmissionbt.com/"
 license=('MIT')
 makedepends=('gtk3' 'intltool' 'curl' 'qt5-base' 'libevent' 'systemd'
              'qt5-tools')
 source=(https://download.transmissionbt.com/files/transmission-${pkgver}.tar.xz
-        transmission-2.90-libsystemd.patch)
+        transmission-2.90-libsystemd.patch
+        transmission-cli.sysusers
+        transmission-cli.tmpfiles)
 md5sums=('3fce404a436e3cd7fde80fb6ed61c264'
-         'bcb54fdb9fec00992960d9bd3b449d4d')
+         'bcb54fdb9fec00992960d9bd3b449d4d'
+         '6836ecf77e8c96738259e61b4ec0813e'
+         '73f17e39f3996768bb1d1e25a2f3fed1')
 
 prepare() {
   cd $pkgbase-$pkgver
   patch -p1 -i "$srcdir/transmission-2.90-libsystemd.patch"
   rm -f m4/glib-gettext.m4
   autoreconf -fi
+
+  sed -i '/^Icon=/ s/$/-qt/' qt/transmission-qt.desktop
 }
 
 build() {
@@ -35,7 +41,7 @@ build() {
 
 package_transmission-cli() {
   pkgdesc='Fast, easy, and free BitTorrent client (CLI tools, daemon and web client)'
-  depends=('curl' 'libevent' 'libsystemd')
+  depends=('curl' 'libevent' 'systemd')
   install=transmission-cli.install
 
   cd $pkgbase-$pkgver
@@ -47,6 +53,11 @@ package_transmission-cli() {
   install -Dm644 daemon/transmission-daemon.service \
     "$pkgdir/usr/lib/systemd/system/transmission.service"
   install -Dm644 COPYING "$pkgdir/usr/share/licenses/transmission-cli/COPYING"
+
+  install -Dm644 "$srcdir/$pkgname.sysusers" \
+    "$pkgdir/usr/lib/sysusers.d/transmission.conf"
+  install -Dm644 "$srcdir/$pkgname.tmpfiles" \
+    "$pkgdir/usr/lib/tmpfiles.d/transmission.conf"
 }
 
 package_transmission-gtk() {
@@ -54,7 +65,6 @@ package_transmission-gtk() {
   depends=('curl' 'libevent' 'gtk3' 'desktop-file-utils' 'hicolor-icon-theme')
   optdepends=('notification-daemon: Desktop notification support'
               'transmission-cli: daemon and web support')
-  install=transmission-gtk.install
 
   cd $pkgbase-$pkgver
 
@@ -67,7 +77,6 @@ package_transmission-qt() {
   pkgdesc='Fast, easy, and free BitTorrent client (Qt GUI)'
   depends=('curl' 'qt5-base' 'libevent')
   optdepends=('transmission-cli: daemon and web support')
-  install=transmission-qt.install
 
   cd $pkgbase-$pkgver
 
diff --git a/transmission-cli.install b/transmission-cli.install
deleted file mode 100644
index f113d47..0000000
--- a/transmission-cli.install
+++ /dev/null
@@ -1,10 +0,0 @@
-post_install() {
-  post_upgrade
-  passwd -l transmission &>/dev/null
-}
-
-post_upgrade() {
-  # create user/group that the daemon will run as by default, do not delete this on uninstall, as it will own files
-  getent group transmission >/dev/null || groupadd -g 169 transmission
-  getent passwd transmission >/dev/null || useradd -c 'Transmission BitTorrent Client' -u 169 -g transmission -b '/var/lib' -m -s /bin/false transmission
-}
diff --git a/transmission-cli.sysusers b/transmission-cli.sysusers
new file mode 100644
index 0000000..a972f6c
--- /dev/null
+++ b/transmission-cli.sysusers
@@ -0,0 +1 @@
+u transmission 169 "Transmission BitTorrent Daemon" /var/lib/transmission
diff --git a/transmission-cli.tmpfiles b/transmission-cli.tmpfiles
new file mode 100644
index 0000000..85d5a92
--- /dev/null
+++ b/transmission-cli.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/transmission 0750 transmission transmission
diff --git a/transmission-gtk.install b/transmission-gtk.install
deleted file mode 100644
index c317fba..0000000
--- a/transmission-gtk.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
-  update-desktop-database -q
-  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
-  post_install
-}
-
-post_remove() {
-  post_install
-}
diff --git a/transmission-qt.install b/transmission-qt.install
deleted file mode 100644
index e111ef9..0000000
--- a/transmission-qt.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
-  update-desktop-database -q
-}
-
-post_upgrade() {
-  post_install
-}
-
-post_remove() {
-  post_install
-}