%define major_libbtrfs 0 %define libname_libbtrfs %mklibname btrfs %{major_libbtrfs} %define devname_libbtrfs %mklibname btrfs -d %define major_libbtrfsutil 1 %define libname_libbtrfsutil %mklibname btrfsutil %{major_libbtrfsutil} %define devname_libbtrfsutil %mklibname btrfsutil -d Summary: Userspace programs for BTRFS Name: btrfs-progs Version: 4.19 Release: 1 License: GPLv2+ Group: System/Kernel and hardware Url: http://btrfs.wiki.kernel.org/ Source0: https://github.com/kdave/btrfs-progs/archive/v%{version}.tar.gz BuildRequires: asciidoc BuildRequires: docbook-dtd45-xml BuildRequires: docbook-style-xsl BuildRequires: xmlto BuildRequires: acl-devel BuildRequires: liblzo-devel BuildRequires: pkgconfig(blkid) BuildRequires: pkgconfig(ext2fs) BuildRequires: pkgconfig(uuid) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(udev) BuildRequires: python3-setuptools Requires: %{libname_libbtrfs} = %{EVRD} Requires: %{libname_libbtrfsutil} = %{EVRD} %description The btrfs-progs package provides all the userpsace programs needed to create, check, modify and correct any inconsistencies in the btrfs filesystem. %files %doc COPYING INSTALL %{_sbindir}/btrfs* %{_bindir}/btrfs* %{_sbindir}/*.btrfs %{_mandir}/man*/btrfs* %{_mandir}/man*/*.btrfs.* %{_udevrulesdir}/*.rules %{_datadir}/bash-completion/completions/btrfs #---------------------------------------------------------------------------- %package -n %{libname_libbtrfs} Summary: Main library for btrfs Group: System/Libraries %description -n %{libname_libbtrfs} This package contains the library needed to run programs dynamically linked with btrfs. %files -n %{libname_libbtrfs} %{_libdir}/libbtrfs.so.%{major_libbtrfs}* #---------------------------------------------------------------------------- %package -n %{devname_libbtrfs} Summary: Headers for developing programs that will use btrfs Group: Development/C Requires: %{libname_libbtrfs} = %{EVRD} Provides: btrfs-devel = %{EVRD} %description -n %{devname_libbtrfs} This package contains the headers that programmers will need to develop applications which will use btrfs. %files -n %{devname_libbtrfs} %{_includedir}/btrfs/* %{_libdir}/libbtrfs.so #---------------------------------------------------------------------------- %package -n %{libname_libbtrfsutil} Summary: Main library for btrfs Group: System/Libraries %description -n %{libname_libbtrfs} This package contains the library needed to run programs dynamically linked with libbtrfsutil. %files -n %{libname_libbtrfsutil} %{_libdir}/libbtrfsutil.so.%{major_libbtrfsutil}* #---------------------------------------------------------------------------- %package -n %{devname_libbtrfsutil} Summary: Headers for developing programs that will use libbtrfsutil Group: Development/C Requires: %{libname_libbtrfsutil} = %{EVRD} Provides: btrfsutil-devel = %{EVRD} %description -n %{devname_libbtrfs} This package contains the headers that programmers will need to develop applications which will use libbtrfsutil. %files -n %{devname_libbtrfsutil} %{_includedir}/btrfsutil.h %{_libdir}/libbtrfsutil.so #---------------------------------------------------------------------------- %prep %setup -q %apply_patches %build ./autogen.sh %configure2_5x %make %install %makeinstall_std bindir=%{_sbindir} rm -f %{buildroot}%{_libdir}/*.a mkdir -p %{buildroot}%{_datadir}/bash-completion/completions install -m0644 ./btrfs-completion %{buildroot}%{_datadir}/bash-completion/completions/btrfs # (mikhailnov) btrfs utility must be available to not-root users for some actions (creating user snapshots) and getting information mkdir -p %{buildroot}%{_bindir} ln -sr %{buildroot}%{_sbindir}/btrfs %{buildroot}%{_bindir}/btrfs