@@ -20,35 +20,74 @@ ENV NOTTY 1
2020ARG SKIP_VALGRIND_BUILD
2121ARG SKIP_PMDK_BUILD
2222
23- # Update the Apt cache and install basic tools
24- RUN pacman -Syu --noconfirm
25- RUN pacman -S --noconfirm \
23+ # Base development packages
24+ ARG BASE_DEPS="\
25+ cmake \
26+ gcc \
27+ git \
28+ make"
29+
30+ # Dependencies for compiling libpmemobj-cpp project
31+ ARG LIBPMEMOBJ_CPP_DEPS="\
32+ intel-tbb"
33+
34+ # ndctl's dependencies (optional; ndctl-devel & daxctl-devel may be used instead)
35+ ARG NDCTL_DEPS="\
36+ automake \
2637 asciidoc \
38+ bash-completion \
39+ pkg-config \
40+ xmlto"
41+
42+ # PMDK's dependencies (optional; libpmemobj-devel package may be used instead)
43+ ARG PMDK_DEPS="\
2744 autoconf \
2845 automake \
29- bash-completion \
30- clang \
31- cmake \
46+ gdb \
47+ python3 \
48+ which"
49+
50+ # pmem's Valgrind (optional; valgrind package may be used instead)
51+ ARG VALGRIND_DEPS="\
52+ autoconf \
53+ automake"
54+
55+ # Examples (optional)
56+ ARG EXAMPLES_DEPS="\
57+ sfml"
58+
59+ # Documentation (optional)
60+ ARG DOC_DEPS="\
3261 doxygen \
33- file \
34- gcc \
62+ graphviz"
63+
64+ # Tests (optional)
65+ ARG TESTS_DEPS="\
3566 gdb \
36- git \
37- graphviz \
38- sfml \
39- intel-tbb \
40- libunwind \
41- llvm \
42- make \
43- pandoc \
67+ libunwind"
68+
69+ # Misc for our builds/CI (optional)
70+ ARG MISC_DEPS="\
71+ clang \
72+ file \
4473 perl-text-diff \
4574 pkg-config \
46- ruby \
4775 sudo \
48- wget \
49- which \
50- whois \
51- xmlto
76+ whois"
77+
78+ # Update the Apt cache and install basic tools
79+ RUN pacman -Syu --noconfirm \
80+ && pacman -S --noconfirm \
81+ ${BASE_DEPS} \
82+ ${LIBPMEMOBJ_CPP_DEPS} \
83+ ${NDCTL_DEPS} \
84+ ${PMDK_DEPS} \
85+ ${VALGRIND_DEPS} \
86+ ${EXAMPLES_DEPS} \
87+ ${DOC_DEPS} \
88+ ${TESTS_DEPS} \
89+ ${MISC_DEPS} \
90+ && rm -rf /var/cache/pacman/pkg/*
5291
5392# Install libndctl
5493COPY install-libndctl.sh install-libndctl.sh
@@ -66,14 +105,11 @@ RUN ./install-pmdk.sh
66105ENV USER user
67106ENV USERPASS p1a2s3s4
68107ENV PFILE ./password
69- RUN useradd -m $USER
70- RUN echo $USERPASS > $PFILE
71- RUN echo $USERPASS >> $PFILE
72- RUN passwd $USER < $PFILE
73- RUN rm -f $PFILE
74- RUN sed -i 's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers
75- RUN gpasswd wheel -a $USER
108+ RUN useradd -m $USER \
109+ && echo $USERPASS > $PFILE \
110+ && echo $USERPASS >> $PFILE \
111+ && passwd $USER < $PFILE \
112+ && rm -f $PFILE \
113+ && sed -i 's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' /etc/sudoers \
114+ && gpasswd wheel -a $USER
76115USER $USER
77-
78- # Clean the cache of packages
79- RUN rm -rf /var/cache/pacman/pkg/*
0 commit comments