]> git.pld-linux.org Git - packages/bcachefs-tools.git/blob - bcachefs-tools.spec
bindgen built for host arch hence use x86_64 clang-devel on x32
[packages/bcachefs-tools.git] / bcachefs-tools.spec
1 Summary:        Userspace tools for bcachefs
2 Name:           bcachefs-tools
3 Version:        1.4.1
4 Release:        0.1
5 License:        GPL v2+
6 Group:          Applications/System
7 Source0:        https://evilpiepirate.org/bcachefs-tools/%{name}-vendored-%{version}.tar.zst
8 # Source0-md5:  2cbe55823812642656b2496f22bcf175
9 Patch0:         rust-target.patch
10 URL:            https://bcachefs.org/
11 BuildRequires:  cargo
12 %ifnarch x32
13 BuildRequires:  clang-devel
14 %else
15 BuildRequires:  clang-devel(x86-64)
16 %endif
17 BuildRequires:  keyutils-devel
18 BuildRequires:  libaio-devel
19 BuildRequires:  libblkid-devel
20 BuildRequires:  libsodium-devel
21 BuildRequires:  libuuid-devel
22 BuildRequires:  llvm-devel
23 BuildRequires:  lz4-devel
24 BuildRequires:  pkgconfig
25 BuildRequires:  systemd-devel
26 BuildRequires:  tar >= 1:1.22
27 BuildRequires:  udev-devel
28 BuildRequires:  userspace-rcu-devel
29 BuildRequires:  zlib-devel
30 BuildRequires:  zstd
31 BuildRequires:  zstd-devel
32 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
34 %define         _sbindir        /sbin
35
36 %define         filterout_c     -fvar-tracking-assignments
37
38 %description
39 Bcachefs is an advanced new filesystem for Linux, with an emphasis on
40 reliability and robustness and the complete set of features one would
41 expect from a modern filesystem.
42
43 This package contains userspace tools to manage bcachefs.
44
45 %prep
46 %setup -q
47 %patch0 -p1
48
49 %build
50 export RUSTFLAGS="%{rpmrustflags}"
51 export PKG_CONFIG_ALLOW_CROSS=1
52 export BINDGEN_EXTRA_CLANG_ARGS="%{rpmcflags} %{rpmcppflags}"
53 %ifnarch x32
54 export LIBCLANG_PATH="%{_libdir}"
55 %else
56 export LIBCLANG_PATH=/usr/lib64
57 %endif
58 %{__make} \
59         V=1 \
60         PREFIX="%{_prefix}" \
61         ROOT_SBINDIR="%{_sbindir}" \
62         LIBEXECDIR="%{_libexecdir}" \
63         CC="%{__cc}" \
64         EXTRA_CFLAGS="%{rpmcflags}" \
65         EXTRA_LDFLAGS="%{rpmldflags}" \
66         CARGO="%__cargo" \
67         CARGO_BUILD_ARGS="-v --release --target %rust_target" \
68         CARGO_TARGET="%rust_target"
69
70 %install
71 rm -rf $RPM_BUILD_ROOT
72 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8}
73 %{__make} install \
74         DESTDIR=$RPM_BUILD_ROOT \
75         V=1 \
76         PREFIX="%{_prefix}" \
77         ROOT_SBINDIR="%{_sbindir}" \
78         LIBEXECDIR="%{_libexecdir}" \
79         CARGO="%__cargo" \
80         CARGO_BUILD_ARGS="-v --release --target %rust_target" \
81         CARGO_TARGET="%rust_target"
82
83 %clean
84 rm -rf $RPM_BUILD_ROOT
85
86 %files
87 %defattr(644,root,root,755)
88 %doc README.md
89 %attr(755,root,root) %{_sbindir}/bcachefs
90 %attr(755,root,root) %{_sbindir}/fsck.bcachefs
91 %attr(755,root,root) %{_sbindir}/mkfs.bcachefs
92 %attr(755,root,root) %{_sbindir}/mount.bcachefs
93 %attr(755,root,root) %{_libexecdir}/bcachefsck_all
94 %attr(755,root,root) %{_libexecdir}/bcachefsck_fail
95 %{systemdunitdir}/bcachefsck@.service
96 %{systemdunitdir}/bcachefsck_all.service
97 %{systemdunitdir}/bcachefsck_all.timer
98 %{systemdunitdir}/bcachefsck_all_fail.service
99 %{systemdunitdir}/bcachefsck_fail@.service
100 %{systemdunitdir}/system-bcachefsck.slice
101 /lib/udev/rules.d/64-bcachefs.rules
102 %{_mandir}/man8/bcachefs.8*
This page took 0.046357 seconds and 3 git commands to generate.