From root@hilbert.suse.de Mon Feb 25 19:33:22 2013 From: root@hilbert.suse.de To: commit@lists.opensuse.org Subject: commit ccache for openSUSE:Factory Date: Mon, 25 Feb 2013 20:33:21 +0100 Message-ID: <20130225193321.24848AE144@hilbert.suse.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9207705108685597765==" --===============9207705108685597765== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello community, here is the log from the commit of package ccache for openSUSE:Factory checke= d in at 2013-02-25 20:33:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ccache (Old) and /work/SRC/openSUSE:Factory/.ccache.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ccache", Maintainer is "VDziewiecki@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/ccache/ccache.changes 2013-01-08 13:34:04.0000= 00000 +0100 +++ /work/SRC/openSUSE:Factory/.ccache.new/ccache.changes 2013-02-25 20:33:17= .000000000 +0100 @@ -1,0 +2,15 @@ +Sat Feb 23 20:55:27 UTC 2013 - asterios.dramis@gmail.com + +- Update to 3.1.9: + - The EAGAIN signal is now handled correctly when emitting cached stderr + output. This fixes a problem triggered by large error outputs from the + compiler. + - Subdirectories in the cache are no longer created in read-only mode. + - Fixed so that ccache's log file descriptor is not made available to the + compiler. + - Improved error reporting when failing to create temporary stdout/stderr + files when executing the compiler. + - Disappearing temporary stdout/stderr files are now handled gracefully. + - Fixed test suite to work on ecryptfs. + +------------------------------------------------------------------- Old: ---- ccache-3.1.8.tar.bz2 New: ---- ccache-3.1.9.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ccache.spec ++++++ --- /var/tmp/diff_new_pack.ZKTS4A/_old 2013-02-25 20:33:20.000000000 +0100 +++ /var/tmp/diff_new_pack.ZKTS4A/_new 2013-02-25 20:33:20.000000000 +0100 @@ -17,19 +17,17 @@ =20 =20 Name: ccache -Version: 3.1.8 +Version: 3.1.9 Release: 0 Summary: A Fast C/C++ Compiler Cache License: GPL-3.0+ Group: Development/Languages/C and C++ - Url: http://ccache.samba.org/ Source0: http://samba.org/ftp/ccache/%{name}-%{version}.tar.bz2 Patch1: xclang.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build - BuildRequires: zlib-devel Provides: distcc:/usr/bin/ccache +BuildRoot: %{_tmppath}/%{name}-%{version}-build =20 %description ccache is a compiler cache. It speeds up recompilation by caching the result= of ++++++ ccache-3.1.8.tar.bz2 -> ccache-3.1.9.tar.bz2 ++++++ diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/AUTHORS.html new/ccache-3.1.9/AUTHORS.ht= ml --- old/ccache-3.1.8/AUTHORS.html 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/AUTHORS.html 2013-01-06 17:57:59.000000000 +0100 @@ -736,7 +736,7 @@

ccache authors

-version 3.1.8 +version 3.1.9
Table of Contents
@@ -751,11 +751,21 @@
  • +Alfred Landrum <alfred.lan= drum@riverbed.com> +

    +
  • +
  • +

    Andrea Bittau <a.bittau@cs.ucl.a= c.uk>

  • +Andrew Stubbs <ams@codesourcery.c= om> +

    +
  • +
  • +

    Andrew Tridgell <tridge@samba.org= >

  • @@ -892,8 +902,8 @@

    -Version 3.1.8
    -Last updated 2012-08-11 10:57:17 CEST +Version 3.1.9
    +Last updated 2013-01-06 17:56:05 CET
    diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/AUTHORS.txt new/ccache-3.1.9/AUTHORS.txt --- old/ccache-3.1.8/AUTHORS.txt 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/AUTHORS.txt 2013-01-06 17:57:59.000000000 +0100 @@ -6,7 +6,9 @@ =20 ccache is a collective work with contributions from many people, including: =20 +* Alfred Landrum * Andrea Bittau +* Andrew Stubbs * Andrew Tridgell * Bernhard Bauer * Bj=C3=B6rn Jacke diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/INSTALL.html new/ccache-3.1.9/INSTALL.ht= ml --- old/ccache-3.1.8/INSTALL.html 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/INSTALL.html 2013-01-06 17:57:59.000000000 +0100 @@ -736,7 +736,7 @@

    ccache installation

    -version 3.1.8 +version 3.1.9
    Table of Contents
    @@ -845,8 +845,8 @@

    -Version 3.1.8
    -Last updated 2012-01-09 20:53:18 CET +Version 3.1.9
    +Last updated 2012-11-07 19:42:42 CET
    diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/LICENSE.html new/ccache-3.1.9/LICENSE.ht= ml --- old/ccache-3.1.8/LICENSE.html 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/LICENSE.html 2013-01-06 17:57:59.000000000 +0100 @@ -736,7 +736,7 @@

    ccache copyright and license

    -version 3.1.8 +version 3.1.9
    Table of Contents
    @@ -1212,8 +1212,8 @@

    -Version 3.1.8
    -Last updated 2012-08-11 10:57:17 CEST +Version 3.1.9
    +Last updated 2013-01-06 17:46:13 CET
    diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/MANUAL.html new/ccache-3.1.9/MANUAL.html --- old/ccache-3.1.8/MANUAL.html 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/MANUAL.html 2013-01-06 17:57:59.000000000 +0100 @@ -736,7 +736,7 @@

    CCACHE(1)

    -version 3.1.8 +version 3.1.9
    Table of Contents
    @@ -2002,8 +2002,8 @@

    -Version 3.1.8
    -Last updated 2012-08-11 10:57:17 CEST +Version 3.1.9
    +Last updated 2013-01-06 17:46:13 CET
    diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/NEWS.html new/ccache-3.1.9/NEWS.html --- old/ccache-3.1.8/NEWS.html 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/NEWS.html 2013-01-06 17:57:59.000000000 +0100 @@ -736,7 +736,7 @@

    ccache news

    -version 3.1.8 +version 3.1.9
    Table of Contents
    @@ -744,6 +744,56 @@
    +

    ccache 3.1.9

    +
    +

    Release date: 2013-01-06

    +
    +

    Bug fixes

    +
      +
    • +

      +The EAGAIN signal is now handled correctly when emitting cached stderr + output. This fixes a problem triggered by large error outputs from the + compiler. +

      +
    • +
    • +

      +Subdirectories in the cache are no longer created in read-only mode. +

      +
    • +
    • +

      +Fixed so that ccache’s log file descriptor is not made available to the + compiler. +

      +
    • +
    • +

      +Improved error reporting when failing to create temporary stdout/stderr + files when executing the compiler. +

      +
    • +
    • +

      +Disappearing temporary stdout/stderr files are now handled gracefully. +

      +
    • +
    +
    +
    +

    Other

    +
      +
    • +

      +Fixed test suite to work on ecryptfs. +

      +
    • +
    +
    +
    +
    +

    ccache 3.1.8

    Release date: 2012-08-11

    @@ -769,7 +819,7 @@
-

Bug fixes

+

Bug fixes

  • @@ -796,7 +846,7 @@

-

Other

+

Other

  • @@ -818,7 +868,7 @@

    Release date: 2012-01-08

    -

    Bug fixes

    +

    Bug fixes

    • @@ -871,7 +921,7 @@

    -

    Other

    +

    Other

    • @@ -902,7 +952,7 @@

    -

    Bug fixes

    +

    Bug fixes

    • @@ -955,7 +1005,7 @@

    -

    Bug fixes

    +

    Bug fixes

    • @@ -989,7 +1039,7 @@

      Release date: 2011-01-09

      -

      Bug fixes

      +

      Bug fixes

      • @@ -1022,7 +1072,7 @@

        Release date: 2010-11-28

        -

        Bug fixes

        +

        Bug fixes

        • @@ -1033,7 +1083,7 @@

        -

        Other

        +

        Other

        • @@ -1049,7 +1099,7 @@

          Release date: 2010-11-21

          -

          Bug fixes

          +

          Bug fixes

          • @@ -1070,7 +1120,7 @@

          -

          Other

          +

          Other

          • @@ -1097,7 +1147,7 @@

            Release date: 2010-11-07

            -

            Bug fixes

            +

            Bug fixes

            • @@ -1136,7 +1186,7 @@

            -

            Other

            +

            Other

            • @@ -1221,7 +1271,7 @@

            -

            Bug fixes

            +

            Bug fixes

            • @@ -1247,7 +1297,7 @@

            -

            Other

            +

            Other

            • @@ -1309,7 +1359,7 @@

              Release date: 2010-07-15

              -

              Bug fixes

              +

              Bug fixes

              • @@ -1503,7 +1553,7 @@

              -

              Bug fixes

              +

              Bug fixes

              • @@ -1648,8 +1698,8 @@


                -Version 3.1.8
                -Last updated 2012-08-11 10:57:17 CEST +Version 3.1.9
                +Last updated 2013-01-06 17:55:15 CET
                diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/NEWS.txt new/ccache-3.1.9/NEWS.txt --- old/ccache-3.1.8/NEWS.txt 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/NEWS.txt 2013-01-06 17:57:59.000000000 +0100 @@ -2,6 +2,31 @@ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 =20 +ccache 3.1.9 +------------ +Release date: 2013-01-06 + + +Bug fixes +~~~~~~~~~ + + - The EAGAIN signal is now handled correctly when emitting cached stderr + output. This fixes a problem triggered by large error outputs from the + compiler. + - Subdirectories in the cache are no longer created in read-only mode. + - Fixed so that ccache's log file descriptor is not made available to the + compiler. + - Improved error reporting when failing to create temporary stdout/stderr + files when executing the compiler. + - Disappearing temporary stdout/stderr files are now handled gracefully. + + +Other +~~~~~ + + - Fixed test suite to work on ecryptfs. + + ccache 3.1.8 ------------ Release date: 2012-08-11 diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/README.html new/ccache-3.1.9/README.html --- old/ccache-3.1.8/README.html 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/README.html 2013-01-06 17:57:59.000000000 +0100 @@ -736,7 +736,7 @@

                ccache README

                -version 3.1.8 +version 3.1.9
                Table of Contents
                @@ -832,8 +832,8 @@

                -Version 3.1.8
                -Last updated 2012-01-09 20:53:18 CET +Version 3.1.9
                +Last updated 2012-11-07 19:42:42 CET
                diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/ccache.1 new/ccache-3.1.9/ccache.1 --- old/ccache-3.1.8/ccache.1 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/ccache.1 2013-01-06 17:57:59.000000000 +0100 @@ -2,12 +2,12 @@ .\" Title: ccache .\" Author: [see the "Author" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 -.\" Date: 08/11/2012 +.\" Date: 01/06/2013 .\" Manual: ccache Manual -.\" Source: ccache 3.1.8 +.\" Source: ccache 3.1.9 .\" Language: English .\" -.TH "CCACHE" "1" "08/11/2012" "ccache 3\&.1\&.8" "ccache Manual" +.TH "CCACHE" "1" "01/06/2013" "ccache 3\&.1\&.9" "ccache Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/ccache.c new/ccache-3.1.9/ccache.c --- old/ccache-3.1.8/ccache.c 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/ccache.c 2013-01-06 17:57:59.000000000 +0100 @@ -2,7 +2,7 @@ * ccache -- a fast C/C++ compiler cache * * Copyright (C) 2002-2007 Andrew Tridgell - * Copyright (C) 2009-2012 Joel Rosdahl + * Copyright (C) 2009-2013 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 @@ -266,7 +266,7 @@ char *p =3D format("%s/%c", path, name[i]); free(path); path =3D p; - if (create_dir(path) !=3D 0) { + if (!getenv("CCACHE_READONLY") && create_dir(path) !=3D 0) { fatal("Failed to create %s: %s", path, strerror(errno)); } } @@ -551,7 +551,13 @@ args_pop(args, 3); =20 if (stat(tmp_stdout, &st) !=3D 0) { - fatal("Could not create %s (permission denied?)", tmp_stdout); + /* The stdout file was removed - cleanup in progress? Better bail out. */ + cc_log("%s not found: %s", tmp_stdout, strerror(errno)); + stats_update(STATS_MISSING); + tmp_unlink(tmp_stdout); + tmp_unlink(tmp_stderr); + tmp_unlink(tmp_obj); + failed(); } if (st.st_size !=3D 0) { cc_log("Compiler produced stdout"); diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/execute.c new/ccache-3.1.9/execute.c --- old/ccache-3.1.8/execute.c 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/execute.c 2013-01-06 17:57:59.000000000 +0100 @@ -19,6 +19,10 @@ =20 #include "ccache.h" =20 +/* Let's hope no compiler uses these exit statuses. */ +#define FAILED_TO_CREATE_STDOUT 212 +#define FAILED_TO_CREATE_STDERR 213 + static char * find_executable_in_path(const char *name, const char *exclude_name, char *pa= th); =20 @@ -179,7 +183,8 @@ tmp_unlink(path_stdout); fd =3D open(path_stdout, O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_BINARY, 0666); if (fd =3D=3D -1) { - exit(1); + cc_log("Error creating %s: %s", path_stdout, strerror(errno)); + exit(FAILED_TO_CREATE_STDOUT); } dup2(fd, 1); close(fd); @@ -187,7 +192,8 @@ tmp_unlink(path_stderr); fd =3D open(path_stderr, O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_BINARY, 0666); if (fd =3D=3D -1) { - exit(1); + cc_log("Error creating %s: %s", path_stderr, strerror(errno)); + exit(FAILED_TO_CREATE_STDERR); } dup2(fd, 2); close(fd); @@ -203,6 +209,12 @@ return -1; } =20 + if (status =3D=3D FAILED_TO_CREATE_STDOUT) { + fatal("Could not create %s (permission denied?)", path_stdout); + } else if (status =3D=3D FAILED_TO_CREATE_STDERR) { + fatal("Could not create %s (permission denied?)", path_stderr); + } + return WEXITSTATUS(status); } #endif diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/test.sh new/ccache-3.1.9/test.sh --- old/ccache-3.1.8/test.sh 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/test.sh 2013-01-06 17:57:59.000000000 +0100 @@ -497,7 +497,7 @@ =20 link_suite() { if [ `dirname $COMPILER` =3D . ]; then - ln -s ../ccache $COMPILER + ln -s "$CCACHE" $COMPILER CCACHE_COMPILE=3D"./$COMPILER" base_tests else @@ -1387,17 +1387,26 @@ # Make the cache readonly # Check that readonly mode finds the result. testname=3D"cache hit" - rm -f test.o + rm -f test.o test2.o chmod -R a-w $CCACHE_DIR - CCACHE_READONLY=3D1 CCACHE_TEMPDIR=3D/tmp CCACHE_PREFIX=3Dfalse $CCACHE = $COMPILER -c test.c -o test.o - status=3D$? + CCACHE_READONLY=3D1 CCACHE_TEMPDIR=3D/tmp CCACHE_PREFIX=3Dfalse $CCACHE = $COMPILER -c test.c -o test.o >/dev/null 2>&1 + status1=3D$? + # Check that fallback to the real compiler works for a cache miss. + CCACHE_READONLY=3D1 CCACHE_TEMPDIR=3D/tmp $CCACHE $COMPILER -c test2.c -= o test2.o >/dev/null 2>&1 + status2=3D$? chmod -R a+w $CCACHE_DIR - if [ $status -ne 0 ]; then + if [ $status1 -ne 0 ]; then test_failed "failure when compiling test.c readonly" fi + if [ $status2 -ne 0 ]; then + test_failed "failure when compiling test2.c readonly" + fi if [ ! -f test.o ]; then test_failed "test.o missing" fi + if [ ! -f test2.o ]; then + test_failed "test2.o missing" + fi =20 # Check that readonly mode doesn't try to store new results. testname=3D"cache miss" @@ -1542,6 +1551,11 @@ fi done =20 + # Warning: this test is known to fail on filesystems that have + # unusual block sizes, including ecryptfs. The workaround is + # to place the test directory elsewhere: + # cd /tmp + # CCACHE=3D$DIR/ccache $DIR/test.sh testname=3D"forced cleanup, size limit" $CCACHE -C >/dev/null prepare_cleanup_test $CCACHE_DIR/a diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/util.c new/ccache-3.1.9/util.c --- old/ccache-3.1.8/util.c 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/util.c 2013-01-06 17:57:59.000000000 +0100 @@ -1,6 +1,6 @@ /* * Copyright (C) 2002 Andrew Tridgell - * Copyright (C) 2009-2012 Joel Rosdahl + * Copyright (C) 2009-2013 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 @@ -48,6 +48,11 @@ } logfile =3D fopen(cache_logfile, "a"); if (logfile) { + int fd =3D fileno(logfile); + int flags =3D fcntl(fd, F_GETFD, 0); + if (flags >=3D 0) { + fcntl(fd, F_SETFD, flags | FD_CLOEXEC); + } return true; } else { return false; @@ -149,10 +154,13 @@ ssize_t count, written =3D 0; do { count =3D write(fd_out, buf + written, n - written); - if (count =3D=3D -1 && errno !=3D EINTR) { - fatal("Failed to copy fd"); + if (count =3D=3D -1) { + if (errno !=3D EAGAIN && errno !=3D EINTR) { + fatal("Failed to copy fd"); + } + } else { + written +=3D count; } - written +=3D count; } while (written < n); } =20 @@ -1118,7 +1126,7 @@ * file. We don't care if the temp file is trashed, so it's always safe to * unlink it first. */ - char* tmp_name =3D format("%s.%s.rmXXXXXX", path, tmp_string()); + char *tmp_name =3D format("%s.tmp.rm.%s", path, tmp_string()); int result =3D 0; cc_log("Unlink %s via %s", path, tmp_name); if (x_rename(path, tmp_name) =3D=3D -1) { diff -urN '--exclude=3DCVS' '--exclude=3D.cvsignore' '--exclude=3D.svn' '--ex= clude=3D.svnignore' old/ccache-3.1.8/version.c new/ccache-3.1.9/version.c --- old/ccache-3.1.8/version.c 2012-08-11 11:03:17.000000000 +0200 +++ new/ccache-3.1.9/version.c 2013-01-06 17:57:59.000000000 +0100 @@ -1 +1 @@ -const char CCACHE_VERSION[] =3D "3.1.8"; +const char CCACHE_VERSION[] =3D "3.1.9"; --=20 To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org --===============9207705108685597765==--