10 Commits
Author SHA1 Message Date
GuofangandClaude Sonnet 5.5 464bf717ed Build Protobuf from source in rocky9-system
Every other library still comes from the distribution packages.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 11:25:58 +08:00
GuofangandClaude Sonnet 5.5 d57ea76fa4 Add rocky9-system image using distribution libraries
Install libraries from Rocky Linux 9, CRB and EPEL instead of building
from source; packages missing from those repositories are skipped.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 11:17:27 +08:00
GuofangandClaude Sonnet 5.5 0b7f8d829b Change default PREFIX to /opt/local
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 11:13:04 +08:00
GuofangandClaude Sonnet 5.5 68abc5042c Install Rust under /usr/local instead of PREFIX
Rust is a build tool, not a library, so it should not follow the
library install prefix.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 13:13:50 +08:00
Guofang be9078f5af Update Dockerfile and build script to support custom installation prefix 2026-11-06 11:23:25 +08:00
GuofangandClaude Sonnet 5 195ad299cd Rename rockylinux9 build directory to rocky9
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 12:09:19 +08:00
GuofangandClaude Sonnet 5 30f1a3f771 Use wangguofang.net proxy and Tsinghua mirror for GitHub and libaio downloads
Switches the remaining gh-proxy.com references (rockylinux9, debian13) to
wangguofang.net for consistency with alpine3.24, and points the libaio
0.3.113 download at the Tsinghua mirror instead of releases.pagure.org for
faster access from mainland China.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019T6ypNZ1EUpKJQkXLopojx
2026-09-14 16:09:12 +08:00
GuofangandClaude Sonnet 5 d1ce99a0d0 Add Alpine (musl) build environment alongside Debian 13 and Rocky Linux 9
Mirrors the same pinned third-party library build sequence as debian13/
on Alpine 3.24, targeting musl libc, with the fixes needed to get the
whole non-Meta stack building cleanly:

- Adjusts the package install step for apk; builds makeself from a
  pinned source tag since it isn't packaged for stable Alpine releases;
  adds coreutils so GNU realpath (needed by liburing's configure script)
  is available in place of busybox's; drops sha256 checksum verification
  on curl-fetched archives.
- CMake on 3.24 is 4.x, which removed compatibility with
  cmake_minimum_required() versions below 3.5. Adds
  -DCMAKE_POLICY_VERSION_MINIMUM=3.5 (CMake's own sanctioned workaround,
  not a source patch) to every cmake configure call so unmigrated
  CMakeLists.txt in our pinned dependencies still configure.
- GCC on 3.24 is 15, which defaults to C23; C23 redefines an empty `()`
  in a function declaration to mean "no parameters" instead of the old
  K&R "unspecified parameters", which breaks a decades-old conftest in
  GMP 6.3.0's configure. Pins GMP's build to -std=gnu17 to restore the
  old semantics for that one dependency.
- Switches the GitHub mirror from gh-proxy.com (which started rejecting
  some repos with a content-filter 403 in this environment) to the
  project's own reverse proxy at wangguofang.net/github.com/.

Folly/Fizz/Wangle/mvfst/fbthrift/CacheLib are left commented out: their
portability layer reaches for glibc-only macros/symbols in multiple
places with no musl branch (off64_t/lseek64/pread64 in
folly/portability/Unistd.h, __ELF_NATIVE_CLASS in
folly/debugging/symbolizer/Elf.cpp, and likely more further in), and
patching each one as it surfaces risks introducing subtle bugs in code
we don't own. The reasoning is recorded inline for anyone revisiting
this later.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WGpSs9pKTbvPkmFvBaWhBp
2026-09-12 17:05:45 +08:00
Guofang 68d8bfef21 Update RapidJSON version in Dockerfiles and included libraries 2026-08-19 11:07:27 +08:00
Guofang 2a96844f99 Initial commit 2026-08-13 15:50:03 +08:00