FROM uhub.ucloud.cn/pingcap/agent:latest
MAINTAINER tabokie <taoxinye@pingcap.com>
RUN yum install gflags-devel snappy-devel zlib-devel bzip2-devel cmake \
                gcc-c++  libstdc++-devel git make which libatomic -y && \
    yum groupinstall 'Development Tools' -y
# Update cmake
RUN cd /tmp && wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz && \
    yum remove cmake -y && \
    tar xzvf cmake-3.3.2.tar.gz && cd cmake-3.3.2 && ./bootstrap && \
    make -j4 && make install
# Update gflags
RUN cd /tmp && git clone https://github.com/gflags/gflags.git && \
    cd gflags && mkdir build && cd build && cmake .. && make -j8 && make install
# Install Titan
RUN cd /tmp && \
    git clone -b tikv-3.0 https://github.com/pingcap/titan.git && \
    cd titan && \
    mkdir -p build && cd build && \
    cmake .. -DROCKSDB_GIT_REPO=https://github.com/pingcap/rocksdb.git -DROCKSDB_GIT_BRANCH=tikv-3.0 -DWITH_SNAPPY=ON -DCMAKE_BUILD_TYPE=Release && \
    make titandb_stress -j8 && \
    mkdir -p /usr/local/titandb/bin && cp titandb_stress /usr/local/titandb/bin/ && \
    rm -rf /tmp/*
