39 строки
975 B
Bash
Executable File
39 строки
975 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Build librdkafka on Alpine.
|
|
#
|
|
|
|
set -x
|
|
|
|
if [ "$1" = "--in-docker" ]; then
|
|
# Runs in docker, performs the actual build.
|
|
shift
|
|
|
|
apk add bash curl gcc g++ make musl-dev linux-headers bsd-compat-headers git python3 perl patch
|
|
|
|
git clone /v /librdkafka
|
|
|
|
cd /librdkafka
|
|
./configure --install-deps --disable-gssapi --disable-lz4-ext --enable-static $*
|
|
make -j
|
|
examples/rdkafka_example -X builtin.features
|
|
CI=true make -C tests run_local_quick
|
|
|
|
# Create a tarball in artifacts/
|
|
cd src
|
|
ldd librdkafka.so.1
|
|
tar cvzf /v/artifacts/alpine-librdkafka.tgz librdkafka.so.1 librdkafka*.a rdkafka-static.pc
|
|
cd ../..
|
|
|
|
else
|
|
# Runs on the host, simply spins up the in-docker build.
|
|
if [ ! -f configure.self ]; then
|
|
echo "Must be run from the top-level librdkafka dir"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p artifacts
|
|
|
|
exec docker run -v $PWD:/v alpine:3.12 /v/packaging/alpine/$(basename $0) --in-docker $*
|
|
fi
|