diff options
Diffstat (limited to 'dev-db/etcd/etcd-3.4.11.ebuild')
-rw-r--r-- | dev-db/etcd/etcd-3.4.11.ebuild | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-db/etcd/etcd-3.4.11.ebuild b/dev-db/etcd/etcd-3.4.11.ebuild new file mode 100644 index 000000000000..0c3cc8f2f4b1 --- /dev/null +++ b/dev-db/etcd/etcd-3.4.11.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit go-module systemd +GIT_COMMIT=e71e0c5c8 +MY_PV="${PV/_rc/-rc.}" + +DESCRIPTION="Highly-available key value store for shared configuration and service discovery" +HOMEPAGE="https://github.com/etcd-io/etcd" +SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 BSD BSD-2 MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc +server" + +COMMON_DEPEND="server? ( + acct-group/etcd + acct-user/etcd + )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !dev-db/etcdctl" + +# Tests fail with this error: +# fatal error: checkptr: unsafe pointer conversion +RESTRICT="test" + +src_prepare() { + export GO_BUILD_FLAGS="-mod=vendor -v -x" + default + sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ + -i "${S}"/build || die + sed -e 's:\(for p in \)shellcheck :\1 :' \ + -e 's:^ gofmt \\$:\\:' \ + -e 's:^ govet \\$:\\:' \ + -e 's:^ govet_shadow \\$:\\:' \ + -i "${S}"/test || die + + sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \ + -e "s|go test |go test ${GO_BUILD_FLAGS} |" \ + -i ./test || die + + mkdir -p vendor/github.com/coreos || die + ln -s ../../.. vendor/github.com/coreos/etcd || die + + echo 'module go.etcd.io/etcd' > go.mod || die +} + +src_compile() { + ./build || die +} + +src_install() { + dobin bin/etcdctl + use doc && dodoc -r Documentation + if use server; then + insinto /etc/${PN} + doins "${FILESDIR}/${PN}.conf" + dobin bin/etcd + dodoc README.md + systemd_dounit "${FILESDIR}/${PN}.service" + systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + keepdir /var/lib/${PN} + fowners ${PN}:${PN} /var/lib/${PN} + fperms 0700 /var/lib/${PN} + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + fperms 755 /var/log/${PN} + fi +} + +src_test() { + ./test || die +} |