Skip to content

Releases: Smech-Labs/spk-compile

spk-compile v2.2.18 — CMake bootstrap + full GPU support

Choose a tag to compare

@stefanmariusionut-ops stefanmariusionut-ops released this 04 Jul 11:23

What's new in v2.2.18

CMake bootstrap phase

KDE Frameworks 6.27.0 requires CMake 3.29+. Ubuntu 24.04 ships 3.28.3.
A new cmake-bootstrap phase downloads the official Kitware CMake 3.31.6
binary and installs it to /usr/local/bin before the KDE phase runs.

Full GPU driver support (v2.2.17)

Mesa now builds with:

  • Gallium: radeonsi (AMD), nouveau (NVIDIA), iris/crocus (Intel), swrast
  • Vulkan: amd (RADV), intel (ANV)
  • nouveau Vulkan (NVK) excluded — requires rustc not present in the build env; NVIDIA Vulkan users install proprietary drivers

Flatpak + fwupd backends (v2.2.15)

Plasma Discover ships with -DWITH_FLATPAK=ON -DWITH_FWUPD=ON -DWITH_PACKAGEKIT=ON

Phase stamp caching

Completed phases are stamped in /mnt/spk-compile-sources/.stamps — persistent across reboots, allowing interrupted builds to resume from where they left off.

Oopsie count: 13

All oopsies are preserved in git history as sovereign engineering transparency.

spk-compile v2.2.5

Choose a tag to compare

@stefanmariusionut-ops stefanmariusionut-ops released this 03 Jul 09:54

systemd now compiled fully from source (gperf + libcap + util-linux + systemd mainline). systemd version auto-resolved from GitHub API at build time. Google Chrome remains the only pre-built binary (proprietary — no source available).

spk-compile v2.2.3

Choose a tag to compare

@stefanmariusionut-ops stefanmariusionut-ops released this 03 Jul 09:10

Adds bundle phase as the final step in every SmechOS build. Produces /tmp/smechos-packages/*.tar.xz — one archive per spk package (base-system, kernel-modules, firmware, bootloader-grub, qt6, mesa-graphics, kde-frameworks, plasma, plasma-discover, packagekit-spk). Upload these to a GitHub Release and set RELEASE_BASE_URL in spk to make spk install fully functional end-to-end.

spk-compile v2.2.2

Choose a tag to compare

@stefanmariusionut-ops stefanmariusionut-ops released this 03 Jul 09:05

Auto-resolving KDE versions

spk-compile now queries download.kde.org before every build and automatically picks the latest published stable Plasma and KF6 releases. No more manually bumping version constants — builders always compile the current maintained release.

How it works

At the start of every python3 spk-compile.py <profile> run, _resolve_kde_versions():

  1. Fetches https://download.kde.org/stable/plasma/ → picks the highest x.y.z directory
  2. Fetches https://download.kde.org/stable/frameworks/ → picks the highest x.y directory
  3. Parses the full KF6 point version from the file listing inside that directory
  4. Updates PLASMA_VER, KF6_VER, PLASMA_URL, KF6_URL globals before any phase runs

The resolved versions are printed in the build header so you always know exactly what was compiled.

spk-compile v2.2.0

Choose a tag to compare

@stefanmariusionut-ops stefanmariusionut-ops released this 03 Jul 07:20

What's new

New profile: smechos-plasma-live (17 phases)

A full KDE Plasma live ISO build profile using glibc + systemd instead of musl + OpenRC.

Phase What it does
userland-glibc GNU userland against host glibc
systemd systemd 256.7 installed from Debian packages
systemd-config Graphical target, SDDM display manager unit
calamares yaml-cpp + kpmcore + Calamares 3.3.10 graphical installer
chrome Google Chrome stable extracted from .deb
discover Plasma Discover + PackageKit + SPK backend
live-initramfs Static busybox initramfs with squashfs + overlayfs live boot

New ISO builder: --iso live

python3 spk-compile.py smechos-plasma-live --iso live

Produces /tmp/smechos-plasma-live.iso with three GRUB boot entries:

  • SmechOS KDE Plasma (Live)
  • SmechOS KDE Plasma (Live, nomodeset)
  • Install SmechOS (Calamares)

New helpers

  • build_env_glibc() — like build_env() but uses system gcc/glibc
  • _extract_deb() — extracts a .deb data.tar into a target directory

spk-compile v2.1.0

Choose a tag to compare

@stefanmariusionut-ops stefanmariusionut-ops released this 02 Jul 20:24

spk-compile v2.1.0 — SmechOS/SmechVisor Build Orchestrator (Project SmechDeployV2)

Single standalone Python 3 script. No pip, no venv, no external dependencies.
Replaces SmechDeploy (archived). All build phases are implemented inline.

Profiles

SmechOS (15 phases): musl → userland → etc → openrc → inittab → grub → qt-deps → mesa → kde → plasma-configure → kwin-deps → qt6uitools → kernel → patch-metadata → discover

SmechVisor (8 phases): musl → userland → etc → openrc → inittab → kernel → grub → smechvisord

Usage

python3 spk-compile.py smechos
python3 spk-compile.py smechvisor
python3 spk-compile.py smechos --phase kde
python3 spk-compile.py smechos --iso install
python3 spk-compile.py smechvisor --iso shim
python3 spk-compile.py --list smechos

Or via spk:

spk compile smechos
spk compile smechvisor --iso shim

Source versions pinned

Component Version
Linux kernel 6.12.16
GRUB 2.12
musl libc 1.2.5
Qt6 6.8.2
KDE Frameworks 6.10.0
KDE Plasma 6.3.4
Mesa 24.3.4
OpenRC 0.54
AppStream 1.0.3
PackageKit 1.3.0

Docs

https://docs.smech.xyz/smechdeploy.html

License

MIT — © 2026 Smech Labs