From: Junio C Hamano Date: Thu, 6 Feb 2025 22:56:45 +0000 (-0800) Subject: Merge branch 'ps/zlib-ng' X-Git-Tag: v2.49.0-rc0~53 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9d0e81e2ae3bd7f6d8a655be53c2396d7af3d2b0;p=thirdparty%2Fgit.git Merge branch 'ps/zlib-ng' The code paths to interact with zlib has been cleaned up in preparation for building with zlib-ng. * ps/zlib-ng: ci: make "linux-musl" job use zlib-ng ci: switch linux-musl to use Meson compat/zlib: allow use of zlib-ng as backend git-zlib: cast away potential constness of `next_in` pointer compat/zlib: provide stubs for `deflateSetHeader()` compat/zlib: provide `deflateBound()` shim centrally git-compat-util: move include of "compat/zlib.h" into "git-zlib.h" compat: introduce new "zlib.h" header git-compat-util: drop `z_const` define compat: drop `uncompress2()` compatibility shim --- 9d0e81e2ae3bd7f6d8a655be53c2396d7af3d2b0 diff --cc .github/workflows/main.yml index 5d76999d09,83bf9b918b..5f756dfc2e --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@@ -365,33 -394,9 +365,33 @@@ jobs fail-fast: false matrix: vector: + - jobname: linux-sha256 + image: ubuntu:rolling + cc: clang + - jobname: linux-reftable + image: ubuntu:rolling + cc: clang + - jobname: linux-TEST-vars + image: ubuntu:20.04 + cc: gcc + cc_package: gcc-8 + - jobname: linux-breaking-changes + cc: gcc + image: ubuntu:rolling + - jobname: linux-leaks + image: ubuntu:rolling + cc: gcc + - jobname: linux-reftable-leaks + image: ubuntu:rolling + cc: gcc + - jobname: linux-asan-ubsan + image: ubuntu:rolling + cc: clang + - jobname: linux-meson + image: ubuntu:rolling + cc: gcc - - jobname: linux-musl + - jobname: linux-musl-meson - image: alpine - distro: alpine-latest + image: alpine:latest # Supported until 2025-04-02. - jobname: linux32 image: i386/ubuntu:focal diff --cc .gitlab-ci.yml index be00a1572c,f737e4177c..629492694c --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@@ -60,12 -67,10 +60,12 @@@ test:linux CC: clang - jobname: pedantic image: fedora:latest - - jobname: linux-musl + - jobname: linux-musl-meson image: alpine:latest + - jobname: linux32 + image: i386/ubuntu:20.04 - jobname: linux-meson - image: ubuntu:latest + image: ubuntu:rolling CC: gcc artifacts: paths: diff --cc meson_options.txt index e62a433902,e9f8e990e3..5c12e9055e --- a/meson_options.txt +++ b/meson_options.txt @@@ -59,10 -57,10 +59,12 @@@ option('sha1_unsafe_backend', type: 'co description: 'The backend used for hashing data with the SHA1 object format in case no cryptographic security is needed.') option('sha256_backend', type: 'combo', choices: ['openssl', 'nettle', 'gcrypt', 'block'], value: 'block', description: 'The backend used for hashing objects with the SHA256 object format.') + option('zlib_backend', type: 'combo', choices: ['auto', 'zlib', 'zlib-ng'], value: 'auto', + description: 'The backend used for compressing objects and other data.') # Build tweaks. +option('breaking_changes', type: 'boolean', value: false, + description: 'Enable upcoming breaking changes.') option('macos_use_homebrew_gettext', type: 'boolean', value: true, description: 'Use gettext from Homebrew instead of the slightly-broken system-provided one.') diff --cc reftable/block.c index 8ac865ce78,38e3081c61..b14a8f1259 --- a/reftable/block.c +++ b/reftable/block.c @@@ -13,9 -13,8 +13,8 @@@ https://developers.google.com/open-sour #include "record.h" #include "reftable-error.h" #include "system.h" - #include -int header_size(int version) +size_t header_size(int version) { switch (version) { case 1: diff --cc reftable/system.h index 7d5f803eeb,f194a38686..d02eacea8f --- a/reftable/system.h +++ b/reftable/system.h @@@ -11,7 -11,10 +11,8 @@@ https://developers.google.com/open-sour /* This header glues the reftable library to the rest of Git */ -#define DISABLE_SIGN_COMPARE_WARNINGS - #include "git-compat-util.h" + #include "compat/zlib-compat.h" /* * An implementation-specific temporary file. By making this specific to the