From c28d04c344ef8b6e96c759128b4e913e8f120a14 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 8 Aug 2026 13:10:29 +0200 Subject: CLAUDE.md: document the GitHub PR delivery channel SBo accepts updates to published packages as pull requests (SBo-Github-Workflows.txt). Record that alongside the existing submission-tarball route, plus the facts that took checking: - The fork is a separate clone at ~/Programming/GIT/GITHUB/slackbuilds, never a remote of this repo; the histories are unrelated. - PRs are based on master. Merged PRs display a base of "github", a transient integration branch admins retarget onto and delete, so it is not a branch to target. - The exported commit is synthesized at export time and uses SBo's wording, so local history here stays independent and keeps its own format. --- CLAUDE.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 85faba4..96f0fdd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -347,6 +347,68 @@ user's system or the buildsystem VM; the user runs them and reports back. --- +## Delivery: getting a bump to SBo + +Two channels reach SlackBuilds.org. Everything up to the local commit is +identical for both; only the final step differs. + +### Channel 1: GitHub pull request (preferred for updates) + +Per SBo's own workflow doc (`https://slackbuilds.org/SBo-Github-Workflows.txt`). +Applies to **updates of already-published packages**, which is all this repo +holds. New submissions still go through the upload form, not a PR. + +The fork is a **separate clone**, not a remote of this repo, the two trees +have unrelated histories: + +``` +~/Programming/GIT/GITHUB/slackbuilds # fork of SlackBuildsOrg/slackbuilds + origin -> github:danixland/slackbuilds.git + upstream -> https://github.com/SlackBuildsOrg/slackbuilds.git + user.name = danix (local override, matches .info MAINTAINER) +``` + +Because this repo mirrors SBo's `//` layout, a package +directory copies across at the identical relative path, no mapping needed: + +```bash +cd ~/Programming/GIT/GITHUB/slackbuilds +git fetch upstream +git checkout -B upstream/master +rsync -a --delete ~/Programming/GIT/sbo-slackbuilds/// // +git add / +git commit -m "/: Updated for version ." +git push -f origin +gh pr create --repo SlackBuildsOrg/slackbuilds --base master +``` + +Notes: + +- **One PR per package**, one commit per PR. Local history here can be as + fine-grained as you like; the PR commit is synthesized at export time, so + the two histories deliberately diverge. +- **Commit subject uses SBo's wording**, not this repo's: + `/: Updated for version X.Y.Z.` (past tense, trailing + period). Repo-level commits here (CLAUDE.md, hooks) keep no prefix and are + never exported. +- **Base the PR on `master`.** Merged PRs display a base of `github`, a + transient integration branch SBo admins retarget onto and then delete. Open + PRs target `master`; that is what you branch from and PR against. +- Reviewer feedback is addressed by amending and force-pushing the single + commit, per the doc. Local history here needn't mirror that amendment. + +### Channel 2: submission tarball (fallback) + +The `post-commit` hook builds `SBo/.tar.gz` when a `.SlackBuild` +changes and `SBO_ARCHIVE=yes` is set. The archive is named after the package +with the **package** directory at its root (not the category), as the upload +form expects. `SBo/` is gitignored, the tarball is a local artifact. + +Use this when a PR would be slower than the form, or as a fallback if a PR +stalls. + +--- + ## SBo Submission Guidelines Before submitting or updating a package on SlackBuilds.org: @@ -363,9 +425,18 @@ Before submitting or updating a package on SlackBuilds.org: ## Commit Conventions +Local commits in this repo: + - One commit per package add/update - Commit message format: `: add version X.Y.Z` or `: update to X.Y.Z` - For fixes: `: fix ` +- Repo-level changes (CLAUDE.md, hooks, nvchecker config) take no package + prefix and are never exported + +The **exported PR commit uses SBo's wording instead**, generated from the path +and `.info` VERSION at export time: `/: Updated for version +X.Y.Z.` See [Delivery](#delivery-getting-a-bump-to-sbo). The two histories are +independent by design, so local commits need not adopt SBo's format. --- -- cgit v1.2.3