]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
2 weeks agochore: Make overwriting put the default for storage-test-client master
Joel Rosdahl [Sun, 17 May 2026 11:21:39 +0000 (13:21 +0200)] 
chore: Make overwriting put the default for storage-test-client

2 weeks agofeat: Add "exists" operation to remote storage helper protocol
Joel Rosdahl [Thu, 14 May 2026 14:49:52 +0000 (16:49 +0200)] 
feat: Add "exists" operation to remote storage helper protocol

In reshare mode, ccache now asks the remote storage helper if a value
exists before putting the value. This avoids sending the full payload to
the helper in case the value already exists.

2 weeks agochore: Add note about non-overwrite put being a performance hint
Joel Rosdahl [Sun, 17 May 2026 11:15:23 +0000 (13:15 +0200)] 
chore: Add note about non-overwrite put being a performance hint

2 weeks agorefactor: Extract common verification code to helper functions
Joel Rosdahl [Sun, 17 May 2026 11:14:14 +0000 (13:14 +0200)] 
refactor: Extract common verification code to helper functions

2 weeks agofeat: Replace experimental greeting format 2 with info operation
Joel Rosdahl [Sat, 16 May 2026 21:23:28 +0000 (23:23 +0200)] 
feat: Replace experimental greeting format 2 with info operation

af6f9141bb7c1dad010f42d7aa45be6f984f447b added experimental support for
a new greeting message format including server identity and diagnostics.
Storage helpers are supposed to use the new greeting format when ccache
sets the CRSH_FORMAT_MAX environment variable. While this complicates
the original protocol design, the advantage is that the client gets the
information directly without an extra IPC roundtrip.

After trying this change out for a while, I've decided to revert it:

1. It complicates storage helper implementation a bit too much.
2. It's another variable to set when starting the storage helper
   for usage with `crsh:` URLs.
3. It's actually only when the client has logging enabled that the
   server identity and diagnostics are of interest.

Instead, this commit adds an info operation with the same information,
handled as an ordinary capability evolution.

2 weeks agorefactor: Simplify usage of storage:::remote::Client
Joel Rosdahl [Thu, 14 May 2026 13:32:37 +0000 (15:32 +0200)] 
refactor: Simplify usage of storage:::remote::Client

2 weeks agorefactor: Remove unused parameter
Joel Rosdahl [Thu, 14 May 2026 13:30:03 +0000 (15:30 +0200)] 
refactor: Remove unused parameter

2 weeks agorefactor: Extract common "receive error message" code into helper
Joel Rosdahl [Thu, 14 May 2026 12:10:45 +0000 (14:10 +0200)] 
refactor: Extract common "receive error message" code into helper

3 weeks agofix: Make fallbacks in util::gmtime and util::localtime thread-safe
Joel Rosdahl [Sat, 9 May 2026 14:40:05 +0000 (16:40 +0200)] 
fix: Make fallbacks in util::gmtime and util::localtime thread-safe

3 weeks agofix: Add missing CMake probe for gmtime_r
Joel Rosdahl [Sat, 9 May 2026 14:39:44 +0000 (16:39 +0200)] 
fix: Add missing CMake probe for gmtime_r

3 weeks agofix: Update storage-test-client's timeout defaults to match ccache's
Joel Rosdahl [Sat, 9 May 2026 14:30:38 +0000 (16:30 +0200)] 
fix: Update storage-test-client's timeout defaults to match ccache's

3 weeks agofix: Handle 0 return value from std::thread::hardware_concurrency
Joel Rosdahl [Sat, 9 May 2026 14:29:52 +0000 (16:29 +0200)] 
fix: Handle 0 return value from std::thread::hardware_concurrency

4 weeks agochore: Update news
Joel Rosdahl [Mon, 4 May 2026 17:00:39 +0000 (19:00 +0200)] 
chore: Update news

(cherry picked from commit c6f36725ddaa247678ff130cf4349055962ac072)

4 weeks agotest: Skip remote_helper test if storage test helper is unavailable
Joel Rosdahl [Fri, 1 May 2026 15:05:41 +0000 (17:05 +0200)] 
test: Skip remote_helper test if storage test helper is unavailable

The ccache-storage-test program is not available if the test suite is
run for a system-installed ccache, so handle that case gracefully.

5 weeks agofix: Verify cache entry type before parsing manifest or result
Joel Rosdahl [Mon, 27 Apr 2026 16:58:32 +0000 (18:58 +0200)] 
fix: Verify cache entry type before parsing manifest or result

Manifest and result cache entry keys should never collide, but handle
collision properly if they do anyway.

5 weeks agofix: Disambiguate manifest and result hash for MSVC depend mode
Joel Rosdahl [Mon, 27 Apr 2026 16:44:32 +0000 (18:44 +0200)] 
fix: Disambiguate manifest and result hash for MSVC depend mode

When using depend mode with MSVC and the source file doesn't include any
file, the result hash becomes identical to the manifest hash. Fix this
by adding a "result" hash delimiter, similar to how it's done in the
non-MSVC case (result_key_from_depfile).

This bug has existed since the addition of depend mode support for MSVC
(b1348e5f5ebe10b486b4e86f0114884a04f9531a). It's not a big deal, but the
storage layer will use the same key, so manifest or result parsing might
fail and fall back to just running the compiler.

5 weeks agochore: Update news
Joel Rosdahl [Sun, 26 Apr 2026 13:11:20 +0000 (15:11 +0200)] 
chore: Update news

5 weeks agoci: Fix triggering of riscv64 musl static build
Joel Rosdahl [Sun, 26 Apr 2026 13:16:47 +0000 (15:16 +0200)] 
ci: Fix triggering of riscv64 musl static build

5 weeks agofix: Synchronize writing to the stats log file
Joel Rosdahl [Sun, 26 Apr 2026 11:45:10 +0000 (13:45 +0200)] 
fix: Synchronize writing to the stats log file

See also 00c854e3cfb6ef5f18905ea9d5d48c40dc34b603.

5 weeks agodocs: Move timeout suffix description to correct place
Joel Rosdahl [Sun, 26 Apr 2026 06:05:21 +0000 (08:05 +0200)] 
docs: Move timeout suffix description to correct place

5 weeks agofix: Wait longer for spawned storage helpers to accept connections
Joel Rosdahl [Sat, 25 Apr 2026 14:49:06 +0000 (16:49 +0200)] 
fix: Wait longer for spawned storage helpers to accept connections

Connecting to a newly spawned storage helper previously used a fixed one
second timeout, which could be too short on heavily loaded systems.

To make helper startup more robust, make the spawn timeout use the data
timeout instead, but never less than 10 seconds.

5 weeks agofix: Increase default storage helper data/request timeouts to 10s/1m
Joel Rosdahl [Sat, 25 Apr 2026 14:40:46 +0000 (16:40 +0200)] 
fix: Increase default storage helper data/request timeouts to 10s/1m

On heavily loaded systems, ccache may see multi-second delays waiting
for responses from the storage helper. This can happen because of local
load, helper queueing or slow remote storage responses, even when
nothing is actually broken. The previous defaults were therefore too
aggressive and could cause spurious timeouts, leading to more local
compilation load and, in turn, even more timeouts.

Increase the default data and request timeouts to 10s and 1m
respectively while still keeping them low enough to detect a stuck
helper or malfunctioning remote storage in reasonable time.

5 weeks agofeat: Log PID of spawned storage helper on Windows too
Joel Rosdahl [Thu, 23 Apr 2026 12:17:21 +0000 (14:17 +0200)] 
feat: Log PID of spawned storage helper on Windows too

5 weeks agobuild: Add "include guards" for bundled CMake find modules
Joel Rosdahl [Thu, 23 Apr 2026 06:45:36 +0000 (08:45 +0200)] 
build: Add "include guards" for bundled CMake find modules

Fixes #1737.

6 weeks agofeat: Add diagnostics messages and identity to storage helper greeting
Joel Rosdahl [Sat, 18 Apr 2026 19:06:11 +0000 (21:06 +0200)] 
feat: Add diagnostics messages and identity to storage helper greeting

Storage helpers may need to report startup problems back to ccache, e.g.
unknown or malformed attributes. This can now be done in a new greeting
format where such diagnostic messages can be included. It also adds a
server identity field so that ccache can log the storage helper version.

6 weeks agoci: Improve order of linux binary jobs
Joel Rosdahl [Sun, 19 Apr 2026 11:46:03 +0000 (13:46 +0200)] 
ci: Improve order of linux binary jobs

6 weeks agochore: Update news
Joel Rosdahl [Sun, 19 Apr 2026 07:42:30 +0000 (09:42 +0200)] 
chore: Update news

(cherry picked from commit 472d093622729b853cf4ea5ad3d0743ff6532956)

6 weeks agobump: Upgrade to doctest 2.5.2
Joel Rosdahl [Wed, 15 Apr 2026 19:33:18 +0000 (21:33 +0200)] 
bump: Upgrade to doctest 2.5.2

6 weeks agorefactor: Let util::strip_whitespace return std::string_view
Joel Rosdahl [Sun, 12 Apr 2026 14:33:37 +0000 (16:33 +0200)] 
refactor: Let util::strip_whitespace return std::string_view

6 weeks agoperf: Avoid multiple syscalls for IPC requests
Joel Rosdahl [Sun, 12 Apr 2026 09:22:10 +0000 (11:22 +0200)] 
perf: Avoid multiple syscalls for IPC requests

6 weeks agoci: Enable linux-riscv musl-static builds using QEMU (#1729)
Ludovic Henry [Sat, 18 Apr 2026 13:45:01 +0000 (15:45 +0200)] 
ci: Enable linux-riscv musl-static builds using QEMU (#1729)

7 weeks agochore: Update authors
Joel Rosdahl [Sun, 12 Apr 2026 08:34:54 +0000 (10:34 +0200)] 
chore: Update authors

(cherry picked from commit cf9ed5cdfaf06d2d7f0d99c63c97e4aed8facbe3)

7 weeks agochore: Update news
Joel Rosdahl [Sun, 12 Apr 2026 08:17:32 +0000 (10:17 +0200)] 
chore: Update news

(cherry picked from commit 884cc5c2438dfeb0a20b753761258d1815bda807)

7 weeks agoci: Add glibc build and release on linux-riscv64 (#1718)
Ludovic Henry [Sun, 12 Apr 2026 08:15:27 +0000 (10:15 +0200)] 
ci: Add glibc build and release on linux-riscv64 (#1718)

7 weeks agofix: Detect hppa2.0-unknown-linux-gnu-gcc as GCC
Joel Rosdahl [Sat, 11 Apr 2026 07:09:35 +0000 (09:09 +0200)] 
fix: Detect hppa2.0-unknown-linux-gnu-gcc as GCC

Fixes #1721.

7 weeks agobump: Upgrade to doctest 2.5.1
Joel Rosdahl [Sat, 4 Apr 2026 19:37:12 +0000 (21:37 +0200)] 
bump: Upgrade to doctest 2.5.1

7 weeks agofix: Handle directory-less path to /FI
Joel Rosdahl [Thu, 9 Apr 2026 07:28:23 +0000 (09:28 +0200)] 
fix: Handle directory-less path to /FI

7 weeks agobuild: Use find_package first for cpp-httplib (#1717)
Jiri Slaby [Tue, 7 Apr 2026 17:34:55 +0000 (19:34 +0200)] 
build: Use find_package first for cpp-httplib (#1717)

8 weeks agochore: Add commit type compat, improve explanation of enhance/feat/fix
Joel Rosdahl [Sat, 4 Apr 2026 19:06:03 +0000 (21:06 +0200)] 
chore: Add commit type compat, improve explanation of enhance/feat/fix

8 weeks agocompat: Add knowledge of -fsanitize-ignorelist
Joel Rosdahl [Sat, 4 Apr 2026 19:05:52 +0000 (21:05 +0200)] 
compat: Add knowledge of -fsanitize-ignorelist

-fsanitize-blacklist was renamed to -fsanitize-ignorelist in Clang 13.

Fixes #1712.

2 months agochore: Add ccache configuration field to the problem report template
Joel Rosdahl [Tue, 31 Mar 2026 17:37:39 +0000 (19:37 +0200)] 
chore: Add ccache configuration field to the problem report template

2 months agotest: Disable reading of external system config in upgrade tests
Joel Rosdahl [Tue, 31 Mar 2026 16:50:25 +0000 (18:50 +0200)] 
test: Disable reading of external system config in upgrade tests

Fixes #1713.

2 months agochore: Improve table in CONTRIBUTING.md
Joel Rosdahl [Sat, 28 Mar 2026 08:34:28 +0000 (09:34 +0100)] 
chore: Improve table in CONTRIBUTING.md

2 months agobump: Upgrade to doctest 2.5.0
Joel Rosdahl [Sat, 28 Mar 2026 08:33:22 +0000 (09:33 +0100)] 
bump: Upgrade to doctest 2.5.0

2 months agofix: Invalidate PCH upon MSVC toolset update (#1714)
Philipp Kolberg [Tue, 31 Mar 2026 17:32:21 +0000 (19:32 +0200)] 
fix: Invalidate PCH upon MSVC toolset update (#1714)

2 months agofeat: Improve path rewriting on Windows
Joel Rosdahl [Wed, 25 Mar 2026 15:16:29 +0000 (16:16 +0100)] 
feat: Improve path rewriting on Windows

Made it possible to rewrite absolute paths to relative on Windows when
paths differ in case.

2 months agoenhance: Add util::to_uppercase
Joel Rosdahl [Thu, 26 Mar 2026 08:42:43 +0000 (09:42 +0100)] 
enhance: Add util::to_uppercase

2 months agofix: Disable base directory when using MSVC's /Yc option
Joel Rosdahl [Thu, 26 Mar 2026 08:13:39 +0000 (09:13 +0100)] 
fix: Disable base directory when using MSVC's /Yc option

When creating a precompiled header (PCH), MSVC does not like relative
paths for /Yc and /FI arguments, so don't rewrite paths to relative in
that case.

Fixes #1710.

2 months agotest: Check that response file expansion is not done too eagerly
Joel Rosdahl [Thu, 26 Mar 2026 08:09:48 +0000 (09:09 +0100)] 
test: Check that response file expansion is not done too eagerly

For example,

    gcc -c test.c -o @foo

will not read arguments from @foo.

2 months agotest: Don't allow running tests from repo top directory
Joel Rosdahl [Thu, 26 Mar 2026 07:26:20 +0000 (08:26 +0100)] 
test: Don't allow running tests from repo top directory

2 months agofix: Pass sysconfdir and other variables from Makefile to install.sh
Joel Rosdahl [Wed, 25 Mar 2026 19:42:59 +0000 (20:42 +0100)] 
fix: Pass sysconfdir and other variables from Makefile to install.sh

2 months agoenhance: Add iterators for util::Args
Joel Rosdahl [Wed, 25 Mar 2026 15:52:19 +0000 (16:52 +0100)] 
enhance: Add iterators for util::Args

2 months agobuild: Ignore -Wc2y-extensions warning for doctest with Clang 22+
Joel Rosdahl [Tue, 24 Mar 2026 18:51:28 +0000 (19:51 +0100)] 
build: Ignore -Wc2y-extensions warning for doctest with Clang 22+

https://github.com/doctest/doctest/issues/1042

2 months agotest: dump logs on failure to aid investigation
Maksym Sobolyev [Fri, 13 Mar 2026 22:32:46 +0000 (15:32 -0700)] 
test: dump logs on failure to aid investigation

2 months agotest: Reduce remote_helper flakes on slow systems
Maksym Sobolyev [Tue, 24 Mar 2026 14:33:13 +0000 (07:33 -0700)] 
test: Reduce remote_helper flakes on slow systems

2 months agofix(http): Treat HTTP 2xx with empty body as cache miss (#1707)
Björn Svensson [Mon, 23 Mar 2026 19:29:32 +0000 (20:29 +0100)] 
fix(http): Treat HTTP 2xx with empty body as cache miss (#1707)

fix(storage): Treat empty remote storage entries as errors

A remote storage backend returning a value with an empty body indicates
a corrupt or misconfigured entry, not a cache miss. Check for empty
values in the storage layer so that all current and future backends are
covered. The error is logged but the backend is not marked as failed,
since other entries may still be valid.

Signed-off-by: Björn Svensson <bjorn.a.svensson@est.tech>
2 months agoci: Add darwin binary releases to prepare-release again
Joel Rosdahl [Sun, 22 Mar 2026 12:03:23 +0000 (13:03 +0100)] 
ci: Add darwin binary releases to prepare-release again

Fixes regression in 8496fc8c2e00b0917d9d6206093fc6d7fac69bf7.

2 months agoci: Add Linux binary tar.gz archives to release notes
Joel Rosdahl [Sun, 22 Mar 2026 12:02:56 +0000 (13:02 +0100)] 
ci: Add Linux binary tar.gz archives to release notes

2 months agochore: Remove duplicate header in release notes
Joel Rosdahl [Sun, 22 Mar 2026 12:01:52 +0000 (13:01 +0100)] 
chore: Remove duplicate header in release notes

(cherry picked from commit 912c2d57fb694697fa8045da60657e08f373d71a)

2 months agochore: Update NEWS
Joel Rosdahl [Fri, 20 Mar 2026 20:09:50 +0000 (21:09 +0100)] 
chore: Update NEWS

(cherry picked from commit 68878d188f6c3f963042757acc231a89223dd86a)

2 months agotest: Reduce remote_helper flakes on slow systems
Maksym Sobolyev [Sat, 14 Mar 2026 05:51:36 +0000 (22:51 -0700)] 
test: Reduce remote_helper flakes on slow systems

Raise the helper idle timeout so the direct crsh test doesn't lose the
helper between the local-hit phase and the final remote reconnect.

2 months agotest: Relax util::exec_to_string missing command assertion
Maksym Sobolyev [Fri, 13 Mar 2026 01:56:40 +0000 (18:56 -0700)] 
test: Relax util::exec_to_string missing command assertion

The POSIX error for a missing command is not stable across systems. Some
environments report the posix_spawnp failure directly, while others
return a shell-style "Non-zero exit code: 127" instead.

Accept both outcomes in the test and capture the actual error string to
make future failures easier to diagnose.

2 months agochore: Point to gcc11 instead of the default gcc8 in alma-8 image
Maksym Sobolyev [Fri, 13 Mar 2026 01:56:53 +0000 (18:56 -0700)] 
chore: Point to gcc11 instead of the default gcc8 in alma-8 image

2 months agochore: Add libstdc++-devel/libstdc++-devel to alma-{8,9,10} images
Maksym Sobolyev [Wed, 8 Oct 2025 19:34:54 +0000 (12:34 -0700)] 
chore: Add libstdc++-devel/libstdc++-devel to alma-{8,9,10} images

2 months agofix: Fix rewriting MSVC /FI argument to relative when using base_dir
Joel Rosdahl [Thu, 19 Mar 2026 13:42:46 +0000 (14:42 +0100)] 
fix: Fix rewriting MSVC /FI argument to relative when using base_dir

MSVC's /FI option is special in that the compiler looks up a relative
file relative to the source file instead of the CWD.

2 months agofeat: Add install script for binary Linux releases
Joel Rosdahl [Wed, 18 Mar 2026 18:17:48 +0000 (19:17 +0100)] 
feat: Add install script for binary Linux releases

This makes it possible to install without having make(1) available.

2 months agoci: Add tar.gz archives for Linux binary releases
Joel Rosdahl [Mon, 16 Mar 2026 19:52:22 +0000 (20:52 +0100)] 
ci: Add tar.gz archives for Linux binary releases

2 months agofix: Avoid crash for `/Yc` without `/Fp`
Joel Rosdahl [Sun, 15 Mar 2026 14:36:32 +0000 (15:36 +0100)] 
fix: Avoid crash for `/Yc` without `/Fp`

(cherry picked from commit 0f98ffb366891f815719560a97293acc55fd42fa)

2 months agoenhance: Add util::Args::parse_response_file_content function
Joel Rosdahl [Sun, 15 Mar 2026 09:04:10 +0000 (10:04 +0100)] 
enhance: Add util::Args::parse_response_file_content function

2 months agofix: Increase robustness of manifest parsing
Joel Rosdahl [Sun, 15 Mar 2026 09:05:53 +0000 (10:05 +0100)] 
fix: Increase robustness of manifest parsing

2 months agofix: Sanity check original_size in util::zstd_decompress
Joel Rosdahl [Sat, 14 Mar 2026 12:33:41 +0000 (13:33 +0100)] 
fix: Sanity check original_size in util::zstd_decompress

If original_size 0, `&output[original_size]` will crash later (if
`output.size()` is also 0).

2 months agofix: Sanity check decompressed payload size
Joel Rosdahl [Wed, 11 Mar 2026 18:59:10 +0000 (19:59 +0100)] 
fix: Sanity check decompressed payload size

2 months agofix: Fix return type for CacheEntry::Header::uncompressed_payload_size
Joel Rosdahl [Tue, 10 Mar 2026 20:50:07 +0000 (21:50 +0100)] 
fix: Fix return type for CacheEntry::Header::uncompressed_payload_size

Returning uint32_t instead of uint64_t seems like an oversight.

2 months agotest: Don't check `.ltrans0.ltrans.su` files in `-flto` tests (#1704)
Joel Rosdahl [Sat, 14 Mar 2026 12:06:18 +0000 (13:06 +0100)] 
test: Don't check `.ltrans0.ltrans.su` files in `-flto` tests (#1704)

Different compilers produce different stack-usage files when linking
object files compiled with `-fstack-usage -flto`. Since ccache does not
cache linking anyway, skip checking the linking results to avoid
compiler-specific expectations.

Fixes #1699.

2 months agofix: LTO is disabled if `-fno-lto` is used (#1700)
Kristian Sloth Lauszus [Sat, 14 Mar 2026 09:50:26 +0000 (10:50 +0100)] 
fix: LTO is disabled if `-fno-lto` is used (#1700)

If `-flto` is followered by `-fno-lto`, then LTO will be disabled

On the other hand if `-fno-lto` is followered by `-flto`, then LTO will be enabled

2 months agotest: Fix remote_helper test error for long $PWD
Joel Rosdahl [Thu, 12 Mar 2026 07:31:19 +0000 (08:31 +0100)] 
test: Fix remote_helper test error for long $PWD

Use relative Unix socket paths in tests to avoid overflowing the Unix
socket name length limit when $PWD is long.

Fixes #1697.

2 months agochore: Improve log messages for Unix socket connect failure
Joel Rosdahl [Thu, 12 Mar 2026 07:24:32 +0000 (08:24 +0100)] 
chore: Improve log messages for Unix socket connect failure

Related to #1697.

2 months agoci: Add macOS 15/26 builds
Joel Rosdahl [Wed, 11 Mar 2026 20:21:44 +0000 (21:21 +0100)] 
ci: Add macOS 15/26 builds

Also bump Xcode version for macOS 14.

2 months agochore: Improve log messages for Unix socket connect failure
Joel Rosdahl [Wed, 11 Mar 2026 19:23:39 +0000 (20:23 +0100)] 
chore: Improve log messages for Unix socket connect failure

Related to #1697.

2 months agofix: Fix DEFER usage
Joel Rosdahl [Wed, 11 Mar 2026 19:15:56 +0000 (20:15 +0100)] 
fix: Fix DEFER usage

2 months agofix: Fix restoring of timestamps in recompressor
Joel Rosdahl [Wed, 11 Mar 2026 19:05:11 +0000 (20:05 +0100)] 
fix: Fix restoring of timestamps in recompressor

Fixes incorrect fix in 86af29da704f0e879c55230aad9a22d5df330bc3.

2 months agochore: Use typedefs to access ::type (#1695)
Gregor Jasny [Wed, 11 Mar 2026 19:17:01 +0000 (20:17 +0100)] 
chore: Use typedefs to access ::type (#1695)

2 months agochore: Update authors
Joel Rosdahl [Mon, 9 Mar 2026 20:29:49 +0000 (21:29 +0100)] 
chore: Update authors

(cherry picked from commit 5a1399943d6f145960108fbd27f125ec39569a28)

2 months agochore: Update news
Joel Rosdahl [Mon, 9 Mar 2026 20:26:22 +0000 (21:26 +0100)] 
chore: Update news

(cherry picked from commit 9dc6847f9e704519787521903cdade28fd9c298c)

2 months agofix: Do not look for .su and .ci output files when LTO is used (#1693)
Kristian Sloth Lauszus [Mon, 9 Mar 2026 20:06:57 +0000 (21:06 +0100)] 
fix: Do not look for .su and .ci output files when LTO is used (#1693)

When `-flto` is used the .su and .ci output files are not generated during compilation, instead they are generated during link time

This means that ccache can simply skip those files when `-fstack-usage` and `-fcallgraph-info` are used in combination with the `-flto` flag

See: https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html#index-fcallgraph-info

2 months agofix: Pass template argument to mktemp(1) for portability to macOS/BSD
Joel Rosdahl [Mon, 9 Mar 2026 19:48:14 +0000 (20:48 +0100)] 
fix: Pass template argument to mktemp(1) for portability to macOS/BSD

Fixes #1692.

2 months agobuild: Use correct pandoc binary
Joel Rosdahl [Mon, 9 Mar 2026 19:38:49 +0000 (20:38 +0100)] 
build: Use correct pandoc binary

2 months agochore: Remove obsolete condition (#1694)
Gregor Jasny [Mon, 9 Mar 2026 20:02:15 +0000 (21:02 +0100)] 
chore: Remove obsolete condition (#1694)

2 months agobuild: Use CMake knowledge about helper locations (#1689)
Gregor Jasny [Mon, 9 Mar 2026 19:21:09 +0000 (20:21 +0100)] 
build: Use CMake knowledge about helper locations (#1689)

2 months agofix: Restore atime when recompressor fails to read a file
Joel Rosdahl [Sun, 8 Mar 2026 18:00:42 +0000 (19:00 +0100)] 
fix: Restore atime when recompressor fails to read a file

2 months agofix: Handle extensionless -x assembler inputs
Joel Rosdahl [Sun, 8 Mar 2026 16:09:36 +0000 (17:09 +0100)] 
fix: Handle extensionless -x assembler inputs

Regression in 5da91eb2b4f4cd09a5669f0aebfc534b514826ce.

Fixes #1691.

2 months agofix: Fix crash when finding storage helper next to the ccache executable
Joel Rosdahl [Sun, 8 Mar 2026 12:32:28 +0000 (13:32 +0100)] 
fix: Fix crash when finding storage helper next to the ccache executable

2 months agofix: Use OS-specific methods to reliably find the ccache executable path
Joel Rosdahl [Sun, 8 Mar 2026 12:19:11 +0000 (13:19 +0100)] 
fix: Use OS-specific methods to reliably find the ccache executable path

argv[0] is not guaranteed to reflect the actual location of the
executable (e.g. when invoked via a symlink). Use platform-specific APIs
instead. Fall back to the argv[0]-based approach if the OS method fails.

2 months agofix: Search for storage helper in libexec before PATH
Joel Rosdahl [Sat, 7 Mar 2026 21:42:11 +0000 (22:42 +0100)] 
fix: Search for storage helper in libexec before PATH

Previously ccache searched for storage helpers in PATH before libexec
directories. The idea was that users could easily override a
system-installed helper by placing a newer version earlier in PATH.

However, this also meant that PATH was consulted even when a libexec
directory had been explicitly configured, or when the helper was
installed in the intended system location. In these cases, helpers found
in PATH could take precedence over the expected libexec helper.

Since installing helpers in a libexec directory is the intended
deployment model, prefer libexec locations over PATH.

2 months agofix: Fix build with HAVE_UTIMES but without HAVE_UTIMENSAT
Joel Rosdahl [Fri, 6 Mar 2026 20:16:04 +0000 (21:16 +0100)] 
fix: Fix build with HAVE_UTIMES but without HAVE_UTIMENSAT

Fixes #1690.

2 months agoci: Adapt generate-release-notes to new Linux binary release archives
Joel Rosdahl [Thu, 5 Mar 2026 15:15:42 +0000 (16:15 +0100)] 
ci: Adapt generate-release-notes to new Linux binary release archives

2 months agochore: Update authors v4.13
Joel Rosdahl [Thu, 5 Mar 2026 14:14:51 +0000 (15:14 +0100)] 
chore: Update authors

2 months agochore: Update NEWS
Joel Rosdahl [Thu, 5 Mar 2026 14:12:26 +0000 (15:12 +0100)] 
chore: Update NEWS

2 months agochore: Add GitHub user names to NEWS
Joel Rosdahl [Thu, 5 Mar 2026 14:11:20 +0000 (15:11 +0100)] 
chore: Add GitHub user names to NEWS

3 months agobuild: Only inject config.h for C and C++, not assembler
Joel Rosdahl [Sun, 1 Mar 2026 14:45:46 +0000 (15:45 +0100)] 
build: Only inject config.h for C and C++, not assembler

Fixes #1599.