[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