mirror of
https://github.com/RhapsodiOS/RhapsodiOS.git
synced 2026-11-03 22:01:40 -07:00
[PR #19] [MERGED] rbuild + apk-tools Rhapsody port (apk switchover, phase 1) #85
Labels
No labels
bug
documentation
enhancement
enhancement
good first issue
help wanted
help wanted
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
github-starred/RhapsodiOS#85
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/RhapsodiOS/RhapsodiOS/pull/19
Author: @raynorpat
Created: 7/24/2026
Status: ✅ Merged
Merged: 7/24/2026
Merged by: @raynorpat
Base:
master← Head:rbuild-c89📝 Commits (10+)
c42da45rbuild: project scaffolding, test harness, Makefile2c94508rbuild: strutil sbuf + strlist + alloc wrappers97bfbc8rbuild: strutil string helpers (split/trim/cats/path_join)e9da3c7rbuild: link each unit test against only the modules it needsaf54856rbuild: document ownership conventions on strutil string helpersa3c017crbuild: package metadata parse/unparse/canon89a68c1rbuild: fail loudly when package has both revision fields; drop dead include905539frbuild: builder dir2name + pkgname525a5aerbuild: builder package-file matching (exists/resolve)15c068frbuild: manifest reader (file + directory)📊 Changes
4369 files changed (+10428 additions, -1032091 deletions)
View changed files
➕
src/apk-tools-1/.gitignore(+4 -0)➕
src/apk-tools-1/Makefile(+20 -0)➕
src/apk-tools-1/PORTING.md(+89 -0)➕
src/apk-tools-1/apk-tools/AUTHORS(+2 -0)➕
src/apk-tools-1/apk-tools/Make.rules(+276 -0)➕
src/apk-tools-1/apk-tools/Makefile(+36 -0)📝
src/apk-tools-1/apk-tools/NEWS(+0 -0)📝
src/apk-tools-1/apk-tools/README(+0 -0)➕
src/apk-tools-1/apk-tools/TODO(+39 -0)➕
src/apk-tools-1/apk-tools/src/Makefile(+20 -0)➕
src/apk-tools-1/apk-tools/src/add.c(+203 -0)➕
src/apk-tools-1/apk-tools/src/apk.c(+229 -0)➕
src/apk-tools-1/apk-tools/src/apk_applet.h(+45 -0)➕
src/apk-tools-1/apk-tools/src/apk_archive.h(+31 -0)➕
src/apk-tools-1/apk-tools/src/apk_blob.h(+52 -0)➕
src/apk-tools-1/apk-tools/src/apk_database.h(+139 -0)➕
src/apk-tools-1/apk-tools/src/apk_defines.h(+274 -0)➕
src/apk-tools-1/apk-tools/src/apk_hash.h(+55 -0)➕
src/apk-tools-1/apk-tools/src/apk_io.h(+75 -0)➕
src/apk-tools-1/apk-tools/src/apk_package.h(+97 -0)...and 80 more files
📄 Description
Moves the build/packaging toolchain toward apk, in two parts.
rbuild — C89 build tool (replaces the Perl build scripts)
Single C89 executable replacing
darwin-buildpackage/darwin-buildall/darwin-missingand theDpkg::Package::*engine. Produces/consumes apk packages (.PKGINFO+ gzipped tar) instead of dpkg.deb, while preserving the Rhapsody build machinery (chroot buildroot, DSTROOT/OBJROOT/… roots, RC_CFLAGS,chroot make, dependency install, object harvest, hdrs/obj sub-packages).buildpackage/buildall/missing;--dirsource only (--cvsdropped);-n/--dry-run.Build-Dependstravels in.PKGINFOas a custombuilddependsfield.chroot makeinvocation and flags (TRACE MATCH).apk-tools Rhapsody port (phase 1 of the apk switchover)
Ports vendored Alpine
apk-tools2.0_pre12 to build/run off-Linux, proven on a dev-host proxy for Rhapsody's Apple gcc 2.95.malloc.h→stdlib.h,endian.h,mknod/makedev,memrchrfallback).apk_applets[]table — no section-boundary symbols, so it links on cctoolsldfor both i386 and ppc of a fat build.DSTROOT→DESTDIR); host smoke tests proving apk⇄rbuild.apkformat compatibility.src/apk-tools-1/PORTING.mddocuments every change and a target-validation checklist for final verification on real Rhapsody (old-gcc acceptance, native libc/headers, fat-binary link, chroot install).Notes
.deb→.apkrepo conversion) are deferred to later phases.🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.