# Copyright 2018 Red Hat Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
MAINTAINER zbyszek@in.waw.pl
RUN apt-get update && \
    apt-get install -y \
        python3-pip pkg-config wget \
        liblzma-dev \
        libzstd-dev \
        libcurl4-openssl-dev \
        libssl-dev \
        libudev-dev \
        zlib1g-dev \
        libacl1-dev \
        libfuse-dev \
        rsync \
        udev \
        && \
    pip3 install meson ninja
RUN git clone --depth 1 https://github.com/systemd/casync casync
WORKDIR casync
COPY build.sh $SRC/
