From patchwork Mon Jan 19 16:14:10 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Mikityanskiy X-Patchwork-Id: 430590 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id 06E3D1401F6 for ; Tue, 20 Jan 2015 03:15:08 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 54A02A1E93; Mon, 19 Jan 2015 16:15:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id da69zNA8xYhm; Mon, 19 Jan 2015 16:15:00 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 53994A1F29; Mon, 19 Jan 2015 16:14:58 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 79A6E1C203A for ; Mon, 19 Jan 2015 16:14:46 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 75F2F92514 for ; Mon, 19 Jan 2015 16:14:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OXS2MnI-vFTK for ; Mon, 19 Jan 2015 16:14:46 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wg0-f48.google.com (mail-wg0-f48.google.com [74.125.82.48]) by whitealder.osuosl.org (Postfix) with ESMTPS id 1211892512 for ; Mon, 19 Jan 2015 16:14:46 +0000 (UTC) Received: by mail-wg0-f48.google.com with SMTP id x12so4209081wgg.7 for ; Mon, 19 Jan 2015 08:14:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:in-reply-to:references; bh=Gko77RgUmKCCK+PxWLVxTIloYUF3sU/MSM6gbKUwjKY=; b=sQVjWtWJrlikWDd0sBHemL2FdceUhfBG0QEwFEssqfunUFrnconW2B1n10jn30/cfA 9oLC2UU2ZRG6ndIiS0hPIYPA6dD1IOyjn8q0PXjX/gF413WgFiO4EEFH0KTVdN98iZpq engQm5W3P6P/Kq+iWAkSOk6Mip26ySXLL6sgP4gtwsgElNywiisco5ANAAvAIAUPNrk1 Q4dYUvHgEjKMuhcpx7VSWxf6DMFn6eiwYIPt3ilZwSPLX+fvEmu2I6z3RucTB8cbAjdy 0oMROQYVdTcmX/sS1tsASr6TX/xRQkvMMaFSw0BNMDscoOf4Oy+kpQG1xl0fccFwJZwX RJ6Q== X-Received: by 10.194.203.234 with SMTP id kt10mr5437753wjc.88.1421684083040; Mon, 19 Jan 2015 08:14:43 -0800 (PST) Received: from ideapad.lan (199-13-179-94.pool.ukrtel.net. [94.179.13.199]) by mx.google.com with ESMTPSA id fc6sm14735765wib.12.2015.01.19.08.14.41 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 19 Jan 2015 08:14:42 -0800 (PST) From: Maxim Mikityanskiy To: buildroot@busybox.net Date: Mon, 19 Jan 2015 18:14:10 +0200 Message-Id: <1421684056-5266-11-git-send-email-maxtram95@gmail.com> X-Mailer: git-send-email 2.2.1 In-Reply-To: <1421684056-5266-1-git-send-email-maxtram95@gmail.com> References: <1421684056-5266-1-git-send-email-maxtram95@gmail.com> Subject: [Buildroot] [PATCH 10/16] package/transmission: improve systemd support X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Support running transmission-daemon in system-wide mode using systemd: 1. Pass --with-systemd-daemon to configure script if systemd is enabled. 2. Install sysctl.d config file to increase send and receive buffer sizes. 3. Install tmpfiles.d config file to create transmission config directory. 4. Install sysusers.d config file to create transmission user when using systemd. Create transmission user when not using systemd. 5. Install transmission-daemon.service for systemd. Signed-off-by: Maxim Mikityanskiy --- package/transmission/transmission-daemon.service | 12 +++++++ package/transmission/transmission.mk | 45 ++++++++++++++++++++++++ package/transmission/transmission_sysctl.conf | 2 ++ package/transmission/transmission_sysusers.conf | 1 + package/transmission/transmission_tmpfiles.conf | 1 + 5 files changed, 61 insertions(+) create mode 100644 package/transmission/transmission-daemon.service create mode 100644 package/transmission/transmission_sysctl.conf create mode 100644 package/transmission/transmission_sysusers.conf create mode 100644 package/transmission/transmission_tmpfiles.conf diff --git a/package/transmission/transmission-daemon.service b/package/transmission/transmission-daemon.service new file mode 100644 index 0000000..4e7c98b --- /dev/null +++ b/package/transmission/transmission-daemon.service @@ -0,0 +1,12 @@ +[Unit] +Description=Transmission BitTorrent Daemon +After=network.target + +[Service] +User=transmission +Type=notify +ExecStart=/usr/bin/transmission-daemon -f --log-error -g /var/lib/transmission/config +ExecReload=/bin/kill -s HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk index b8a5c42..b5b9c8b 100644 --- a/package/transmission/transmission.mk +++ b/package/transmission/transmission.mk @@ -36,11 +36,56 @@ endif ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y) TRANSMISSION_CONF_OPTS += --enable-daemon +ifeq ($(BR2_PACKAGE_SYSTEMD),y) + TRANSMISSION_DEPENDENCIES += systemd + TRANSMISSION_CONF_OPTS += --with-systemd-daemon +endif + +ifeq ($(BR2_INIT_SYSTEMD),) +define TRANSMISSION_USERS + transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon +endef +endif + define TRANSMISSION_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/transmission/S92transmission \ $(TARGET_DIR)/etc/init.d/S92transmission endef +define TRANSMISSION_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/transmission/transmission-daemon.service \ + $(TARGET_DIR)/lib/systemd/system/transmission-daemon.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs /lib/systemd/system/transmission-daemon.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service + + mkdir -p $(TARGET_DIR)/var/lib/transmission/config +endef + +define TRANSMISSION_INSTALL_SYSCTL_HOOK + $(INSTALL) -D -m 644 package/transmission/transmission_sysctl.conf \ + $(TARGET_DIR)/usr/lib/sysctl.d/20-transmission.conf +endef + +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \ + TRANSMISSION_INSTALL_SYSCTL_HOOK + +define TRANSMISSION_INSTALL_TMPFILES_HOOK + $(INSTALL) -D -m 644 package/transmission/transmission_tmpfiles.conf \ + $(TARGET_DIR)/usr/lib/tmpfiles.d/transmission.conf +endef + +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \ + TRANSMISSION_INSTALL_TMPFILES_HOOK + +define TRANSMISSION_INSTALL_SYSUSERS_HOOK + $(INSTALL) -D -m 644 package/transmission/transmission_sysusers.conf \ + $(TARGET_DIR)/usr/lib/sysusers.d/transmission.conf +endef + +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \ + TRANSMISSION_INSTALL_SYSUSERS_HOOK + else TRANSMISSION_CONF_OPTS += --disable-daemon endif diff --git a/package/transmission/transmission_sysctl.conf b/package/transmission/transmission_sysctl.conf new file mode 100644 index 0000000..7862332 --- /dev/null +++ b/package/transmission/transmission_sysctl.conf @@ -0,0 +1,2 @@ +net.core.wmem_max = 1048576 +net.core.rmem_max = 4194304 diff --git a/package/transmission/transmission_sysusers.conf b/package/transmission/transmission_sysusers.conf new file mode 100644 index 0000000..09396d4 --- /dev/null +++ b/package/transmission/transmission_sysusers.conf @@ -0,0 +1 @@ +u transmission - "Transmission daemon" /var/lib/transmission diff --git a/package/transmission/transmission_tmpfiles.conf b/package/transmission/transmission_tmpfiles.conf new file mode 100644 index 0000000..e40b94a --- /dev/null +++ b/package/transmission/transmission_tmpfiles.conf @@ -0,0 +1 @@ +d /var/lib/transmission/config 0700 transmission users -