gentoo-overlay/sys-fs/stratisd/stratisd-2.1.0-r2.ebuild

200 lines
3.9 KiB
Bash
Raw Normal View History

2020-06-08 13:36:04 +03:00
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CRATES="
aho-corasick-0.7.8
ansi_term-0.10.2
atty-0.2.6
autocfg-0.1.6
backtrace-0.3.3
backtrace-sys-0.1.16
bindgen-0.53.1
bitflags-1.2.1
bit-set-0.5.0
bit-vec-0.5.0
byteorder-1.2.7
cc-1.0.50
cexpr-0.3.6
cfg-if-0.1.2
chrono-0.4.5
clang-sys-0.28.1
clap-2.29.0
cloudabi-0.0.3
crc-1.4.0
dbghelp-sys-0.2.0
dbus-0.8.1
devicemapper-0.28.0
dtoa-0.4.1
either-1.5.3
env_logger-0.5.10
env_logger-0.7.1
errno-0.2.3
error-chain-0.12.1
fnv-1.0.6
fuchsia-cprng-0.1.1
fuchsia-zircon-0.3.3
fuchsia-zircon-sys-0.3.3
glob-0.3.0
humantime-1.3.0
itertools-0.8.0
itoa-0.3.1
kernel32-sys-0.2.2
lazycell-1.2.1
lazy_static-0.2.8
lazy_static-1.4.0
libc-0.2.68
libcryptsetup-rs-0.4.0
libcryptsetup-rs-sys-0.1.2
libdbus-sys-0.2.1
libloading-0.5.2
libmount-0.1.13
libudev-0.2.0
libudev-sys-0.1.3
log-0.4.8
loopdev-0.2.0
matches-0.1.8
memchr-2.3.3
nix-0.14.0
nom-4.2.3
num-integer-0.1.39
num-traits-0.1.37
num-traits-0.2.5
peeking_take_while-0.1.2
pkg-config-0.3.9
proc-macro2-1.0.8
proptest-0.9.6
quick-error-1.2.2
quote-0.3.15
quote-1.0.3
rand-0.4.3
rand-0.6.5
rand_chacha-0.1.1
rand_core-0.3.1
rand_core-0.4.2
rand_hc-0.1.0
rand_isaac-0.1.1
rand_jitter-0.1.4
rand_os-0.1.3
rand_pcg-0.1.2
rand_xorshift-0.1.1
rdrand-0.4.0
redox_syscall-0.1.18
redox_termios-0.1.1
regex-1.3.4
regex-syntax-0.6.14
remove_dir_all-0.5.1
rustc-demangle-0.1.5
rustc-hash-1.1.0
rusty-fork-0.2.1
semver-0.9.0
semver-parser-0.7.0
serde-1.0.82
serde_derive-1.0.8
serde_derive_internals-0.15.1
serde_json-1.0.2
shlex-0.1.1
strsim-0.6.0
syn-0.11.11
synom-0.11.3
tempfile-3.0.2
termcolor-0.3.6
termcolor-1.1.0
termion-1.5.1
textwrap-0.9.0
thread_local-1.0.1
time-0.1.37
timerfd-1.0.0
unicode-width-0.1.4
unicode-xid-0.0.4
unicode-xid-0.2.0
uuid-0.7.4
vec_map-0.8.0
version_check-0.1.5
void-1.0.2
wait-timeout-0.1.5
which-3.1.0
winapi-0.2.8
winapi-0.3.3
winapi-build-0.1.1
winapi-i686-pc-windows-gnu-0.3.2
winapi-util-0.1.3
winapi-x86_64-pc-windows-gnu-0.3.2
wincolor-0.1.6
"
inherit cargo systemd
DESCRIPTION="Linux local storage management tool that aims to enable easy use of advanced storage features such as thin provisioning, snapshots, and pool-based management and monitoring."
HOMEPAGE="https://stratis-storage.github.io/"
SRC_URI="https://github.com/stratis-storage/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris ${CRATES})"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="elibc_musl initramfs"
2020-06-08 13:36:04 +03:00
BDEPEND="
>=virtual/rust-1.43.0
sys-devel/clang
2020-06-08 13:36:04 +03:00
"
DEPEND="
sys-apps/dbus
virtual/udev
2020-06-08 13:36:04 +03:00
dev-libs/libpcre
>=sys-fs/cryptsetup-2.3
>=sys-apps/util-linux-2.32
"
RDEPEND="
${DEPEND}
sys-fs/xfsprogs
sys-block/thin-provisioning-tools
"
QA_FLAGS_IGNORED="/sbin/stratisd /usr/libexec/stratisd"
PATCHES=(
# Until feature will be released. https://github.com/stratis-storage/project/issues/161
2020-06-08 13:36:04 +03:00
${FILESDIR}/0001-disable-xfs-uuid-change-after-snapshot-create.patch
2020-10-15 18:25:02 +03:00
# Until issue will be fixed. https://github.com/stratis-storage/stratisd/issues/1470 https://github.com/stratis-storage/stratisd/issues/1780
2020-06-08 19:48:55 +03:00
${FILESDIR}/0002-duplicate_check-disable.patch
2020-06-08 13:36:04 +03:00
)
src_prepare() {
default
# Fix musl build. https://github.com/stratis-storage/devicemapper-rs/issues/560
cd ${WORKDIR}/cargo_home/gentoo/devicemapper-0.28.0
eapply ${FILESDIR}/0001-Fix-issue-of-devicemapper-rs-compatibility-with-musl.patch
}
2020-06-08 13:36:04 +03:00
src_compile(){
if use initramfs; then
cargo_src_compile --no-default-features
mv "${S}"/target/release/stratisd "${S}"/target/release/stratisd-init || die
fi
cargo_src_compile --all-features
2020-06-08 13:36:04 +03:00
}
src_install() {
if use initramfs; then
exeinto /sbin
doexe "${S}"/target/release/stratisd-init
fi
2020-06-08 13:36:04 +03:00
exeinto /usr/libexec
doexe "${S}"/target/release/stratisd
einstalldocs
dodoc -r docs/.
newinitd "${FILESDIR}/init.d.stratisd-r2" stratisd
systemd_dounit "${S}/stratisd.service"
insinto /etc/dbus-1/system.d
doins ${S}/stratisd.conf
}