| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #!/usr/bin/env bash
- # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
- set -e
- # update Alpine with latest versions
- echo '@edge http://nl.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories
- echo '@community http://nl.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories
- apk update
- apk upgrade
- # install CA certificates
- apk add ca-certificates
- # install build tools
- apk add \
- build-base \
- coreutils \
- file \
- git \
- perl \
- automake \
- autoconf \
- cmake
- # install tool dependencies for building RocksDB static library
- apk add \
- curl \
- bash \
- wget \
- tar \
- openssl
- # install RocksDB dependencies
- apk add \
- snappy snappy-dev \
- zlib zlib-dev \
- bzip2 bzip2-dev \
- lz4 lz4-dev \
- zstd zstd-dev \
- linux-headers \
- jemalloc jemalloc-dev
- # install OpenJDK7
- apk add openjdk7 \
- && apk add java-cacerts \
- && rm /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts \
- && ln -s /etc/ssl/certs/java/cacerts /usr/lib/jvm/java-1.7-openjdk/jre/lib/security/cacerts
- # cleanup
- rm -rf /var/cache/apk/*
- # puts javac in the PATH
- export JAVA_HOME=/usr/lib/jvm/java-1.7-openjdk
- export PATH=/usr/lib/jvm/java-1.7-openjdk/bin:$PATH
- # gflags from source
- cd /tmp &&\
- git clone -b v2.0 --single-branch https://github.com/gflags/gflags.git &&\
- cd gflags &&\
- ./configure --prefix=/usr && make && make install &&\
- rm -rf /tmp/*
- # build rocksdb
- cd /rocksdb
- make jclean clean
- PORTABLE=1 make -j8 rocksdbjavastatic
- cp /rocksdb/java/target/librocksdbjni-* /rocksdb-build
- cp /rocksdb/java/target/rocksdbjni-* /rocksdb-build
|