Merge pull request #473 from LebedevRI/obs-kmod
Some checks failed
build / bcachefs-tools-msrv (push) Has been cancelled
.deb build orchestrator / source-only (push) Has been cancelled
.deb build orchestrator / obs (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:forky], map[build-arch:amd64 host-arch:amd64 machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:forky], map[build-arch:amd64 host-arch:ppc64el machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:forky], map[build-arch:arm64 host-arch:arm64 machine-arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:trixie], map[build-arch:amd64 host-arch:amd64 machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:trixie], map[build-arch:amd64 host-arch:ppc64el machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:trixie], map[build-arch:arm64 host-arch:arm64 machine-arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:unstable], map[build-arch:amd64 host-arch:amd64 machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:unstable], map[build-arch:amd64 host-arch:ppc64el machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:debian version:unstable], map[build-arch:arm64 host-arch:arm64 machine-arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:ubuntu version:plucky], map[build-arch:amd64 host-arch:amd64 machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:ubuntu version:plucky], map[build-arch:arm64 host-arch:arm64 machine-arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:ubuntu version:questing], map[build-arch:amd64 host-arch:amd64 machine-arch:amd64 runs-on:ubuntu-24.04]) (push) Has been cancelled
.deb build orchestrator / buildd (map[name:ubuntu version:questing], map[build-arch:arm64 host-arch:arm64 machine-arch:arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
.deb build orchestrator / reprotest (push) Has been cancelled
.deb build orchestrator / publish (push) Has been cancelled
Nix Flake actions / nix-matrix (push) Has been cancelled
Nix Flake actions / ${{ matrix.name }} (${{ matrix.system }}) (push) Has been cancelled

Spec: Implement KMP package for OpenSUSE Tumbleweed
This commit is contained in:
koverstreet 2025-11-19 10:05:12 -05:00 committed by GitHub
commit 969305f122
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 53 additions and 5 deletions

View File

@ -280,6 +280,7 @@ jobs:
addFilter("dkms-bcachefs.noarch: E: devel-file-in-non-devel-package") addFilter("dkms-bcachefs.noarch: E: devel-file-in-non-devel-package")
EOT EOT
tar -xvf *.tar.xz -C "$OBS_REPO_DIR" --wildcards '*/bcachefs-tools.spec' --strip-components=1 tar -xvf *.tar.xz -C "$OBS_REPO_DIR" --wildcards '*/bcachefs-tools.spec' --strip-components=1
tar -xvf *.tar.xz -C "$OBS_REPO_DIR" --wildcards '*/bcachefs-kmp.spec-preambule' --strip-components=1
tar -xvf *.tar.xz -C "$OBS_REPO_DIR" --wildcards '*/debian/cargo.config' --strip-components=2 tar -xvf *.tar.xz -C "$OBS_REPO_DIR" --wildcards '*/debian/cargo.config' --strip-components=2
patch "$OBS_REPO_DIR/bcachefs-tools.spec" <<EOF patch "$OBS_REPO_DIR/bcachefs-tools.spec" <<EOF
--- a/bcachefs-tools.spec --- a/bcachefs-tools.spec

View File

@ -0,0 +1,6 @@
Requires: %{name} = %{version}-%{release}
Requires: kernel-%1
Provides: multiversion(kernel)
Enhances: kernel-%1
Supplements: (bcachefs-tools and kernel-%1)
Recommends: %{name}-ueficert = %{version}

View File

@ -15,14 +15,24 @@
%global make_opts VERSION="%{version}" BCACHEFS_FUSE=1 BUILD_VERBOSE=1 PREFIX=%{_prefix} ROOT_SBINDIR=%{_sbindir} %global make_opts VERSION="%{version}" BCACHEFS_FUSE=1 BUILD_VERBOSE=1 PREFIX=%{_prefix} ROOT_SBINDIR=%{_sbindir}
%global MSRV 1.77
%global MINIMAL_KERNEL_VERSION_FOR_TOOLS 6.11.3
%global MINIMAL_KERNEL_VERSION_FOR_MODULE 6.16
%global _KMP_TMPDIR "%{_tmppath}/%{name}-%{version}-kmp"
%if %{undefined _with_kmp}
%if 0%{?suse_version} >= 1690
%global _with_kmp 1
%endif
%endif
Name: bcachefs-tools Name: bcachefs-tools
# define with i.e. --define '_version 1.0' # define with i.e. --define '_version 1.0'
Version: 0%{?_version} Version: 0%{?_version}
Release: 0%{?dist} Release: 0%{?dist}
Summary: Userspace tools for bcachefs Summary: Userspace tools for bcachefs
%global MSRV 1.77
# --- rust --- # --- rust ---
# Apache-2.0 # Apache-2.0
# Apache-2.0 OR MIT # Apache-2.0 OR MIT
@ -43,6 +53,7 @@ Source: bcachefs-tools_%{version}.tar.xz
Source1: bcachefs-tools_%{version}.tar.xz.sig Source1: bcachefs-tools_%{version}.tar.xz.sig
Source2: apt.bcachefs.org.keyring Source2: apt.bcachefs.org.keyring
Source3: cargo.config Source3: cargo.config
Source4: bcachefs-kmp.spec-preambule
Source99: %{dkmsname}.rpmlintrc Source99: %{dkmsname}.rpmlintrc
%else %else
Source: https://evilpiepirate.org/%{name}/%{name}-vendored-%{version}.tar.zst Source: https://evilpiepirate.org/%{name}/%{name}-vendored-%{version}.tar.zst
@ -67,7 +78,7 @@ BuildRequires: rust >= %{MSRV}
BuildRequires: rustc >= %{MSRV} BuildRequires: rustc >= %{MSRV}
%endif %endif
BuildRequires: kernel-headers >= 6.11.3 BuildRequires: kernel-headers >= %{MINIMAL_KERNEL_VERSION_FOR_TOOLS}
BuildRequires: libaio-devel >= 0.3.111 BuildRequires: libaio-devel >= 0.3.111
BuildRequires: libattr-devel BuildRequires: libattr-devel
BuildRequires: pkgconfig(blkid) BuildRequires: pkgconfig(blkid)
@ -88,6 +99,13 @@ BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
%if 0%{?_with_kmp} != 0
BuildRequires: %kernel_module_package_buildreqs
BuildRequires: kernel-devel >= %{MINIMAL_KERNEL_VERSION_FOR_MODULE}
BuildRequires: kernel-syms >= %{MINIMAL_KERNEL_VERSION_FOR_MODULE}
%kernel_module_package -n %{kmodname} -x xen -p %_sourcedir/bcachefs-kmp.spec-preambule
%endif
# Rust parts FTBFS on 32-bit arches # Rust parts FTBFS on 32-bit arches
ExcludeArch: %{ix86} %{arm32} ExcludeArch: %{ix86} %{arm32}
@ -112,6 +130,8 @@ check, modify and correct any inconsistencies in the bcachefs filesystem.
Summary: FUSE implementation of bcachefs Summary: FUSE implementation of bcachefs
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
BuildArch: noarch
%description -n fuse-bcachefs %description -n fuse-bcachefs
This package is an experimental implementation of bcachefs leveraging FUSE to This package is an experimental implementation of bcachefs leveraging FUSE to
mount, create, check, modify and correct any inconsistencies in the bcachefs filesystem. mount, create, check, modify and correct any inconsistencies in the bcachefs filesystem.
@ -128,7 +148,7 @@ mount, create, check, modify and correct any inconsistencies in the bcachefs fil
Summary: Bcachefs kernel module managed by DKMS Summary: Bcachefs kernel module managed by DKMS
Requires: diffutils Requires: diffutils
Requires: dkms >= 3.2.1 Requires: dkms >= 3.2.1
Requires: kernel-devel >= 6.16 Requires: kernel-devel >= %{MINIMAL_KERNEL_VERSION_FOR_MODULE}
Requires: gcc Requires: gcc
Requires: make Requires: make
Requires: perl Requires: perl
@ -195,6 +215,16 @@ cp %{_sourcedir}/cargo.config $PWD/.cargo/config.toml
%set_build_flags %set_build_flags
%make_build %{make_opts} %make_build %{make_opts}
%if 0%{?_with_kmp} != 0
%make_build install_dkms DKMSDIR="%{_KMP_TMPDIR}/src"
for kmp_flavor in %{?flavors_to_build}; do
rm -Rf "%{_KMP_TMPDIR}/obj-$kmp_flavor"
cp -a "%{_KMP_TMPDIR}/src/." "%{_KMP_TMPDIR}/obj-$kmp_flavor"
%make_build \
-C "%{_KMP_TMPDIR}/obj-$kmp_flavor" \
KDIR="/usr/src/linux-obj/%_target_cpu/$kmp_flavor"
done
%endif
%install %install
%if 0%{?_version} == 0 %if 0%{?_version} == 0
@ -210,8 +240,19 @@ cp %{_sourcedir}/cargo.config $PWD/.cargo/config.toml
# Purge unneeded debian stuff # Purge unneeded debian stuff
rm -rfv %{buildroot}/%{_datadir}/initramfs-tools rm -rfv %{buildroot}/%{_datadir}/initramfs-tools
%if 0%{?_with_kmp} != 0
for kmp_flavor in %{?flavors_to_build}; do
%make_build \
-C "/usr/src/linux-obj/%_target_cpu/$kmp_flavor" \
M="%{_KMP_TMPDIR}/obj-$kmp_flavor" \
INSTALL_MOD_PATH="%buildroot" \
modules_install
done
%endif
%changelog %changelog
* Sun Nov 19 2025 Roman Lebedev <lebedev.ri@gmail.com>
- Implement KMP package for OpenSUSE Tumbleweed
* Sun Oct 19 2025 Roman Lebedev <lebedev.ri@gmail.com> * Sun Oct 19 2025 Roman Lebedev <lebedev.ri@gmail.com>
- Fix DKMS support on SUSE - Fix DKMS support on SUSE
* Sun Oct 12 2025 Roman Lebedev <lebedev.ri@gmail.com> * Sun Oct 12 2025 Roman Lebedev <lebedev.ri@gmail.com>

View File

@ -31,7 +31,7 @@ sudo add-apt-repository "deb https://apt.bcachefs.org/unstable bcachefs-tools-sn
If you want to ensure that the packages from this repository are always preferred, do: If you want to ensure that the packages from this repository are always preferred, do:
```bash ```bash
mkdir -p /etc/apt/preferences.d sudo mkdir -p /etc/apt/preferences.d
sudo tee /etc/apt/preferences.d/apt.bcachefs.org.pref > /dev/null <<EOF sudo tee /etc/apt/preferences.d/apt.bcachefs.org.pref > /dev/null <<EOF
Package: * Package: *
Pin: origin apt.bcachefs.org Pin: origin apt.bcachefs.org