diff -Nru ccache-4.5/cmake/CcacheVersion.cmake ccache-4.5.1/cmake/CcacheVersion.cmake --- ccache-4.5/cmake/CcacheVersion.cmake 2021-11-13 09:42:24.000000000 +0000 +++ ccache-4.5.1/cmake/CcacheVersion.cmake 2021-11-17 19:31:58.000000000 +0000 @@ -22,7 +22,7 @@ # CCACHE_VERSION_ORIGIN is set to "archive" in scenario 1 and "git" in scenario # 3. -set(version_info "6eedb905a1a21fc8a6399b030312def2c510560c HEAD, tag: v4.5, origin/master, origin/HEAD, master") +set(version_info "764dc83795d9a05c2a9d69f267ed86f61a253d09 HEAD, tag: v4.5.1, origin/HEAD, origin/4.5-maint, 4.5-maint") if(version_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])[0-9a-f]* (.*)") # Scenario 1. diff -Nru ccache-4.5/debian/changelog ccache-4.5.1/debian/changelog --- ccache-4.5/debian/changelog 2021-11-13 15:05:58.000000000 +0000 +++ ccache-4.5.1/debian/changelog 2021-11-17 19:59:25.000000000 +0000 @@ -1,3 +1,9 @@ +ccache (4.5.1-1) unstable; urgency=medium + + * New upstream release 4.5.1 + + -- Joel Rosdahl Wed, 17 Nov 2021 20:59:25 +0100 + ccache (4.5-1) unstable; urgency=medium * Refer to common license file for CC0-1.0 diff -Nru ccache-4.5/doc/NEWS.adoc ccache-4.5.1/doc/NEWS.adoc --- ccache-4.5/doc/NEWS.adoc 2021-11-13 09:42:24.000000000 +0000 +++ ccache-4.5.1/doc/NEWS.adoc 2021-11-17 19:31:58.000000000 +0000 @@ -1,5 +1,25 @@ = Ccache news +== Ccache 4.5.1 + +Release date: 2021-11-17 + + +=== Bug fixes + +- Fixed entry_size field for result entries. This bug affected the recompression + feature (`-X`/`--recompress`) in ccache 4.5. + + [small]#_[contributed by Joel Rosdahl]_# + +- The actual compression level is now once again stored in the cache entry + header. + + [small]#_[contributed by Joel Rosdahl]_# + +- Corrected error handling for unconstructible secondary storage backends. For + instance, this avoids a crash when a Redis server can't be reached. + + [small]#_[contributed by Joel Rosdahl]_# + + == Ccache 4.5 Release date: 2021-11-13 diff -Nru ccache-4.5/src/core/CacheEntryWriter.cpp ccache-4.5.1/src/core/CacheEntryWriter.cpp --- ccache-4.5/src/core/CacheEntryWriter.cpp 2021-11-13 09:42:24.000000000 +0000 +++ ccache-4.5.1/src/core/CacheEntryWriter.cpp 2021-11-17 19:31:58.000000000 +0000 @@ -33,7 +33,7 @@ m_checksumming_writer.write_int(static_cast(header.entry_type)); m_checksumming_writer.write_int( static_cast(header.compression_type)); - m_checksumming_writer.write_int(header.compression_level); + m_checksumming_writer.write_int(m_compressor->actual_compression_level()); m_checksumming_writer.write_int(header.creation_time); m_checksumming_writer.write_int(header.ccache_version.length()); m_checksumming_writer.write_str(header.ccache_version); diff -Nru ccache-4.5/src/Result.cpp ccache-4.5.1/src/Result.cpp --- ccache-4.5/src/Result.cpp 2021-11-13 09:42:24.000000000 +0000 +++ ccache-4.5.1/src/Result.cpp 2021-11-17 19:31:58.000000000 +0000 @@ -325,6 +325,7 @@ { FileSizeAndCountDiff file_size_and_count_diff{0, 0}; uint64_t payload_size = 0; + payload_size += 1; // format_ver payload_size += 1; // n_entries for (const auto& pair : m_entries_to_write) { const auto& path = pair.second; diff -Nru ccache-4.5/src/storage/secondary/FileStorage.cpp ccache-4.5.1/src/storage/secondary/FileStorage.cpp --- ccache-4.5/src/storage/secondary/FileStorage.cpp 2021-11-13 09:42:24.000000000 +0000 +++ ccache-4.5.1/src/storage/secondary/FileStorage.cpp 2021-11-17 19:31:58.000000000 +0000 @@ -70,7 +70,7 @@ ASSERT(params.url.scheme() == "file"); if (!params.url.host().empty()) { throw core::Fatal(FMT( - "invalid file path \"{}\": specifying a host (\"{}\") is not supported", + "invalid file path \"{}\": specifying a host (\"{}\") is not supported", params.url.str(), params.url.host())); } diff -Nru ccache-4.5/src/storage/Storage.cpp ccache-4.5.1/src/storage/Storage.cpp --- ccache-4.5/src/storage/Storage.cpp 2021-11-13 09:42:24.000000000 +0000 +++ ccache-4.5.1/src/storage/Storage.cpp 2021-11-17 19:31:58.000000000 +0000 @@ -450,6 +450,7 @@ entry.url_for_logging, nonstd::string_view(e.what()).empty() ? "" : FMT(": {}", e.what())); mark_backend_as_failed(entry.backends.back(), e.failure()); + return nullptr; } return &entry.backends.back(); } else if (backend->failed) { diff -Nru ccache-4.5/test/suites/secondary_redis.bash ccache-4.5.1/test/suites/secondary_redis.bash --- ccache-4.5/test/suites/secondary_redis.bash 2021-11-13 09:42:24.000000000 +0000 +++ ccache-4.5.1/test/suites/secondary_redis.bash 2021-11-17 19:31:58.000000000 +0000 @@ -111,4 +111,15 @@ expect_stat cache_miss 1 expect_stat files_in_cache 2 # fetched from secondary expect_number_of_redis_cache_entries 2 "$redis_url" # result + manifest + + # ------------------------------------------------------------------------- + TEST "Unreachable server" + + export CCACHE_SECONDARY_STORAGE="redis://localhost:1" + + $CCACHE_COMPILE -c test.c + expect_stat direct_cache_hit 0 + expect_stat cache_miss 1 + expect_stat files_in_cache 2 + expect_stat secondary_storage_error 1 }