Repo setup first commit
This commit is contained in:
9 files changed
+811
No files matched your search
@@ -0,0 +1,88 @@
|
||||
FROM ubuntu:24.04
|
||||
|
||||
LABEL maintainer="legatus-team"
|
||||
LABEL description="Ubuntu 24.04 build environment for Legatus LTS DEB builds"
|
||||
|
||||
# Prevent interactive prompts during package installation
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV TZ=Europe/Berlin
|
||||
|
||||
# Install base build dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
cmake \
|
||||
ninja-build \
|
||||
git \
|
||||
curl \
|
||||
wget \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
libgl1-mesa-dev \
|
||||
libglu1-mesa-dev \
|
||||
libxcb-cursor0 \
|
||||
libxcb-icccm4 \
|
||||
libxcb-image0 \
|
||||
libxcb-keysyms1 \
|
||||
libxcb-randr0 \
|
||||
libxcb-render-util0 \
|
||||
libxcb-shape0 \
|
||||
libxcb-xfixes0 \
|
||||
libxcb-xinerama0 \
|
||||
libxcb-xkb1 \
|
||||
libxkbcommon-x11-0 \
|
||||
libdbus-1-3 \
|
||||
libfontconfig1 \
|
||||
libfreetype6 \
|
||||
libharfbuzz0b \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
lsb-release \
|
||||
software-properties-common \
|
||||
pkg-config \
|
||||
libudev-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Qt6 from host mount or pre-installed location
|
||||
# Qt6 is NOT installed in this image due to licensing/download requirements
|
||||
# Mount Qt6 installation at runtime:
|
||||
# docker run -v /opt/Qt:/opt/Qt -e CMAKE_PREFIX_PATH=/opt/Qt/6.8.2/gcc_64/lib/cmake ...
|
||||
# See README-ubuntu-docker.md for installation options
|
||||
|
||||
# Install additional development libraries (common dependencies)
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libboost-all-dev \
|
||||
libjson-glib-dev \
|
||||
libgeographic-dev \
|
||||
libpq-dev \
|
||||
libssl-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libxml2-dev \
|
||||
libxslt1-dev \
|
||||
zlib1g-dev \
|
||||
libbz2-dev \
|
||||
liblzma-dev \
|
||||
libzstd-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install clang-tidy and LLVM tools for code quality checks
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
clang-tidy \
|
||||
clang-format \
|
||||
clang-tools \
|
||||
llvm \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Set up rpmbuild directory structure (for compatibility with existing scripts)
|
||||
RUN mkdir -p /home/builder/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} && \
|
||||
echo "%_topdir /home/builder/rpmbuild" > /home/builder/.rpmmacros
|
||||
|
||||
# Create non-root builder user
|
||||
RUN useradd -m -u 1000 builder && \
|
||||
chown -R builder:builder /home/builder
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /workspace
|
||||
|
||||
# Default command
|
||||
CMD ["/bin/bash"]
|
||||
Reference in new issue
Block a user