{"id":13799218,"url":"https://github.com/actionless/pikaur","last_synced_at":"2026-02-02T01:19:34.373Z","repository":{"id":37269716,"uuid":"119318942","full_name":"actionless/pikaur","owner":"actionless","description":"AUR helper with minimal dependencies. Review PKGBUILDs all in once, next build them all without user interaction.","archived":false,"fork":false,"pushed_at":"2026-01-19T13:27:56.000Z","size":7162,"stargazers_count":932,"open_issues_count":49,"forks_count":88,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-01-19T19:45:36.582Z","etag":null,"topics":["arch-linux","aur","aur-helper"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/actionless.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"actionless","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"issuehunt":null,"otechie":null,"custom":"https://www.paypal.me/actionless"}},"created_at":"2018-01-29T02:06:28.000Z","updated_at":"2026-01-19T13:28:34.000Z","dependencies_parsed_at":"2024-02-09T10:45:50.252Z","dependency_job_id":"daab9b96-f17d-4155-a4ff-7b1d30f90911","html_url":"https://github.com/actionless/pikaur","commit_stats":{"total_commits":3005,"total_committers":85,"mean_commits":35.35294117647059,"dds":0.06722129783693842,"last_synced_commit":"0c817e35476db10ca751065ee92e42a22993da94"},"previous_names":[],"tags_count":181,"template":false,"template_full_name":null,"purl":"pkg:github/actionless/pikaur","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actionless%2Fpikaur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actionless%2Fpikaur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actionless%2Fpikaur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actionless%2Fpikaur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/actionless","download_url":"https://codeload.github.com/actionless/pikaur/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/actionless%2Fpikaur/sbom","scorecard":{"id":163594,"data":{"date":"2025-08-11","repo":{"name":"github.com/actionless/pikaur","commit":"cc1c9866abe01f1de8b11675a35bef2a190e0cde"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.1,"checks":[{"name":"Code-Review","score":1,"reason":"Found 4/30 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"28 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/spam-remover.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 1.33.1 not signed: https://api.github.com/repos/actionless/pikaur/releases/235042687","Warn: release artifact 1.33 not signed: https://api.github.com/repos/actionless/pikaur/releases/230956869","Warn: release artifact 1.32 not signed: https://api.github.com/repos/actionless/pikaur/releases/191726738","Warn: release artifact 1.31 not signed: https://api.github.com/repos/actionless/pikaur/releases/191145057","Warn: release artifact 1.30.3 not signed: https://api.github.com/repos/actionless/pikaur/releases/190325380","Warn: release artifact 1.33.1 does not have provenance: https://api.github.com/repos/actionless/pikaur/releases/235042687","Warn: release artifact 1.33 does not have provenance: https://api.github.com/repos/actionless/pikaur/releases/230956869","Warn: release artifact 1.32 does not have provenance: https://api.github.com/repos/actionless/pikaur/releases/191726738","Warn: release artifact 1.31 does not have provenance: https://api.github.com/repos/actionless/pikaur/releases/191145057","Warn: release artifact 1.30.3 does not have provenance: https://api.github.com/repos/actionless/pikaur/releases/190325380"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/spam-remover.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/actionless/pikaur/spam-remover.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/actionless/pikaur/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/actionless/pikaur/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/actionless/pikaur/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/actionless/pikaur/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/actionless/pikaur/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/actionless/pikaur/tests.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:3: pin your Docker image by updating archlinux:base-devel to archlinux:base-devel@sha256:92a0740113bd2af7f38bf7c9992efd5ee61e745e9934326eb50ecdf24495b055","Warn: containerImage not pinned by hash: Dockerfile_export:3: pin your Docker image by updating archlinux:base-devel to archlinux:base-devel@sha256:92a0740113bd2af7f38bf7c9992efd5ee61e745e9934326eb50ecdf24495b055","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:70","Info:   0 out of   7 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T14:15:42.392Z","repository_id":37269716,"created_at":"2025-08-16T14:15:42.392Z","updated_at":"2025-08-16T14:15:42.392Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28998613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch-linux","aur","aur-helper"],"created_at":"2024-08-04T00:00:59.972Z","updated_at":"2026-02-02T01:19:34.341Z","avatar_url":"https://github.com/actionless.png","language":"Python","funding_links":["https://github.com/sponsors/actionless","https://www.paypal.me/actionless"],"categories":["Python","AUR Helpers"],"sub_categories":["Pacman wrappers"],"readme":"# pikaur\n\n[![Tests](https://github.com/actionless/pikaur/actions/workflows/tests.yml/badge.svg)](https://github.com/actionless/pikaur/actions/workflows/tests.yml) [![Coverage Status](https://coveralls.io/repos/github/actionless/pikaur/badge.svg?branch=master)](https://coveralls.io/github/actionless/pikaur?branch=master) [![Commit Activity](https://img.shields.io/github/commit-activity/m/actionless/pikaur)](https://github.com/actionless/pikaur/graphs/commit-activity) [![Support Project](https://img.shields.io/badge/support%20project-pink?logo=buymeacoffee\u0026logoColor=black)](https://www.paypal.me/actionless)\n\nAUR helper with minimal dependencies. Review PKGBUILDs all in once, next build them all without user interaction.\n\nInspired by `pacaur`, `yaourt` and `yay`.\n\nInstead of trying to be smarter than pacman (by using `--nodeps`, `--force`, `--ask`, `--noconfirm` and so) it just interactively tells pacman what to do. If pacman asks some unexpected question, the user will be just able to answer it manually.\n\nNotable features:\n\n* build local PKGBUILDs with AUR deps (`-P`/`--pkgbuild`)\n* retrieve PKGBUILDs from AUR and ABS (`-G`/`--getpkgbuild`)\n* interactively handle common build problems (like untrusted GPG key or checksum mismatch, wrong architecture)\n* show unread [Arch news](https://www.archlinux.org/news/ \"\") before sysupgrade\n* [m]anual package selection in [install prompt](#screenshot \"\") using text editor (ignore unwanted updates or select package provider)\n* show AUR package diff and review PKGBUILD and .install files\n* [upgrade](#how-to-upgrade-all-the-dev--git-packages-at-once \"\") `-git`, `-svn` and other dev packages\n* AUR package names in shell completion (bash, fish, zsh)\n* quickly search\u0026install package by `pikaur \u003csearch-query\u003e`\n\nThe following pacman operations are extended with AUR capabilities:\n\n* `-S` (build AUR packages, `--needed`, `--ignore` and `--noconfirm` are supported as in pacman, other args are just bypassed to it)\n* `-Sw` (build AUR packages but don't install)\n* `-Ss` (search or list all AUR packages, `-q` also supported)\n* `-Si` (package info)\n* `-Su` / `-Syu` (sysupgrade)\n* `-Sc` / `-Scc` (build dir/built packages cache clean)\n* `-Qu` (query upgradeable, `-q` supported)\n\nAlso see `pikaur -Sh`, `-Qh`, `-Ph`, `-Gh` and `-Xh` for pikaur-specific flags.\n\nPikaur wraps all the pacman options accurately except for `-Syu` which is being split into `-Sy` (to refresh package list first) and `-Su` (to install upgrades after user confirmed the package list or altered it via [M]anual package selection).\n\n\n* [Installation](#installation \"\")\n* [Run without installation](#run-without-installation \"\")\n* - [Pikaur-Static](#pikaur-static \"\")\n* [File locations](#file-locations \"\")\n* [Config file](#configuration \"\")\n* [FAQ](#faq \"\")\n* [Contributing](#contributing \"\")\n* - [Code](#code \"\")\n* - [Translations](#translations \"\")\n* - [Documentation](#documentation \"\")\n* [Authors](#authors \"\")\n\n\n## Installation\n\n```sh\nsudo pacman -S --needed base-devel git\ngit clone https://aur.archlinux.org/pikaur.git\ncd pikaur\nmakepkg -fsri\n```\n\n## Screenshot\n\n![Screenshot](https://raw.githubusercontent.com/actionless/pikaur/master/screenshots/package_update.png \"Screenshot\")\n\n\n\n## Run without installation\n\n### Pikaur-Static\n\nTo avoid situations during upgrading the system when you can't run Pikaur anymore (for example due breaking changes in Python, Pyalpm or other system dep) it's recommended to have [pikaur-static ⚡️](https://aur.archlinux.org/packages?O=0\u0026SeB=nd\u0026K=pikaur-static\u0026outdated=\u0026SB=p\u0026SO=d\u0026PP=50\u0026submit=Go) installed, which doesn't depend on Python (or Pyalpm) and doesn't conflict with the regular pikaur installation.\n\nYou can download it from the [Releases Page](https://github.com/actionless/pikaur/releases)\n(or downgrade Python/[other pkg which broke the update] to the previous version if it broke due to update, build+install `pikaur-static` from aur, upgrade python/[that pkg] again).\n\n### Running directly from git repo for development purposes/etc\n\n```sh\ngit clone https://github.com/actionless/pikaur.git\ncd pikaur\npython3 ./pikaur.py -S AUR_PACKAGE_NAME\n```\n\n\n\n## File locations\n\n```sh\n~/.cache/pikaur/\n├── build/  # build directory (removed after successful build)\n├── pkg/  # built packages directory\n~/.config/pikaur.conf  # config file\n~/.local/share/pikaur/\n└── aur_repos/  # keep aur repos there; show diff when updating\n    └── last_installed.txt  # aur repo hash of last successfully installed package\n```\n\n\n\n## Configuration\n\n`~/.config/pikaur.conf`\n\n\n#### [sync]\n\n##### DevelPkgsExpiration (default: -1)\nWhen doing sysupgrade, count all devel (-git, -svn, -bzr, -hg, -cvs) packages older than N days as being upgradeable.\n-1 disables this.\n0 means always upgrade.\nPassing `--devel` argument will override this option to 0.\n\n##### AlwaysShowPkgOrigin (default: no)\nWhen installing new packages, show their repository name, even if they are coming from one of the official Arch Linux repositories.\n\n##### UpgradeSorting (default: versiondiff)\nWhen upgrading packages, sort them by `versiondiff`, `pkgname` or `repo`.\n\n##### ShowDownloadSize (default: no)\nWhen installing repository packages, show their download size.\n\n##### IgnoreOutofdateAURUpgrades (default: no)\nWhen doing sysupgrade ignore AUR packages which have `outofdate` mark.\n\n\n#### [build]\n\n##### GpgDir (default: ) (root default: /etc/pacman.d/gnupg)\nProvides an override path for the GPG home directory used when validating aur package sources.\nSee explanations of `--homedir` and `${GNUPGHOME}` in the gpg man pages for more details.\nWill be overridden by `--build_gpgdir` argument.\n\n##### KeepBuildDir (default: no)\nDon't remove `~/.cache/pikaur/build/${PACKAGE_NAME}` directory between the builds.\nWill be overridden by `-k/--keepbuild` flag.\n\n##### KeepDevBuildDir (default: yes)\nWhen building dev packages (`-git`, `-svn`, etc),\ndon't remove `~/.cache/pikaur/build/${PACKAGE_NAME}` directory between the builds.\n`No` value will be overridden by `KeepBuildDir` option and `-k/--keepbuild` flag.\n\n##### KeepBuildDeps (default: no)\nDon't remove build dependencies between and after the builds.\nWill be overridden by `--keepbuilddeps` flag.\n\n##### SkipFailedBuild (default: no)\nAlways skip the build if it fails and don't show recovery prompt.\n\n##### DynamicUsers (default: never) [root|never|always]\nWhen to isolate the build using systemd dynamic users.\n(`root` - only when running as root)\nWill be overridden by `--dynamic-users` flag.\n\n##### IgnoreArch (default: no)\nIgnore specified architectures (`arch`-array) in PKGBUILDs.\n\n\n#### [review]\n\n##### DontEditByDefault (default: no)\nAlways default to no when prompting to edit PKGBUILD and install files.\n\n##### NoEdit (default: no)\nDon't prompt to edit PKGBUILD and install files.\nWill be overridden by `--noedit` and `--edit` flags.\n\n##### NoDiff (default: no)\nDon't prompt to show the build files diff.\nWill be overridden by `--nodiff` flag.\n\n##### GitDiffArgs (default: --ignore-space-change,--ignore-all-space)\nFlags to be passed to `git diff` command when reviewing build files.\nShould be separated by commas (`,`).\n\n##### DiffPager (default: auto)\nWherever to use `less` pager when viewing AUR packages diff. Choices are `always`, `auto` or `never`.\n\n##### HideDiffFiles (default: .SRCINFO)\nHide `git diff` for file paths, separated by commas (`,`).\n\n\n#### [colors]\n\nTerminal colors, from 0 to 15:\n\n##### Version (default: 10)\n##### VersionDiffOld (default: 11)\n##### VersionDiffNew (default: 9)\n\n\n#### [ui]\n\n##### RequireEnterConfirm (default: yes)\nRequire enter key to be pressed when answering questions.\n\n##### PrintCommands (default: no)\nPrint each command which pikaur is currently spawning.\n\n##### GroupByRepo (default: yes)\nGroups official packages by repository when using commands like `pikaur -Ss \u003cquery\u003e` or `pikaur \u003cquery\u003e`.\n\n##### AurSearchSorting (default: hottest)\nSorting key for AUR packages when using commands like `pikaur -Ss \u003cquery\u003e` or `pikaur \u003cquery\u003e`. Accepts `hottest`, `numvotes`, `lastmodified`, `popularity`, `pkgname`. Only `pkgname` is sorted ascendingly. The metric for `hottest` is weighted by both `numvotes` and `popularity`.\n\n##### DisplayLastUpdated (default: no)\nDisplay the date a package is last updated on search results when using commands like `pikaur -Ss \u003cquery\u003e` or `pikaur \u003cquery\u003e`.\n\n##### ReverseSearchSorting (default: no)\nReverse search results of the commands like `pikaur -Ss \u003cquery\u003e` or `pikaur \u003cquery\u003e`.\n\n##### WarnAboutPackageUpdates (default: )\nComma-separated list of packages names or globs, which upgrade should have additional warning message in the UI.\n\n##### WarnAboutNonDefaultPrivilegeEscalationTool (default: yes)\nPrint warning when using privilege escalation tool other than `sudo`.\n\n\n#### [misc]\n\n##### PacmanPath (default: pacman)\nPath to pacman executable.\nWill be overriden by `--pacman-path` flag.\n\n##### PreserveEnv (default: `PKGDEST,VISUAL,EDITOR,http_proxy,https_proxy,ftp_proxy,HTTP_PROXY,HTTPS_PROXY,FTP_PROXY,ALL_PROXY`)\nPreserve environment variables of current user when running pikaur as root (comma-separated).\nWill be overriden by `--preserve-env` flag.\n\n##### PrivilegeEscalationTool (default: sudo)\nA tool used to escalate user privileges. Currently supported options are `sudo` and `doas`.\n\n##### PrivilegeEscalationTarget (default: pikaur)\nChoices: pikaur, pacman.\nIn case of elevating privilege for pacman - pikaur would ask for password every time pacman runs.\n\n##### UserId (default: 0)\nUser ID to run makepkg if pikaur started from root.\n0 - means disabled, not that it will use uid=0.\nSetting this option would override DynamicUsers settings and force changing to this UID instead of a dynamic one.\nThe config value would be overriden by `--user-id` flag.\n\n##### GroupId (default: 0)\nGroup ID to run makepkg if pikaur started from root.\n0 - means disabled, not that it will use gid=0.\nThe config value would be overriden by `--group-id` flag.\n\n##### CachePath (default: ~/.cache)\nPath to package cache location.\nWill be overridden by `--xdg-cache-home` argument\nor environment variable `XDG_CACHE_HOME`, if set.\n\n##### DataPath (default: ~/.local/share)\nPath to database location.\nWill be overridden by `--xdg-data-home` argument\nor environment variable `XDG_DATA_HOME`, if set.\n\n#### [network]\n\n##### AurUrl (default: https://aur.archlinux.org)\nAUR Host.\n\n##### NewsUrl (default: https://archlinux.org/feeds/news/)\nArch Linux News URL, useful for users of Parabola or other Arch derivatives.\n\n##### Socks5Proxy (default: )\nSpecify a socks5 proxy which is used to get AUR package information.\n\nThe format is `[host[:port]]`, and the default port is 1080.\nPySocks module (`python-pysocks` package) should be installed in order to use this option.\n\nNote that any downloads by `pacman`, `git` or `makepkg` will NOT use this proxy.\nIf that's needed, setting proxy options in their own config files will take effect\n(such as `~/.gitconfig`, `~/.curlrc`).\n\n##### AurHttpProxy (default: )\nSpecify a HTTP proxy which is used to get AUR package information and to `git`-clone from AUR.\n\nNote that any downloads by `pacman`, `git` (inside the build) or `makepkg` will NOT use this proxy.\nIf that's needed, setting proxy options in their own config files will take effect\n(such as `env HTTP_PROXY=`, `~/.gitconfig`, `~/.curlrc`).\n\n##### AurHttpsProxy (default: )\nSpecify a HTTPS proxy which is used to get AUR package information and to `git`-clone from AUR.\n\nNote that any downloads by `pacman`, `git` (inside the build) or `makepkg` will NOT use this proxy.\nIf that's needed, setting proxy options in their own config files will take effect\n(such as `env HTTPS_PROXY=`, `~/.gitconfig`, `~/.curlrc`).\n\n\n\n## FAQ\n\n\n##### How to upgrade all the dev (-git) packages at once?\n\n`pikaur -Sua --devel --needed`\n\n(`--needed` option will make sure what the same package version won't be rebuilt again and `-a/--aur` will ensure what only AUR packages will be upgraded)\n\n\n##### How to manually remove unneeded dependencies?\n\nPikaur is not needed for that, use just Pacman itself:\n\n`sudo pacman -Rs $(pacman -Qtdq)` (however `pikaur -Rs ...` would work as well if you lazy to type `sudo` :) )\n\n\n##### How to override default source directory, build directory or built package destination?\n\nSet `SRCDEST`, `BUILDDIR` or `PKGDEST` accordingly in `makepkg.conf`.\n\nFor more info see `makepkg` documentation.\n\n\n##### How to clean old or uninstalled AUR packages in ~/.cache/pikaur/pkg?\n\nUse `paccache(8)` with the `--cachedir` option.\n\nTo clean them up automatically, you may:\n\n- use a pacman hook.  Start with the provided\n  Copy `/usr/share/pikaur/examples/pikaur-cache.hook` to\n  `/usr/share/libalpm/hooks/pikaur-cache-cleanup.hook`,\n  remember to update the cache's path.\n\n- use a systemd service \u0026 timer (provided `pikaur-cache.service` and\n  `pikaur-cache.timer`).  Configure it with `systemctl --user edit\n  --full pikaur-cache.service` and activate it with `systemctl --user\n  enable --now pikaur-cache.timer`.\n\n\n##### How to restore original PKGBUILD after editing?\n\nGo to the package's directory, `cd ~/.local/share/pikaur/aur_repos/${PACKAGE_NAME}`.\nReview the current PKGBUILD file changes with `git diff` and then reset with  `git checkout -- '*'`.\n\n\n##### How to see upgrade list without syncing the database? (like \"checkupdates\" tool from pacman)\n\nActually use `checkupdates` tool to check the repo updates and use pikaur only for AUR (`-a`/`--aur` switch):\n\n```\ncheckupdates ; pikaur -Qua 2\u003e/dev/null\n```\n\n##### Pikaur slow when running it as root user (or via sudo)\n\nIf you find the command takes a long time to initialize, make sure to periodically clear your cache: `pikaur -Scc`. Root pikaur is using SystemD Dynamic Users to isolate build process from the root, and it takes some time to change the owner of build cache to dynamic temporary user.\n\n##### How to migrate from Yay?\n\nThis will migrate the cache of what AUR packages have been installed, so you can still see a Git diff for the next update of each package:\n\n```sh\nmv ~/.cache/yay/* ~/.local/share/pikaur/aur_repos/\nfind ~/.local/share/pikaur/aur_repos -mindepth 1 -maxdepth 1 -type d | xargs -r -I '{}' -- sh -c 'cd \"{}\" \u0026\u0026 git rev-parse HEAD \u003e last_installed.txt'\n```\n\n##### How to downgrade a package?\n\nThis will show a list of commits to choose one to downgrade to.\n\n```sh\npikaur -G \u003cpackage\u003e  # retrieve package sources\ncd \u003cpackage\u003e\ngit log  # choose \u003ccommit\u003e from the list\ngit checkout \u003ccommit\u003e\npikaur -Pi  # build and install older version\n```\n\n##### How to add additional trusted keys when building with systemd dynamic users?\nWhen using systemd dynamic users, by default, there is not a persistent user or gpg home directory. You can set the path to a persistent gpg home directory using the cli argument `--build_gpgdir`. Alternatively, you can set a permanent default with the configuration option `[build] gpgdir` in the root pikaur configuration file `/root/.config/pikaur.conf` The below example configures makepkg to use a hypothetical gpg home directory at `/etc/pikaur.d/gnupg` when validating source files.\n\n```ini\n[build]\ngpgdir=/etc/pikaur.d/gnupg\n```\n\nYou can initialize a minimal gnupghome at the example path by executing the below commands as root.\n\n```sh\nexport GNUPGHOME=\"/etc/pikaur.d/gnupg\"\nmkdir -p \"${GNUPGHOME}\"\ngpg --batch --passphrase '' --quick-gen-key \"pikaur@localhost\" rsa sign 0\n```\n\n## Contributing\n\n\n### Code\n\nYou can start from [this list of issues](https://github.com/actionless/pikaur/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 \"\"). Grep-ing `@TODO` comments also useful if you're itching to write something.\n\nTo install development deps, run:\n\n```sh\npikaur -Pi ./PKGBUILD_dev_deps\n```\n\n#### Running CI locally\n\n##### Linters (code quality check)\n\n```sh\nmake -j lint\n```\n\n##### Tests\n\n```sh\n./maintenance_scripts/docker_test.sh\n```\n\nSee also `./maintenance_scripts/docker_test.sh --help` for more options.\n\nFor example to run a single test inside docker:\n\n```sh\n./maintenance_scripts/docker_test.sh --local 1 pikaur_test.test_sysupgrade.SysupgradeTest.test_devel_upgrade\n```\n\n\n### Translations\n\nTo start working on a new language, say `hi_IN` (Indian Hindi):\n1) add it to the `Makefile` `LANGS` variable and run `make`.\n2) Then translate `locale/hi_IN.po` using your favorite PO editor (for example `gtranslator`).\n3) Run `make` every time the Python code strings change or the `.po` is modified.\n\n\n\n## Authors\n\nTo see the list of authors, use this command inside pikaur git repository directory:\n\n```sh\ngit log --pretty=tformat:\"%an \u003c%ae\u003e\" | sort -u\n```\n\n### Special thanks\n\n@AladW ([aurutils](https://github.com/AladW/aurutils)), @morganamilo ([yay](https://github.com/Jguer/yay)) during the early stages of Pikaur development.\nAnd [all the other issue contributors](https://github.com/actionless/pikaur/issues?utf8=%E2%9C%93\u0026q=is%3Aissue+-author%3Aactionless) for helping in triaging the bugs and clearing up feature requirements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factionless%2Fpikaur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Factionless%2Fpikaur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Factionless%2Fpikaur/lists"}