- Build the ui extension (pinned duckdb-ui commit for DuckDB 1.5.6) into
DuckDB on debian13 and rocky9 so the shell supports -ui.
- Add fetch-sources.sh, which downloads source archives with aria2c into the
git-ignored sources/ repository.
- debian13: replace per-dependency downloads with
RUN --mount=type=bind,from=sources, passed by build.sh through
--build-context, so archives are not stored in image layers.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Install aria2 in the image and fetch Boost from the Aliyun and official
mirrors, limited to one connection per host.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Add pinned xsimd 14.2.0, Apache Thrift v0.22.0 (C++ library only),
Snappy 1.2.2, LZ4 v1.10.0, and Apache Arrow 25.0.1 with Parquet as
static PIC builds. Arrow uses ARROW_DEPENDENCY_SOURCE=SYSTEM so no
dependencies are fetched implicitly, disables the bundled jemalloc and
mimalloc allocators, and enables Parquet encryption via OpenSSL.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M5XtQocmT1zExJBt4oh3YK
Mirrors rocky9's curl-based fetching and consistent-libdir goals but
adapted to Debian's own conventions: replaces git clone with curl
tarball downloads (matching rocky9's URLs), drops sha256sum checks, and
installs every vendored library under /usr/local/lib/x86_64-linux-gnu
instead of rocky9's lib64.
lib64 was tried first but abandoned: on Debian, CMake's find_package()
Config-mode search, find_library(), and pkg-config's default search
path all detect /etc/debian_version and never look in lib64 (that's an
RHEL-only default), so cross-package lookups like spdlog finding fmt
or folly's FindLibEvent.cmake kept failing. lib/x86_64-linux-gnu is
Debian's native multiarch path and is found by all three mechanisms
with no extra CMAKE_PREFIX_PATH/PKG_CONFIG_PATH workarounds, verified
by building the full image end to end.
libevent-lib64-install.patch is renamed and retargeted at
lib/x86_64-linux-gnu since libevent hardcodes "lib" in its CMake
install rules with no override flag. CacheLib keeps building its
default interface/cachebench targets (no patch needed here, unlike
rocky9).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UV2yJRkL6CnChX3D2zhoXH
Build libunwind 1.8.3 as a static library before jemalloc, then
configure jemalloc with --enable-prof --enable-prof-libunwind so the
static libjemalloc.a can dump heap profiles with accurate stack
traces.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Sd7pBDVxQENBX1CP2z6Lip
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
Upstream ships only a Makefile with no install target, so each image
compiles src/proxy_protocol.c with -fPIC, archives it into
libproxyprotocol.a, and installs the header manually, matching this
project's static-PIC-library convention.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Xj6cCTEVsr5PM43uTsbq8