My collection of packages I maintain for the Arch User Repository.
In this repository, I keep the PKGBUILD
files and other necessary files for
the packages I maintain in the Arch User Repository (AUR). This repository is
used to keep track of changes to the packages and to make it easier to monitor
and update them all at once.
Clone this repository:
git clone git@github.com:jonasgeiler/aur-packages.git
# or
git clone https://github.com/jonasgeiler/aur-packages.git
And then add remotes for all AUR packages:
git remote add yaak ssh://aur@aur.archlinux.org/yaak.git
git remote add yaak-appimage ssh://aur@aur.archlinux.org/yaak-appimage.git
git remote add yaak-bin ssh://aur@aur.archlinux.org/yaak-bin.git
git remote add yaak-git ssh://aur@aur.archlinux.org/yaak-git.git
git remote add supercronic ssh://aur@aur.archlinux.org/supercronic.git
git remote add supercronic-bin ssh://aur@aur.archlinux.org/supercronic-bin.git
git remote add supercronic-git ssh://aur@aur.archlinux.org/supercronic-git.git
All usages of Bash variables (${var}
) in the following steps are
placeholders and should be replaced with the actual values.
- Add a remote for the new package:
git remote add ${package} ssh://aur@aur.archlinux.org/${package}.git
- Add the subtree for the package:
git subtree add --prefix ${package} ${package} master
- Create the
${package}/PKGBUILD
file. - Continue from step 2 in the Updating a package section.
All usages of Bash variables (${var}
) in the following steps are
placeholders and should be replaced with the actual values.
-
Bump the
pkgver
to the new version and resetpkgrel
to1
in the${package}/PKGBUILD
file. Also update thepkgdesc
and other info if necessary. Make sure to read the release notes or changelog of the package to see if there are any breaking changes, new dependencies or anything else that needs to be changed.TIP: Changes to GitHub Action release workflows are usually good sources of information about new dependencies, commands and other build steps.
-
Update the checksums:
updpkgsums ${package}/PKGBUILD
-
Check
PKGBUILD
for errors:namcap -i ${package}/PKGBUILD
-
Try building the package:
makepkg --dir ${package} --force --cleanbuild
TIP: Sometimes a clean build can take a long time. If you're in a hurry, you can rebuild from an already compiled package by removing the
--cleanbuild
flag, but generally it is safer to build from scratch.Alternatively, use
extra-x86_64-build
from thedevtools
package to try building in a clean chroot, which often reveals missing build dependencies:cd ${package} extra-x86_64-build -c cd ..
-
Check the package for errors:
namcap -i ${package}/${package}-${version}-${arch}.pkg.tar.zst
-
(Optional) Install the package and test it out:
makepkg --dir ${package} --install
-
Update the
${package}/.SRCINFO
file:makepkg --dir ${package} --printsrcinfo > ${package}/.SRCINFO
-
Stage the changes, commit and push them to this repository:
git add PKGBUILD .SRCINFO git commit -m "feat(${package}): updated to ${major}.${minor}.${patch}" git push
-
Push the changes to the AUR repository:
git subtree push --prefix ${package} ${package} master
A little collection of copy-paste snippets for various tasks. Run these from the root of the repository.
git subtree pull --prefix yaak yaak master
git subtree pull --prefix yaak-appimage yaak-appimage master
git subtree pull --prefix yaak-bin yaak-bin master
git subtree pull --prefix yaak-git yaak-git master
git subtree pull --prefix supercronic supercronic master
git subtree pull --prefix supercronic-bin supercronic-bin master
git subtree pull --prefix supercronic-git supercronic-git master
updpkgsums yaak/PKGBUILD
updpkgsums yaak-appimage/PKGBUILD
updpkgsums yaak-bin/PKGBUILD
updpkgsums yaak-git/PKGBUILD
updpkgsums supercronic/PKGBUILD
updpkgsums supercronic-bin/PKGBUILD
updpkgsums supercronic-git/PKGBUILD
namcap -i yaak/PKGBUILD
namcap -i yaak-appimage/PKGBUILD
namcap -i yaak-bin/PKGBUILD
namcap -i yaak-git/PKGBUILD
namcap -i supercronic/PKGBUILD
namcap -i supercronic-bin/PKGBUILD
namcap -i supercronic-git/PKGBUILD
makepkg --dir yaak --printsrcinfo > yaak/.SRCINFO
makepkg --dir yaak-appimage --printsrcinfo > yaak-appimage/.SRCINFO
makepkg --dir yaak-bin --printsrcinfo > yaak-bin/.SRCINFO
makepkg --dir yaak-git --printsrcinfo > yaak-git/.SRCINFO
makepkg --dir supercronic --printsrcinfo > supercronic/.SRCINFO
makepkg --dir supercronic-bin --printsrcinfo > supercronic-bin/.SRCINFO
makepkg --dir supercronic-git --printsrcinfo > supercronic-git/.SRCINFO
git subtree push --prefix yaak yaak master
git subtree push --prefix yaak-appimage yaak-appimage master
git subtree push --prefix yaak-bin yaak-bin master
git subtree push --prefix yaak-git yaak-git master
git subtree push --prefix supercronic supercronic master
git subtree push --prefix supercronic-bin supercronic-bin master
git subtree push --prefix supercronic-git supercronic-git master
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=yay
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=yay-bin
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=yay-git
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=paru
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=paru-bin
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=paru-git
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=joplin-appimage
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=wootility-appimage
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=freecad-appimage
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=voicevox-appimage
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=citra-appimage