Open xiota opened 7 months ago
Clone AUR mirror:
git clone --depth=1 https://github.com/archlinux/aur.git
Download and unpack AUR package list:
wget "https://aur.archlinux.org/packages.gz" gzip -dk packages.gz
Get list of git branches:
_branches=$( git -C aur ls-remote --heads origin \ | sed -E 's@^.*/(\S+)$@\1@' )
Exclude likely deleted packages. Split packages have to be treated differently. (TBD)
_branches_good=$( comm -12 <(sort -u packages) <(sort -u <<< "$_branches") ) _branches_bad=$( comm -13 <(sort -u packages) <(sort -u <<< "$_branches") )
Or work only with chaotic-aur packages.
_packages_chaotic=$( repoctl list -v | sed -E 's& .*$&&' ) _branches_good=$( comm -12 <(sort -u <<< "$_packages_chaotic") <(sort -u <<< "$_branches") ) _branches_bad=$( comm -13 <(sort -u <<< "$_packages_chaotic") <(sort -u <<< "$_branches") )
Fix fetch paths (make sure they end with *), and fetch. This takes a while. Repo directory will expand to 2.4GiB.
nano aur/.git/config git -C aur fetch --all
Search branches. In this example, searching for exit.
exit
_regex='^.*\bexit\b.*$' sed 's&^&origin/&' <<< "$_branches_good" | xargs -P $(nproc) -I {} git -C aur grep -m1 "$_regex" {} -- PKGBUILD
Clone AUR mirror:
Download and unpack AUR package list:
Get list of git branches:
Exclude likely deleted packages. Split packages have to be treated differently. (TBD)
Or work only with chaotic-aur packages.
Fix fetch paths (make sure they end with *), and fetch. This takes a while. Repo directory will expand to 2.4GiB.
Search branches. In this example, searching for
exit
.