diff options
Diffstat (limited to 'sys-block')
3 files changed, 158 insertions, 0 deletions
diff --git a/sys-block/thin-provisioning-tools/Manifest b/sys-block/thin-provisioning-tools/Manifest index 97df26fe41ff..c665cb67117b 100644 --- a/sys-block/thin-provisioning-tools/Manifest +++ b/sys-block/thin-provisioning-tools/Manifest @@ -3,3 +3,4 @@ DIST thin-provisioning-tools-0.7.0.tar.gz 230595 BLAKE2B 00238a682f80600e3a5bb6d DIST thin-provisioning-tools-0.7.6.tar.gz 285428 BLAKE2B af74eff6d435f00e347872786fee8627f02844af122a9f1bf9ffd00234ce5275d3a61d9b4204313a19813cadbc0197bbeb9a1bd92d55992c6d9a03a299579e29 SHA512 395035b6f59fafb1c0f3e68750611e04f10223bc8d57b257e25c28c928647d1d2c6e94014b64ed90eeae1151fc7e5d23cf1aa428716e343338cb3c8fe55ed704 DIST thin-provisioning-tools-0.8.2.tar.gz 305022 BLAKE2B ad4f7c088d890e111679a8de041ef0e05c30c5f4a46e96f7d0e1ca8034426d047dc9d2bbad624ba5e9371a5ebdd5be55ebc9486ed38c18c6fb764f8339806f3d SHA512 3aeaef4e720a14605181b700200ce6283e0e230034e5e787164a28043ae622f932e4fe8c166bc982e5e2e987cb2530027af08cc84443b2519cfbfc607c2b4681 DIST thin-provisioning-tools-0.8.3.tar.gz 305338 BLAKE2B 619f73ef7bd802eb72649d0bdaa8ce1d6afb4d7ae442ac7d2d709764aaa5058bf77b12710a332cf5f8215cfb94e1d63c189951058e2373467ca88c847e32cd8d SHA512 a69645d45fd62a487903a07f922fd622b5fb9c7858e656b9468903005ab7daa3098aa89ae356f2458fcf95e3c0672bf486b424553d82ffae54b83c0b71599541 +DIST thin-provisioning-tools-0.8.5.tar.gz 305585 BLAKE2B 7e4bde537535db79e97ddab3cba775c89854362dac7da491c040badf5e3546d2e6ac4b8da8462edb59f50a2ecd95fe9c5e3349fca5e9acd588efaaf990617ca4 SHA512 1f9a1b6b9059f0b23ec3a00ddef223599292d447894316525f13b9c1e4f29d0371cb901d199cb503be4342555e016e5e6eb2d6e0e10c44b08e6c9478c573e1d4 diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.8.5-libaio-0.3.112.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.8.5-libaio-0.3.112.patch new file mode 100644 index 000000000000..af31b90a40b7 --- /dev/null +++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.8.5-libaio-0.3.112.patch @@ -0,0 +1,84 @@ +From 6332962ee866f5289de87ab70cd3db863298982c Mon Sep 17 00:00:00 2001 +From: Joe Thornber <ejt@redhat.com> +Date: Wed, 5 Jun 2019 15:02:05 +0100 +Subject: [PATCH] [ft-lib/bcache] rename raise() -> raise_() + +Name clash with signal.h on Debian and Gentoo. +--- + ft-lib/bcache.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/ft-lib/bcache.c b/ft-lib/bcache.c +index 0dca5031..ee5b6c59 100644 +--- a/ft-lib/bcache.c ++++ b/ft-lib/bcache.c +@@ -31,7 +31,7 @@ static void warn(const char *fmt, ...) + } + + // FIXME: raise a condition somehow? +-static void raise(const char *fmt, ...) ++static void raise_(const char *fmt, ...) + { + va_list ap; + +@@ -51,7 +51,7 @@ static inline struct list_head *list_pop(struct list_head *head) + struct list_head *l; + + if (head->next == head) +- raise("list is empty\n"); ++ raise_("list is empty\n"); + + l = head->next; + list_del(l); +@@ -98,7 +98,7 @@ static struct cb_set *cb_set_create(unsigned nr) + static void cb_set_destroy(struct cb_set *cbs) + { + if (!list_empty(&cbs->allocated)) +- raise("async io still in flight"); ++ raise_("async io still in flight"); + + free(cbs->vec); + free(cbs); +@@ -713,13 +713,13 @@ struct bcache *bcache_simple(const char *path, unsigned nr_cache_blocks) + uint64_t s; + + if (fd < 0) { +- raise("couldn't open cache file"); ++ raise_("couldn't open cache file"); + return NULL; + } + + r = fstat(fd, &info); + if (r < 0) { +- raise("couldn't stat cache file"); ++ raise_("couldn't stat cache file"); + return NULL; + } + +@@ -751,7 +751,7 @@ void bcache_destroy(struct bcache *cache) + static void check_index(struct bcache *cache, block_address index) + { + if (index >= cache->nr_data_blocks) +- raise("block out of bounds (%llu >= %llu)", ++ raise_("block out of bounds (%llu >= %llu)", + (unsigned long long) index, + (unsigned long long) cache->nr_data_blocks); + } +@@ -802,7 +802,7 @@ static struct block *lookup_or_read_block(struct bcache *cache, + // FIXME: this is insufficient. We need to also catch a read + // lock of a write locked block. Ref count needs to distinguish. + if (b->ref_count && (flags & (GF_DIRTY | GF_ZERO))) +- raise("concurrent write lock attempt"); ++ raise_("concurrent write lock attempt"); + + if (test_flags(b, BF_IO_PENDING)) { + miss(cache, flags); +@@ -858,7 +858,7 @@ struct block *get_block(struct bcache *cache, block_address index, unsigned flag + return b; + } + +- raise("couldn't get block"); ++ raise_("couldn't get block"); + return NULL; + } + diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.8.5.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.8.5.ebuild new file mode 100644 index 000000000000..037f7951d172 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.8.5.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} != *9999 ]]; then + SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" +else + inherit git-r3 + EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git' +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="static test" + +LIB_DEPEND="dev-libs/expat[static-libs(+)] + dev-libs/libaio[static-libs(+)]" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + test? ( + || ( + dev-lang/ruby:2.6 + dev-lang/ruby:2.5 + dev-lang/ruby:2.4 + ) + >=dev-cpp/gtest-1.8.0 + dev-util/cucumber + dev-util/aruba + ) + dev-libs/boost" + +PATCHES=( + "${FILESDIR}"/${PN}-0.7.0-build-fixes.patch + "${FILESDIR}"/${PN}-0.8.5-libaio-0.3.112.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + use static && append-ldflags -static + local myeconfargs=( + --prefix="${EPREFIX}"/ + --bindir="${EPREFIX}"/sbin + --with-optimisation='' + $(use_enable test testing) + ) + STRIP=true econf "${myeconfargs[@]}" +} + +src_compile() { + MAKEOPTS+=" V=" + default +} + +src_test() { + emake unit-test +} + +src_install() { + emake DESTDIR="${D}" DATADIR="${D}/usr/share" install + dodoc README.md TODO.org +} |