This repository was archived by the owner on Nov 4, 2024. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: BSD-3-Clause
2+ # Copyright 2016-2021, Intel Corporation
3+
4+ #
5+ # Dockerfile - Base image for PMDK related projects.
6+
7+ # Pull base image
8+ FROM registry.fedoraproject.org/fedora:33
9+ MAINTAINER TBD
10+
11+ # Set required environment variables
12+ ENV OS fedora
13+ ENV OS_VER 33
14+ ENV PACKAGE_MANAGER rpm
15+ ENV NOTTY 1
16+
17+ # Base development packages
18+ ARG BASE_DEPS="\
19+ cmake \
20+ gcc \
21+ gcc-c++ \
22+ git \
23+ make"
24+
25+ # PMDK's dependencies (optional; libpmemobj-devel package may be used instead)
26+ ARG PMDK_DEPS="\
27+ autoconf \
28+ automake \
29+ daxctl-devel \
30+ man \
31+ ndctl-devel \
32+ python3 \
33+ rpm-build \
34+ rpm-build-libs \
35+ rpmdevtools \
36+ which"
37+
38+ # pmem's Valgrind (optional; valgrind-devel may be used instead)
39+ ARG VALGRIND_DEPS="\
40+ autoconf \
41+ automake"
42+
43+ # Documentation (optional)
44+ ARG DOC_DEPS="\
45+ doxygen \
46+ pandoc "
47+
48+ # Tests (optional)
49+ # NOTE: glibc is installed as a separate command; see below
50+ ARG TESTS_DEPS="\
51+ gdb \
52+ libunwind-devel"
53+
54+ # Misc for our builds/CI (optional)
55+ ARG MISC_DEPS="\
56+ clang \
57+ hub \
58+ perl-Text-Diff \
59+ pkgconf \
60+ sudo"
61+
62+ # Coverity
63+ ENV COVERITY_DEPS "\
64+ wget"
65+
66+ # Update packages and install basic tools
67+ RUN dnf update -y \
68+ && dnf install -y \
69+ ${BASE_DEPS} \
70+ ${PMDK_DEPS} \
71+ ${VALGRIND_DEPS} \
72+ ${DOC_DEPS} \
73+ ${TESTS_DEPS} \
74+ ${MISC_DEPS} \
75+ ${COVERITY_DEPS} \
76+ && dnf debuginfo-install -y glibc \
77+ && dnf clean all
78+
79+ # Install valgrind
80+ COPY install-valgrind.sh install-valgrind.sh
81+ RUN ./install-valgrind.sh
82+
83+ # Add user
84+ ENV USER user
85+ ENV USERPASS pass
86+ RUN useradd -m $USER \
87+ && echo "$USER:$USERPASS" | chpasswd \
88+ && gpasswd wheel -a $USER
89+ USER $USER
Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: BSD-3-Clause
2+ # Copyright 2016-2021, Intel Corporation
3+
4+ #
5+ # Dockerfile - Base image for PMDK related projects.
6+
7+ # Pull base image
8+ FROM registry.fedoraproject.org/fedora:34
9+ MAINTAINER TBD
10+
11+ # Set required environment variables
12+ ENV OS fedora
13+ ENV OS_VER 34
14+ ENV PACKAGE_MANAGER rpm
15+ ENV NOTTY 1
16+
17+ # Base development packages
18+ ARG BASE_DEPS="\
19+ cmake \
20+ gcc \
21+ gcc-c++ \
22+ git \
23+ make"
24+
25+ # PMDK's dependencies (optional; libpmemobj-devel package may be used instead)
26+ ARG PMDK_DEPS="\
27+ autoconf \
28+ automake \
29+ daxctl-devel \
30+ man \
31+ ndctl-devel \
32+ python3 \
33+ rpm-build \
34+ rpm-build-libs \
35+ rpmdevtools \
36+ which"
37+
38+ # pmem's Valgrind (optional; valgrind-devel may be used instead)
39+ ARG VALGRIND_DEPS="\
40+ autoconf \
41+ automake"
42+
43+ # Documentation (optional)
44+ ARG DOC_DEPS="\
45+ doxygen \
46+ pandoc "
47+
48+ # Tests (optional)
49+ # NOTE: glibc is installed as a separate command; see below
50+ ARG TESTS_DEPS="\
51+ gdb \
52+ libunwind-devel"
53+
54+ # Misc for our builds/CI (optional)
55+ ARG MISC_DEPS="\
56+ clang \
57+ hub \
58+ perl-Text-Diff \
59+ pkgconf \
60+ sudo"
61+
62+ # Coverity
63+ ENV COVERITY_DEPS "\
64+ wget"
65+
66+ # Update packages and install basic tools
67+ RUN dnf update -y \
68+ && dnf install -y \
69+ ${BASE_DEPS} \
70+ ${PMDK_DEPS} \
71+ ${VALGRIND_DEPS} \
72+ ${DOC_DEPS} \
73+ ${TESTS_DEPS} \
74+ ${MISC_DEPS} \
75+ ${COVERITY_DEPS} \
76+ && dnf debuginfo-install -y glibc \
77+ && dnf clean all
78+
79+ # Install valgrind
80+ COPY install-valgrind.sh install-valgrind.sh
81+ RUN ./install-valgrind.sh
82+
83+ # Add user
84+ ENV USER user
85+ ENV USERPASS pass
86+ RUN useradd -m $USER \
87+ && echo "$USER:$USERPASS" | chpasswd \
88+ && gpasswd wheel -a $USER
89+ USER $USER
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+ # SPDX-License-Identifier: BSD-3-Clause
3+ # Copyright 2016-2021, Intel Corporation
4+
5+ #
6+ # install-valgrind.sh - installs valgrind with pmemcheck
7+ #
8+
9+ set -e
10+
11+ if [ " ${SKIP_VALGRIND_BUILD} " ]; then
12+ echo " Variable 'SKIP_VALGRIND_BUILD' is set; skipping building valgrind (pmem's fork)"
13+ exit
14+ fi
15+
16+ git clone https://github.com/pmem/valgrind.git
17+ cd valgrind
18+ # pmem-3.17: Merge pull request #85 from lukaszstolarczuk/pmem-3.17; 16.08.2021
19+ git checkout ff6f0f125f8e1b1a2a8615f2b14efeaf135ad01b
20+
21+ ./autogen.sh
22+ ./configure --prefix=/usr
23+ make -j$( nproc)
24+ sudo make -j$( nproc) install
25+ cd ..
26+ rm -rf valgrind
Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: BSD-3-Clause
2+ # Copyright 2016-2021, Intel Corporation
3+
4+ #
5+ # Dockerfile - Base image for PMDK related projects.
6+
7+ # Pull base image
8+ FROM registry.hub.docker.com/library/ubuntu:20.04
9+ MAINTAINER TBD
10+
11+ # Set required environment variables
12+ ENV OS ubuntu
13+ ENV OS_VER 20.04
14+ ENV PACKAGE_MANAGER deb
15+ ENV NOTTY 1
16+
17+ # Base development packages
18+ ARG BASE_DEPS="\
19+ build-essential \
20+ ca-certificates \
21+ cmake \
22+ git"
23+
24+ # PMDK's dependencies (optional; libpmemobj-devel package may be used instead)
25+ ARG PMDK_DEPS="\
26+ autoconf \
27+ automake \
28+ debhelper \
29+ devscripts \
30+ libdaxctl-dev \
31+ libndctl-dev \
32+ man \
33+ python3"
34+
35+ # pmem's Valgrind (optional; valgrind-devel may be used instead)
36+ ARG VALGRIND_DEPS="\
37+ autoconf \
38+ automake"
39+
40+ # Documentation (optional)
41+ ARG DOC_DEPS="\
42+ doxygen \
43+ pandoc"
44+
45+ # Tests (optional)
46+ # NOTE: glibc is installed as a separate command; see below
47+ ARG TESTS_DEPS="\
48+ gdb \
49+ libunwind-dev"
50+
51+ # Misc for our builds/CI (optional)
52+ ARG MISC_DEPS="\
53+ clang \
54+ libtext-diff-perl \
55+ pkgconf \
56+ sudo \
57+ whois"
58+
59+ # Coverity
60+ ENV COVERITY_DEPS "\
61+ curl \
62+ ruby \
63+ wget"
64+
65+ ENV DEBIAN_FRONTEND noninteractive
66+
67+ # Update packages and install basic tools
68+ RUN apt-get update \
69+ && apt-get install -y --no-install-recommends \
70+ ${BASE_DEPS} \
71+ ${PMDK_DEPS} \
72+ ${VALGRIND_DEPS} \
73+ ${DOC_DEPS} \
74+ ${TESTS_DEPS} \
75+ ${MISC_DEPS} \
76+ ${COVERITY_DEPS} \
77+ && rm -rf /var/lib/apt/lists/* \
78+ && apt-get clean all
79+
80+ # Install valgrind
81+ COPY install-valgrind.sh install-valgrind.sh
82+ RUN ./install-valgrind.sh
83+
84+ # Add user
85+ ENV USER user
86+ ENV USERPASS pass
87+ RUN useradd -m $USER -g sudo -p `mkpasswd $USERPASS`
88+ USER $USER
Original file line number Diff line number Diff line change 1+ # SPDX-License-Identifier: BSD-3-Clause
2+ # Copyright 2016-2021, Intel Corporation
3+
4+ #
5+ # Dockerfile - Base image for PMDK related projects.
6+
7+ # Pull base image
8+ FROM registry.hub.docker.com/library/ubuntu:21.04
9+ MAINTAINER TBD
10+
11+ # Set required environment variables
12+ ENV OS ubuntu
13+ ENV OS_VER 21.04
14+ ENV PACKAGE_MANAGER deb
15+ ENV NOTTY 1
16+
17+ # Base development packages
18+ ARG BASE_DEPS="\
19+ build-essential \
20+ ca-certificates \
21+ cmake \
22+ git"
23+
24+ # PMDK's dependencies (optional; libpmemobj-devel package may be used instead)
25+ ARG PMDK_DEPS="\
26+ autoconf \
27+ automake \
28+ debhelper \
29+ devscripts \
30+ libdaxctl-dev \
31+ libndctl-dev \
32+ man \
33+ python3"
34+
35+ # pmem's Valgrind (optional; valgrind-devel may be used instead)
36+ ARG VALGRIND_DEPS="\
37+ autoconf \
38+ automake"
39+
40+ # Documentation (optional)
41+ ARG DOC_DEPS="\
42+ doxygen \
43+ pandoc "
44+
45+ # Tests (optional)
46+ # NOTE: glibc is installed as a separate command; see below
47+ ARG TESTS_DEPS="\
48+ gdb \
49+ libunwind-dev"
50+
51+ # Misc for our builds/CI (optional)
52+ ARG MISC_DEPS="\
53+ clang \
54+ libtext-diff-perl \
55+ pkgconf \
56+ sudo \
57+ whois"
58+
59+ # Coverity
60+ ENV COVERITY_DEPS "\
61+ curl \
62+ ruby \
63+ wget"
64+
65+ ENV DEBIAN_FRONTEND noninteractive
66+
67+ # Update packages and install basic tools
68+ RUN apt-get update \
69+ && apt-get install -y --no-install-recommends \
70+ ${BASE_DEPS} \
71+ ${PMDK_DEPS} \
72+ ${VALGRIND_DEPS} \
73+ ${DOC_DEPS} \
74+ ${TESTS_DEPS} \
75+ ${MISC_DEPS} \
76+ ${COVERITY_DEPS} \
77+ && rm -rf /var/lib/apt/lists/* \
78+ && apt-get clean all
79+
80+ # Install valgrind
81+ COPY install-valgrind.sh install-valgrind.sh
82+ RUN ./install-valgrind.sh
83+
84+ # Add user
85+ ENV USER user
86+ ENV USERPASS pass
87+ RUN useradd -m $USER -g sudo -p `mkpasswd $USERPASS`
88+ USER $USER
You can’t perform that action at this time.
0 commit comments