commit: be60e0294c21072362cdbb236fa23661c5118949 Author: Florian Schmaus <flow <AT> gentoo <DOT> org> AuthorDate: Sun Jan 11 09:36:34 2026 +0000 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org> CommitDate: Sun Jan 11 09:44:10 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be60e029
sys-fs/bcachefs-kmod: new package, promoted from ::guru Promote bcachefs-kmod from ::guru to ::gentoo with minor style fixes. Thanks to Alexander Miroshnichenko for maintaining the package in ::guru. As discussed with Alexander, they are welcome to contribute to the package in ::gentoo even though not (yet) being a maintainer via proxy. Also, as discussed in https://github.com/gentoo/gentoo/pull/45259 and via PM with various parties, this does not merge the bcachefs-tools and bcachefs-kmod packages, instead they are individual packages. If experience tells us that it is problematic that bcachefs userland and the kernel module are in separate packages then we can revise this. Closes: https://github.com/gentoo/gentoo/pull/45259 Signed-off-by: Florian Schmaus <flow <AT> gentoo.org> sys-fs/bcachefs-kmod/Manifest | 2 + sys-fs/bcachefs-kmod/bcachefs-kmod-1.34.0.ebuild | 112 +++++++++++++++++++++++ sys-fs/bcachefs-kmod/bcachefs-kmod-9999.ebuild | 112 +++++++++++++++++++++++ sys-fs/bcachefs-kmod/metadata.xml | 11 +++ 4 files changed, 237 insertions(+) diff --git a/sys-fs/bcachefs-kmod/Manifest b/sys-fs/bcachefs-kmod/Manifest new file mode 100644 index 000000000000..9dc8c112693f --- /dev/null +++ b/sys-fs/bcachefs-kmod/Manifest @@ -0,0 +1,2 @@ +DIST bcachefs-tools-1.34.0.tar.sign 833 BLAKE2B d1253d7cb08526e765af5536969e5110d796e9fd7a5853c548027defe5b685402e297a3895e0f9b2b328745eb5ae34b8cf6356c383306822c6b832a9c7e6c0db SHA512 8e4594a39003702ac56d474077d04adb0762a6a0dc88959ac4c659c3f30fda7073b8332d57bab18b871e808c1173ba759cadf666a4f2dab870b67eef0dab974d +DIST bcachefs-tools-1.34.0.tar.zst 1393551 BLAKE2B 17efb7c09b39682f0a16163848928cd0881017f081901859f3f122fd04ad7a7335cc0970c5d35bbf992911a305207fb550bb1693b2eec9b06d291f62ae9266d2 SHA512 8abc5b06a6866df378dd5d8d270482020560cd504a4a770af35fb16d6b23fcb5fcfc3a8cd086b027ab90207ba2d841969f7af81eb985087953d9fb28a2774a1c diff --git a/sys-fs/bcachefs-kmod/bcachefs-kmod-1.34.0.ebuild b/sys-fs/bcachefs-kmod/bcachefs-kmod-1.34.0.ebuild new file mode 100644 index 000000000000..7433885a1a86 --- /dev/null +++ b/sys-fs/bcachefs-kmod/bcachefs-kmod-1.34.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_INITRAMFS_IUSE=+initramfs + +inherit flag-o-matic linux-mod-r1 toolchain-funcs unpacker verify-sig + +MY_PN="bcachefs-tools" + +DESCRIPTION="Linux bcachefs kernel module for sys-fs/bcachefs-tools" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.zst" + SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" + KEYWORDS="~amd64 ~arm64" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +LICENSE="GPL-2" +SLOT="0" + +IUSE="debug verify-sig" + +MODULES_KERNEL_MIN=6.16 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc + +BDEPEND=" + >=sys-kernel/linux-headers-6.16 + verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) +" + +pkg_setup() { + local CONFIG_CHECK=" + BLOCK + CRC_OPTIMIZATIONS + EXPORTFS + CLOSURES + CRC32 + CRC64 + FS_POSIX_ACL + LZ4_COMPRESS + LZ4_DECOMPRESS + LZ4HC_COMPRESS + ZLIB_DEFLATE + ZLIB_INFLATE + ZSTD_COMPRESS + ZSTD_DECOMPRESS + CRYPTO_LIB_SHA256 + CRYPTO_LIB_CHACHA + CRYPTO_LIB_POLY1305 + KEYS + RAID6_PQ + XOR_BLOCKS + XXHASH + SYMBOLIC_ERRNAME + MIN_HEAP + XARRAY_MULTI + " + use debug && CONFIG_CHECK+=" + DEBUG_INFO + FRAME_POINTER + !DEBUG_INFO_REDUCED + " + linux-mod-r1_pkg_setup +} + +src_unpack() { + # Upstream signs the uncompressed tarball + if use verify-sig; then + einfo "Unpacking ${P}.tar.zst ..." + verify-sig_verify_detached - "${DISTDIR}"/${MY_PN}-${PV}.tar.sign \ + < <(zstd -fdc "${DISTDIR}"/${MY_PN}-${PV}.tar.zst | tee >(tar -xf -)) + assert "Unpack failed" + fi + + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + else + unpacker ${MY_PN}-${PV}.tar.zst + fi + +} + +src_prepare() { + default + tc-export CC + + sed -i s/^VERSION=.*$/VERSION=${PV}/ Makefile || die + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags + + emake DESTDIR="${WORKDIR}" PREFIX="/module" install_dkms +} + +src_compile() { + local module_s="module/src/${PN%-*}-${PV}" + local modlist=( "bcachefs=:../${module_s}:../${module_s}/src/fs/bcachefs" ) + local modargs=( + KDIR=${KV_OUT_DIR} + ) + + linux-mod-r1_src_compile +} diff --git a/sys-fs/bcachefs-kmod/bcachefs-kmod-9999.ebuild b/sys-fs/bcachefs-kmod/bcachefs-kmod-9999.ebuild new file mode 100644 index 000000000000..7433885a1a86 --- /dev/null +++ b/sys-fs/bcachefs-kmod/bcachefs-kmod-9999.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MODULES_INITRAMFS_IUSE=+initramfs + +inherit flag-o-matic linux-mod-r1 toolchain-funcs unpacker verify-sig + +MY_PN="bcachefs-tools" + +DESCRIPTION="Linux bcachefs kernel module for sys-fs/bcachefs-tools" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.zst" + SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" + KEYWORDS="~amd64 ~arm64" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +LICENSE="GPL-2" +SLOT="0" + +IUSE="debug verify-sig" + +MODULES_KERNEL_MIN=6.16 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc + +BDEPEND=" + >=sys-kernel/linux-headers-6.16 + verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) +" + +pkg_setup() { + local CONFIG_CHECK=" + BLOCK + CRC_OPTIMIZATIONS + EXPORTFS + CLOSURES + CRC32 + CRC64 + FS_POSIX_ACL + LZ4_COMPRESS + LZ4_DECOMPRESS + LZ4HC_COMPRESS + ZLIB_DEFLATE + ZLIB_INFLATE + ZSTD_COMPRESS + ZSTD_DECOMPRESS + CRYPTO_LIB_SHA256 + CRYPTO_LIB_CHACHA + CRYPTO_LIB_POLY1305 + KEYS + RAID6_PQ + XOR_BLOCKS + XXHASH + SYMBOLIC_ERRNAME + MIN_HEAP + XARRAY_MULTI + " + use debug && CONFIG_CHECK+=" + DEBUG_INFO + FRAME_POINTER + !DEBUG_INFO_REDUCED + " + linux-mod-r1_pkg_setup +} + +src_unpack() { + # Upstream signs the uncompressed tarball + if use verify-sig; then + einfo "Unpacking ${P}.tar.zst ..." + verify-sig_verify_detached - "${DISTDIR}"/${MY_PN}-${PV}.tar.sign \ + < <(zstd -fdc "${DISTDIR}"/${MY_PN}-${PV}.tar.zst | tee >(tar -xf -)) + assert "Unpack failed" + fi + + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + else + unpacker ${MY_PN}-${PV}.tar.zst + fi + +} + +src_prepare() { + default + tc-export CC + + sed -i s/^VERSION=.*$/VERSION=${PV}/ Makefile || die + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags + + emake DESTDIR="${WORKDIR}" PREFIX="/module" install_dkms +} + +src_compile() { + local module_s="module/src/${PN%-*}-${PV}" + local modlist=( "bcachefs=:../${module_s}:../${module_s}/src/fs/bcachefs" ) + local modargs=( + KDIR=${KV_OUT_DIR} + ) + + linux-mod-r1_src_compile +} diff --git a/sys-fs/bcachefs-kmod/metadata.xml b/sys-fs/bcachefs-kmod/metadata.xml new file mode 100644 index 000000000000..3e35aed47113 --- /dev/null +++ b/sys-fs/bcachefs-kmod/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Florian Schmaus</name> + <email>[email protected]</email> + </maintainer> + <upstream> + <remote-id type="github">koverstreet/bcachefs-tools</remote-id> + </upstream> +</pkgmetadata>
