%global forgeurl https://github.com/adam900710/btrfs-fuse %global commit 28abeab84cc6974169efc6fcfc0c344c75e2c31d %forgemeta Name: btrfs-fuse Version: 0 Release: %autorelease Summary: Read-only, license friendly, FUSE based btrfs implementation License: GPLv2 and MIT URL: %{forgeurl} Source0: %{forgesource} # PR#1: meson: install btrfs-fuse binary Patch0: %{url}/pull/1.patch#/btrfs-fuse-install.patch BuildRequires: gcc BuildRequires: meson BuildRequires: fuse3-devel BuildRequires: libb2-devel BuildRequires: libuuid-devel BuildRequires: libzstd-devel BuildRequires: lzo-devel BuildRequires: openssl-devel BuildRequires: xxhash-devel BuildRequires: zlib-devel %description This is a read-only btrfs implementation using FUSE (Filesystem in Userspace). Although btrfs is already in mainline Linux kernel, there are still use-cases for such read-only btrfs implementation: - Educational purpose: let new developers get a quick way to learn how a complex and modern filesystem works; - For certain bootloaders: certain bootloaders need code base compatible with their license; - As a last resort method for subpage/multipage support: currently (v5.16-rc) the Linux kernel can only support sectorsize == pagesize , and 4K sectorsize with 64K page size; thus this project can act as a last resort method to read data from filesystem with unsupported sectorsize. %prep %forgeautosetup -p1 %build %meson %meson_build %install %meson_install %files %license LICENSE %doc README.md %{_bindir}/btrfs-fuse %changelog %autochangelog