Package: thermald
Version: 1.1~rc2-7
Severity: wishlist
Tags: patch
Forwarded: https://github.com/01org/thermal_daemon/pull/20
Hi,
Thanks for packaging thermald in Debian.
I noticed that upstream thermald has a systemd unit, but your Debian
packaging does not. I've made some improvements to that systemd unit,
sent them upstream, and done a branch of the Debian package that
installs the systemd unit: see attached.
Patch 0003 is a matter of taste; please feel free to drop it if you
prefer hardening-wrapper, but I get the impression that using
dpkg-buildflags is the preferred approach these days.
If you have the thermald packaging in a git (or other VCS) repository
somewhere, please consider uploading it to Alioth. I've uploaded a
version imported from snapshot.debian.org with git-import-dscs to:
ssh://git.debian.org/home/users/smcv/public_git/thermald.git
with gitweb at:
http://anonscm.debian.org/gitweb/?p=users/smcv/thermald.git
That version also contains all of the attached patches.
Regards,
S
>From a4159facfbafc7c2818855015a295baa31e8eb71 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Wed, 12 Feb 2014 10:20:20 +0000
Subject: [PATCH] Add a patch to install thermald to ${sbindir} without needing
a workaround in debian/rules, and have the systemd service file use that path
automatically
---
debian/changelog | 8 +++
...rmald-in-sbindir-and-point-systemd-servic.patch | 57 ++++++++++++++++++++++
debian/patches/series | 1 +
debian/rules | 1 -
4 files changed, 66 insertions(+), 1 deletion(-)
create mode 100644 debian/patches/0014-Install-thermald-in-sbindir-and-point-systemd-servic.patch
diff --git a/debian/changelog b/debian/changelog
index adcf065..b402217 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+thermald (1.1~rc2-7+smcv1) UNRELEASED; urgency=low
+
+ * Add a patch to install thermald to ${sbindir} without needing a
+ workaround in debian/rules, and have the systemd service file
+ use that path automatically
+
+ -- Simon McVittie <[email protected]> Wed, 12 Feb 2014 10:16:15 +0000
+
thermald (1.1~rc2-7) unstable; urgency=low
* Redirect fd 0, 1, 2 to /dev/null to stop poll() spinning (Closes: #737093)
diff --git a/debian/patches/0014-Install-thermald-in-sbindir-and-point-systemd-servic.patch b/debian/patches/0014-Install-thermald-in-sbindir-and-point-systemd-servic.patch
new file mode 100644
index 0000000..f32ba19
--- /dev/null
+++ b/debian/patches/0014-Install-thermald-in-sbindir-and-point-systemd-servic.patch
@@ -0,0 +1,57 @@
+From 4592eac08fb8f1f9682a4f8e8cb00eb3a7bdfbcd Mon Sep 17 00:00:00 2001
+From: Simon McVittie <[email protected]>
+Date: Wed, 12 Feb 2014 10:18:30 +0000
+Subject: [PATCH] Install thermald in ${sbindir}, and point systemd service to
+ it
+
+Substituting @sbindir@ in thermald.service.in means that the systemd
+unit will work if compiled with a non-default --sbindir, or a
+non-/usr prefix.
+
+Distributions that don't distinguish between /usr/sbin and /usr/bin
+can configure with --sbindir=/usr/bin or similar.
+---
+ Makefile.am | 2 +-
+ data/thermald.service.in | 2 +-
+ distribution_integration/thermal-daemon.spec | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 981972c..57a2057 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -23,7 +23,7 @@ EXTRA_DIST=Makefile.glib \
+ thermald.pc.in
+
+ # Programs to build
+-bin_PROGRAMS = thermald
++sbin_PROGRAMS = thermald
+
+ # Evaluate Table Application
+ thermald_CPPFLAGS = \
+diff --git a/data/thermald.service.in b/data/thermald.service.in
+index 6d01518..1d5a704 100644
+--- a/data/thermald.service.in
++++ b/data/thermald.service.in
+@@ -5,7 +5,7 @@ After=syslog.target
+ [Service]
+ Type=dbus
+ BusName=org.freedesktop.thermald
+-ExecStart=/usr/bin/thermald --no-daemon --dbus-enable
++ExecStart=@sbindir@/thermald --no-daemon --dbus-enable
+ StandardError=null
+
+ [Install]
+diff --git a/distribution_integration/thermal-daemon.spec b/distribution_integration/thermal-daemon.spec
+index d2b9f38..c9f905c 100644
+--- a/distribution_integration/thermal-daemon.spec
++++ b/distribution_integration/thermal-daemon.spec
+@@ -47,7 +47,7 @@ make %{?_smp_mflags}
+ %systemd_postun_with_restart thermald.service
+
+ %files
+-%{_bindir}/thermald
++%{_sbindir}/thermald
+ %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.thermald.conf
+ %{_datadir}/dbus-1/system-services/org.freedesktop.thermald.service
+ %config(noreplace) %{_sysconfdir}/thermald/thermal-conf.xml
diff --git a/debian/patches/series b/debian/patches/series
index 2bf2576..9453ff6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,4 @@
0011-pic-fixes.patch
0012-Prevent-exception-for-invalid-sysfs-file-reads.patch
0013-Redirect-stderr-stdout-and-stdin-to-dev-null-to-stop.patch
+0014-Install-thermald-in-sbindir-and-point-systemd-servic.patch
diff --git a/debian/rules b/debian/rules
index 021e826..25ff600 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,7 +2,6 @@
override_dh_install:
dh_install
- mv debian/thermald/usr/bin debian/thermald/usr/sbin
%:
dh $@ --with autoreconf
>From 397929da1194e4c368a234071207f5347036b91c Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Wed, 12 Feb 2014 10:34:22 +0000
Subject: [PATCH] Install the systemd service file (Closes: #nnnnnn)
---
debian/changelog | 1 +
debian/rules | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index b402217..b36f902 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ thermald (1.1~rc2-7+smcv1) UNRELEASED; urgency=low
* Add a patch to install thermald to ${sbindir} without needing a
workaround in debian/rules, and have the systemd service file
use that path automatically
+ * Install the systemd service file (Closes: #nnnnnn)
-- Simon McVittie <[email protected]> Wed, 12 Feb 2014 10:16:15 +0000
diff --git a/debian/rules b/debian/rules
index 25ff600..b5bedfe 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,5 +1,10 @@
#!/usr/bin/make -f
+# this path for systemdsystemunitdir is correct for Debian, and avoids
+# needing to build-depend on systemd for systemd.pc
+override_dh_auto_configure:
+ dh_auto_configure -- --with-systemdsystemunitdir=/lib/systemd/system
+
override_dh_install:
dh_install
>From fa1e3b1056a13a121b14099c5dcaf0deea6848c4 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Wed, 12 Feb 2014 10:33:10 +0000
Subject: [PATCH] Activate hardening via DEB_BUILD_MAINT_OPTIONS instead of
hardening-wrapper
---
debian/changelog | 2 ++
debian/control | 2 +-
debian/rules | 3 +++
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index b36f902..c6e2ade 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ thermald (1.1~rc2-7+smcv1) UNRELEASED; urgency=low
workaround in debian/rules, and have the systemd service file
use that path automatically
* Install the systemd service file (Closes: #nnnnnn)
+ * Activate hardening via DEB_BUILD_MAINT_OPTIONS instead of
+ hardening-wrapper
-- Simon McVittie <[email protected]> Wed, 12 Feb 2014 10:16:15 +0000
diff --git a/debian/control b/debian/control
index aa37d4f..6cb0891 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: admin
Priority: optional
Maintainer: Colin King <[email protected]>
Standards-Version: 3.9.5
-Build-Depends: debhelper (>= 9), dh-autoreconf, quilt, autoconf, libglib2.0-dev, libdbus-1-dev, libdbus-glib-1-dev, libxml2-dev, hardening-wrapper
+Build-Depends: debhelper (>= 9), dh-autoreconf, quilt, autoconf, libglib2.0-dev, libdbus-1-dev, libdbus-glib-1-dev, libxml2-dev
Homepage: https://github.com/01org/thermal_daemon
Package: thermald
diff --git a/debian/rules b/debian/rules
index b5bedfe..585dd34 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,5 +1,8 @@
#!/usr/bin/make -f
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+include /usr/share/dpkg/default.mk
+
# this path for systemdsystemunitdir is correct for Debian, and avoids
# needing to build-depend on systemd for systemd.pc
override_dh_auto_configure:
>From 9c2467759905026a5d43176a6c48c648cffdb029 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Wed, 12 Feb 2014 10:40:35 +0000
Subject: [PATCH] Add patches to improve the systemd service
---
debian/changelog | 1 +
...service.in-do-not-depend-on-syslog.target.patch | 22 ++++++++++++++++++++
...hermald.service.in-do-not-suppress-stderr.patch | 24 ++++++++++++++++++++++
debian/patches/series | 2 ++
4 files changed, 49 insertions(+)
create mode 100644 debian/patches/0015-thermald.service.in-do-not-depend-on-syslog.target.patch
create mode 100644 debian/patches/0016-thermald.service.in-do-not-suppress-stderr.patch
diff --git a/debian/changelog b/debian/changelog
index c6e2ade..ad46713 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ thermald (1.1~rc2-7+smcv1) UNRELEASED; urgency=low
* Install the systemd service file (Closes: #nnnnnn)
* Activate hardening via DEB_BUILD_MAINT_OPTIONS instead of
hardening-wrapper
+ * Add patches to improve the systemd service
-- Simon McVittie <[email protected]> Wed, 12 Feb 2014 10:16:15 +0000
diff --git a/debian/patches/0015-thermald.service.in-do-not-depend-on-syslog.target.patch b/debian/patches/0015-thermald.service.in-do-not-depend-on-syslog.target.patch
new file mode 100644
index 0000000..51a178b
--- /dev/null
+++ b/debian/patches/0015-thermald.service.in-do-not-depend-on-syslog.target.patch
@@ -0,0 +1,22 @@
+From 6dd9ae1cb6c512fcff03e559371e55ed09a039ad Mon Sep 17 00:00:00 2001
+From: Simon McVittie <[email protected]>
+Date: Wed, 12 Feb 2014 10:36:57 +0000
+Subject: [PATCH] thermald.service.in: do not depend on syslog.target
+
+systemd uses socket activation for syslog.target, so it's unnecessary
+to depend on it.
+---
+ data/thermald.service.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/data/thermald.service.in b/data/thermald.service.in
+index 1d5a704..3667dde 100644
+--- a/data/thermald.service.in
++++ b/data/thermald.service.in
+@@ -1,6 +1,5 @@
+ [Unit]
+ Description=Thermal Daemon Service
+-After=syslog.target
+
+ [Service]
+ Type=dbus
diff --git a/debian/patches/0016-thermald.service.in-do-not-suppress-stderr.patch b/debian/patches/0016-thermald.service.in-do-not-suppress-stderr.patch
new file mode 100644
index 0000000..1f5f927
--- /dev/null
+++ b/debian/patches/0016-thermald.service.in-do-not-suppress-stderr.patch
@@ -0,0 +1,24 @@
+From 57403e1581464b738f0877599285c2ed553abf66 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <[email protected]>
+Date: Wed, 12 Feb 2014 10:38:55 +0000
+Subject: [PATCH] thermald.service.in: do not suppress stderr
+
+Unless thermald's stderr is really spammy, it's better to capture
+all of its output so that any error/warning messages appear in
+the Journal.
+---
+ data/thermald.service.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/data/thermald.service.in b/data/thermald.service.in
+index 3667dde..253ac0d 100644
+--- a/data/thermald.service.in
++++ b/data/thermald.service.in
+@@ -5,7 +5,6 @@ Description=Thermal Daemon Service
+ Type=dbus
+ BusName=org.freedesktop.thermald
+ ExecStart=@sbindir@/thermald --no-daemon --dbus-enable
+-StandardError=null
+
+ [Install]
+ WantedBy=multi-user.target
diff --git a/debian/patches/series b/debian/patches/series
index 9453ff6..0c2afe9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,3 +12,5 @@
0012-Prevent-exception-for-invalid-sysfs-file-reads.patch
0013-Redirect-stderr-stdout-and-stdin-to-dev-null-to-stop.patch
0014-Install-thermald-in-sbindir-and-point-systemd-servic.patch
+0015-thermald.service.in-do-not-depend-on-syslog.target.patch
+0016-thermald.service.in-do-not-suppress-stderr.patch
>From 04cce451f90947ab30f44e0bc347046559cc8ca7 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Wed, 12 Feb 2014 10:49:20 +0000
Subject: [PATCH] Use dh-systemd to sync up enabledness status between sysvinit
and systemd
---
debian/changelog | 1 +
debian/control | 2 +-
debian/rules | 3 +--
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index ad46713..c6de4e0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,7 @@ thermald (1.1~rc2-7+smcv1) UNRELEASED; urgency=low
* Activate hardening via DEB_BUILD_MAINT_OPTIONS instead of
hardening-wrapper
* Add patches to improve the systemd service
+ * Use dh-systemd to sync up enabledness status between sysvinit and systemd
-- Simon McVittie <[email protected]> Wed, 12 Feb 2014 10:16:15 +0000
diff --git a/debian/control b/debian/control
index 6cb0891..8fa1fe3 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: admin
Priority: optional
Maintainer: Colin King <[email protected]>
Standards-Version: 3.9.5
-Build-Depends: debhelper (>= 9), dh-autoreconf, quilt, autoconf, libglib2.0-dev, libdbus-1-dev, libdbus-glib-1-dev, libxml2-dev
+Build-Depends: debhelper (>= 9), dh-autoreconf, quilt, autoconf, libglib2.0-dev, libdbus-1-dev, libdbus-glib-1-dev, libxml2-dev, dh-systemd (>= 1.5)
Homepage: https://github.com/01org/thermal_daemon
Package: thermald
diff --git a/debian/rules b/debian/rules
index 585dd34..c546a02 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,5 +12,4 @@ override_dh_install:
dh_install
%:
- dh $@ --with autoreconf
-
+ dh $@ --with autoreconf,systemd