chore: dockerfile for fedora rawhide

This commit is contained in:
Marcus Holland-Moritz 2024-01-24 14:26:58 +01:00
parent 39d87c9c98
commit b5fc39c496
2 changed files with 62 additions and 0 deletions

48
.docker/Dockerfile.fedora Normal file
View File

@ -0,0 +1,48 @@
# syntax=docker/dockerfile:1
ARG ARCH=amd64
FROM $ARCH/fedora:rawhide
RUN dnf update -y
RUN dnf install -y \
gcc \
g++ \
clang \
man \
pip \
git \
vim \
zstd \
ccache \
ninja-build \
cmake \
make \
bison \
flex \
rubygem-ronn \
fuse \
fuse3 \
fuse-devel \
fuse3-devel \
pkg-config \
binutils-devel \
libarchive-devel \
google-benchmark \
boost-devel \
brotli-devel \
libevent-devel \
openssl-devel \
fmt-devel \
date-devel \
jemalloc-devel \
double-conversion-devel \
lz4-devel \
xz-devel \
libunwind-devel \
libdwarf-devel \
glog-devel \
flac-devel \
utf8cpp-devel \
bash-completion
RUN pip install mistletoe
RUN useradd -g users -u 1000 -m mhx
USER mhx
ENTRYPOINT /bin/bash

View File

@ -1,4 +1,5 @@
IMAGE="dwarfs-buildenv" IMAGE="dwarfs-buildenv"
IMAGE_FEDORA="dwarfs-buildenv-fedora"
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
NPROC:=$(shell nproc) NPROC:=$(shell nproc)
@ -18,3 +19,16 @@ run:
--mount type=bind,source="$(ROOT_DIR)"/../@docker-build,target=/home/ubuntu/build \ --mount type=bind,source="$(ROOT_DIR)"/../@docker-build,target=/home/ubuntu/build \
--env CCACHE_DIR=/ccache --env CTEST_PARALLEL_LEVEL=$(NPROC) \ --env CCACHE_DIR=/ccache --env CTEST_PARALLEL_LEVEL=$(NPROC) \
--entrypoint /bin/bash $(IMAGE) --entrypoint /bin/bash $(IMAGE)
build_fedora:
docker build -f Dockerfile.fedora -t $(IMAGE_FEDORA) .
run_fedora:
@docker run -it --rm \
--cap-add SYS_ADMIN --device /dev/fuse --privileged \
--mount type=bind,source="$(ROOT_DIR)"/..,target=/workspace,readonly \
--mount type=bind,source="$(ROOT_DIR)"/../@docker-ccache,target=/ccache \
--mount type=bind,source="$(ROOT_DIR)"/../@docker-home,target=/home/mhx \
--mount type=bind,source="$(ROOT_DIR)"/../@docker-build,target=/home/mhx/build \
--env CCACHE_DIR=/ccache --env CTEST_PARALLEL_LEVEL=$(NPROC) \
--entrypoint /bin/bash $(IMAGE_FEDORA)