pub fn fetch_pkgbuild_sync(name: &str) -> Result<String, String>Expand description
What: Fetch PKGBUILD content synchronously (blocking).
Inputs:
name: Package name.
Output:
- Returns PKGBUILD content as a string, or an error if fetch fails.
§Errors
- Returns
Errwhen network request fails (curl execution error) - Returns
Errwhen PKGBUILD cannot be fetched from AUR or official repositories - Returns
Errwhen rate limiting mutex is poisoned
§Panics
- Panics if the rate limiting mutex is poisoned
Details:
- First tries offline methods (yay/paru cache, yay -G, paru -G).
- Then tries AUR with rate limiting (500ms between requests).
- Falls back to official GitLab repos for official packages.
- Uses curl to fetch PKGBUILD from AUR or official GitLab repos.