Files
patches/README.md
T
2026-05-26 02:08:47 -05:00

59 lines
2.9 KiB
Markdown

# Vertex Linux Patches
This directory is a working collection of old and current patch sets used for Vertex Linux packaging.
It spans two broad eras of the distro:
- The older `musl + mimalloc + LibreSSL` era.
- The current `glibc + x86_64-v3` era.
Some patches are clearly tied to one period, while others are carry patches that remained useful across both.
## What This Tree Contains
The patches here are not a pristine historical archive of a single release. They are a maintained patch bucket for packages Vertex Linux has needed to adjust over time, including:
- libc and toolchain integration fixes
- `clang` and `compiler-rt` compatibility work
- `x86_64-v3` policy and platform-specific changes
- `LibreSSL` compatibility patches from the older stack
- POSIX and `/bin/sh` cleanups for build scripts
- packaging, portability, and local distro behavior changes
## Era Notes
### Older Era: `musl + mimalloc + LibreSSL + LLVM/Clang`
This was the earlier Vertex Linux direction. Patches from that period generally reflect:
- `musl`-oriented portability work
- `LibreSSL` compatibility, especially for older Qt and network/crypto consumers
- runtime and allocator decisions that matched the `mimalloc` period
- build-system cleanup for a smaller, less GNU-specific base
### Current Era: `glibc + x86_64-v3 + LLVM/Clang`
This is the current Vertex Linux direction. Patches from this period generally reflect:
- `glibc`-based userland assumptions
- `x86_64-v3` baseline policy
- modern `LLVM/Clang`, `lld`, `compiler-rt`, and `libc++` integration
- removing hardcoded GNU toolchain assumptions where they break modern Clang-based builds
Examples in this tree include the kernel-side `x86_64-v3` enforcement patch in [linux/0001-x86-setup-enforce-x86_64-v3.patch](linux/0001-x86-setup-enforce-x86_64-v3.patch) and newer `glibc`/`valgrind` compiler-runtime fixes such as [glibc/glibc-2.43-use-compiler-reported-libgcc.patch](glibc/glibc-2.43-use-compiler-reported-libgcc.patch) and [valgrind/valgrind-3.26.0-ungnuify.patch](valgrind/valgrind-3.26.0-ungnuify.patch).
## Reading The Layout
Directories are package-oriented. In general, each subdirectory holds local patches for one upstream project, for example:
- [glibc patches](glibc)
- [qt5 patches](qt5)
- [util-linux](util-linux)
- [valgrind](valgrind)
## Practical Note
Not every patch maps cleanly to exactly one era. This tree should be read as "Vertex Linux patches that accumulated through the older `musl/mimalloc/LibreSSL` period and into the current `glibc/x86_64-v3` period", not as a strict release-by-release archive.
## PS:
And yes I used ai for these, not because I don't know how to write patches/code, but because I PROMISE I dont have the time to do all of this by hand. I have to maintain the distro, do the packaging, code a bunch of more stuff, and also write the documentation. The patches are just a small part of the work, and using ai helps me get them done faster so I can focus on the other important tasks.