From cde5a63cd3884933e9e1d503526f66e1b013ae02 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Sun, 5 Oct 2025 19:29:47 +0300 Subject: [PATCH 1/4] `Cargo.toml`: relax vendor-filterer platform match --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 32386817..16e9aaba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,4 +41,4 @@ default-features = false strip = "none" [package.metadata.vendor-filter] -platforms = ["*-unknown-linux-*"] +platforms = ["*-linux-*"] From 766f89f0f2e9031619b0fd34a0d941825bae6373 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Sun, 5 Oct 2025 21:54:33 +0300 Subject: [PATCH 2/4] Deb PPA: use vendor-filterer --- .github/workflows/deb-src.yml | 9 +++++++++ debian/gbp.conf | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deb-src.yml b/.github/workflows/deb-src.yml index 55b34bf9..1ba66cbd 100644 --- a/.github/workflows/deb-src.yml +++ b/.github/workflows/deb-src.yml @@ -108,10 +108,12 @@ jobs: curl \ debian-keyring \ devscripts \ + gcc \ git \ git-buildpackage \ gnupg \ iproute2 \ + libc6-dev \ mmdebstrap \ sbuild \ tar \ @@ -210,6 +212,13 @@ jobs: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ sh -s -- --default-toolchain ${{ env.RUST_VERSION }} --profile minimal -y . "$HOME/.cargo/env" + - name: Install cargo-vendor-filterer + timeout-minutes: 1 + shell: sudo podman exec --interactive --tty container eatmydata sh "{0}" + run: | + set -xe + . "$HOME/.cargo/env" + cargo install --locked cargo-vendor-filterer - name: Fetch our git repository timeout-minutes: 1 uses: actions/checkout@v4 diff --git a/debian/gbp.conf b/debian/gbp.conf index 30d3213d..33731865 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -4,7 +4,7 @@ upstream-tag = v%(version)s ignore-branch = True cleaner = export-dir = ../bcachefs-tools-deb-export-dir -postexport = cargo vendor +postexport = cargo vendor-filterer compression = xz compression-level = 9 From c263923e0d21f938cdb6bb84bb56b4a8e4f77c21 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Sun, 5 Oct 2025 21:55:01 +0300 Subject: [PATCH 3/4] Debian: document that debug info flags are unapplicable for us --- debian/rules | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/debian/rules b/debian/rules index 56dc49d0..7f16cabb 100755 --- a/debian/rules +++ b/debian/rules @@ -31,6 +31,21 @@ endif export CARGO_ARGS = "--frozen" +# WARNING: split debug info makes the package unreproducible! +# +# export CFLAGS += -gsplit-dwarf +# export RUSTFLAGS += -C split-debuginfo=packed +# +# override_dh_dwz: +# # Skipping DWZ since debug info is split. + +# WARNING: compressed debug info without split debug info results in +# size increase(!), and breaks DWZ. +# +# export CFLAGS += -gz=zlib +# export LDFLAGS += -Wl,--compress-debug-sections=zlib +# export RUSTFLAGS += -C link-arg=-Wl,--compress-debug-sections=zlib + %: dh $@ --parallel --with dkms From 2d2e2b7223f2ba09de99896e30a665398a5ead25 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Sun, 5 Oct 2025 21:56:49 +0300 Subject: [PATCH 4/4] Deb PPA: fix publish job --- .github/workflows/deb-publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deb-publish.yml b/.github/workflows/deb-publish.yml index 6a7eebf6..647a309a 100644 --- a/.github/workflows/deb-publish.yml +++ b/.github/workflows/deb-publish.yml @@ -69,6 +69,7 @@ jobs: podman run \ --name container \ --image-volume=tmpfs \ + --device=/dev/fuse \ --tmpfs=/run \ --tmpfs=/tmp \ --tmpfs=/var/tmp \