public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Neal Gompa <ngompa@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/bcachefs-tools] rawhide: Update to 1.39.3 and disable external bcachefs.ko fetch in dkms
Date: Sun, 30 Aug 2026 14:11:47 GMT	[thread overview]
Message-ID: <178809910732.1.17986502122447473456.rpms-bcachefs-tools-3694de0552fd@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/bcachefs-tools
            Branch : rawhide
            Commit : 3694de0552fd81b3f29c5ddcd07bb339c8bb5307
            Author : Neal Gompa <ngompa@fedoraproject.org>
            Date   : 2026-08-30T09:58:47-04:00
            Stats  : +100/-43 in 6 file(s)
            URL    : https://src.fedoraproject.org/rpms/bcachefs-tools/c/3694de0552fd81b3f29c5ddcd07bb339c8bb5307?branch=rawhide

            Log:
            Update to 1.39.3 and disable external bcachefs.ko fetch in dkms

- Resolves: rhbz#2496903

Upstream tag: v1.39.3
Upstream commit: 9cc4c78

---
diff --git a/.gitignore b/.gitignore
index 8c17011..a683fa8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,3 +64,7 @@
 /bcachefs-tools-vendored-1.38.3.tar.sign
 /bcachefs-tools-vendored-1.38.6.tar.sign
 /bcachefs-tools-vendored-1.38.6.tar.zst
+/bcachefs-tools-vendored-1.39.2.tar.zst
+/bcachefs-tools-vendored-1.39.2.tar.sign
+/bcachefs-tools-vendored-1.39.3.tar.sign
+/bcachefs-tools-vendored-1.39.3.tar.zst

diff --git a/README.packit b/README.packit
index 4e76cbe..68a092a 100644
--- a/README.packit
+++ b/README.packit
@@ -1,3 +1,3 @@
 This repository is maintained by packit.
 https://packit.dev/
-The file was generated using packit 1.16.0.post1.dev8+g8a0482385.
+The file was generated using packit 1.16.2.post1.dev8+g69d783e81.

diff --git a/bcachefs-tools-no-make-rust.patch b/bcachefs-tools-no-make-rust.patch
index 10afc16..553d7ec 100644
--- a/bcachefs-tools-no-make-rust.patch
+++ b/bcachefs-tools-no-make-rust.patch
@@ -1,4 +1,4 @@
-From 188ba076df904535f598ffecd5e3c4bf4e0b3ea1 Mon Sep 17 00:00:00 2001
+From 1269f7e973a717fca9a493554eb3bf0f0d65bdb2 Mon Sep 17 00:00:00 2001
 From: Neal Gompa <ngompa@fedoraproject.org>
 Date: Thu, 18 Sep 2025 05:51:45 -0400
 Subject: [PATCH] Makefile: Do not run Rust builds
@@ -9,11 +9,11 @@ We are going to run it separately.
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index 29366b46b..b17613674 100644
+index 001043d6a..af0130d63 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -237,7 +237,7 @@ BCACHEFS_DEPS=libbcachefs.a
- RUST_SRCS:=$(shell find src bch_bindgen/src -type f -iname '*.rs')
+@@ -285,7 +285,7 @@ BCACHEFS_DEPS=libbcachefs.a
+ RUST_SRCS:=$(shell find src fs bch_bindgen bcachefs-shim -type f ! -path 'fs/vendor/kernel-rust/*' -iname '*.rs') build.rs
  
  bcachefs: $(BCACHEFS_DEPS) $(RUST_SRCS)
 -	$(Q)$(CARGO_BUILD)
@@ -21,14 +21,14 @@ index 29366b46b..b17613674 100644
  
  libbcachefs.a: $(OBJS)
  	@echo "    [AR]     $@"
-@@ -373,7 +373,6 @@ dkms-reload:
- clean:
+@@ -489,7 +489,6 @@ clean:
  	@echo "Cleaning all"
- 	$(Q)$(RM) libbcachefs.a c_src/libbcachefs.a .version dkms/dkms.conf build.vars *.tar.xz $(OBJS) $(DEPS) $(DOCGENERATED)
+ 	$(Q)$(RM) libbcachefs.a c_src/libbcachefs.a .version dkms/dkms.conf build.vars *.tar.xz $(DOCGENERATED)
+ 	$(Q)$(RM) -r build
 -	$(Q)$(CARGO_CLEAN)
  	$(Q)$(RM) -f $(built_scripts)
  
  .PHONY: deb
 -- 
-2.53.0
+2.55.0
 

diff --git a/bcachefs-tools-no-prebuilt-dkms.patch b/bcachefs-tools-no-prebuilt-dkms.patch
new file mode 100644
index 0000000..095c74d
--- /dev/null
+++ b/bcachefs-tools-no-prebuilt-dkms.patch
@@ -0,0 +1,61 @@
+From 1829d9d679845db73f039390a403baf257591572 Mon Sep 17 00:00:00 2001
+From: Neal Gompa <ngompa@fedoraproject.org>
+Date: Sun, 30 Aug 2026 09:40:39 -0400
+Subject: [PATCH] dkms: Always build the kernel module locally
+
+Upstream introduced a funky setup where it will attempt to detect
+the kernel build and download a matching ko file from bcachefs.org
+instead of doing a real build, and then pass the built artifact into
+DKMS to get incorporated into the kernel image properly.
+
+This is unsafe and a vector for hijacks, so remove the mechanism.
+---
+ Makefile    |  1 -
+ fs/Makefile | 19 -------------------
+ 2 files changed, 20 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index af0130d63..22632eeae 100644
+--- a/Makefile
++++ b/Makefile
+@@ -410,7 +410,6 @@ install_dkms: dkms/dkms.conf dkms/module-version.c
+ 	cp -a fs/vendor/kernel-rust $(DESTDIR)$(DKMSDIR)/src/fs/bcachefs/vendor/
+ 	$(INSTALL) -m0755 -D fs/scripts/getdents-layout.sh -t $(DESTDIR)$(DKMSDIR)/src/fs/bcachefs/scripts
+ 	$(INSTALL) -m0755 -D fs/scripts/rust-is-available-dkms.sh -t $(DESTDIR)$(DKMSDIR)/src/fs/bcachefs/scripts
+-	$(INSTALL) -m0755 -D fs/scripts/fetch-module.sh -t $(DESTDIR)$(DKMSDIR)/src/fs/bcachefs/scripts
+ 	$(INSTALL) -m0644 -D signing/bcachefs-signing-ca.pem -t $(DESTDIR)$(DKMSDIR)/src/fs/bcachefs/scripts
+ 	$(INSTALL) -m0644 -D dkms/module-version.c	-t $(DESTDIR)$(DKMSDIR)/src/fs/bcachefs
+ 	$(INSTALL) -m0644 -D version.h			-t $(DESTDIR)$(DKMSDIR)/src/fs/bcachefs
+diff --git a/fs/Makefile b/fs/Makefile
+index 273524bf0..794f286b1 100644
+--- a/fs/Makefile
++++ b/fs/Makefile
+@@ -2,25 +2,6 @@
+ ifdef BCACHEFS_DKMS
+ CONFIG_BCACHEFS_FS := m
+ # Enable other features here?
+-
+-# Prebuilt-module fast path: before compiling, try to download a signed
+-# bcachefs.ko already built for this exact kernel + bcachefs version. On a hit,
+-# fetch-module.sh drops it where kbuild would emit the module and we build
+-# nothing (empty CONFIG_BCACHEFS_FS) — DKMS then collects the fetched .ko as if
+-# it had been compiled. Any miss (offline, no matching build, wrong vermagic, a
+-# -dirty source tree the farm never builds) falls through to a normal local
+-# compile. fetch-module.sh logs only to stderr, so stdout is empty unless a
+-# module was placed, making the `hit` test unambiguous.
+-bcachefs-version := $(shell sed -n 's/.*bcachefs_version "\(.*\)".*/\1/p' $(src)/version.h 2>/dev/null)
+-ifneq ($(bcachefs-version),)
+-ifeq ($(shell $(CONFIG_SHELL) $(src)/scripts/fetch-module.sh '$(KERNELRELEASE)' '$(bcachefs-version)' '$(obj)/bcachefs.ko' && echo hit),hit)
+-CONFIG_BCACHEFS_FS :=
+-endif
+-else
+-# No version means no lookup key — say so rather than silently compiling:
+-# the missing file is the tell that this tree wasn't staged the supported way.
+-$(warning bcachefs: no version in $(src)/version.h - not looking for a prebuilt module (version.h is staged by bcachefs-tools 'make install_dkms'; a hand-copied kernel fs/bcachefs/ tree lacks it))
+-endif
+ endif
+ 
+ # DKMS / external module builds: bcachefs isn't in the host kernel's .config,
+-- 
+2.55.0
+

diff --git a/bcachefs-tools.spec b/bcachefs-tools.spec
index 54e2333..f3a2231 100644
--- a/bcachefs-tools.spec
+++ b/bcachefs-tools.spec
@@ -5,18 +5,15 @@
 # For non-Fedora builds
 %bcond dkms 0
 
-# For FUSE fallback
-%bcond fuse 1
-
 # While there are no observable issues with LTO, Kent thinks it's bad,
 # so disable for now until more testing can be done.
 %global _lto_cflags %{nil}
 
-%global make_opts VERSION="%{version}" %{?with_fuse:BCACHEFS_FUSE=1} BUILD_VERBOSE=1 PREFIX=%{_prefix} ROOT_SBINDIR=%{_sbindir}
+%global make_opts VERSION="%{version}" BUILD_VERBOSE=1 PREFIX=%{_prefix} ROOT_SBINDIR=%{_sbindir}
 
 Name:           bcachefs-tools
-Version:        1.38.6
-Release:        2%{?dist}
+Version:        1.39.3
+Release:        1%{?dist}
 Summary:        Userspace tools for bcachefs
 
 # --- rust ---
@@ -45,6 +42,8 @@ Source2:        https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/plain/key
 # Fedora-specific patches
 ## Ensure that the makefile doesn't run rust itself, so we can build with our flags properly
 Patch1001:      bcachefs-tools-no-make-rust.patch
+## Ensure that if DKMS is used, it always builds the module locally
+Patch1002:      bcachefs-tools-no-prebuilt-dkms.patch
 
 BuildRequires:  findutils
 BuildRequires:  gcc
@@ -67,6 +66,7 @@ BuildRequires:  pkgconfig(uuid)
 BuildRequires:  pkgconfig(zlib)
 BuildRequires:  systemd-rpm-macros
 
+BuildRequires:  bindgen-cli
 BuildRequires:  cargo-rpm-macros >= 25
 BuildRequires:  cargo
 BuildRequires:  rust
@@ -79,6 +79,15 @@ BuildRequires:  llvm-devel
 Requires:       (dkms-bcachefs = %{version}-%{release} if kernel-core%{?_isa})
 %endif
 
+# Merge fuse subpackage back
+Obsoletes:      %{name}-fuse < %{version}-%{release}
+Provides:       %{name}-fuse = %{version}-%{release}
+Provides:       %{name}-fuse%{?_isa} = %{version}-%{release}
+Obsoletes:      fuse-%{name} < %{version}-%{release}
+Provides:       fuse-%{name} = %{version}-%{release}
+Provides:       fuse-%{name}-fuse%{?_isa} = %{version}-%{release}
+
+
 # Rust parts FTBFS on 32-bit arches
 ExcludeArch:    %{ix86} %{arm32}
 
@@ -102,43 +111,26 @@ check, modify and correct any inconsistencies in the bcachefs filesystem.
 %{_mandir}/man8/bcachefs.8*
 %{_udevrulesdir}/64-bcachefs.rules
 %{_unitdir}/bcachefs-wait-devices@.service
+%{_systemdgeneratordir}/bcachefs-mount-generator
 %{bash_completions_dir}/bcachefs
-
-%if %{with fuse}
-%dnl ----------------------------------------------------------------------------
-
-%package -n fuse-bcachefs
-Summary:        FUSE implementation of bcachefs
-BuildRequires:  pkgconfig(fuse3) >= 3.7
-Requires:       %{name}%{?_isa} = %{version}-%{release}
-Obsoletes:      %{name}-fuse < %{version}-%{release}
-Provides:       %{name}-fuse = %{version}-%{release}
-Provides:       %{name}-fuse%{?_isa} = %{version}-%{release}
-
-%description -n fuse-bcachefs
-This package is an experimental implementation of bcachefs leveraging FUSE to
-mount, create, check, modify and correct any inconsistencies in the bcachefs filesystem.
-
-%files -n fuse-bcachefs
-%license COPYING
 %{_sbindir}/mount.fuse.bcachefs
 %{_sbindir}/fsck.fuse.bcachefs
 %{_sbindir}/mkfs.fuse.bcachefs
 
-%dnl ----------------------------------------------------------------------------
-%endif
-
 %if %{with dkms}
 %dnl ----------------------------------------------------------------------------
 
 %package -n dkms-bcachefs
 Summary:        Bcachefs kernel module managed by DKMS
+Requires:       bindgen-cli
+Requires:       cargo
 Requires:       diffutils
 Requires:       dkms >= 3.2.1
 Requires:       gcc
 Requires:       make
 Requires:       perl
 Requires:       python3
+Requires:       rust
 
 Requires:       %{name} = %{version}-%{release}
 
@@ -206,11 +198,6 @@ cd ../
 # Purge debian stuff
 rm -rfv %{buildroot}/%{_datadir}/initramfs-tools
 
-%if ! %{with fuse}
-# Purge useless symlink stubs
-rm -rf %{buildroot}%{_sbindir}/*.fuse.bcachefs
-%endif
-
 %if ! %{with dkms}
 # Purge dkms files
 rm -rf %{buildroot}%{_usrsrc}
@@ -218,6 +205,11 @@ rm -rf %{buildroot}%{_usrsrc}
 
 
 %changelog
+* Sun Aug 30 2026 Neal Gompa <ngompa@fedoraproject.org> - 1.39.3-1
+- Update to version 1.39.3
+- Resolves: rhbz#2496903
+- Add patch to disable external bcachefs.ko fetch in dkms
+
 * Wed Jul 15 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.38.6-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
 

diff --git a/sources b/sources
index d2dd7d2..b3a53cc 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (bcachefs-tools-vendored-1.38.6.tar.sign) = 27052ef227b4e70ee8d8215d486df393bff69f399b0631b293b1ebdd2127586971ba9bc50f396ea4dea6ea5487ca0266a7692674ce4c8f6b1497a37431e95728
-SHA512 (bcachefs-tools-vendored-1.38.6.tar.zst) = 7f48b062da081a0306a6601c968e016d4c9afc8e2b07b1e8f15d7ffe667743e7f42dedca4bd515bafe5f51a50623976e0197000959d0245b6df5b4c88b33a6b7
+SHA512 (bcachefs-tools-vendored-1.39.3.tar.sign) = ad3adbab243d3f543e28d38649dc052fdaece5a69563a9923ff270c73f9c68610bf560346fa14d17f034f476cc9fd244f7f5795de7b95f4ddee2f7a99b34c08d
+SHA512 (bcachefs-tools-vendored-1.39.3.tar.zst) = 7bb58ba7a7a2488c4dbd19ad113d5547252c2b335cec757319a8fa82facfce6ca294343b828b3ed3b4375fe1946d73e354e92dbac20a5ad3bc27c58d510bd351

                 reply	other threads:[~2026-08-30 14:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178809910732.1.17986502122447473456.rpms-bcachefs-tools-3694de0552fd@fedoraproject.org \
    --to=ngompa@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox