Commit Graph

148 Commits

Author SHA1 Message Date
marfrit cd25d02e01 KWIN_PIVOT: Phase-2 findings — bug is in Qt 6, not KWin
build and publish packages / distcc-avahi-aarch64 (push) Successful in 31s
build and publish packages / lmcp-any (push) Successful in 6s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m29s
build and publish packages / claude-his-debian (push) Successful in 5s
Source-grep collapsed Phase 1+2 onto a single pass. KWin's own GL paths
use GL_R8 correctly (gltexture.cpp:61, shadowitem.cpp:494). The
glTexImage2D(GL_ALPHA) calls observed in the journal originate from
Qt 6:

- qtbase/src/opengl/qopengltextureglyphcache.cpp:111-117 — text glyph
  cache upload path. The #else branch (active when qtbase is built
  with QT_CONFIG(opengles2)) unconditionally uses GL_ALPHA, with no
  runtime check for ES context major version. Correct on ES 2.x;
  broken on ES 3.x where GL_ALPHA is no longer a valid glTexImage2D
  internalFormat.
- qtbase/src/gui/rhi/qrhigles2.cpp:1373-1378 — Qt-Quick-RHI sibling.
  Same logic, gated only on caps.coreProfile, missing the ES≥3 case.
- qtbase/src/opengl/qopengltextureuploader.cpp:253-257 — QImage→GL
  upload path; same shape.

KWin runs an ES 3.2 context on Mali-G52 panfrost (RK3566), Qt picks
GL_ALPHA, mesa returns GL_INVALID_VALUE, every dependent draw errors
at level 0, the compositor's frame-callback path stalls. KWin is the
visible victim because it's the compositor, but the bug is in Qt.

KWIN_PIVOT.md rewritten: the patch series and packaging now target
qt6-base-fourier instead of kwin-fourier. Three small hunks (~3 lines
each), runtime-safe via existing caps.gles + caps.ctxMajor / surface
format majorVersion checks. Upstream landing path: bugreports.qt.io
+ Gerrit change against qtbase dev branch.
2026-04-28 12:18:25 +00:00
marfrit 8756ce38be chromium-fourier r2 + firefox-fourier 150.0.1 + KWIN_PIVOT.md
build and publish packages / distcc-avahi-aarch64 (push) Successful in 46s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m8s
build and publish packages / claude-his-debian (push) Successful in 5s
chromium-fourier:
- patch 3/3 nv12-external-oes-on-modifier-external-only.patch — adds
  NativePixmapEGLBinding::ModifierRequiresExternalOES helper, extends
  OzoneImageGLTexturesHolder::GetBinding to honor EGL external_only
  flag for NV12 dmabufs on panfrost / panthor. Validated on ohm
  (RK3566 hantro mainline 6.19.10): bbb_1080p30_h264.mp4 plays at
  34.7 % combined CPU vs ~131 % pre-patch baseline (~3.8x).
- PKGBUILD pkgrel 1->2, source array + sha256sums + prepare() hook for
  patch 4, patch numbering 1/2,2/2 -> 1/3,2/3,3/3.
- NEXT.md appended with 2026-04-28 section: patch 4 design, validation
  log, KWin GL_ALPHA bug pinpoint (preexisting since 2026-03-06,
  affects every wayland video client; unrelated to chromium-fourier),
  device-renumbering note (/dev/video1 = encoder post-reboot).
- KWIN_PIVOT.md: 4-phase plan to identify and patch KWin's
  glTexImage2D(internalFormat=GL_ALPHA) site, ohm-only test plan,
  scope discipline.
- patches/ now tracked (compiler-rt-adjust-paths, enable-v4l2,
  wayland-allow-direct-egl-gles2, nv12-external-oes); the dead-end
  chromeos-pipeline-bypass.patch removed.

firefox-fourier:
- 4 patches (gfxinfo v4l2 stateless fourccs, libwrapper hwdevice ctx,
  ffmpegvideo v4l2-request route, prefs v4l2-request default).
- PKGBUILD bumped to firefox 150.0.1, Arch toolchain glue patches
  layered in, mozconfig with --without-wasm-sandboxed-libraries for
  ALARM, package() launcher fix (rm -f symlink before cat > to avoid
  ENOENT through the dangling /usr/local symlink mach install drops).
- 150.0.1-1-aarch64.pkg.tar.zst built on boltzmann (95 MB), pending
  fresnel power-on for V4L2 stateless validation on RK3399.
2026-04-28 12:02:18 +00:00
test0r 7bb2fbeca9 chromium-fourier: pivot to x86_64 cross-compile from CT220 on data
build and publish packages / distcc-avahi-aarch64 (push) Successful in 35s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m18s
build and publish packages / claude-his-debian (push) Successful in 5s
Earlier framing was wrong — the wall isn't 'Arch ARM clang 22 vs Arch
x86_64 clang 23'. Arch x86_64 is also on 22.1.3; LLVM 23 isn't anywhere
in extra/staging. The flags chromium 147 emits come from chromium's
clang fork (Google maintains an LLVM fork with chromium-specific
passes), not upstream LLVM 23. PKGBUILD'ing clang 23 is the wrong tree.

Right tree: cross-compile from x86_64 so chromium's bundled clang
prebuilt is reachable. CIPD has full linux-amd64 prebuilts, gclient
sync works cleanly, no qemu-x86_64-static dance needed.

his provisioned CT 220 chromium-builder-x86 on data (Ryzen 7 1700,
14 cores, 32 GiB RAM, 200 GiB ZFS). data is normally asleep — woke
via /opt/herding/bin/wake-data. Reach pattern: hertz -> ssh data ->
pct exec 220.

Source fetch running as chromium-fetch.service transient unit on
CT 220. Once src is in, plan: tools/clang/scripts/update.py for
chromium's bundled clang + arm64 sysroot, gn gen with target_cpu=arm64,
build, transfer aarch64 binary to ohm/fresnel/ampere.

boltzmann chromium-builder LXD container preserved as fallback; can
be torn down if cross-compile pans out.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 05:57:14 +00:00
test0r f3a7b8f1c1 chromium-fourier NEXT.md: hit the clang 22 vs 147 wall
build and publish packages / distcc-avahi-aarch64 (push) Successful in 38s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 11m33s
build and publish packages / claude-his-debian (push) Successful in 5s
First-build summary on chromium-builder@boltzmann. gn gen succeeds
with our V4L2VDA-unlock args. ninja fails immediately on:

1. chromium 147 emits clang flags (-fno-lifetime-dse,
   -fsanitize-ignore-for-ubsan-feature=array-bounds) that clang 22
   doesn't know. Arch Linux ARM is on clang 22; clang 23 hasn't
   landed in extra yet.
2. Bundled x86_64 esbuild is invoked via qemu-x86_64-static but
   /lib64/ld-linux-x86-64.so.2 isn't installed — same shape as the
   bundled node-linux-x64 issue we already fixed by symlinking to
   system node. Smaller wall.

Documents 5 paths forward (grind patches / pin chromium 132 (7Ji's
known-good) / pin 138-141 middle ground / use chromium's bundled
clang / wait for Arch ARM clang 23) with estimated effort and trade-
offs. Recommends pinning to a chromium version that compiles clean
against clang 22 as the fastest path to a working browser, then
bumping as Arch ARM bumps clang.

Build host state preserved — container running, source extracted,
gn-gen'd, no compile artifacts. Easy to resume from any of the five
paths.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 01:02:24 +00:00
test0r 055fc0ba06 arch/chromium-fourier: scaffold PKGBUILD + placeholder patch
build and publish packages / distcc-avahi-aarch64 (push) Successful in 30s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 11m59s
build and publish packages / claude-his-debian (push) Successful in 4s
Initial chromium-fourier shape on the chromium-builder@boltzmann LXD
container we provisioned today. Approach is the 7Ji-style "tarball +
system tools" pattern (no gclient/CIPD, the linux-arm64 dependency
binaries don't exist anyway) but stripped of the MPP/X11/panfork
specifics — chromium-fourier targets mainline kernel + Wayland +
panfrost/panthor + V4L2 stateless on /dev/video0, not the vendor
stack 7Ji's chromium-mpp targets.

PKGBUILD highlights:
- pkgver=147.0.7727.116 (current Chrome stable as of 2026-04-25)
- gn args: use_v4l2_codec=true, use_v4lplugin=true, use_linux_v4l2_only=true,
  use_vaapi=true. The first three are the magic that unlocks V4L2VDA on
  Linux non-ChromeOS without source patches; if they're sufficient on
  their own, the chromeos-pipeline-bypass patch stays a no-op.
- ffmpeg_branding="Chrome" + proprietary_codecs=true for H.264.
- enable_widevine=false, enable_nacl=false to keep the tree small.
- Currently development-shaped: prepare()/build() operate on a
  pre-extracted /build/chromium/src rather than makepkg-fetched
  source. Will switch to canonical source=(...tarball.xz) shape once
  the patches stabilise.

patches/chromeos-pipeline-bypass.patch is a placeholder; the actual
patch (if any) gets developed once we see what 7Ji's gn args do or
don't unlock for us.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 23:28:12 +00:00
test0r f4bdd54543 arch/chromium-fourier: workspace + STUDY.md (no PKGBUILD yet)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 46s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m20s
build and publish packages / claude-his-debian (push) Successful in 15s
Stage the next side-project: patch upstream Chromium to do HW video
decode through VaapiVideoDecoder + our marfrit/libva-v4l2-request-fourier
backend on a mainline Linux Wayland system, instead of going through
the chromeos pipeline that fails on Brave today.

STUDY.md captures:
- The exact failure stack we're fixing (PickDecoderOutputFormat ->
  ImageProcessor init failure in media/gpu/chromeos/video_decoder_pipeline.cc)
- Three candidate patches (chromeos pipeline bypass, V4L2VideoDecoder
  factory un-gate, libva backend default)
- Reference forks (JeffyCN, igel-oss, 7Ji-PKGBUILDs/chromium-mpp,
  amazingfate/chromium-debian-build) — all use the older V4L2VDA path
  with vendor MPP, not VAAPI; useful for PKGBUILD shape and
  factory-un-gating patterns but not directly applicable
- Build plan on fermi (depot_tools, ~30 GB fetch, 6-10 h initial build,
  distcc-avahi acceleration through CT108 + tesla)
- Phase order — workspace done now, build env next session,
  patches after that, package after that, brave-fourier rebase last

No PKGBUILD added yet; one will land when there's something to actually
package. Build artifacts intentionally not in repo (chromium tree is
~100 GB).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 22:51:01 +00:00
test0r 9994c4e3b6 arch/ffmpeg-v4l2-request-git: FFmpeg 8.1 + V4L2-Request hwaccel for Fourier
build and publish packages / distcc-avahi-aarch64 (push) Successful in 59s
build and publish packages / lmcp-any (push) Successful in 13s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 12s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 14m3s
build and publish packages / claude-his-debian (push) Successful in 5s
First carrier package for the Fourier umbrella. Tracks Kwiboo's
v4l2-request-n8.1 branch (ffmpeg 8.1 base) pinned at commit b57fbbe —
bump _commit to rebase onto newer tip. CI job chained after
claude-his-any so it serializes on the shared aarch64 repo-db;
continue-on-error: true so long ffmpeg builds don't block the debian
downstream.

Deliberately diverges from the AUR package:

- AUR pins 6.1.1 with epoch=2 → would downgrade stock Arch ffmpeg 2:8.1-3.
  We track 8.1 so install is a sideways swap, not a regression.
- AUR pulls X11/AMF/CUDA/FireWire/AviSynth/OpenMPT/Bluray/OpenMAX/JPEG-XL/
  Theora/XVid/rsvg/soxr/ssh/vidstab/modplug/SDL2/Vulkan/JACK/GSM/Speex —
  dropped here; none are needed on a Wayland ARM video-decode fleet.
- AUR uses #branch=…, sha256sums=(SKIP) → every build is tip-of-branch,
  not reproducible. We pin via #commit=<sha>.

Kept: encoders (libx264/libx265/libvpx/libdav1d), VAAPI, libdrm, libv4l2,
neon, OpenGL, PulseAudio, subtitle/font stack, gnutls TLS. SDL2 dropped
means no ffplay binary (mpv covers interactive playback).

provides=(ffmpeg) conflicts=(ffmpeg) so it replaces stock ffmpeg on the
target host deliberately. Primary consumers: ohm (Fourier step 5),
fresnel, ampere.
2026-04-24 20:03:16 +00:00
test0r 23fa4376ff claude-his-agent: bump to v0.1.8 (document /opt/herding/etc cred paths)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m9s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 7s
2026-04-24 15:18:06 +02:00
test0r 1b0b609ae7 lmcp 0.5.4: ship lmcp.service systemd unit template
build and publish packages / distcc-avahi-aarch64 (push) Successful in 42s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Failing after 4s
build and publish packages / claude-his-debian (push) Has been skipped
2026-04-21 22:23:54 +02:00
test0r 0a58b1e14f lmcp 0.5.3: bump build-deb.sh PKGVER+sha (forgot earlier)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 38s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Failing after 4s
build and publish packages / claude-his-debian (push) Has been skipped
2026-04-21 16:11:54 +02:00
test0r 00ba627373 lmcp 0.5.3: fix sha256 (previous hash was of 404 error page due to private repo flag)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 32s
build and publish packages / lmcp-any (push) Successful in 6s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Failing after 3s
build and publish packages / claude-his-debian (push) Has been skipped
2026-04-21 15:38:47 +02:00
test0r c07d1f846c lmcp 0.5.3-1: hub hardening — hard ssh timeout, parallel probes, sticky DOWN cache
build and publish packages / distcc-avahi-aarch64 (push) Successful in 46s
build and publish packages / lmcp-any (push) Failing after 4s
build and publish packages / lmcp-debian (push) Has been skipped
build and publish packages / claude-his-any (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
2026-04-21 14:00:28 +02:00
test0r ef7911dd27 distcc-avahi: fix FORTIFY buffer overflow in dcc_gcc_rewrite_fqn
build and publish packages / distcc-avahi-aarch64 (push) Successful in 34s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 8s
build and publish packages / claude-his-debian (push) Successful in 4s
pkgrel 16 builds ship an upstream distcc 3.4 bug: src/compile.c sizes
the rewritten-compiler-name buffer with strlen(argv[0] + 1) — pointer
arithmetic applied before strlen — under-allocating by 2 bytes. glibc
FORTIFY_SOURCE=2 catches the resulting overflow in strcat and aborts,
so every "distcc gcc ..." invocation dies on a modern Arch.

Patch moves the +1 outside the strlen, as intended.
Closes marfrit/marfrit-packages#3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 12:02:38 +02:00
test0r 2ebaf04c47 lmcp: bump to v0.5.2 (shell_bg + remote_shell_bg)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 4s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 11:34:48 +02:00
test0r a91516df60 claude-his-agent: bump to v0.1.7 (Gitea bug-filing convention)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 42s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 11:32:49 +02:00
test0r a4182851ed lmcp: bump to v0.5.1 (search_files BSD find symlink fix)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 30s
build and publish packages / lmcp-any (push) Successful in 24s
build and publish packages / lmcp-debian (push) Successful in 6s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 4s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:48:27 +02:00
test0r d02dfdbfa0 lmcp: bump to v0.5.0 (hub broker + examples)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 40s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 6s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / claude-his-debian (push) Successful in 4s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:30:03 +02:00
test0r 9ce6943575 ci: add 3-try retry wrappers to network-facing steps
build and publish packages / distcc-avahi-aarch64 (push) Successful in 45s
build and publish packages / lmcp-any (push) Successful in 13s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / claude-his-debian (push) Successful in 4s
Observed two flakes in 24h — distcc-avahi-aarch64 at 66a7050 and lmcp-any
at 22060e0. Journal for both showed the job starting then failing silently
before any sudo/makepkg line. Theory: transient pacman mirror sync
failures on \"pacman -Syu --needed\" in the bootstrap steps, with the
rsync-to-nc step as secondary exposure (IPv6 prefix rotations from the
Fritz reconnect cron are visible in the runner journal).

Wrap pacman -Syu (5 sites), rsync to nc and hertz (5 sites), and ssh
publish-deb (2 sites) in a tiny 3-try exponential-backoff retry helper
defined per-step. No workflow restructure, no job-graph changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 10:32:24 +02:00
test0r 6a97649c1d claude-his-agent: bump to v0.1.6 (pump-mode runbook note)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 30s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 22:00:56 +02:00
test0r 1e884d74c0 claude-his-agent: bump to v0.1.5 (+zeroconf in DISTCC_HOSTS)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 38s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 7s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 21:37:28 +02:00
test0r dc1d053da1 lmcp: pkgrel=2 — retrigger CI for previous lmcp-any flake
build and publish packages / distcc-avahi-aarch64 (push) Successful in 39s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 9s
build and publish packages / claude-his-debian (push) Successful in 5s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 13:20:28 +02:00
test0r 5a8efbc292 retrigger CI for lmcp-any flake
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 13:18:49 +02:00
test0r 22060e09e1 lmcp: bump to v0.4.1 (LMCP_TOKEN env fallback + macOS installer)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m11s
build and publish packages / lmcp-any (push) Failing after 13s
build and publish packages / lmcp-debian (push) Has been skipped
build and publish packages / claude-his-any (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:47:01 +02:00
test0r 8f31f1c25e ci: distcc-avahi-aarch64 continue-on-error
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
distcc-avahi build failure was breaking the entire chain (lmcp-* and
claude-his-* depend transitively on it). These jobs only share a runner,
not real build outputs — one failing package should not block the
others.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 18:15:28 +02:00
test0r 66a70508b2 claude-his-agent: bump to v0.1.4 (ship repo-inventory scripts)
build and publish packages / distcc-avahi-aarch64 (push) Failing after 12s
build and publish packages / lmcp-debian (push) Has been skipped
build and publish packages / lmcp-any (push) Has been skipped
build and publish packages / claude-his-any (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Tag v0.1.3 added the scripts + quickref, v0.1.4 fixed doc paths.
Package both /usr/bin/repo-inventory.sh and /usr/bin/repo-inventory-nosudo.sh.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 18:10:16 +02:00
test0r a7976f1b7d lmcp: bump to v0.4.0 (edit_file tool)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / claude-his-debian (push) Successful in 4s
Claude Code Edit semantics — literal string replace with uniqueness
check. replace_all flag for bulk edits. Fixes missing edit tool on
lmcp-backed boltzmann / tesla / broglie.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 17:48:45 +02:00
test0r 27689de255 claude-his-agent: bump to v0.1.2 (runbook safety additions)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 6s
build and publish packages / claude-his-debian (push) Successful in 6s
2026-04-17 16:38:53 +02:00
test0r 0b5416fe07 claude-his-agent: bump to v0.1.1 (broglie dev-only runbook)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 30s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
2026-04-17 14:46:49 +02:00
test0r 3314971389 Add claude-his-agent package (arch=any + debian Architecture: all)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 44s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / claude-his-debian (push) Successful in 6s
- arch/claude-his-agent/PKGBUILD: fetches v0.1.0 tarball from
  git.reauktion.de/marfrit/claude-his-agent, installs agent+skill+helper
  to /usr/share/claude-agents/, /usr/share/claude-skills/his/, /usr/bin/
- debian/claude-his-agent/: control+changelog+copyright + build-deb.sh
  mirroring the lmcp-debian pattern (dpkg-deb, reproducible mtimes)
- .gitea/workflows/build.yml: two new serialized jobs (claude-his-any +
  claude-his-debian) after lmcp-debian; same publish flow as lmcp.
2026-04-17 14:05:07 +02:00
marfrit 2e79f666b3 ci: repo-remove before repo-add so db CSIZE matches new build bytes
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 4s
makepkg output isn't byte-deterministic across runs; same pkgver-pkgrel
rebuilds produce different .pkg.tar.xz bytes. repo-add no-ops on
same-version entries, leaving the db's CSIZE/SHA256 pointing at the
previous build while the nc copy is the new one — alpm then refuses
download with 'Maximum file size exceeded'. Force-remove first.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:43:37 +00:00
marfrit e103550ca5 lmcp deb: reproducible build via SOURCE_DATE_EPOCH
build and publish packages / distcc-avahi-aarch64 (push) Successful in 28s
build and publish packages / lmcp-any (push) Successful in 5s
build and publish packages / lmcp-debian (push) Failing after 4s
reprepro refuses to re-include a .deb if the bytes differ from one
already in pool/. Fixed mtimes via SOURCE_DATE_EPOCH make subsequent
builds byte-identical, so CI re-runs of the same pkgver/pkgrel are
accepted as no-ops instead of failing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:23:53 +00:00
marfrit c7b018174b lmcp: Debian packaging + CI publish via hertz reprepro
build and publish packages / distcc-avahi-aarch64 (push) Successful in 28s
build and publish packages / lmcp-any (push) Successful in 6s
build and publish packages / lmcp-debian (push) Failing after 9s
- debian/lmcp/build-deb.sh fetches the v0.3.0 tarball, lays out the
  filetree, and uses dpkg-deb to assemble lmcp_0.3.0-1_all.deb directly
  on the Arch aarch64 runner (no debhelper needed for a pure-Lua pkg).
- workflow job 'lmcp-debian' rsyncs the .deb to hertz's marfritrepo
  incoming dir, then ssh-triggers 'publish-deb <suite>' for both
  bookworm and trixie. publish-deb wraps 'reprepro includedeb' and
  rsyncs dists/+pool/ to nc.
- New secret MARFRIT_REPO_HERTZ_KEY uploaded to Gitea repo. Forced
  command on hertz routes rsync uploads vs publish-deb triggers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:13:16 +00:00
marfrit 32001de7f2 ci: pull existing .sig files + serialize jobs sharing a db
build and publish packages / distcc-avahi-aarch64 (push) Successful in 28s
build and publish packages / lmcp-any (push) Successful in 6s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:05:02 +00:00
marfrit 06b0747760 ci: drop dangling marfrit.files.sig symlink (only db is signed)
build and publish packages / distcc-avahi-aarch64 (push) Failing after 27s
build and publish packages / lmcp-any (push) Failing after 4s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:02:59 +00:00
marfrit f85bfa40b2 lmcp: Arch PKGBUILD + CI job publishing to both aarch64 and x86_64
build and publish packages / distcc-avahi-aarch64 (push) Failing after 28s
build and publish packages / lmcp-any (push) Successful in 8s
lmcp is arch=any (pure Lua). One build on the aarch64 runner serves
all pacman targets — the pure-Lua package drops into both repo dbs.

Depends on lua + lua-socket from the target distro's base repos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:00:14 +00:00
marfrit 2cfe3112ca distcc-avahi: bump pkgrel to 16 for usr-merge fix
build and publish packages / distcc-avahi-aarch64 (push) Successful in 28s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:58:24 +00:00
marfrit 4afa935faa distcc-avahi: --sbindir=/usr/bin for usr-merged Arch
Fixes install conflict with filesystem pkg on merged-usr systems where
/usr/sbin is a symlink to /usr/bin.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:58:24 +00:00
marfrit 209566518c ci: wipe stale gpg state at each build start
build and publish packages / distcc-avahi-aarch64 (push) Successful in 28s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:44:54 +00:00
marfrit bee19c8835 ci: exclude .sig from repo-add positional args
build and publish packages / distcc-avahi-aarch64 (push) Failing after 3s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:44:18 +00:00
marfrit 8f6200fe04 ci: replace broken heredoc with printf (YAML block-scalar fix)
build and publish packages / distcc-avahi-aarch64 (push) Failing after 26s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:43:17 +00:00
marfrit b9bfad146f ci: accept any pkg.tar.* extension, configure gpg for repo-add
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:42:19 +00:00
marfrit 0fda1c47ea distcc-avahi: skip doc build when Makefile absent
build and publish packages / distcc-avahi-aarch64 (push) Failing after 26s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:41:06 +00:00
marfrit ff8254ba2e distcc-avahi: -Wno-error to survive gcc 15+
build and publish packages / distcc-avahi-aarch64 (push) Failing after 23s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:40:24 +00:00
marfrit b3619d4c40 ci: run makepkg from builder-writable /tmp path
build and publish packages / distcc-avahi-aarch64 (push) Failing after 13s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:39:04 +00:00
marfrit 2a72de0727 PKGBUILD: pin source sha256 + wire real CI pipeline
build and publish packages / distcc-avahi-aarch64 (push) Failing after 8s
- distcc-3.4 tarball hash + local support files hashed (no more SKIP)
- .gitea/workflows/build.yml now builds, signs, repo-adds and rsyncs
  to nc via the marfrit-repo-deploy key. Triggers on push to arch/**
  or manual workflow_dispatch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:36:49 +00:00
marfrit 713fe2f03d README: document layout, client setup, signing key
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 18:51:50 +00:00
marfrit 016688ded2 Initial scaffold: README, distcc-avahi PKGBUILD, CI stub
- README documents repo layout, client setup (Arch+Debian),
  signing-key fingerprint, and infra TODOs.
- arch/distcc-avahi/: ALARM distcc PKGBUILD with --with-avahi,
  avahi dep, distccd.service + conf.d + tmpfiles.
- .gitea/workflows/build.yml: placeholder with wiring sketch
  for the real pipeline (runners, signing, scp publish).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 18:51:18 +00:00
marfrit ef84c7e527 Initial commit 2026-04-14 18:49:09 +00:00