一键导入
aur-submission
Comprehensive guide for submitting packages to the AUR, maintaining existing packages, and managing the complete AUR package lifecycle.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Comprehensive guide for submitting packages to the AUR, maintaining existing packages, and managing the complete AUR package lifecycle.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Master skill for AUR (Arch User Repository) package development, serving as a comprehensive guide and dispatcher for creating, auditing, and submitting Arch Linux packages.
Comprehensive guide for auditing and validating Arch Linux packages and PKGBUILDs using automated tools and manual verification.
Comprehensive guide for using AUR helper tools like yay, paru, pikaur, and aura for automating package management.
Comprehensive guide for building Arch Linux packages using makepkg, covering the build process, configuration, debugging, and optimization.
Comprehensive guide to Arch Linux package guidelines and standards for consistency, quality, and interoperability across the Arch Linux ecosystem.
Comprehensive guide for using pacman, the Arch Linux package manager, covering installation, removal, queries, and troubleshooting.
| name | aur-submission |
| description | Comprehensive guide for submitting packages to the AUR, maintaining existing packages, and managing the complete AUR package lifecycle. |
Comprehensive guide for submitting packages to the Arch User Repository (AUR), maintaining existing packages, and managing the complete AUR package lifecycle. Covers submission rules, Git workflows, package maintenance, and request types.
This skill should be used when:
The AUR (Arch User Repository) is a community-driven repository for PKGBUILDs. Unlike official packages, AUR packages are unofficial and user-maintained.
If you want to submit a package that exists in official repos but includes extra features or patches:
screen-sidebar)conflicts=('screen') and provides=('screen')If a package uses multiple licenses, use the single-string SPDX syntax:
license=('GPL-2.0-or-later OR LGPL-2.1-or-later')
-git, -svn, -hg, etc. - VCS packages (must use appropriate suffix)-bin - Prebuilt binaries (when source available)gtk2, qt5)Verify package doesn't exist in official repos
pacman -Ss package-name
https://archlinux.org/packages/
Check AUR for duplicates
https://aur.archlinux.org/packages/
Test build locally
makepkg -s
Run validation
# Check PKGBUILD for issues
namcap PKGBUILD
# Shellcheck with recommended exclusions for standard packaging variables
shellcheck --shell=bash --exclude=SC2034,SC2154,SC2164 PKGBUILD
# Also check the built package
namcap *.pkg.tar.zst
Generate .SRCINFO
makepkg --printsrcinfo > .SRCINFO
Verify LICENSE file exists
ssh-keygen -t ed25519 -C "aur@archlinux.org"
# ~/.ssh/config
Host aur.archlinux.org
User aur
IdentityFile ~/.ssh/aur
# Optional: specific key type
# IdentityFile ~/.ssh/aur_ed25519
ssh aur@aur.archlinux.org# Clone empty repository
git -c init.defaultBranch=master clone ssh://aur@aur.archlinux.org/pkgname.git
# Add files
cp /path/to/PKGBUILD .
cp /path/to/.SRCINFO .
cp /path/to/LICENSE .
# Add any patches or install files
# Commit (include at least PKGBUILD, .SRCINFO, and LICENSE)
git add PKGBUILD .SRCINFO LICENSE
git commit -m "Initial package release"
# Push
git push origin master
Note: You are strongly encouraged to license your submission (PKGBUILD and helper files) under the 0BSD license. Packages without a license or with non-0BSD licenses are not eligible for promotion to official repositories.
# Clone existing package
git clone ssh://aur@aur.archlinux.org/pkgname.git
cd pkgname
# Update PKGBUILD
$EDITOR PKGBUILD
# Regenerate .SRCINFO
makepkg --printsrcinfo > .SRCINFO
# Update checksums if needed
updpkgsums PKGBUILD
# Commit with meaningful message (include PKGBUILD, .SRCINFO, LICENSE)
git add PKGBUILD .SRCINFO LICENSE
git commit -m "Update to version 2.0.0"
# Push
git push
master branch# Maintainer: Your Name <you at example dot com>
# Contributor: Original Submitter <author at example dot com>
When adopting a package, move the previous maintainer(s) to Contributors:
# Maintainer: Your Name <you at example dot com>
# Contributor: Previous Maintainer <old at example dot com>
To protect maintainers and contributors from spam while allowing contact through the AUR web interface, write the email in a human-readable but bot-resistant format:
Standard Format (as per AUR guidelines):
# Maintainer: Your Name <you at example dot com>
This format:
Alternative: AUR Web Interface Contact
# Maintainer: Your Name <username at aur dot archlinux dot org>
Provides package metadata to AUR web interface without parsing PKGBUILD. Mandatory: Must be regenerated whenever PKGBUILD metadata changes, otherwise the AUR web interface will fail to display correct version numbers.
makepkg --printsrcinfo > .SRCINFO
If you can no longer maintain a package:
If a package has no active maintainer:
When to use:
How to request:
When to use:
How to request:
When to use:
How to request:
makepkg -s to install deps| Aspect | AUR | Official |
|---|---|---|
| Review | None | Yes (Package Maintainers) |
| Support | Community | Package Maintainers |
| Stability | Varies | Tested |
| Updates | Manual | Automatic |
| Packages | Source only | Binary |