# Copyright (C) 2019 Intel Corporation.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright notice(s),
# this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice(s),
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Pull base image
FROM fedora:31
LABEL maintainer="katarzyna.wasiuta@intel.com"
# Update the dnf cache and install basic tools
RUN dnf update -y && dnf install -y \
asciidoctor \
automake \
bash-completion \
ca-certificates \
daxctl-devel \
devscripts \
expect \
g++ \
git \
json-c-devel \
keyutils-libs-devel \
kmod-devel \
libtool \
libudev-devel \
libuuid-devel \
numactl \
numactl-devel \
pkgconfig \
python-pip \
rpmdevtools \
sudo \
systemd \
which \
whois \
&& dnf clean all
# Install packages required by python tests
RUN pip install wheel
RUN pip install setuptools==3.4.1
RUN pip install pytest==3.9.2
# Add user
ENV USER memkinduser
ENV USERPASS memkindpass
RUN useradd -m $USER -p `mkpasswd $USERPASS`
RUN gpasswd wheel -a $USER
RUN echo '%wheel ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# Create directory for memkind repository
WORKDIR /home/$USER/memkind
# Allow user to create files in the home directory
RUN chown -R $USER:wheel /home/$USER
# Change user to $USER
USER $USER