mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00

And uses latest acbuild (v0.4.0, --to-dir flag is deprecated). For https://github.com/coreos/etcd/issues/6057.
74 lines
1.7 KiB
Bash
Executable File
74 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
BINARYDIR=${BINARYDIR:-bin}
|
|
BUILDDIR=${BUILDDIR:-bin}
|
|
|
|
# A non-installed acbuild can be used, for example:
|
|
# ACBUILD=../../appc/acbuild/bin/acbuild
|
|
ACBUILD=${ACBUILD:-acbuild}
|
|
|
|
VERSION=$1
|
|
|
|
if ! command -v $ACBUILD >/dev/null; then
|
|
echo "acbuild ($ACBUILD) is not executable"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -x $BINARYDIR/etcd ] ; then
|
|
echo "$BINARYDIR/etcd not found. Is it compiled?"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$VERSION" ] ; then
|
|
echo "Usage: scripts/build-aci VERSION"
|
|
exit 1
|
|
fi
|
|
|
|
acbuild --debug begin
|
|
|
|
TMPHOSTS="$(mktemp)"
|
|
|
|
acbuildEnd() {
|
|
rm "$TMPHOSTS"
|
|
export EXIT=$?
|
|
acbuild --debug end && exit $EXIT
|
|
}
|
|
trap acbuildEnd EXIT
|
|
|
|
cat <<DF > $TMPHOSTS
|
|
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
|
|
DF
|
|
|
|
acbuild --debug set-name coreos.com/etcd
|
|
|
|
acbuild --debug copy $BINARYDIR/etcd /usr/local/bin/etcd
|
|
acbuild --debug copy $BINARYDIR/etcdctl /usr/local/bin/etcdctl
|
|
|
|
acbuild --debug copy README.md README.md
|
|
acbuild --debug copy etcdctl/README.md README-etcdctl.md
|
|
acbuild --debug copy etcdctl/READMEv2.md READMEv2-etcdctl.md
|
|
acbuild --debug copy-to-dir Documentation .
|
|
|
|
acbuild --debug environment add ETCD_DATA_DIR /var/lib/etcd
|
|
acbuild --debug mount add data-dir /var/lib/etcd
|
|
|
|
acbuild --debug label add version "$VERSION"
|
|
|
|
acbuild --debug set-exec -- /usr/local/bin/etcd
|
|
|
|
acbuild --debug port add client tcp 2379
|
|
acbuild --debug port add peer tcp 2380
|
|
|
|
acbuild --debug copy "$TMPHOSTS" /etc/hosts
|
|
|
|
# mkdir default data-dir
|
|
mkdir -p .acbuild/currentaci/rootfs/var/lib/etcd
|
|
|
|
# symlinks for backward-compatibility
|
|
ln -s ./usr/local/bin/etcd .acbuild/currentaci/rootfs/etcd
|
|
ln -s ./usr/local/bin/etcdctl .acbuild/currentaci/rootfs/etcdctl
|
|
|
|
acbuild --debug write --overwrite $BUILDDIR/etcd-${1}-linux-amd64.aci
|