Package: release.debian.org
User: [email protected]
Usertags: pu
Tags: jessie
Severity: normal
To fix #829088 ("ccache don't stop immediately on SIGINT and SIGTERM"), I
propose to upgrade ccache from 3.1.12-1 to 3.1.12-2 in stable-proposed-updates.
The change is a simple one-liner: Call _exit(1) at the end of the signal
handler to exit from e.g. SIGTERM. Without the exit, ccache will resume and run
the compiler again.
See attachment for the proposed update diff relative to 3.1.12-1.
-- Joel
diff -Nru ccache-3.1.12/debian/changelog ccache-3.1.12/debian/changelog
--- ccache-3.1.12/debian/changelog 2016-07-15 19:54:06.000000000 +0200
+++ ccache-3.1.12/debian/changelog 2016-08-28 15:45:26.000000000 +0200
@@ -1,3 +1,11 @@
+ccache (3.1.12-2) stable; urgency=medium
+
+ * Exit properly from signal handler (closes: #835460)
+ This fixes a regression in ccache 3.1.10 leading to ccache not dying
+ properly when interrupted by a signal.
+
+ -- Joel Rosdahl <[email protected]> Sun, 28 Aug 2016 15:45:26 +0200
+
ccache (3.1.12-1) stable; urgency=medium
* New upstream release 3.1.12 containing important bug fixes (and only
diff -Nru ccache-3.1.12/debian/patches/fix_signal_handler_exit.patch
ccache-3.1.12/debian/patches/fix_signal_handler_exit.patch
--- ccache-3.1.12/debian/patches/fix_signal_handler_exit.patch 1970-01-01
01:00:00.000000000 +0100
+++ ccache-3.1.12/debian/patches/fix_signal_handler_exit.patch 2016-08-28
15:45:26.000000000 +0200
@@ -0,0 +1,13 @@
+Description: Exit properly from exit handler
+Author: Joel Rosdahl <[email protected]>
+
+--- a/ccache.c
++++ b/ccache.c
+@@ -264,6 +264,7 @@ signal_handler(int signo)
+ {
+ (void)signo;
+ clean_up_pending_tmp_files();
++ _exit(1);
+ }
+
+ static void
diff -Nru ccache-3.1.12/debian/patches/series
ccache-3.1.12/debian/patches/series
--- ccache-3.1.12/debian/patches/series 2016-07-15 19:54:06.000000000 +0200
+++ ccache-3.1.12/debian/patches/series 2016-08-28 15:45:26.000000000 +0200
@@ -1 +1,2 @@
debian_specific_usage_docs.patch
+fix_signal_handler_exit.patch