]> git.pld-linux.org Git - packages/btrfs-progs.git/blobdiff - btrfs-progs.spec
up to 6.5.1
[packages/btrfs-progs.git] / btrfs-progs.spec
index 6bb1d413c45f6b41f9a63682ea13de4c5c57da5f..6710a4daefe69fa1d31df8c7ec9a7a5bbac58419 100644 (file)
@@ -1,22 +1,46 @@
+#
+# Conditional build:
+%bcond_without python  # Python bindings for libbtrfsutil
+%bcond_without tests   # libbtrfsutil tests (requires python)
+
+%if %{without python}
+%undefine      with_tests
+%endif
 Summary:       Utilities belonging to the btrfs filesystem
 Summary(pl.UTF-8):     Narzędzia należące do systemu plików btrfs
 Name:          btrfs-progs
-Version:       3.17.1
+Version:       6.5.1
 Release:       1
 License:       GPL v2
 Group:         Applications/System
 Source0:       https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/%{name}-v%{version}.tar.xz
-# Source0-md5: eda0addb9a4cd82f66e06c42c02b9151
-Patch0:                %{name}-man.patch
-URL:           http://btrfs.wiki.kernel.org/
+# Source0-md5: 33a7b2b36d1ab57899b823e581e950ac
+Patch0:                %{name}-sh.patch
+URL:           https://btrfs.readthedocs.io
 BuildRequires: acl-devel
-BuildRequires: e2fsprogs-devel
+BuildRequires: autoconf >= 2.60
+BuildRequires: autoconf-archive
+BuildRequires: automake
+BuildRequires: e2fsprogs-devel >= 1.42.0
+BuildRequires: gcc >= 6:4.7
 BuildRequires: libblkid-devel
+BuildRequires: libcom_err-devel
 BuildRequires: libuuid-devel
-BuildRequires: lzo-devel
+BuildRequires: linux-libc-headers >= 7:5.9
+BuildRequires: lzo-devel >= 2
+BuildRequires: pkgconfig >= 1:0.9.0
+%{?with_python:BuildRequires:  python3-devel >= 1:3.4}
+%{?with_python:BuildRequires:  python3-setuptools}
+BuildRequires: reiserfsprogs-devel >= 3.6.27
+BuildRequires: sphinx-pdg
 BuildRequires: tar >= 1:1.22
+BuildRequires: udev-devel >= 1:190
 BuildRequires: xz
 BuildRequires: zlib-devel
+BuildRequires: zstd-devel >= 1.0.0
+Requires:      e2fsprogs-libs >= 1.42.0
+Requires:      reiserfsprogs-libs >= 1:3.6.27
+Requires:      %{name}-libs = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sbindir        /sbin
@@ -32,11 +56,22 @@ przy zapisie (copy-on-write), którego celem jest zaimplementowanie
 zaawansowanych możliwości ze szczególnym naciskiem na odporność na
 awarie, naprawę i łatwe administrowanie.
 
+%package libs
+Summary:       Shared btrfs library
+Summary(pl.UTF-8):     Biblioteka współdzielona btrfs
+Group:         Libraries
+
+%description libs
+Shared btrfs library.
+
+%description libs -l pl.UTF-8
+Biblioteka współdzielona btrfs.
+
 %package devel
 Summary:       Header files for btrfs filesystem-specific library
 Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki dla systemu plików btrfs
 Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
 This package contains the header files needed to develop btrfs
@@ -58,15 +93,79 @@ Static btrfs filesystem library.
 %description static -l pl.UTF-8
 Statyczna biblioteka dla systemu plików btrfs.
 
+%package -n libbtrfsutil
+Summary:       Library for managing Btrfs filesystems
+Summary(pl.UTF-8):     Biblioteka do zarządzania systemami plików Btrfs
+License:       LGPL v2.1+
+Group:         Libraries
+
+%description -n libbtrfsutil
+libbtrfsutil is a library for managing Btrfs filesystems. It is
+licensed under the LGPL. libbtrfsutil provides interfaces for a subset
+of the operations offered by the btrfs command line utility. It also
+has official Python bindings (Python 3 only).
+
+%description -n libbtrfsutil -l pl.UTF-8
+libbtrfsutil to biblioteka do zarządzania systemami plików Btrfs. Jest
+dostępna na licencji LGPL. Udostępnia interfejsy do podzbioru operacji
+oferowanych przez narzędzie linii poleceń btrfs. Ma także oficjalne
+wiązania do Pythona (tylko Pythona 3).
+
+%package -n libbtrfsutil-devel
+Summary:       Header file for libbtrfsutil library
+Summary(pl.UTF-8):     Plik nagłówkowy biblioteki libbtrfsutil
+License:       LGPL v2.1+
+Group:         Development/Libraries
+Requires:      libbtrfsutil = %{version}-%{release}
+
+%description -n libbtrfsutil-devel
+Header file for libbtrfsutil library.
+
+%description -n libbtrfsutil-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki libbtrfsutil.
+
+%package -n libbtrfsutil-static
+Summary:       Static libbtrfsutil library
+Summary(pl.UTF-8):     Statyczna biblioteka libbtrfsutil
+License:       LGPL v2.1+
+Group:         Development/Libraries
+Requires:      libbtrfsutil-devel = %{version}-%{release}
+
+%description -n libbtrfsutil-static
+Static libbtrfsutil library.
+
+%description -n libbtrfsutil-static -l pl.UTF-8
+Statyczna biblioteka libbtrfsutil.
+
+%package -n python3-btrfsutil
+Summary:       Python library for managing Btrfs filesystems
+Summary(pl.UTF-8):     Biblioteka Pythona do zarządzania systemami plików Btrfs
+Group:         Libraries/Python
+License:       LGPL v2.1+
+Requires:      libbtrfsutil = %{version}-%{release}
+
+%description -n python3-btrfsutil
+Python library for managing Btrfs filesystems.
+
+%description -n python3-btrfsutil -l pl.UTF-8
+Biblioteka Pythona do zarządzania systemami plików Btrfs.
+
 %prep
 %setup -q -n %{name}-v%{version}
 %patch0 -p1
 
 %build
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%configure \
+       %{!?with_python:--disable-python}
 %{__make} \
-       V=1 \
-       CC="%{__cc}" \
-       CFLAGS="%{rpmcppflags} %{rpmcflags} -fno-strict-aliasing"
+       V=1
+
+%if %{with tests}
+%{__make} test-libbtrfsutil
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -78,28 +177,36 @@ install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8}
        libdir=%{_libdir} \
        DESTDIR=$RPM_BUILD_ROOT
 
-ln -sf btrfsck $RPM_BUILD_ROOT%{_sbindir}/fsck.btrfs
+%if %{with python}
+%{__make} install_python \
+       prefix=%{_prefix} \
+       DESTDIR=$RPM_BUILD_ROOT
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
+
+%post  -n libbtrfsutil -p /sbin/ldconfig
+%postun        -n libbtrfsutil -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc INSTALL
-%attr(755,root,root) %{_sbindir}/btrfsck
-%attr(755,root,root) %{_sbindir}/mkfs.btrfs
-%attr(755,root,root) %{_sbindir}/fsck.btrfs
-%attr(755,root,root) %{_sbindir}/btrfs-debug-tree
-%attr(755,root,root) %{_sbindir}/btrfs-image
-%attr(755,root,root) %{_sbindir}/btrfs-convert
-%attr(755,root,root) %{_sbindir}/btrfstune
+%doc CHANGES README.md
 %attr(755,root,root) %{_sbindir}/btrfs
-%attr(755,root,root) %{_sbindir}/btrfs-map-logical
-%attr(755,root,root) %{_sbindir}/btrfs-zero-log
+%attr(755,root,root) %{_sbindir}/btrfs-convert
 %attr(755,root,root) %{_sbindir}/btrfs-find-root
-%attr(755,root,root) %{_sbindir}/btrfs-show-super
-%attr(755,root,root) %{_libdir}/libbtrfs.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libbtrfs.so.0
+%attr(755,root,root) %{_sbindir}/btrfs-image
+%attr(755,root,root) %{_sbindir}/btrfs-map-logical
+%attr(755,root,root) %{_sbindir}/btrfs-select-super
+%attr(755,root,root) %{_sbindir}/btrfsck
+%attr(755,root,root) %{_sbindir}/btrfstune
+%attr(755,root,root) %{_sbindir}/fsck.btrfs
+%attr(755,root,root) %{_sbindir}/mkfs.btrfs
+/lib/udev/rules.d/64-btrfs-dm.rules
+/lib/udev/rules.d/64-btrfs-zoned.rules
 %{_mandir}/man5/btrfs.5*
 %{_mandir}/man8/btrfs.8*
 %{_mandir}/man8/btrfs-*.8*
@@ -108,6 +215,11 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man8/fsck.btrfs.8*
 %{_mandir}/man8/mkfs.btrfs.8*
 
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libbtrfs.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libbtrfs.so.0
+
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libbtrfs.so
@@ -116,3 +228,25 @@ rm -rf $RPM_BUILD_ROOT
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libbtrfs.a
+
+%files -n libbtrfsutil
+%defattr(644,root,root,755)
+%doc libbtrfsutil/README.md
+%attr(755,root,root) %{_libdir}/libbtrfsutil.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libbtrfsutil.so.1
+
+%files -n libbtrfsutil-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libbtrfsutil.so
+%{_includedir}/btrfsutil.h
+%{_pkgconfigdir}/libbtrfsutil.pc
+
+%files -n libbtrfsutil-static
+%defattr(644,root,root,755)
+%{_libdir}/libbtrfsutil.a
+
+%if %{with python}
+%files -n python3-btrfsutil
+%attr(755,root,root) %{py3_sitedir}/btrfsutil.cpython-*.so
+%{py3_sitedir}/btrfsutil-%{version}-py*.egg-info
+%endif
This page took 0.914696 seconds and 4 git commands to generate.