- update to 4.5.1:
* Fixed entry_size field for result entries.
* The actual compression level is now once again stored in the cache entry
header.
* Corrected error handling for unconstructible secondary storage backends. For
instance, this avoids a crash when a Redis server can't be reached.
* Made various improvements to the cache entry format. Among other things, the
header now contains a creation timestamp and a note of the ccache version used
to create the entry. The cache entry checksum has also been upgraded to use
128-bit XXH3 instead 64-bit XXH3.
* Made HTTP keep-alive configurable, defaulting to off for now.
* Added support for rewriting absolute path to Clang option `--gcc-toolchain`.
* Fixed a problem with special characters in the user info part of URLs for HTTP
storage.
* The hard link and file clone features are now disabled when secondary storage
is used since they only work for the local primary cache.
OBS-URL: https://build.opensuse.org/request/show/935294
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=117
* Fixed entry_size field for result entries.
* The actual compression level is now once again stored in the cache entry
header.
* Corrected error handling for unconstructible secondary storage backends. For
instance, this avoids a crash when a Redis server can't be reached.
* Made various improvements to the cache entry format. Among other things, the
header now contains a creation timestamp and a note of the ccache version used
to create the entry. The cache entry checksum has also been upgraded to use
128-bit XXH3 instead 64-bit XXH3.
* Made HTTP keep-alive configurable, defaulting to off for now.
* Added support for rewriting absolute path to Clang option `--gcc-toolchain`.
* Fixed a problem with special characters in the user info part of URLs for HTTP
storage.
* The hard link and file clone features are now disabled when secondary storage
is used since they only work for the local primary cache.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=115
- Update to version 4.2.1:
* Ccache now only dup2`s stderr into `$UNCACHED_ERR_FD for calls to the preprocessor/compiler. This works around a complex bug in interaction with GNU Make, LTO linking and the Linux PTY driver.
* Fixed detection of color diagnostics usage when using -Xclang -fcolordiagnostics options.
* The -frecord-gcc-switches compiler option is now handled correctly to avoid false positive cache hits.
* Made it possible for per-compilation debug log files to be written in most argument processing error scenarios. Previously, ccache would only write debug log files if the argument processing phase was successful.
* Made ccache bail out on too hard Clang option -gen-cdb-fragment-path.
* The run_second_cpp made is now enforced on macOS if -g is used since newer Clang versions on macOS produce different debug information when compiling preprocessed code.
* Made ccache only reject -f(no-)color-diagnostics for a known GCC compiler. This fixes a problem when using said option with clang++ on macOS.
* Build configuration scripts now probe for atomic increment as well. This fixes a linking error on Sparc.
* An existing CMake log message level is now used when warning about not finding asciidoc.
* Fixed assertion in the "Debug option" test.
* Upgraded to doctest 2.4.6. This fixes a build error with glibc >= 2.34.
OBS-URL: https://build.opensuse.org/request/show/883205
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=58
* Ccache now only dup2`s stderr into `$UNCACHED_ERR_FD for calls to the preprocessor/compiler. This works around a complex bug in interaction with GNU Make, LTO linking and the Linux PTY driver.
* Fixed detection of color diagnostics usage when using -Xclang -fcolordiagnostics options.
* The -frecord-gcc-switches compiler option is now handled correctly to avoid false positive cache hits.
* Made it possible for per-compilation debug log files to be written in most argument processing error scenarios. Previously, ccache would only write debug log files if the argument processing phase was successful.
* Made ccache bail out on too hard Clang option -gen-cdb-fragment-path.
* The run_second_cpp made is now enforced on macOS if -g is used since newer Clang versions on macOS produce different debug information when compiling preprocessed code.
* Made ccache only reject -f(no-)color-diagnostics for a known GCC compiler. This fixes a problem when using said option with clang++ on macOS.
* Build configuration scripts now probe for atomic increment as well. This fixes a linking error on Sparc.
* An existing CMake log message level is now used when warning about not finding asciidoc.
* Fixed assertion in the "Debug option" test.
* Upgraded to doctest 2.4.6. This fixes a build error with glibc >= 2.34.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=104
- Update to version 4.2:
* Improved calculation of relative paths when using base_dir to also consider canonical paths (i.e. paths with dereferenced symlinks) as candidates.
* Added a debug_dir (CCACHE_DEBUGDIR) configuration setting for specifying a directory for files written in debug mode.
* Added support for compiler option -x cuda, understood by Clang.
* The value of the SOURCE_DATE_EPOCH variable is now only hashed if it potentially affects the output from ccache. This means that ccache now (like before version 4.0) will be able produce cache hits for source code that doesn’t contain __DATE__ or __TIME__ macros regardless of the value of SOURCE_DATE_EPOCH.
OBS-URL: https://build.opensuse.org/request/show/869207
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=57
* Improved calculation of relative paths when using base_dir to also consider canonical paths (i.e. paths with dereferenced symlinks) as candidates.
* Added a debug_dir (CCACHE_DEBUGDIR) configuration setting for specifying a directory for files written in debug mode.
* Added support for compiler option -x cuda, understood by Clang.
* The value of the SOURCE_DATE_EPOCH variable is now only hashed if it potentially affects the output from ccache. This means that ccache now (like before version 4.0) will be able produce cache hits for source code that doesn’t contain __DATE__ or __TIME__ macros regardless of the value of SOURCE_DATE_EPOCH.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=101
Another attempt, with ccache-4.1.tar.xz.asc added.
This fixes https://github.com/ccache/ccache/issues/711, which prevented ccache 4.0 being accepted into Factory.
- Update to version 4.1:
* Symlinks are now followed when guessing the compiler, e.g. /usr/bin/c++ -> g++10
* Added a new compiler_type (CCACHE_COMPILERTYPE) configuration option that allows for overriding the guessed compiler type.
* Added support for caching compilations with -fsyntax-only.
* Added a command line option --config-path, which specifies the configuration file to operate on. It can be used instead of setting CCACHE_CONFIGPATH temporarily.
OBS-URL: https://build.opensuse.org/request/show/850291
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=99
* Changed the default cache directory location to follow the XDG base directory specification.
* Changed compression algorithm from Deflate (zlib) to Zstandard, enabled by default.
* Added functionality for recompressing cache content with a higher compression level.
* Changed hash algorithm from MD4 to BLAKE3.
* Added checksumming with XXH3 to detect data corruption.
* Improved cache directory structure.
* Added support for using file cloning (AKA “reflinks”).
* Added an experimental “inode cache” for file hashes.
- Changes for version 3.7.12:
* Coverage files (.gcno) produced by GCC 9+ when using -fprofile-dir=dir are now handled gracefully by falling back to running the compiler.
* Fixed writing to log file larger than 2 GiB when running ccache compiled in 32-bit mode.
- Drop no longer applying patch:
* 0001-Add-another-cleanup-mechanism-evict-older-than.patch
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=98
- Update to version 3.7.10:
* Improved handling of profiling options. ccache should now work correctly
for profiling options like -fprofile-{generate,use}[=path] for GCC ≥ 9
and Clang as well as -fauto-profile[=path] and the Clang-specific
-fprofile-instr-{generate,use}[=path] and -fprofile-sample-{use,accurate}
options.
* ccache now copies files directly from the cache to the destination file
instead of via a temporary file. This avoids problems when using
filenames long enough to be near the file system’s filename max limit.
* When the hard-link mode is enabled, ccache now only uses hard links for
object files, not other files like dependency files. This is because
compilers unlink object files before writing to them but they don’t do
that for dependency files, so the latter can become overwritten and
therefore corrupted in the cache.
* Fixed a glitch related to hard-link mode and an empty cache.
* ccache now supports the ccache.conf file to be a symlink.
* Temporary files are now deleted immediately on signals like SIGTERM and
SIGINT instead of some time later in a cleanup phase.
* Fixed a bug that affected ccache’s -o/--set-config option for the
base_dir and cache_dir_levels keys.
OBS-URL: https://build.opensuse.org/request/show/821771
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=94
- Update to version 3.7.9:
* Fixed replacing of /dev/null when building as root with hard link mode enabled and using -o /dev/null.
* Removed incorrect assertion resulting in “ccache: error: Internal error in format” when using -fdebug-prefix-map=X= with X equal to $PWD.
* Improved CUDA/NVCC support: Recognize -dc and -x cu options.
* Improved name of temporary file used in NFS-safe unlink.
- Changes for version 3.7.8:
* Use $PWD instead of the real CWD (current working directory) when checking for CWD in preprocessed output. This fixes a problem when $PWD includes a symlink part and the user has set hash_dir = false.
* Rewrote the Windows version of the lockfile routines. This should mitigate several problems with the old implementation.
* If localtime_r fails the epoch time is now logged instead of garbage.
* Improved error message when a boolean environment variable has an invalid value.
* Improved the regression fix in ccache 3.7.5 related to not passing compilation-only options to the preprocessor.
* ccache’s PCH test suite now skips running the tests if it detects broken PCH compiler support.
* Fixed unit test failure on Windows.
* Fixed “stringop-truncation” build warning on Windows.
* Improved “x_rename” implementation on Windows.
* Improved removal of temporary file when rewriting absolute paths to relative in the dependency file.
* Clarified “include_file_ctime sloppiness” in the Performance section in the manual.
OBS-URL: https://build.opensuse.org/request/show/791119
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=51
* Fixed replacing of /dev/null when building as root with hard link mode enabled and using -o /dev/null.
* Removed incorrect assertion resulting in “ccache: error: Internal error in format” when using -fdebug-prefix-map=X= with X equal to $PWD.
* Improved CUDA/NVCC support: Recognize -dc and -x cu options.
* Improved name of temporary file used in NFS-safe unlink.
- Changes for version 3.7.8:
* Use $PWD instead of the real CWD (current working directory) when checking for CWD in preprocessed output. This fixes a problem when $PWD includes a symlink part and the user has set hash_dir = false.
* Rewrote the Windows version of the lockfile routines. This should mitigate several problems with the old implementation.
* If localtime_r fails the epoch time is now logged instead of garbage.
* Improved error message when a boolean environment variable has an invalid value.
* Improved the regression fix in ccache 3.7.5 related to not passing compilation-only options to the preprocessor.
* ccache’s PCH test suite now skips running the tests if it detects broken PCH compiler support.
* Fixed unit test failure on Windows.
* Fixed “stringop-truncation” build warning on Windows.
* Improved “x_rename” implementation on Windows.
* Improved removal of temporary file when rewriting absolute paths to relative in the dependency file.
* Clarified “include_file_ctime sloppiness” in the Performance section in the manual.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=85
- Update to version 3.7.7:
* Fixed a bug related to object file location in the dependency file (if using -MD or -MMD but not -MF and the build directory is not the same as the source directory then the object file location in the .d file would become incorrect). This fixes regression in ccache 3.7.5 introduced by the bug fix related to EDG-based compilers. Note that this removes support for EDG-based compilers again. (A better fix for this is planned for ccache 4.0.)
* Removed the unify mode since it has bugs and shortcomings that are non-trivial or impossible to fix: it doesn’t work with the direct mode, it doesn’t handle C++ raw strings correctly, it can give false cache hits for .incbin directives, it’s turned off when using -g and it can make line numbers in warning messages and __LINE__ macros incorrect.
mtime and ctime values are now stored in the manifest files only when sloppy_file_stat is set. This avoids adding superfluous manifest file entries on direct mode cache misses.
* A “Result:” line is now always printed to the log.
* The “cache miss” statistics counter will now be updated for read-only cache misses, making it consistent with the cache hit case.
OBS-URL: https://build.opensuse.org/request/show/770545
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=50
* Fixed a bug related to object file location in the dependency file (if using -MD or -MMD but not -MF and the build directory is not the same as the source directory then the object file location in the .d file would become incorrect). This fixes regression in ccache 3.7.5 introduced by the bug fix related to EDG-based compilers. Note that this removes support for EDG-based compilers again. (A better fix for this is planned for ccache 4.0.)
* Removed the unify mode since it has bugs and shortcomings that are non-trivial or impossible to fix: it doesn’t work with the direct mode, it doesn’t handle C++ raw strings correctly, it can give false cache hits for .incbin directives, it’s turned off when using -g and it can make line numbers in warning messages and __LINE__ macros incorrect.
mtime and ctime values are now stored in the manifest files only when sloppy_file_stat is set. This avoids adding superfluous manifest file entries on direct mode cache misses.
* A “Result:” line is now always printed to the log.
* The “cache miss” statistics counter will now be updated for read-only cache misses, making it consistent with the cache hit case.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=83
- Update to version 3.7.6:
* The opt-in “file_macro sloppiness” mode has been removed so that the input file path now is always included in the direct mode hash. This fixes a bug that could result in false cache hits in an edge case when “file_macro sloppiness” is enabled and several identical source files include a relative header file with the same name but in different directories.
* Statistics files are no longer lost when the filesystem of the cache is full.
* Bail out on too hard Clang option -MJarg (in addition to the previous bailout of -MJ arg).
* Properly handle color diagnostics in the depend mode as well.
OBS-URL: https://build.opensuse.org/request/show/757695
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=49
* The opt-in “file_macro sloppiness” mode has been removed so that the input file path now is always included in the direct mode hash. This fixes a bug that could result in false cache hits in an edge case when “file_macro sloppiness” is enabled and several identical source files include a relative header file with the same name but in different directories.
* Statistics files are no longer lost when the filesystem of the cache is full.
* Bail out on too hard Clang option -MJarg (in addition to the previous bailout of -MJ arg).
* Properly handle color diagnostics in the depend mode as well.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=81
- Update to version 3.7.5:
* Added support for -MF=arg (with an extra equal sign) as understood by EDG-based compilers.
* Fixed a regression in 3.7.2 that could result in a warning message instead of an error in an edge case related to usage of “-Werror”.
* An implicit -MQ is now passed to the preprocessor only if the object file extension is non-standard. This will make it easier to use EDG-based compilers (e.g. GHS) which don’t understand -MQ. (This is a bug fix of the corresponding improvement implemented in ccache 3.4.)
* ccache now falls back to running the real compiler instead of failing fataly if an internal temporary file is missing after compilation.
* Fixed a crash if localtime returns null pointer in localtime_r replacement.
* Fixed header file dependency tracking when building ccache itself.
* Fixed warning during configure in out-of-tree build in developer mode.
OBS-URL: https://build.opensuse.org/request/show/745343
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=48
* Added support for -MF=arg (with an extra equal sign) as understood by EDG-based compilers.
* Fixed a regression in 3.7.2 that could result in a warning message instead of an error in an edge case related to usage of “-Werror”.
* An implicit -MQ is now passed to the preprocessor only if the object file extension is non-standard. This will make it easier to use EDG-based compilers (e.g. GHS) which don’t understand -MQ. (This is a bug fix of the corresponding improvement implemented in ccache 3.4.)
* ccache now falls back to running the real compiler instead of failing fataly if an internal temporary file is missing after compilation.
* Fixed a crash if localtime returns null pointer in localtime_r replacement.
* Fixed header file dependency tracking when building ccache itself.
* Fixed warning during configure in out-of-tree build in developer mode.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=79
* Added support for the -gz[=type] compiler option (previously
ccache would think that “-gz” alone would enable debug
information, thus potentially including the current directory
in the hash).
* Added support for converting paths like “/c/users/...” into
relative paths on Windows.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=76