Skip to content

Version 0.2.0

Latest

Choose a tag to compare

@lemire lemire released this 05 Sep 01:43
Add nine stations and a dps command to drive them all

New stations, each verified to build and to compile and run a program:

  debian13      Debian 13 trixie, GCC 14.2 / clang 19
  devuan        Devuan 6 excalibur: Debian without systemd
  rocky10       Rocky Linux 10: the RHEL enterprise target
  fedora43      GCC 15.3 / clang 21
  fedora44      GCC 16.2 / clang 22
  openmandriva  OpenMandriva Cooker, a distribution built with clang
  voidlinux     Void: independent lineage, xbps, runit
  artix         Artix: Arch without systemd
  slackware     Slackware 15.0, GCC 11.2

Distribution-specific things worth recording, all found by building:

- voidlinux: base-devel carries neither shadow (useradd/groupadd) nor
  findutils, so both are named explicitly.
- slackware: no dependency resolution, so install whole series (l, n, ap, d)
  rather than individual packages; cmake alone needed libarchive from l and
  libnghttp2 from n. The 15.0-full image would avoid this but costs 14.8 GB.
- openmandriva: glibc-devel is not pulled in by either compiler, and without
  features.h nothing compiles at all. A version banner cannot catch that, so
  the Dockerfile compiles a real program as its final step.
- rocky10: EPEL and CRB are enabled, as the base RHEL package set omits much
  of what the other distributions provide by default.

dps drives every station from one place, and is meant to live in your PATH:

  dps run --img devuan 'gcc --version'   dps list
  dps devuan 'gcc --version'             dps info --img alpine
  dps shell --img fedora44               dps build|rebuild|delete --img X
                                         dps clean

It builds a station's image on first use, carries the same podman handling as
the individual scripts, and defers to run-docker-station for the emulated
stations so their QEMU diagnostics still reach you.

Claude-Session: https://claude.ai/code/session_01AcNYBzuZjUtfJcT7WsVhFY