aboutsummaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md71
1 files changed, 71 insertions, 0 deletions
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 `<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.
---