Hello community,

here is the log from the commit of package ccache for openSUSE:Factory checked 
in at 2015-10-12 10:02:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ccache (Old)
 and      /work/SRC/openSUSE:Factory/.ccache.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ccache"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ccache/ccache.changes    2015-08-25 
08:46:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ccache.new/ccache.changes       2015-10-12 
10:02:42.000000000 +0200
@@ -1,0 +2,16 @@
+Thu Oct  8 20:32:17 UTC 2015 - [email protected]
+
+- Update to 3.2.4
+  * Fixed build error related to zlib on systems with older make 
+    versions (regression in ccache 3.2.3).
+  * Made conversion-to-bool explicit to avoid build warnings (and 
+    potential runtime errors) on legacy systems.
+  * Improved signal handling: Kill compiler on SIGTERM; wait for 
+    compiler to exit before exiting; die appropriately.
+  * Minor fixes related to Windows support.
+  * The correct compression level is now used if compression is 
+    requested.
+  * Fixed a bug where cache cleanup could be run too early for 
+    caches larger than 64 GiB on 32-bit systems.
+
+-------------------------------------------------------------------

Old:
----
  ccache-3.2.3.tar.xz
  ccache-3.2.3.tar.xz.asc

New:
----
  ccache-3.2.4.tar.xz
  ccache-3.2.4.tar.xz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ccache.spec ++++++
--- /var/tmp/diff_new_pack.NTP6Ie/_old  2015-10-12 10:02:43.000000000 +0200
+++ /var/tmp/diff_new_pack.NTP6Ie/_new  2015-10-12 10:02:43.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           ccache
-Version:        3.2.3
+Version:        3.2.4
 Release:        0
 Summary:        A Fast C/C++ Compiler Cache
 License:        GPL-3.0+

++++++ ccache-3.2.3.tar.xz -> ccache-3.2.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/AUTHORS.html 
new/ccache-3.2.4/AUTHORS.html
--- old/ccache-3.2.3/AUTHORS.html       2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/AUTHORS.html       2015-10-08 21:14:23.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache authors</h1>
-<span id="revnumber">version 3.2.3</span>
+<span id="revnumber">version 3.2.4</span>
 <div id="toc">
   <div id="toctitle">Table of Contents</div>
   <noscript><p><b>JavaScript must be enabled in your browser to display the 
table of contents.</b></p></noscript>
@@ -964,6 +964,11 @@
 </li>
 <li>
 <p>
+Vadim Petrochenkov &lt;<a 
href="mailto:[email protected]";>[email protected]</a>&gt;
+</p>
+</li>
+<li>
+<p>
 Ville Skyttä &lt;<a 
href="mailto:[email protected]";>[email protected]</a>&gt;
 </p>
 </li>
@@ -990,9 +995,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.3<br />
+Version 3.2.4<br />
 Last updated
- 2015-08-16 14:11:14 CEST
+ 2015-10-08 21:10:53 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/AUTHORS.txt new/ccache-3.2.4/AUTHORS.txt
--- old/ccache-3.2.3/AUTHORS.txt        2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/AUTHORS.txt        2015-10-08 21:14:23.000000000 +0200
@@ -49,6 +49,7 @@
 * Ryan Brown <[email protected]>
 * Tim Potter <[email protected]>
 * Tor Arne Vestbø <[email protected]>
+* Vadim Petrochenkov <[email protected]>
 * Ville Skyttä <[email protected]>
 * William S Fulton <[email protected]>
 * Wilson Snyder <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/Makefile.in new/ccache-3.2.4/Makefile.in
--- old/ccache-3.2.3/Makefile.in        2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/Makefile.in        2015-10-08 21:14:23.000000000 +0200
@@ -19,8 +19,7 @@
 RANLIB = @RANLIB@
 
 all_cflags = $(CFLAGS)
-all_cppflags = @DEFS@ @extra_cppflags@ -DSYSCONFDIR=$(sysconfdir) -I. 
-I$(srcdir) $(CPPFLAGS)
-all_ldflags = @extra_ldflags@ $(LDFLAGS)
+all_cppflags = @DEFS@ -DSYSCONFDIR=$(sysconfdir) -I. -I$(srcdir) $(CPPFLAGS)
 extra_libs = @extra_libs@
 
 base_sources = \
@@ -53,7 +52,7 @@
 all: ccache$(EXEEXT)
 
 ccache$(EXEEXT): $(ccache_objs) $(extra_libs)
-       $(CC) $(all_cflags) -o $@ $(ccache_objs) $(all_ldflags) $(extra_libs) 
$(LIBS)
+       $(CC) $(all_cflags) -o $@ $(ccache_objs) $(LDFLAGS) $(extra_libs) 
$(LIBS)
 
 .PHONY: install
 install: all
@@ -88,7 +87,7 @@
        test/main$(EXEEXT)
 
 test/main$(EXEEXT): $(base_objs) $(test_objs) $(extra_libs)
-       $(CC) $(all_cflags) -o $@ $(base_objs) $(test_objs) $(all_ldflags) 
$(extra_libs) $(LIBS)
+       $(CC) $(all_cflags) -o $@ $(base_objs) $(test_objs) $(LDFLAGS) 
$(extra_libs) $(LIBS)
 
 test/main.o: test/suites.h
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/NEWS.html new/ccache-3.2.4/NEWS.html
--- old/ccache-3.2.3/NEWS.html  2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/NEWS.html  2015-10-08 21:14:23.000000000 +0200
@@ -734,7 +734,7 @@
 <body class="article">
 <div id="header">
 <h1>ccache news</h1>
-<span id="revnumber">version 3.2.3</span>
+<span id="revnumber">version 3.2.4</span>
 <div id="toc">
   <div id="toctitle">Table of Contents</div>
   <noscript><p><b>JavaScript must be enabled in your browser to display the 
table of contents.</b></p></noscript>
@@ -742,6 +742,51 @@
 </div>
 <div id="content">
 <div class="sect1">
+<h2 id="_ccache_3_2_4">ccache 3.2.4</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Release date: 2015-10-08</p></div>
+<div class="sect2">
+<h3 id="_bug_fixes">Bug fixes</h3>
+<div class="ulist"><ul>
+<li>
+<p>
+Fixed build error related to zlib on systems with older make versions
+  (regression in ccache 3.2.3).
+</p>
+</li>
+<li>
+<p>
+Made conversion-to-bool explicit to avoid build warnings (and potential
+  runtime errors) on legacy systems.
+</p>
+</li>
+<li>
+<p>
+Improved signal handling: Kill compiler on SIGTERM; wait for compiler to exit
+  before exiting; die appropriately.
+</p>
+</li>
+<li>
+<p>
+Minor fixes related to Windows support.
+</p>
+</li>
+<li>
+<p>
+The correct compression level is now used if compression is requested.
+</p>
+</li>
+<li>
+<p>
+Fixed a bug where cache cleanup could be run too early for caches larger than
+  64 GiB on 32-bit systems.
+</p>
+</li>
+</ul></div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_ccache_3_2_3">ccache 3.2.3</h2>
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2015-08-16</p></div>
@@ -756,7 +801,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes">Bug fixes</h3>
+<h3 id="_bug_fixes_2">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -810,7 +855,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_2">Bug fixes</h3>
+<h3 id="_bug_fixes_3">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -881,7 +926,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2014-12-10</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_3">Bug fixes</h3>
+<h3 id="_bug_fixes_4">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1113,7 +1158,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_4">Bug fixes</h3>
+<h3 id="_bug_fixes_5">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1144,7 +1189,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2015-03-07</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_5">Bug fixes</h3>
+<h3 id="_bug_fixes_6">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1227,7 +1272,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_6">Bug fixes</h3>
+<h3 id="_bug_fixes_7">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1267,7 +1312,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2013-01-06</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_7">Bug fixes</h3>
+<h3 id="_bug_fixes_8">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1338,7 +1383,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_8">Bug fixes</h3>
+<h3 id="_bug_fixes_9">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1386,7 +1431,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2012-01-08</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_9">Bug fixes</h3>
+<h3 id="_bug_fixes_10">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1469,7 +1514,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_10">Bug fixes</h3>
+<h3 id="_bug_fixes_11">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1522,7 +1567,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_11">Bug fixes</h3>
+<h3 id="_bug_fixes_12">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1555,7 +1600,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2011-01-09</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_12">Bug fixes</h3>
+<h3 id="_bug_fixes_13">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1588,7 +1633,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-28</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_13">Bug fixes</h3>
+<h3 id="_bug_fixes_14">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1615,7 +1660,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-21</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_14">Bug fixes</h3>
+<h3 id="_bug_fixes_15">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1663,7 +1708,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-11-07</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_15">Bug fixes</h3>
+<h3 id="_bug_fixes_16">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1785,7 +1830,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_16">Bug fixes</h3>
+<h3 id="_bug_fixes_17">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -1871,7 +1916,7 @@
 <div class="sectionbody">
 <div class="paragraph"><p>Release date: 2010-07-15</p></div>
 <div class="sect2">
-<h3 id="_bug_fixes_17">Bug fixes</h3>
+<h3 id="_bug_fixes_18">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2060,7 +2105,7 @@
 </ul></div>
 </div>
 <div class="sect2">
-<h3 id="_bug_fixes_18">Bug fixes</h3>
+<h3 id="_bug_fixes_19">Bug fixes</h3>
 <div class="ulist"><ul>
 <li>
 <p>
@@ -2205,9 +2250,9 @@
 <div id="footnotes"><hr /></div>
 <div id="footer">
 <div id="footer-text">
-Version 3.2.3<br />
+Version 3.2.4<br />
 Last updated
- 2015-08-16 14:00:42 CEST
+ 2015-10-08 21:12:12 CEST
 </div>
 </div>
 </body>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/NEWS.txt new/ccache-3.2.4/NEWS.txt
--- old/ccache-3.2.3/NEWS.txt   2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/NEWS.txt   2015-10-08 21:14:23.000000000 +0200
@@ -2,6 +2,31 @@
 ===========
 
 
+ccache 3.2.4
+------------
+Release date: 2015-10-08
+
+
+Bug fixes
+~~~~~~~~~
+
+- Fixed build error related to zlib on systems with older make versions
+  (regression in ccache 3.2.3).
+
+- Made conversion-to-bool explicit to avoid build warnings (and potential
+  runtime errors) on legacy systems.
+
+- Improved signal handling: Kill compiler on SIGTERM; wait for compiler to exit
+  before exiting; die appropriately.
+
+- Minor fixes related to Windows support.
+
+- The correct compression level is now used if compression is requested.
+
+- Fixed a bug where cache cleanup could be run too early for caches larger than
+  64 GiB on 32-bit systems.
+
+
 ccache 3.2.3
 ------------
 Release date: 2015-08-16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/ccache.1 new/ccache-3.2.4/ccache.1
--- old/ccache-3.2.3/ccache.1   2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/ccache.1   2015-10-08 21:14:23.000000000 +0200
@@ -2,12 +2,12 @@
 .\"     Title: ccache
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 08/16/2015
+.\"      Date: 10/08/2015
 .\"    Manual: ccache Manual
-.\"    Source: ccache 3.2.3
+.\"    Source: ccache 3.2.4
 .\"  Language: English
 .\"
-.TH "CCACHE" "1" "08/16/2015" "ccache 3\&.2\&.3" "ccache Manual"
+.TH "CCACHE" "1" "10/08/2015" "ccache 3\&.2\&.4" "ccache Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/ccache.c new/ccache-3.2.4/ccache.c
--- old/ccache-3.2.3/ccache.c   2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/ccache.c   2015-10-08 21:14:23.000000000 +0200
@@ -239,6 +239,12 @@
 /* Temporary files to remove at program exit. */
 static struct pending_tmp_file *pending_tmp_files = NULL;
 
+static sigset_t fatal_signal_set;
+
+/* PID of currently executing compiler that we have started, if any. 0 means no
+ * ongoing compilation. */
+static pid_t compiler_pid = 0;
+
 /*
  * This is a string that identifies the current "version" of the hash sum
  * computed by ccache. If, for any reason, we want to force the hash sum to be
@@ -314,17 +320,35 @@
        return path;
 }
 
+void
+block_signals(void)
+{
+       sigprocmask(SIG_BLOCK, &fatal_signal_set, NULL);
+}
+
+void
+unblock_signals(void)
+{
+       sigset_t empty;
+       sigemptyset(&empty);
+       sigprocmask(SIG_SETMASK, &empty, NULL);
+}
+
 static void
 add_pending_tmp_file(const char *path)
 {
-       struct pending_tmp_file *e = x_malloc(sizeof(*e));
+       struct pending_tmp_file *e;
+
+       block_signals();
+       e = x_malloc(sizeof(*e));
        e->path = x_strdup(path);
        e->next = pending_tmp_files;
        pending_tmp_files = e;
+       unblock_signals();
 }
 
 static void
-clean_up_pending_tmp_files(void)
+do_clean_up_pending_tmp_files(void)
 {
        struct pending_tmp_file *p = pending_tmp_files;
        while (p) {
@@ -337,11 +361,72 @@
 }
 
 static void
-signal_handler(int signo)
+clean_up_pending_tmp_files(void)
 {
-       (void)signo;
-       clean_up_pending_tmp_files();
-       _exit(1);
+       block_signals();
+       do_clean_up_pending_tmp_files();
+       unblock_signals();
+}
+
+static void
+signal_handler(int signum)
+{
+       /* Unregister handler for this signal so that we can send the signal to
+        * ourselves at the end of the handler. */
+       signal(signum, SIG_DFL);
+
+       /* If ccache was killed explicitly, then bring the compiler subprocess 
(if
+        * any) with us as well. */
+       if (signum == SIGTERM
+           && compiler_pid != 0
+           && waitpid(compiler_pid, NULL, WNOHANG) == 0) {
+               kill(compiler_pid, signum);
+       }
+
+       do_clean_up_pending_tmp_files();
+
+       if (compiler_pid != 0) {
+               /* Wait for compiler subprocess to exit before we snuff it. */
+               waitpid(compiler_pid, NULL, 0);
+       }
+
+       /* Resend signal to ourselves to exit properly after returning from the
+        * handler. */
+       kill(getpid(), signum);
+}
+
+static void
+register_signal_handler(int signum)
+{
+       struct sigaction act;
+       memset(&act, 0, sizeof(act));
+       act.sa_handler = signal_handler;
+       act.sa_mask = fatal_signal_set;
+       act.sa_flags = SA_RESTART;
+       sigaction(signum, &act, NULL);
+}
+
+static void
+set_up_signal_handlers(void)
+{
+       sigemptyset(&fatal_signal_set);
+       sigaddset(&fatal_signal_set, SIGINT);
+       sigaddset(&fatal_signal_set, SIGTERM);
+#ifdef SIGHUP
+       sigaddset(&fatal_signal_set, SIGHUP);
+#endif
+#ifdef SIGQUIT
+       sigaddset(&fatal_signal_set, SIGQUIT);
+#endif
+
+       register_signal_handler(SIGINT);
+       register_signal_handler(SIGTERM);
+#ifdef SIGHUP
+       register_signal_handler(SIGHUP);
+#endif
+#ifdef SIGQUIT
+       register_signal_handler(SIGQUIT);
+#endif
 }
 
 static void
@@ -719,7 +804,8 @@
                x_unlink(dest);
                ret = link(source, dest);
        } else {
-               ret = copy_file(source, dest, conf->compression);
+               ret = copy_file(
+                 source, dest, conf->compression ? conf->compression_level : 
0);
        }
        if (ret != 0) {
                cc_log("Failed to %s %s to %s: %s",
@@ -877,7 +963,7 @@
        }
 
        cc_log("Running real compiler");
-       status = execute(args->argv, tmp_stdout_fd, tmp_stderr_fd);
+       status = execute(args->argv, tmp_stdout_fd, tmp_stderr_fd, 
&compiler_pid);
        args_pop(args, 3);
 
        if (x_stat(tmp_stdout, &st) != 0) {
@@ -1140,7 +1226,7 @@
                args_add(args, "-E");
                args_add(args, input_file);
                cc_log("Running preprocessor");
-               status = execute(args->argv, path_stdout_fd, path_stderr_fd);
+               status = execute(args->argv, path_stdout_fd, path_stderr_fd, 
&compiler_pid);
                args_pop(args, 2);
        }
 
@@ -1263,7 +1349,7 @@
 compiler_is_clang(struct args *args)
 {
        char *name = basename(args->argv[0]);
-       bool is = strstr(name, "clang");
+       bool is = strstr(name, "clang") != NULL;
        free(name);
        return is;
 }
@@ -2858,17 +2944,13 @@
        /* Arguments to send to the real compiler. */
        struct args *compiler_args;
 
+       set_up_signal_handlers();
+
        orig_args = args_init(argc, argv);
 
        initialize();
        find_compiler(argv);
 
-#ifndef _WIN32
-       signal(SIGHUP, signal_handler);
-#endif
-       signal(SIGINT, signal_handler);
-       signal(SIGTERM, signal_handler);
-
        if (str_eq(conf->temporary_dir, "")) {
                clean_up_internal_tempdir();
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/ccache.h new/ccache-3.2.4/ccache.h
--- old/ccache-3.2.3/ccache.h   2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/ccache.h   2015-10-08 21:14:23.000000000 +0200
@@ -186,7 +186,7 @@
 void stats_update_size(uint64_t size, unsigned files);
 void stats_get_obsolete_limits(const char *dir, unsigned *maxfiles,
                                uint64_t *maxsize);
-void stats_set_sizes(const char *dir, size_t num_files, size_t total_size);
+void stats_set_sizes(const char *dir, unsigned num_files, uint64_t total_size);
 void stats_read(const char *path, struct counters *counters);
 void stats_write(const char *path, struct counters *counters);
 
@@ -213,7 +213,7 @@
 /* ------------------------------------------------------------------------- */
 /* execute.c */
 
-int execute(char **argv, int fd_out, int fd_err);
+int execute(char **argv, int fd_out, int fd_err, pid_t *pid);
 char *find_executable(const char *name, const char *exclude_name);
 void print_command(FILE *fp, char **argv);
 
@@ -227,6 +227,8 @@
 /* ccache.c */
 
 extern time_t time_of_compilation;
+void block_signals(void);
+void unblock_signals(void);
 bool cc_process_args(struct args *args, struct args **preprocessor_args,
                     struct args **compiler_args);
 void cc_reset(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/conf.c new/ccache-3.2.4/conf.c
--- old/ccache-3.2.3/conf.c     2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/conf.c     2015-10-08 21:14:23.000000000 +0200
@@ -58,7 +58,7 @@
        char **value = (char **)result;
        free(*value);
        *value = subst_env_in_string(str, errmsg);
-       return *value;
+       return *value != NULL;
 }
 
 static bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/configure new/ccache-3.2.4/configure
--- old/ccache-3.2.3/configure  2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/configure  2015-10-08 21:14:23.000000000 +0200
@@ -639,8 +639,6 @@
 test_suites
 include_dev_mk
 extra_libs
-extra_ldflags
-extra_cppflags
 host_os
 host_vendor
 host_cpu
@@ -2326,7 +2324,7 @@
 
 
 case $host in
-    *mingw32* | *cygwin* | *wince* | *mingwce*)
+    *mingw32* | *mingw64* | *cygwin* | *wince* | *mingwce*)
         windows_os=yes
 
 $as_echo "#define _WIN32_WINNT 0x0600" >>confdefs.h
@@ -2338,8 +2336,6 @@
 
 
 
-
-
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -5677,16 +5673,15 @@
 fi
 
 if test x${use_bundled_zlib} = xyes; then
-    extra_cppflags="-I\$(srcdir)/zlib"
-    extra_ldflags="-Lzlib"
+    CPPFLAGS="$CPPFLAGS -I\$(srcdir)/zlib"
     extra_libs="zlib/libz.a"
     mkdir -p zlib
 else
-    extra_libs="-lz"
+    LIBS="$LIBS -lz"
 fi
 
 if test x${windows_os} = xyes; then
-    extra_ldflags="$extra_ldflags -lws2_32"
+    LIBS="$LIBS -lws2_32"
 fi
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is 
bigendian" >&5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/configure.ac 
new/ccache-3.2.4/configure.ac
--- old/ccache-3.2.3/configure.ac       2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/configure.ac       2015-10-08 21:14:23.000000000 +0200
@@ -10,14 +10,12 @@
 AC_CANONICAL_HOST
 
 case $host in
-    *mingw32* | *cygwin* | *wince* | *mingwce*)
+    *mingw32* | *mingw64* | *cygwin* | *wince* | *mingwce*)
         windows_os=yes
         AC_DEFINE(_WIN32_WINNT,0x0600, Windows Vista or newer is required)
         ;;
 esac
 
-AC_SUBST(extra_cppflags)
-AC_SUBST(extra_ldflags)
 AC_SUBST(extra_libs)
 AC_SUBST(include_dev_mk)
 AC_SUBST(test_suites)
@@ -115,17 +113,16 @@
 fi
 
 if test x${use_bundled_zlib} = xyes; then
-    extra_cppflags="-I\$(srcdir)/zlib"
-    extra_ldflags="-Lzlib"
+    CPPFLAGS="$CPPFLAGS -I\$(srcdir)/zlib"
     extra_libs="zlib/libz.a"
     mkdir -p zlib
 else
-    extra_libs="-lz"
+    LIBS="$LIBS -lz"
 fi
 
 dnl Linking on Windows needs ws2_32
 if test x${windows_os} = xyes; then
-    extra_ldflags="$extra_ldflags -lws2_32"
+    LIBS="$LIBS -lws2_32"
 fi
 
 AC_C_BIGENDIAN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/execute.c new/ccache-3.2.4/execute.c
--- old/ccache-3.2.3/execute.c  2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/execute.c  2015-10-08 21:14:23.000000000 +0200
@@ -223,18 +223,21 @@
 /* Execute a compiler backend, capturing all output to the given paths the full
  * path to the compiler to run is in argv[0]. */
 int
-execute(char **argv, int fd_out, int fd_err)
+execute(char **argv, int fd_out, int fd_err, pid_t *pid)
 {
-       pid_t pid;
        int status;
 
        cc_log_argv("Executing ", argv);
-       pid = fork();
-       if (pid == -1) {
+
+       block_signals();
+       *pid = fork();
+       unblock_signals();
+
+       if (*pid == -1) {
                fatal("Failed to fork: %s", strerror(errno));
        }
 
-       if (pid == 0) {
+       if (*pid == 0) {
                /* Child. */
                dup2(fd_out, 1);
                close(fd_out);
@@ -246,10 +249,14 @@
        close(fd_out);
        close(fd_err);
 
-       if (waitpid(pid, &status, 0) != pid) {
+       if (waitpid(*pid, &status, 0) != *pid) {
                fatal("waitpid failed: %s", strerror(errno));
        }
 
+       block_signals();
+       *pid = 0;
+       unblock_signals();
+
        if (WEXITSTATUS(status) == 0 && WIFSIGNALED(status)) {
                return -1;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/language.c new/ccache-3.2.4/language.c
--- old/ccache-3.2.3/language.c 2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/language.c 2015-10-08 21:14:23.000000000 +0200
@@ -149,7 +149,7 @@
 bool
 language_is_supported(const char *language)
 {
-       return p_language_for_language(language);
+       return p_language_for_language(language) != NULL;
 }
 
 bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/stats.c new/ccache-3.2.4/stats.c
--- old/ccache-3.2.3/stats.c    2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/stats.c    2015-10-08 21:14:23.000000000 +0200
@@ -391,7 +391,7 @@
 
 /* set the per directory sizes */
 void
-stats_set_sizes(const char *dir, size_t num_files, size_t total_size)
+stats_set_sizes(const char *dir, unsigned num_files, uint64_t total_size)
 {
        struct counters *counters = counters_init(STATS_END);
        char *statsfile;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/system.h new/ccache-3.2.4/system.h
--- old/ccache-3.2.3/system.h   2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/system.h   2015-10-08 21:14:23.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2014 Joel Rosdahl
+ * Copyright (C) 2010-2015 Joel Rosdahl
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -44,6 +44,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <strings.h>
 #include <time.h>
 #include <unistd.h>
 #include <utime.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/test/test_argument_processing.c 
new/ccache-3.2.4/test/test_argument_processing.c
--- old/ccache-3.2.3/test/test_argument_processing.c    2015-08-16 
14:12:05.000000000 +0200
+++ new/ccache-3.2.4/test/test_argument_processing.c    2015-10-08 
21:14:23.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2013 Joel Rosdahl
+ * Copyright (C) 2010-2015 Joel Rosdahl
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -127,7 +127,7 @@
        orig = args_init_from_string(arg_string);
 
        CHECK(cc_process_args(orig, &act_cpp, &act_cc));
-       CHECK(str_startswith(act_cpp->argv[1], "--sysroot=./foo"));
+       CHECK_STR_EQ(act_cpp->argv[1], "--sysroot=./foo");
 
        args_free(orig);
        args_free(act_cpp);
@@ -278,7 +278,7 @@
        args_free(orig);
 }
 
-TEST(fprofile_flag_with_nonexisting_dir_not_be_rewritten)
+TEST(fprofile_flag_with_nonexisting_dir_should_not_be_rewritten)
 {
        struct args *orig = args_init_from_string(
          "gcc -c -fprofile-generate=some/dir foo.c");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/test/test_util.c 
new/ccache-3.2.4/test/test_util.c
--- old/ccache-3.2.3/test/test_util.c   2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/test/test_util.c   2015-10-08 21:14:23.000000000 +0200
@@ -60,6 +60,20 @@
 
 TEST(get_relative_path)
 {
+#ifdef _WIN32
+       CHECK_STR_EQ_FREE2("a", get_relative_path("C:/doesn't matter", "a"));
+       CHECK_STR_EQ_FREE2("a/b", get_relative_path("C:/doesn't matter", 
"a/b"));
+       CHECK_STR_EQ_FREE2(".", get_relative_path("C:/a", "C:/a"));
+       CHECK_STR_EQ_FREE2("..", get_relative_path("C:/a/b", "C:/a"));
+       CHECK_STR_EQ_FREE2("b", get_relative_path("C:/a", "C:/a/b"));
+       CHECK_STR_EQ_FREE2("b/c", get_relative_path("C:/a", "C:/a/b/c"));
+       CHECK_STR_EQ_FREE2("../c", get_relative_path("C:/a/b", "C:/a/c"));
+       CHECK_STR_EQ_FREE2("../c/d", get_relative_path("C:/a/b", "C:/a/c/d"));
+       CHECK_STR_EQ_FREE2("../../c/d", get_relative_path("C:/a/b/c", 
"C:/a/c/d"));
+       CHECK_STR_EQ_FREE2("../..", get_relative_path("C:/a/b", "C:/"));
+       CHECK_STR_EQ_FREE2("../../c", get_relative_path("C:/a/b", "C:/c"));
+       CHECK_STR_EQ_FREE2("a/b", get_relative_path("C:/", "C:/a/b"));
+#else
        CHECK_STR_EQ_FREE2("a", get_relative_path("/doesn't matter", "a"));
        CHECK_STR_EQ_FREE2("a/b", get_relative_path("/doesn't matter", "a/b"));
        CHECK_STR_EQ_FREE2(".", get_relative_path("/a", "/a"));
@@ -72,6 +86,7 @@
        CHECK_STR_EQ_FREE2("../..", get_relative_path("/a/b", "/"));
        CHECK_STR_EQ_FREE2("../../c", get_relative_path("/a/b", "/c"));
        CHECK_STR_EQ_FREE2("a/b", get_relative_path("/", "/a/b"));
+#endif
 }
 
 TEST(format_hash_as_string)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/util.c new/ccache-3.2.4/util.c
--- old/ccache-3.2.3/util.c     2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/util.c     2015-10-08 21:14:23.000000000 +0200
@@ -1342,13 +1342,20 @@
        const char *p;
        char *result;
 
-       assert(from && from[0] == '/');
+       assert(from && is_absolute_path(from));
        assert(to);
 
-       if (!*to || *to != '/') {
+       if (!*to || !is_absolute_path(to)) {
                return x_strdup(to);
        }
 
+#ifdef _WIN32
+       // Both paths are absolute, drop the drive letters
+       assert(from[0] == to[0]); // Assume the same drive letter
+       from += 2;
+       to += 2;
+#endif
+
        result = x_strdup("");
        common_prefix_len = common_dir_prefix_length(from, to);
        if (common_prefix_len > 0 || !str_eq(from, "/")) {
@@ -1638,7 +1645,7 @@
        if (curly) {
                if (*q != '}') {
                        *errmsg = format("syntax error: missing '}' after 
\"%s\"", p);
-                       return NULL;
+                       return false;
                }
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ccache-3.2.3/version.c new/ccache-3.2.4/version.c
--- old/ccache-3.2.3/version.c  2015-08-16 14:12:05.000000000 +0200
+++ new/ccache-3.2.4/version.c  2015-10-08 21:14:23.000000000 +0200
@@ -1 +1 @@
-const char CCACHE_VERSION[] = "3.2.3";
+const char CCACHE_VERSION[] = "3.2.4";



Reply via email to