Skip to content

Commit c6bae94

Browse files
Refactor apt installation and remove obsolete support (#7)
* Remove # between multi-line apt installations Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Remove support for GoLang Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Update apt_mini.sh Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Update for LLVM only for 14 and 20 Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Remove .NET source artifacts Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Revert styles & update pacakges Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Only default JDK on mini dev container Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Update PACKAGES.md Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Remove support for Linux headers out of Mini Dev Container Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Update PACKAGES.md Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> * Update apt_mini.sh Co-Authored-By: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com> --------- Co-authored-by: VLTA of @TheFlightSims <176574466+anhvlttfs@users.noreply.github.com>
1 parent 97b2f2a commit c6bae94

3 files changed

Lines changed: 109 additions & 49 deletions

File tree

PACKAGES.md

Lines changed: 103 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
## 4. Libraries & development headers (selected)
4343

44-
> Updated to reflect both `apt.sh` and `apt_mini.sh`.
44+
> (Large list in the original script; this table highlights key runtime & dev libraries.)
4545
4646
| Tool / library | Friendly name | Package name | Notes |
4747
|---|---|---|---|
@@ -61,7 +61,6 @@
6161

6262
| Tool | Friendly name | Package name | Notes |
6363
|---|---|---|---|
64-
| iproute2 | iproute2 | `iproute2` | Advanced IP routing utilities |
6564
| iputils-ping | ping | `iputils-ping` | ICMP ping utility |
6665
| dnsutils | DNS tools | `dnsutils` | dig, nslookup, etc. |
6766
| net-tools | legacy networking | `net-tools` | ifconfig, netstat (legacy) |
@@ -89,23 +88,117 @@
8988

9089
## 8. File & media processing
9190

91+
> Not available on Mini Dev Containers
92+
9293
| Tool | Friendly name | Package name | Notes |
9394
|---|---|---|---|
9495
| ffmpeg | FFmpeg | `ffmpeg` | Audio/video processing |
96+
| imagemagick | ImageMagick | `imagemagick` | Image manipulation CLI |
97+
| mediainfo | MediaInfo | `mediainfo` | Media file metadata extractor |
98+
| fonts-noto-color-emoji | Noto emoji | `fonts-noto-color-emoji` | Emoji font support |
99+
| libwmf-bin | WMF tools | `libwmf-bin` | Convert Windows Metafile formats |
100+
101+
## 9. Scripting, tooling & QA
102+
103+
> Not available on Mini Dev Containers
104+
105+
| Tool | Friendly name | Package name | Notes |
106+
|---|---|---|---|
107+
| shellcheck | ShellCheck | `shellcheck` | Shell script linter |
108+
| parallel | GNU Parallel | `parallel` | Run jobs in parallel |
109+
| sudo | sudo | `sudo` | Privilege escalation utility |
110+
111+
## 10. Databases & search
112+
113+
| Tool | Friendly name | Package name | Notes |
114+
|---|---|---|---|
115+
| sqlite3 | SQLite CLI | `sqlite3` | Embedded SQL database CLI |
116+
| sphinxsearch | Sphinx Search | `sphinxsearch` | Full-text search engine |
117+
118+
## 11. Font configuration
119+
120+
> Not available on Mini Dev Containers
121+
122+
| Tool | Friendly name | Package name | Notes |
123+
|---|---|---|---|
124+
| fontconfig-config | Fontconfig config | `fontconfig-config` | Fontconfig system files |
125+
| fonts-dejavu-core | DejaVu fonts | `fonts-dejavu-core` | Common TTF fonts |
126+
127+
## 12. Compilers & toolchains (GNU, LLVM, cross)
128+
129+
| Tool | Friendly name | Package name | Notes |
130+
|---|---|---|---|
131+
| gcc / g++ | GNU C/C++ compilers | `gcc`, `g++` | Standard system compilers |
132+
| gdb / gdbserver / gdb-multiarch | GNU Debugger | `gdb`, `gdbserver`, `gdb-multiarch` | Debugging tools |
133+
| clang / clang-format / clang-tidy | Clang toolchain | `clang`, `clang-format`, `clang-tidy` | LLVM C/C++ toolchain |
134+
| lld / lldb | LLVM linker & debugger | `lld`, `lldb` | LLVM tooling |
135+
| cmake / ninja-build | Build systems | `cmake`, `ninja-build` | Build orchestration |
136+
| build-essential | Build meta-package | `build-essential` | Includes make, gcc, g++ |
137+
| binutils-x86-64-linux-gnu | Binutils x86_64 | `binutils-x86-64-linux-gnu` | Cross linker for AMD64 |
138+
| mingw-w64 | MinGW-w64 cross compilers | `mingw-w64`, `gcc-mingw-w64` | Windows cross compilation |
139+
| gcc-arm-none-eabi | ARM bare-metal cross compiler | `gcc-arm-none-eabi` | Cortex-M toolchain |
140+
| binutils-arm-none-eabi | ARM binutils | `binutils-arm-none-eabi` | ARM assembler/linker |
141+
142+
## 13. Kernel build & low-level development
143+
144+
> Not available on Mini Dev Containers
145+
146+
| Tool | Friendly name | Package name | Notes |
147+
|---|---|---|---|
148+
| libncurses5-dev / libncursesw5-dev | ncurses dev | `libncurses5-dev`, `libncursesw5-dev` | Required to build kernel menuconfig |
149+
| libelf-dev | libelf dev | `libelf-dev` | ELF utilities / headers |
150+
| bc | bc | `bc` | Calculator used in kernel builds |
151+
| dwarves | dwarves | `dwarves` | Kernel symbol tools (e.g., pahole) |
152+
| libbpf-dev | libbpf dev | `libbpf-dev` | eBPF helper library headers |
153+
154+
## 14. Java & JVM ecosystem
155+
156+
| Tool | Friendly name | Package name | Notes |
157+
|---|---|---|---|
158+
| default-jdk | Default JDK | `default-jdk` | System default JDK (usually latest stable) |
159+
| openjdk-11-jdk / 17 / 21 / 25 | OpenJDK versions | `openjdk-11-jdk`, `openjdk-17-jdk`, `openjdk-21-jdk`, `openjdk-25-jdk` | Multiple JDK versions installed (not available on Mini Dev Container) |
160+
161+
## 15. .NET SDKs & runtimes
162+
163+
| Tool | Friendly name | Package name | Notes |
164+
|---|---|---|---|
165+
| dotnet-sdk-8.0 / 10.0 | .NET SDK | `dotnet-sdk-8.0`, `dotnet-sdk-10.0` | SDKs for .NET 8 and 10 |
166+
| dotnet-sdk-dbg-8.0 / 10.0 | .NET SDK Debug symbols | `dotnet-sdk-dbg-8.0`, `dotnet-sdk-dbg-10.0` | Debug symbols for .NET 8 and 10 |
167+
168+
## 16. Rust toolchain
95169

96-
## 9. Additional tools for mini containers
170+
> Not available on Mini Dev Containers
97171
98172
| Tool | Friendly name | Package name | Notes |
99173
|---|---|---|---|
100-
| sqlite3 | SQLite | `sqlite3` | Lightweight database |
101-
| sphinxsearch | SphinxSearch | `sphinxsearch` | Full-text search engine |
102-
| nodejs, npm, yarn | Node.js & npm | `nodejs`, `npm`, `yarn` | JavaScript runtime and package manager |
103-
| dotnet-sdk | .NET SDK | `dotnet-sdk-{8.0,10.0}` | .NET development tools |
104-
| openjdk | OpenJDK | `openjdk-{11,17,21,25}-jdk` | Java development kit |
174+
| rustc / cargo | Rust compiler & package manager | `rustc`, `cargo` | Rust language toolchain |
175+
| rust-doc / rust-src | Rust docs & sources | `rust-doc`, `rust-src` | Documentation and sources |
176+
| rust-gdb / rust-clippy / rustfmt | Rust tooling | `rust-gdb`, `rust-clippy`, `rustfmt` | Debugger helpers, lints, formatter |
105177

106-
> This table reflects the minimal set of tools for lightweight containers.
178+
## 17. Android SDK / platform tools
179+
180+
> Not available on Mini Dev Containers
181+
182+
| Tool | Friendly name | Package name | Notes |
183+
|---|---|---|---|
184+
| adb / fastboot | ADB & Fastboot | `adb`, `fastboot` | Android device tools |
185+
| android-sdk-platform-tools / android-sdk-build-tools | Android SDK CLI | `android-sdk-platform-tools`, `android-sdk-build-tools` | Command-line SDK components |
186+
187+
## 18. Node.js / npm / yarn
188+
189+
| Tool | Friendly name | Package name | Notes |
190+
|---|---|---|---|
191+
| nodejs | Node.js | `nodejs` | JavaScript runtime |
192+
| npm | npm | `npm` | Node package manager |
193+
| yarn | Yarn | `yarn` | Alternative JS package manager |
194+
195+
## 19. Ruby on Rails
196+
197+
| Package | Friendly Name | Package Name | Notes |
198+
|---|---|---|---|
199+
| Ruby | Ruby Full Package | `ruby-full` | Ruby Programming Language |
107200

108-
## 10. Conda & Python ecosystem
201+
## 20. Conda & Python ecosystem
109202

110203
> Installed by `conda.sh` (Miniconda installer + conda-forge channel).
111204

pm_installs/apt.sh

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,30 +37,20 @@ apt install -y autoconf automake binutils bison flex make \
3737

3838
# Libraries & dev headers (organized alphabetically by category)
3939
apt install -y \
40-
# Algorithm and compression libraries
4140
libaom3 libalgorithm-diff-perl libalgorithm-diff-xs-perl \
4241
libalgorithm-merge-perl libbrotli1 libdeflate0 liblzma5 \
43-
# Archive and file utilities
4442
libarchive13 libfile-fcntllock-perl libmagic-dev libzip4 \
45-
# Core libraries
4643
libc6 libc6-dev libc-dev-bin libc-devtools libgcc-12-dev \
4744
libgcc-s1 libstdc++6 libstdc++-12-dev \
48-
# Cryptography and security
4945
libcrypt-dev libssl3 libgssapi-krb5-2 \
50-
# Graphics and multimedia
5146
libfreetype6 libheif1 libjpeg-turbo8 libpng16-16 libwebp7 \
5247
libx265-199 libxml2 libyuv0 \
53-
# Math and scientific computing
5448
libgmp-dev libgmpxx4ldbl libmpc-dev libmpfr-dev libgsl-dev \
55-
# Networking
5649
libnghttp2-14 libpsl5 librtmp1 \
57-
# System utilities
5850
libexpat1 libicu74 libjsoncpp25 libnuma1 libnsl-dev libnsl2 \
5951
libtirpc-dev libtsan2 libubsan1 \
60-
# X11 and GUI
6152
libx11-6 libx11-data libxcb1 libxau6 libxdmcp6 libxkbfile-dev \
6253
libxpm4 libxss1 \
63-
# Miscellaneous
6454
libfl2 libfontconfig1 libgd3 libgtk-3-0 libmagic-dev \
6555
libsecret-1-dev libyaml-dev zlib1g
6656

@@ -111,8 +101,7 @@ apt install -y gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi
111101

112102
# Installing LLVM toolchain
113103
apt install -y llvm llvm-dev llvm-runtime clangd lld lldb \
114-
libclang-dev llvm-{14,15,16,18,20} llvm-{14,15,16,18,20}-dev \
115-
llvm-{14,15,16,18,20}-runtime
104+
libclang-dev llvm-{14,20} llvm-{14,20}-dev llvm-{14,20}-runtime
116105

117106
# Additional tools for building Linux kernels and modules
118107
apt install -y libncurses5-dev libncursesw5-dev flex bison libssl-dev \
@@ -132,7 +121,6 @@ apt install -y default-jdk \
132121
# Instaling .NET SDKs and runtimes
133122
apt install -y \
134123
dotnet-sdk-{8.0,10.0} \
135-
dotnet-sdk-{8.0,10.0}-source-built-artifacts \
136124
dotnet-sdk-dbg-{8.0,10.0}
137125

138126
# Installing Rust programming language and toolchain
@@ -142,9 +130,6 @@ apt install -y rustc cargo rust-doc rust-src rust-gdb rust-clippy rustfmt
142130
apt install -y adb android-sdk-platform-tools android-sdk-build-tools \
143131
android-sdk-platform-tools-common fastboot
144132

145-
# Installing Go programming language
146-
apt install -y golang golang-go golang-src
147-
148133
# Installing Node.js and npm
149134
apt install -y nodejs npm yarn
150135

pm_installs/apt_mini.sh

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -37,36 +37,26 @@ apt install -y autoconf automake binutils bison flex make \
3737

3838
# Libraries & dev headers (organized alphabetically by category)
3939
apt install -y \
40-
# Algorithm and compression libraries
4140
libaom3 libalgorithm-diff-perl libalgorithm-diff-xs-perl \
4241
libalgorithm-merge-perl libbrotli1 libdeflate0 liblzma5 \
43-
# Archive and file utilities
4442
libarchive13 libfile-fcntllock-perl libmagic-dev libzip4 \
45-
# Core libraries
4643
libc6 libc6-dev libc-dev-bin libc-devtools libgcc-12-dev \
4744
libgcc-s1 libstdc++6 libstdc++-12-dev \
48-
# Cryptography and security
4945
libcrypt-dev libssl3 libgssapi-krb5-2 \
50-
# Graphics and multimedia
5146
libfreetype6 libheif1 libjpeg-turbo8 libpng16-16 libwebp7 \
5247
libx265-199 libxml2 libyuv0 \
53-
# Math and scientific computing
5448
libgmp-dev libgmpxx4ldbl libmpc-dev libmpfr-dev libgsl-dev \
55-
# Networking
5649
libnghttp2-14 libpsl5 librtmp1 \
57-
# System utilities
5850
libexpat1 libicu74 libjsoncpp25 libnuma1 libnsl-dev libnsl2 \
5951
libtirpc-dev libtsan2 libubsan1 \
60-
# X11 and GUI
6152
libx11-6 libx11-data libxcb1 libxau6 libxdmcp6 libxkbfile-dev \
6253
libxpm4 libxss1 \
63-
# Miscellaneous
6454
libfl2 libfontconfig1 libgd3 libgtk-3-0 libmagic-dev \
6555
libsecret-1-dev libyaml-dev zlib1g
6656

6757
# Networking, SSH & network tools
68-
apt install -y iproute2 iputils-ping dnsutils net-tools \
69-
netcat-openbsd openssh-client ssh sshpass rsync ftp \
58+
apt install -y iputils-ping dnsutils net-tools ssh \
59+
netcat-openbsd openssh-client sshpass rsync ftp \
7060
pollinate rpcsvc-proto publicsuffix
7161

7262
# Security & crypto
@@ -89,23 +79,15 @@ apt install -y mingw-w64 mingw-w64-tools mingw-w64-common \
8979
binutils-mingw-w64 binutils-mingw-w64-x86-64 \
9080
gcc-mingw-w64 gcc-mingw-w64-* g++-mingw-w64 g++-mingw-w64
9181

92-
Installing ARM toolchains
82+
# Installing ARM toolchains
9383
apt install -y gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi
9484

95-
Additional tools for building Linux kernels and modules
96-
apt install -y libncurses5-dev libncursesw5-dev flex bison libssl-dev \
97-
libelf-dev dwarves bc fakeroot libcap-dev libnuma-dev libudev-dev \
98-
libpci-dev libiberty-dev libmnl-dev libbpf-dev
99-
10085
if [[ "$ARCH" == "x86_64" ]]; then
10186
apt install -y libc6-dev-i386 libc6-dev-x32
10287
fi
10388

104-
# Installing Java Development Kit (OpenJDK 11, 17, and 21)
105-
apt install -y default-jdk \
106-
openjdk-{11,17,21,25}-dbg \
107-
openjdk-{11,17,21,25}-jdk \
108-
openjdk-{11,17,21,25}-jre
89+
# Installing Java Development Kit (default only on Mini Dev Container)
90+
apt install -y default-jdk
10991

11092
# Instaling .NET SDKs and runtimes
11193
apt install -y \

0 commit comments

Comments
 (0)