diff options
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 71 |
1 files changed, 71 insertions, 0 deletions
@@ -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 `<category>/<package>/` 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 <package> upstream/master +rsync -a --delete ~/Programming/GIT/sbo-slackbuilds/<category>/<package>/ <category>/<package>/ +git add <category>/<package> +git commit -m "<category>/<package>: Updated for version <VERSION>." +git push -f origin <package> +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: + `<category>/<package>: 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/<package>.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: `<package-name>: add version X.Y.Z` or `<package-name>: update to X.Y.Z` - For fixes: `<package-name>: fix <short description>` +- 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: `<category>/<package>: 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. --- |
