Add .deb packaging for Ubuntu releases#84
Add .deb packaging for Ubuntu releases#84paulstuart wants to merge 1 commit intolemonade-sdk:mainfrom
Conversation
Adds scripts/create_deb.sh and integrates it into the CI build pipeline so each Ubuntu release automatically produces an installable .deb package. Package layout: - Executables → /usr/bin/ (llama-server, llama-cli, etc.) - Bundled ROCm libraries → /usr/lib/llamacpp-rocm/ (RPATH re-patched) - GPU kernel data → /usr/lib/llamacpp-rocm/rocblas/ and hipblaslt/ Key details: - Library soname duplicates are replaced with proper symlinks (~40% size reduction vs zip) - RPATH re-patched from $ORIGIN to /usr/lib/llamacpp-rocm for correct install-time resolution - Per-GPU-target packages (llamacpp-rocm-gfx1151, etc.) with Provides/Conflicts on the virtual "llamacpp-rocm" package so only one GPU variant is active at a time - New build-deb CI job validates packaging on every PR - create-release job builds final versioned .debs and attaches them to GitHub releases - Release notes include dpkg install instructions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d8d6a9d64e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| wget https://github.com/lemonade-sdk/llamacpp-rocm/releases/download/${TAG}/llamacpp-rocm-gfx1151_${TAG}_amd64.deb | ||
| sudo dpkg -i llamacpp-rocm-gfx1151_${TAG}_amd64.deb |
There was a problem hiding this comment.
Fix .deb filename in release install snippet
The release notes command uses llamacpp-rocm-gfx1151_${TAG}_amd64.deb, but scripts/create_deb.sh rewrites non-numeric versions like b1234 to 0~b1234 before building, so uploaded assets are named ..._0~${TAG}_amd64.deb. As written, the documented wget/dpkg -i lines point to a non-existent file for every normal release tag and will fail for users following the instructions.
Useful? React with 👍 / 👎.
Adds scripts/create_deb.sh and integrates it into the CI build pipeline so each Ubuntu release automatically produces an installable .deb package.
Package layout:
Key details: