aur: updoot

Amolith created

Change summary

skills/maintaining-aur-packages/SKILL.md | 40 +++++++++++++------------
1 file changed, 21 insertions(+), 19 deletions(-)

Detailed changes

skills/maintaining-aur-packages/SKILL.md 🔗

@@ -35,16 +35,14 @@ If no subdirectories exist, we're maintaining a single package. The current dire
 
 ## Constraints
 
-- The agent **cannot run `makepkg`**. Always give the user a copyable code block of `makepkg` commands instead.
-- Same applies to `makepkg --printsrcinfo > .SRCINFO`.
-- Use `updpkgsums` for checksums (agent can run this).
-- Use `namcap` to lint built `.pkg.tar.zst` files (agent can run this).
+- You **cannot** interactively authenticate to execute `makepkg` in a way that requires escalation. You do the non-privileged work (build with `makepkg -Cf`, lint with `namcap`, generate `.SRCINFO`), then give the user a single copyable `makepkg -csi` command.
+- Use `updpkgsums` for checksums
+- Use `namcap` to lint built `.pkg.tar.zst` files
 - Use `b2sums` for all packages.
 
 ## Creating packages
 
-Follow this strict workflow. If a planning or todo tool is available, fill it
-out in detail; the session might get interrupted and need to resume.
+Follow this strict workflow. If a planning or todo tool is available, fill it out in detail; the session might get interrupted and need to resume.
 
 1. List the contents of the current working directory.
    - Read any text files present.
@@ -64,25 +62,27 @@ out in detail; the session might get interrupted and need to resume.
      ```
    - **`-bin` packages**: Use `bin-name-$pkgver::https://...` in `source`, then `install` `bin-name-$pkgver` as `bin-name`. Obtain the license from the original repo. For GitHub sources, the raw URL is `https://raw.githubusercontent.com/USER/REPO/refs/tags/{TAG}/LICENSE`. For non-GitHub sources, ask for the raw tagged LICENSE URL.
 
-3. Write a `PKGBUILD` for each package. `Maintainer` comment: `Amolith <amolith@secluded.site>`. If multiple packages, include `conflicts=()` so they can't coexist. Packages with `-git` or `-bin` suffixes use versioned provides: `provides=("pkgname=${pkgver}")`. Use `b2sums` (except `-git` sources, which use `'SKIP'`).
+3. Write a `PKGBUILD` for each package. Set the `# Maintainer:` comment at the top to the user's email address. If you don't know it, ask. If multiple packages, include `conflicts=()` as appropriate so they can't coexist. Packages with `-git` or `-bin` suffixes use versioned provides: `provides=("pkgname=${pkgver}")`. Use `b2sums` (except `-git` sources, which use `'SKIP'`).
 
-4. Ask to find and relay the build system/installation methods recommended by the project (e.g. `cargo` for Rust, `go` for Go).
+4. Find or ask the user to find and relay the build system/installation methods recommended by the project (e.g. `cargo` for Rust, `go` for Go).
 
 5. Adapt those instructions for each package's `build()`, `check()`, `package()`, etc. See [build-patterns.md](references/build-patterns.md) for language-specific templates.
 
-6. Present **all** diagnostics, whether seemingly relevant or not, with reasoning for each. Resolve genuine issues before proceeding.
+6. Present **all** diagnostics, whether seemingly relevant or not, with reasoning for each. Resolve genuine issues before proceeding. Some issues are expected for AUR packages.
 
 7. Update checksums with `updpkgsums` in each package directory.
 
-8. Give the user a copyable code block of `makepkg -Ccsi` commands. Include `cd` if multiple packages. Work through any build issues.
+8. Run `makepkg -Cf` yourself. Work through any build issues.
 
-9. After the user builds, run `namcap` on `./package-name-*.pkg.tar.zst`. Report all issues with reasoning.
+9. Run `namcap` on `./package-name-*.pkg.tar.zst`. Report all issues with reasoning.
 
-10. Give the user `makepkg --printsrcinfo > .SRCINFO` commands (with `cd` if multiple packages).
+10. Give the user a copyable `makepkg -csi` command (with `cd` if multiple packages). This handles deps, rebuild, and installation in one step.
 
-11. If only PKGBUILDs and `.SRCINFO`s were created, enter each package directory and `git add` + `git commit` them. If other tracked files were modified, show the diff and ask which to commit. Create a `.gitignore` in each repo listing everything not committed, using appropriate globs.
+11. Run `makepkg --printsrcinfo > .SRCINFO` (with `cd` if multiple packages).
 
-12. Clean all artifacts with `git clean -fdx`.
+12. If only PKGBUILDs and `.SRCINFO`s were created, enter each package directory and `git add` + `git commit` them. If other tracked files were modified, show the diff and ask which to commit. Create a `.gitignore` in each repo listing everything not committed, using appropriate globs.
+
+13. Clean all artifacts with `git clean -fdx`.
 
 ## Updating packages
 
@@ -99,14 +99,16 @@ Follow this strict workflow.
 
 4. Present **all** diagnostics with reasoning. Resolve genuine issues before proceeding.
 
-5. Give the user a copyable code block of `makepkg -Ccsi` commands. Include `cd` if multiple packages. Work through any build issues.
+5. Run `makepkg -Cf`. Work through any build issues.
+
+6. Run `namcap` on `./package-name-*.pkg.tar.zst`. Report all issues with reasoning.
 
-6. After the user builds, run `namcap` on `./package-name-*.pkg.tar.zst`. Report all issues with reasoning.
+7. Give the user a copyable `makepkg -csi` command (with `cd` if multiple packages).
 
-7. Give the user `makepkg --printsrcinfo > .SRCINFO` commands.
+8. Run `makepkg --printsrcinfo > .SRCINFO` (with `cd` if multiple packages).
 
-8. If only `PKGBUILD` and `.SRCINFO` were modified, `git add` and `git commit` them. If other tracked files were modified, show the diff and ask which to commit.
+9. If only `PKGBUILD` and `.SRCINFO` were modified, `git add` and `git commit` them. If other tracked files were modified, show the diff and ask which to commit.
 
-9. Clean all artifacts with `git clean -fdx`.
+10. Clean all artifacts with `git clean -fdx`.
 
 If anything other than `pkgver` is edited during the update, re-run `shellcheck` and `namcap` as appropriate.