Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HowTo] Search PKGBUILD of all packages #5

Open
xiota opened this issue Nov 21, 2023 · 0 comments
Open

[HowTo] Search PKGBUILD of all packages #5

xiota opened this issue Nov 21, 2023 · 0 comments

Comments

@xiota
Copy link
Contributor

xiota commented Nov 21, 2023

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.

_regex='^.*\bexit\b.*$'
sed 's&^&origin/&' <<< "$_branches_good" | xargs -P $(nproc) -I {} git -C aur grep -m1 "$_regex" {} -- PKGBUILD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant