63b6601bdd
- Change License from Apache2 to MIT. - Remove Copyright from individual recipes - Move License to README.md - Add meta-stx Copyright to README.md Signed-off-by: Babak Sarashki <Babak.SarAshki@windriver.com>
94 lines
2.9 KiB
BlitzBasic
94 lines
2.9 KiB
BlitzBasic
|
|
SUMMARY = "A distributed key-value store for shared config and service discovery"
|
|
DESCRIPTION = " \
|
|
etcd is a distributed reliable key-value store for the most critical data \
|
|
of a distributed system, with a focus on being: \
|
|
\
|
|
* Simple: well-defined, user-facing API (gRPC) \
|
|
* Secure: automatic TLS with optional client cert authentication \
|
|
* Fast: benchmarked 10,000 writes/sec \
|
|
* Reliable: properly distributed using Raft \
|
|
"
|
|
HOMEPAGE = "https://github.com/coreos/etcd"
|
|
LICENSE = "Apache-2.0"
|
|
LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
|
|
|
SRC_URI = " \
|
|
git://github.com/coreos/etcd.git;branch=release-3.3 \
|
|
"
|
|
|
|
SRCREV = "94745a4eed0425653b3b4275a208d38babceeaec"
|
|
PV = "3.3.15+git${SRCPV}"
|
|
|
|
S = "${WORKDIR}/git"
|
|
|
|
inherit go goarch systemd useradd
|
|
|
|
USERADD_PACKAGES = "${PN}"
|
|
USERADD_PARAM_${PN} = " \
|
|
--system --shell ${sbindir}/nologin --comment 'etcd user' \
|
|
--home-dir ${localstatedir}/lib --groups etcd --gid etcd etcd \
|
|
"
|
|
GROUPADD_PARAM_${PN} = "etcd"
|
|
|
|
TARGET_CC_ARCH += "${LDFLAGS}"
|
|
GO_IMPORT = "import"
|
|
|
|
do_compile() {
|
|
export GOARCH="${TARGET_GOARCH}"
|
|
|
|
# Setup vendor directory so that it can be used in GOPATH.
|
|
#
|
|
# Go looks in a src directory under any directory in GOPATH but
|
|
# uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
|
|
#
|
|
# We also need to link in the ipallocator directory as that is not under
|
|
# a src directory.
|
|
export GOPATH="${B}/src/import/"
|
|
mkdir -p ${B}/src/import/src/github.com/coreos/
|
|
ln -s ${S}/src/import ${B}/src/import/src/github.com/coreos/etcd
|
|
|
|
# Pass the needed cflags/ldflags so that cgo
|
|
# can find the needed headers files and libraries
|
|
export CGO_ENABLED="1"
|
|
export CFLAGS=""
|
|
export LDFLAGS=""
|
|
export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
|
|
export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
|
|
|
|
if [ "${TARGET_ARCH}" = "x86_64" ]; then
|
|
export GOARCH="amd64"
|
|
elif [ "${TARGET_ARCH}" = "i586" ]; then
|
|
export GOARCH="386"
|
|
fi
|
|
|
|
./src/import/build
|
|
}
|
|
|
|
do_install() {
|
|
install -d ${D}/${bindir}
|
|
install -m 0755 ${B}/bin/etcd ${D}/${bindir}/etcd
|
|
install -m 0755 ${B}/bin/etcdctl ${D}/${bindir}/etcdctl
|
|
|
|
install -d ${D}${systemd_system_unitdir}
|
|
install -m 0644 ${S}/src/import/contrib/systemd/etcd.service ${D}${systemd_system_unitdir}
|
|
|
|
# etcd state is in /var/lib/etcd
|
|
install -d ${D}${sysconfdir}/tmpfiles.d
|
|
echo "d ${localstatedir}/lib/${BPN} 0755 etcd etcd -" \
|
|
> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
|
|
|
|
# we aren't creating a user, so we need to comment out this line
|
|
sed -i '/User/s/^/#/' ${D}${systemd_unitdir}/system/etcd.service
|
|
}
|
|
|
|
deltask compile_ptest_base
|
|
|
|
RDEPENDS_${PN} = "bash"
|
|
|
|
# During packaging etcd gets the warning "no GNU hash in elf binary"
|
|
# This issue occurs due to compiling without ldflags, but a
|
|
# solution has yet to be found. For now we ignore this error with
|
|
# the line below.
|
|
#INSANE_SKIP_${PN} = "ldflags"
|