summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-block')
-rw-r--r--sys-block/thin-provisioning-tools/Manifest1
-rw-r--r--sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.8.5-libaio-0.3.112.patch84
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.8.5.ebuild73
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
+}