| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #!/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
- go2aci() {
- case "${1}" in
- "arm64") echo "aarch64";;
- *) echo "${1}";;
- esac
- }
- 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)"
- ACI_ARCH=$(go2aci "${GOARCH}")
- 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 annotation add appc.io/executor/supports-systemd-notify true
- 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
- acbuild --debug label add arch "${ACI_ARCH}"
- # 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-${ACI_ARCH}.aci"
|