initial commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user