diff --git a/misc/Makefile b/misc/Makefile index 65128946ae5d..3ae7af821ad6 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -79,6 +79,7 @@ SUBDIR += dnetc SUBDIR += dtach SUBDIR += dvorak7min + SUBDIR += dynomite SUBDIR += e2fsprogs-libblkid SUBDIR += e2fsprogs-libuuid SUBDIR += elixir-mime diff --git a/misc/dynomite/Makefile b/misc/dynomite/Makefile new file mode 100644 index 000000000000..34fca5072d00 --- /dev/null +++ b/misc/dynomite/Makefile @@ -0,0 +1,26 @@ +# $FreeBSD$ + +PORTNAME= dynomite +DISTVERSIONPREFIX= v +DISTVERSION= 0.6.21-rc2 +CATEGORIES= misc + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Generic dynamo implementation for different k-v storage engines + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= autoreconf gmake libtool ssl +GNU_CONFIGURE= yes +USE_GITHUB= yes +GH_ACCOUNT= Netflix + +LDFLAGS+= -lexecinfo + +PLIST_FILES= bin/dynomite-hash-tool \ + man/man8/dynomite.8.gz \ + sbin/dynomite \ + sbin/dynomite-test + +.include diff --git a/misc/dynomite/distinfo b/misc/dynomite/distinfo new file mode 100644 index 000000000000..dc906de000d6 --- /dev/null +++ b/misc/dynomite/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1582419601 +SHA256 (Netflix-dynomite-v0.6.21-rc2_GH0.tar.gz) = 37ac75726bc139db1063b8ffbfcd42dc83e9dd71f35ffaabf973900a0cb3e597 +SIZE (Netflix-dynomite-v0.6.21-rc2_GH0.tar.gz) = 1367829 diff --git a/misc/dynomite/files/patch-configure.ac b/misc/dynomite/files/patch-configure.ac new file mode 100644 index 000000000000..d9417d91a14b --- /dev/null +++ b/misc/dynomite/files/patch-configure.ac @@ -0,0 +1,11 @@ +--- configure.ac.orig 2020-02-23 01:10:45 UTC ++++ configure.ac +@@ -4,7 +4,7 @@ m4_ifndef([m4_esyscmd_s], [m4_define([m4_esyscmd_s], [ + + # Define the bug reporting address and package version + m4_define([DN_BUGS], [dynomite@netflix.com]) +-m4_define([DN_VERSION_STRING], m4_esyscmd_s([git describe --dirty --always --tags])) ++m4_define([DN_VERSION_STRING], [n/a]) + + # Initialize autoconf + AC_PREREQ([2.63]) diff --git a/misc/dynomite/files/patch-src_Makefile.am b/misc/dynomite/files/patch-src_Makefile.am new file mode 100644 index 000000000000..9af866bb39a7 --- /dev/null +++ b/misc/dynomite/files/patch-src_Makefile.am @@ -0,0 +1,20 @@ +--- src/Makefile.am.orig 2019-11-20 22:17:43 UTC ++++ src/Makefile.am +@@ -77,7 +77,7 @@ dynomite_LDADD = $(top_builddir)/src/hashkit/libhashki + dynomite_LDADD += $(top_builddir)/src/proto/libproto.a + dynomite_LDADD += $(top_builddir)/src/event/libevent.a + dynomite_LDADD += $(top_builddir)/src/entropy/libentropy.a +-dynomite_LDADD += $(top_builddir)/src/seedsprovider/libseedsprovider.a -lresolv ++dynomite_LDADD += $(top_builddir)/src/seedsprovider/libseedsprovider.a + dynomite_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a + + +@@ -128,7 +128,7 @@ dynomite_test_LDADD = $(top_builddir)/src/hashkit/libh + dynomite_test_LDADD += $(top_builddir)/src/proto/libproto.a + dynomite_test_LDADD += $(top_builddir)/src/event/libevent.a + dynomite_test_LDADD += $(top_builddir)/src/entropy/libentropy.a +-dynomite_test_LDADD += $(top_builddir)/src/seedsprovider/libseedsprovider.a -lresolv ++dynomite_test_LDADD += $(top_builddir)/src/seedsprovider/libseedsprovider.a + dynomite_test_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a + + if OS_BSD diff --git a/misc/dynomite/files/patch-src_seedsprovider_dyn__dns.c b/misc/dynomite/files/patch-src_seedsprovider_dyn__dns.c new file mode 100644 index 000000000000..8b615b17d00c --- /dev/null +++ b/misc/dynomite/files/patch-src_seedsprovider_dyn__dns.c @@ -0,0 +1,11 @@ +--- src/seedsprovider/dyn_dns.c.orig 2020-02-23 01:01:26 UTC ++++ src/seedsprovider/dyn_dns.c +@@ -1,7 +1,7 @@ + #include + #include + #include +-#include ++//#include + #include + #include + #include diff --git a/misc/dynomite/pkg-descr b/misc/dynomite/pkg-descr new file mode 100644 index 000000000000..2daed7d0ec1d --- /dev/null +++ b/misc/dynomite/pkg-descr @@ -0,0 +1,11 @@ +Dynomite, inspired by Dynamo whitepaper, is a thin, distributed dynamo layer +for different storage engines and protocols. Currently these include Redis and +Memcached. Dynomite supports multi-datacenter replication and is designed for +high availability. + +The ultimate goal with Dynomite is to be able to implement high availability and +cross-datacenter replication on storage engines that do not inherently provide +that functionality. The implementation is efficient, not complex (few moving +parts), and highly performant. + +WWW: https://github.com/Netflix/dynomite