[packages/bcachefs-tools] new
atler
atler at pld-linux.org
Fri Jan 12 19:14:13 CET 2024
commit ba9898542655516da9ff6f19650baff60a954a0a
Author: Jan Palus <atler at pld-linux.org>
Date: Fri Jan 12 18:50:28 2024 +0100
new
bcachefs-tools.spec | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++
rust-target.patch | 34 +++++++++++++++++++++
2 files changed, 119 insertions(+)
---
diff --git a/bcachefs-tools.spec b/bcachefs-tools.spec
new file mode 100644
index 0000000..1cb42e9
--- /dev/null
+++ b/bcachefs-tools.spec
@@ -0,0 +1,85 @@
+Summary: Userspace tools for bcachefs
+Name: bcachefs-tools
+Version: 1.4.0
+Release: 1
+License: GPL v2+
+Group: Applications/System
+Source0: https://evilpiepirate.org/bcachefs-tools/%{name}-vendored-%{version}.tar.zst
+# Source0-md5: 60eb028451b12bb9bfe0d129fb580aea
+Patch0: rust-target.patch
+URL: https://bcachefs.org/
+BuildRequires: cargo
+BuildRequires: keyutils-devel
+BuildRequires: libaio-devel
+BuildRequires: libblkid-devel
+BuildRequires: libsodium-devel
+BuildRequires: libuuid-devel
+BuildRequires: lz4-devel
+BuildRequires: pkgconfig
+BuildRequires: systemd-devel
+BuildRequires: tar >= 1:1.22
+BuildRequires: udev-devel
+BuildRequires: userspace-rcu-devel
+BuildRequires: zlib-devel
+BuildRequires: zstd
+BuildRequires: zstd-devel
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define _sbindir /sbin
+
+%description
+Bcachefs is an advanced new filesystem for Linux, with an emphasis on
+reliability and robustness and the complete set of features one would
+expect from a modern filesystem.
+
+This package contains userspace tools to manage bcachefs.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+export RUSTFLAGS="%{rpmrustflags}"
+%{__make} \
+ V=1 \
+ PREFIX="%{_prefix}" \
+ ROOT_SBINDIR="%{_sbindir}" \
+ CC="%{__cc}" \
+ EXTRA_CFLAGS="%{rpmcflags}" \
+ EXTRA_LDFLAGS="%{rpmldflags}" \
+ CARGO="%__cargo" \
+ CARGO_BUILD_ARGS="-v --release --target %rust_target" \
+ CARGO_TARGET="%rust_target"
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT \
+ V=1 \
+ PREFIX="%{_prefix}" \
+ ROOT_SBINDIR="%{_sbindir}" \
+ CARGO="%__cargo" \
+ CARGO_BUILD_ARGS="-v --release --target %rust_target" \
+ CARGO_TARGET="%rust_target"
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc README.md
+%attr(755,root,root) %{_sbindir}/bcachefs
+%attr(755,root,root) %{_sbindir}/fsck.bcachefs
+%attr(755,root,root) %{_sbindir}/mkfs.bcachefs
+%attr(755,root,root) %{_sbindir}/mount.bcachefs
+%attr(755,root,root) %{_prefix}/lib/bcachefsck_all
+%attr(755,root,root) %{_prefix}/lib/bcachefsck_fail
+%{systemdunitdir}/bcachefsck at .service
+%{systemdunitdir}/bcachefsck_all.service
+%{systemdunitdir}/bcachefsck_all.timer
+%{systemdunitdir}/bcachefsck_all_fail.service
+%{systemdunitdir}/bcachefsck_fail at .service
+%{systemdunitdir}/system-bcachefsck.slice
+/lib/udev/rules.d/64-bcachefs.rules
+%{_mandir}/man8/bcachefs.8*
diff --git a/rust-target.patch b/rust-target.patch
new file mode 100644
index 0000000..72a3c36
--- /dev/null
+++ b/rust-target.patch
@@ -0,0 +1,34 @@
+--- bcachefs-tools-1.4.0/Makefile.orig 2023-12-24 01:39:01.000000000 +0100
++++ bcachefs-tools-1.4.0/Makefile 2024-01-12 18:28:15.566397728 +0100
+@@ -58,6 +58,13 @@
+ CARGO_MANIFEST=--manifest-path rust-src/Cargo.toml
+
+ CARGO_BUILD_ARGS=--$(CARGO_PROFILE)
++
++ifdef CARGO_TARGET
++ CARGO_BUILD_ARGS += --target $(CARGO_TARGET)
++ CARGO_TARGET_DIR := target/$(CARGO_TARGET)
++else
++ CARGO_TARGET_DIR := target
++endif
+ CARGO_BUILD=$(CARGO) build $(CARGO_BUILD_ARGS) $(CARGO_MANIFEST)
+
+ CARGO_CLEAN=$(CARGO) clean $(CARGO_CLEAN_ARGS) $(CARGO_MANIFEST)
+@@ -174,7 +181,7 @@
+ BCACHEFS_DEPS=libbcachefs.a
+
+ ifndef NO_RUST
+- BCACHEFS_DEPS+=rust-src/target/release/libbcachefs_rust.a
++ BCACHEFS_DEPS+=rust-src/$(CARGO_TARGET_DIR)/release/libbcachefs_rust.a
+ else
+ CFLAGS+=-DBCACHEFS_NO_RUST
+ endif
+@@ -188,7 +195,7 @@
+ $(Q)ar -rc $@ $+
+
+ RUST_SRCS:=$(shell find rust-src/src rust-src/bch_bindgen/src -type f -iname '*.rs')
+-rust-src/target/release/libbcachefs_rust.a: $(RUST_SRCS)
++rust-src/$(CARGO_TARGET_DIR)/release/libbcachefs_rust.a: $(RUST_SRCS)
+ $(CARGO_BUILD)
+
+ tests/test_helper: $(filter ./tests/%.o, $(OBJS))
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/bcachefs-tools.git/commitdiff/ba9898542655516da9ff6f19650baff60a954a0a
More information about the pld-cvs-commit
mailing list