11
2- FROM ubuntu:mantic as netremote-build
2+ FROM ubuntu:noble as netremote-build
33
44# Set arguments used only in this Dockerfile.
5- ARG BUILD_DATE="2024-02-28T21:09:49 +00:00"
5+ ARG BUILD_DATE="2024-06-30T02:17:53 +00:00"
66ARG DEBIAN_FRONTEND=noninteractive
77ARG APT_ARGS_COMMON="-yqq --no-install-recommends"
88
9- LABEL maintainer= "Andrew Beltrano (anbeltra @microsoft.com) "
9+ LABEL org.opencontainers.image.authors = "netremoteowners @microsoft.com"
1010LABEL org.label-schema.build-date = "${BUILD_DATE}"
11- LABEL org.label-schema.name = "Microsoft NetRemote build environment"
11+ LABEL org.label-schema.name = "NetRemote build environment"
1212LABEL org.label-schema.description = "Build environment for the NetRemote project"
1313LABEL org.label-schema.vendor = "Microsoft"
1414LABEL org.label-schema.version = "1.0.0"
@@ -22,13 +22,13 @@ LABEL org.label-schema.schema-version = "1.0"
2222# sudo apt -y update && sudo apt -y upgrade
2323#
2424# 2. Install core build tools and dependencies:
25- # sudo apt install -y --no-install-recommends autoconf automake autopoint build-essential ca-certificates cmake curl dotnet7 git gnupg libltdl-dev libmount-dev libtool linux-libc-dev ninja-build pkg-config python3-jinja2 tar unzip zip
25+ # sudo apt install -y --no-install-recommends autoconf automake autopoint build-essential ca-certificates cmake curl dotnet7 git gnupg libltdl-dev libmount-dev libtool linux-libc-dev libstdc++-14-dev ninja-build pkg-config python3-jinja2 tar unzip zip
2626#
27- # 3. Install complete LLVM 17 + clang 17 toolchain:
28- # sudo apt install -y --no-install-recommends libllvm-17 -ocaml-dev libllvm17 llvm-17 llvm-17 -dev llvm-17 -doc llvm-17 -examples llvm-17 -runtime clang-17 clang-tools-17 clang-17 -doc libclang-common-17 -dev libclang-17 -dev libclang1-17 clang-format-17 python3-clang-17 clangd-17 clang-tidy-17 libclang-rt-17 -dev libpolly-17 -dev libfuzzer-17 -dev lldb-17 lld-17 libc++-17 -dev libc++abi-17 -dev libomp-17 -dev libclc-17 -dev libunwind-17 -dev libmlir-17 -dev mlir-17 -tools libbolt-17 -dev bolt-17 flang-17 libclang-rt-17 -dev-wasm32 libclang-rt-17 -dev-wasm64 libc++-17 -dev-wasm32 libc++abi-17 -dev-wasm32 libclang-rt-17 -dev-wasm32 libclang-rt-17 -dev-wasm64
27+ # 3. Install complete LLVM 18 + clang toolchain:
28+ # sudo apt install -y --no-install-recommends libllvm-18 -ocaml-dev libllvm18 llvm-18 llvm-18 -dev llvm-18 -doc llvm-18 -examples llvm-18 -runtime clang-18 clang-tools-18 clang-18 -doc libclang-common-18 -dev libclang-18 -dev libclang1-18 clang-format-18 python3-clang-18 clangd-18 clang-tidy-18 libclang-rt-18 -dev libpolly-18 -dev libfuzzer-18 -dev lldb-18 libc++-18 -dev libc++abi-18 -dev libomp-18 -dev libclc-18 -dev libunwind-18 -dev libmlir-18 -dev mlir-18 -tools libbolt-18 -dev bolt-18 flang-18 libclang-rt-18 -dev-wasm32 libclang-rt-18 -dev-wasm64 libc++-18 -dev-wasm32 libc++abi-18 -dev-wasm32 libclang-rt-18 -dev-wasm32 libclang-rt-18 -dev-wasm64 libllvmlibc-18-dev
2929#
3030# 4. Install other development dependencies and helpful tools:
31- # sudo apt install -y --no-install-recommends bc bison dwarves flex libelf-dev dos2unix file gnupg2 iproute2 mtools neofetch rsync ssh sudo emacs gdb kmod nano policycoreutils-python-utils python-is-python3 vim
31+ # sudo apt install -y -qq - -no-install-recommends bc bison dwarves flex libelf-dev dos2unix file gnupg2 iproute2 mtools neofetch rsync ssh sudo emacs gdb kmod nano policycoreutils-python-utils python-is-python3 vim
3232#
3333# 5. Install hostapd development dependencies and tools:
3434# sudo apt install -y libnl-3-dev libssl-dev libnl-genl-3-dev libnl-3-dev libdbus-c++-dev libnl-route-3-dev flex bison dwarves libelf-dev bc iw debconf-utils
@@ -47,59 +47,59 @@ RUN apt-get $APT_ARGS_COMMON update && \
4747 ca-certificates \
4848 cmake \
4949 curl \
50- dotnet7 \
5150 git \
5251 gnupg \
5352 libltdl-dev \
5453 libmount-dev \
5554 libtool \
5655 linux-libc-dev \
56+ libstdc++-14-dev \
5757 ninja-build \
5858 pkg-config \
5959 python3-jinja2 \
6060 tar \
6161 unzip \
6262 zip \
63- # LLVM + Clang toolchain.
64- # libllvm-17 -ocaml-dev libllvm17 llvm-17 llvm-17 -dev llvm-17 -doc llvm-17 -examples llvm-17 -runtime clang-17 clang-tools-17 clang-17 -doc libclang-common-17 -dev libclang-17 -dev libclang1-17 clang-format-17 python3-clang-17 clangd-17 clang-tidy-17 libclang-rt-17 -dev libpolly-17 -dev libfuzzer-17 -dev lldb-17 lld-17 libc++-17 -dev libc++abi-17 -dev libomp-17 -dev libclc-17 -dev libunwind-17 -dev libmlir-17 -dev mlir-17 -tools libbolt-17 -dev bolt-17 flang-17 libclang-rt-17 -dev-wasm32 libclang-rt-17 -dev-wasm64 libc++-17 -dev-wasm32 libc++abi-17 -dev-wasm32 libclang-rt-17 -dev-wasm32 libclang-rt-17 -dev-wasm64
65- bolt-17 \
66- clang-17 \
67- clang-17-doc \
68- clang-format-17 \
69- clang-tidy-17 \
70- clang-tools-17 \
71- clangd-17 \
72- flang-17 \
73- libbolt-17-dev \
74- libc++-17-dev \
75- libc++-17-dev-wasm32 \
76- libc++abi-17 -dev \
77- libc++abi-17-dev-wasm32 \
78- libclang-17-dev \
79- libclang-common-17-dev \
80- libclang-rt-17-dev \
81- libclang-rt-17-dev-wasm32 \
82- libclang-rt-17 -dev-wasm32 \
83- libclang-rt-17- dev-wasm64 \
84- libclang-rt-17- dev-wasm64 \
85- libclang1-17 \
86- libclc-17 -dev \
87- libfuzzer-17 -dev \
88- libllvm-17-ocaml -dev \
89- libllvm17 \
90- libmlir-17 -dev \
91- libomp-17 -dev \
92- libpolly-17-dev \
93- libunwind-17 -dev \
94- lld-17 \
95- lldb-17 \
96- llvm-17 \
97- llvm-17- dev \
98- llvm-17-doc \
99- llvm-17-examples \
100- llvm-17-runtime \
101- mlir-17-tools \
102- python3-clang-17 \
63+ # LLVM + Clang 18 toolchain.
64+ # libllvm-18 -ocaml-dev libllvm18 llvm-18 llvm-18 -dev llvm-18 -doc llvm-18 -examples llvm-18 -runtime clang-18 clang-tools-18 clang-18 -doc libclang-common-18 -dev libclang-18 -dev libclang1-18 clang-format-18 python3-clang-18 clangd-18 clang-tidy-18 libclang-rt-18 -dev libpolly-18 -dev libfuzzer-18 -dev lldb-18 libc++-18 -dev libc++abi-18 -dev libomp-18 -dev libclc-18 -dev libunwind-18 -dev libmlir-18 -dev mlir-18 -tools libbolt-18 -dev bolt-18 flang-18 libclang-rt-18 -dev-wasm32 libclang-rt-18 -dev-wasm64 libc++-18 -dev-wasm32 libc++abi-18 -dev-wasm32 libclang-rt-18 -dev-wasm32 libclang-rt-18 -dev-wasm64 libllvmlibc-18-dev
65+ libllvm-18-ocaml-dev \
66+ libllvm18 \
67+ llvm-18 \
68+ llvm-18-dev \
69+ llvm-18-doc \
70+ llvm-18-examples \
71+ llvm-18-runtime \
72+ clang-18 \
73+ clang-tools-18 \
74+ clang-18-doc \
75+ libclang-common-18-dev \
76+ libclang-18 -dev \
77+ libclang1-18 \
78+ clang-format-18 \
79+ python3-clang-18 \
80+ clangd-18 \
81+ clang-tidy-18 \
82+ libclang-rt-18 -dev \
83+ libpolly-18- dev \
84+ libfuzzer-18- dev \
85+ lldb-18 \
86+ libc++-18 -dev \
87+ libc++abi-18 -dev \
88+ libomp-18 -dev \
89+ libclc-18-dev \
90+ libunwind-18 -dev \
91+ libmlir-18 -dev \
92+ mlir-18-tools \
93+ libbolt-18 -dev \
94+ bolt-18 \
95+ flang-18 \
96+ libclang-rt-18-dev-wasm32 \
97+ libclang-rt-18- dev-wasm64 \
98+ libc++-18-dev-wasm32 \
99+ libc++abi-18-dev-wasm32 \
100+ libclang-rt-18-dev-wasm32 \
101+ libclang-rt-18-dev-wasm64 \
102+ libllvmlibc-18-dev \
103103 # hostapd build dependencies.
104104 # libnl-3-200-dbg libnl-3-dev libssl-dev libnl-genl-3-dev
105105 libnl-3-200-dbg \
@@ -128,7 +128,7 @@ RUN mkdir -p ${VCPKG_BINARY_CACHE}
128128# Obtain vcpkg, bootstrap it, and install dependencies.
129129COPY vcpkg.json .
130130
131- RUN git clone https://github.com/microsoft/vcpkg.git --depth 1 && \
131+ RUN git clone https://github.com/microsoft/vcpkg.git && \
132132 ./vcpkg/bootstrap-vcpkg.sh && \
133133 ./vcpkg/vcpkg install --clean-buildtrees-after-build --clean-downloads-after-build
134134
@@ -140,7 +140,7 @@ ENTRYPOINT [ "/bin/entrypoint-build.sh" ]
140140
141141FROM netremote-build as netremote-dev
142142
143- LABEL org.label-schema.name = "Microsoft NetRemote development environment"
143+ LABEL org.label-schema.name = "NetRemote development environment"
144144LABEL org.label-schema.description = "Development environment for the NetRemote project"
145145
146146# Install packages.
@@ -174,8 +174,10 @@ RUN apt-get $APT_ARGS_COMMON update && \
174174 python-is-python3 \
175175 vim \
176176 # Wireless tools.
177+ # iw
177178 iw \
178179 # Packaging tools.
180+ # debconf-utils
179181 debconf-utils \
180182 && \
181183 # Reduce image size by removing package cache.
0 commit comments