Package: debhelper
Version: 10.2.2
Severity: wishlist
Tags: patch upstream

Hi,

Please find attached a patch for installing timer units in
debian/package.timer, and a small refactor to DRY.


-- System Information:
Debian Release: stretch/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.7.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages debhelper depends on:
ii  autotools-dev            20160430.1
ii  binutils                 2.27-9
ii  dh-autoreconf            12
ii  dh-strip-nondeterminism  0.028-1
ii  dpkg                     1.18.10
ii  dpkg-dev                 1.18.10
ii  file                     1:5.28-4
ii  libdpkg-perl             1.18.10
ii  man-db                   2.7.5-1
ii  perl                     5.24.1~rc3-3
ii  po-debconf               1.0.20

debhelper recommends no packages.

Versions of packages debhelper suggests:
ii  dh-make  2.201608

-- no debconf information

-- debsums errors found:
debsums: changed file /usr/bin/dh_systemd_start (from debhelper package)
>From 1f99b1603966af504faa24dc72a5371448300ec7 Mon Sep 17 00:00:00 2001
From: Felipe Sateler <[email protected]>
Date: Sat, 22 Oct 2016 21:15:26 -0300
Subject: [PATCH 1/2] dh_systemd_enable: refactor unit installation logic into
 a subroutine

---
 dh_systemd_enable | 64 ++++++++++++++-----------------------------------------
 1 file changed, 16 insertions(+), 48 deletions(-)

diff --git a/dh_systemd_enable b/dh_systemd_enable
index 09093f0..faa5650 100755
--- a/dh_systemd_enable
+++ b/dh_systemd_enable
@@ -102,6 +102,15 @@ sub contains_install_section {
 	return 0;
 }
 
+sub install_unit {
+	my ($package, $script, $pkgsuffix, $path, $installsuffix) = @_;
+	$installsuffix = $installsuffix || $pkgsuffix;
+	my $unit=pkgfile("$package", $pkgsuffix);
+	return if $unit eq '';
+	install_dir($path);
+	install_file($unit, "$path/$script.$installsuffix");
+}
+
 # PROMISE: DH NOOP WITHOUT tmp(lib/systemd/system) mount path service socket target tmpfile
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
@@ -138,54 +147,13 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
 		$script=$package;
 	}
 
-	my $service=pkgfile($package,"service");
-	if ($service ne '') {
-		my $path="$tmpdir/lib/systemd/system";
-		install_dir($path);
-
-		install_file($service, "$path/$script.service");
-	}
-
-	my $template=pkgfile("$package@","service");
-	if ($template ne '') {
-		my $path="$tmpdir/lib/systemd/system";
-		install_dir($path);
-		install_file($template, "$path/[email protected]");
-	}
-
-	my $target=pkgfile($package,"target");
-	if ($target ne '') {
-		my $path="$tmpdir/lib/systemd/system";
-		install_dir($path);
-		install_file($target, "$path/$script.target");
-	}
-
-	my $socket=pkgfile($package,"socket");
-	if ($socket ne '') {
-		my $path="$tmpdir/lib/systemd/system";
-		install_dir($path);
-		install_file($socket, "$path/$script.socket");
-	}
-
-	my $tmpfile=pkgfile($package,"tmpfile");
-	if ($tmpfile ne '') {
-		my $path="$tmpdir/usr/lib/tmpfiles.d";
-		install_dir($path);
-		install_file($tmpfile, "$path/$script.conf");
-	}
-
-	my $mount=pkgfile($package,"mount");
-	if ($mount ne '') {
-		my $path="$tmpdir/usr/lib/system";
-		install_dir($path);
-		install_file($mount, "$path/$script.mount");
-	}
-
-	my $pathunit=pkgfile($package,"path");
-	if ($pathunit ne '') {
-		my $path="$tmpdir/lib/systemd/system";
-		install_dir($path);
-		install_file($pathunit, "$path/$script.path");
+	foreach my $suffix ('', '@') {
+		install_unit("$package$suffix", $script, "service", "$tmpdir/lib/systemd/system");
+		install_unit("$package$suffix", $script, "target", "$tmpdir/lib/systemd/system");
+		install_unit("$package$suffix", $script, "socket", "$tmpdir/lib/systemd/system");
+		install_unit("$package$suffix", $script, "mount", "$tmpdir/lib/systemd/system");
+		install_unit("$package$suffix", $script, "path", "$tmpdir/lib/systemd/system");
+		install_unit("$package$suffix", $script, "tmpfile", "$tmpdir/lib/systemd/system", "conf");
 	}
 
 	find({
-- 
2.9.3

>From b1157657cc99db035e8a6c78c6efb14318392aef Mon Sep 17 00:00:00 2001
From: Felipe Sateler <[email protected]>
Date: Sat, 22 Oct 2016 21:26:39 -0300
Subject: [PATCH 2/2] dh_systemd_enable: install timer files

---
 dh_systemd_enable | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dh_systemd_enable b/dh_systemd_enable
index faa5650..2e78a18 100755
--- a/dh_systemd_enable
+++ b/dh_systemd_enable
@@ -111,7 +111,7 @@ sub install_unit {
 	install_file($unit, "$path/$script.$installsuffix");
 }
 
-# PROMISE: DH NOOP WITHOUT tmp(lib/systemd/system) mount path service socket target tmpfile
+# PROMISE: DH NOOP WITHOUT tmp(lib/systemd/system) mount path service socket target tmpfile timer
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
 	my $tmpdir = tmpdir($package);
@@ -154,6 +154,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
 		install_unit("$package$suffix", $script, "mount", "$tmpdir/lib/systemd/system");
 		install_unit("$package$suffix", $script, "path", "$tmpdir/lib/systemd/system");
 		install_unit("$package$suffix", $script, "tmpfile", "$tmpdir/lib/systemd/system", "conf");
+		install_unit("$package$suffix", $script, "timer", "$tmpdir/lib/systemd/system");
 	}
 
 	find({
-- 
2.9.3

Reply via email to