yay.8 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599
  1. .TH "YAY" "8" "2019\-10\-21" "Yay v12.0+" "Yay Manual"
  2. .nh
  3. .ad l
  4. .SH NAME
  5. yay \- AUR Helper written in go
  6. .SH SYNOPSIS
  7. \fIyay\fR <operation> [options] [targets]
  8. .sp
  9. \fIyay\fR <search terms>
  10. .sp
  11. \fIyay\fR
  12. .SH DESCRIPTION
  13. Yay is a Pacman wrapper with AUR support. It passes options to Makepkg and
  14. Pacman after resolving packages to install/upgrade.
  15. This manpage only covers options unique to Yay. For other options see
  16. \fBpacman(8)\fR.
  17. .SH YAY OPERATIONS
  18. .TP
  19. .B \-Y, \-\-yay
  20. Perform yay specific operations. This is the default if no other operation is
  21. selected and targets are defined.
  22. .TP
  23. .B \-B, \-\-build
  24. Build a PKGBUILD in a given directory.
  25. .TP
  26. .B \-P, \-\-show
  27. Perform yay specific print operations.
  28. .TP
  29. .B \-G, \-\-getpkgbuild
  30. Downloads PKGBUILD from ABS or AUR. The ABS can only be used for Arch Linux repositories.
  31. .TP
  32. .B \-W, \-\-web
  33. Web related operations such as voting for AUR packages.
  34. .RE
  35. If no operation is specified 'yay \-Syu' will be performed
  36. If no operation is specified and targets are provided \-Y will be assumed
  37. .SH EXTENDED PACMAN OPERATIONS
  38. .TP
  39. .B \-S, \-Si, \-Sl, \-Ss, \-Su, \-Sc, \-Qu
  40. These operations are extended to support both AUR and repo packages.
  41. .TP
  42. .B \-Sc
  43. Yay will also clean cached AUR package and any untracked Files in the
  44. cache. Cleaning untracked files will wipe any downloaded sources or
  45. built packages but will keep already downloaded vcs sources.
  46. .TP
  47. .B \-R
  48. Yay will also remove cached data about devel packages.
  49. .SH NEW OPTIONS
  50. .TP
  51. .B \-N, \-\-repo
  52. Assume all targets are from the repositories. Additionally Actions such as
  53. sysupgrade will only act on repository packages.
  54. .TP
  55. .B \-a, \-\-aur
  56. Assume all targets are from the AUR. Additionally Actions such as
  57. sysupgrade will only act on AUR packages.
  58. Note that dependency resolving will still act normally and include repository
  59. packages.
  60. .SH YAY OPTIONS (APPLY TO \-Y AND \-\-YAY)
  61. .TP
  62. .B <NO OPTION>
  63. Displays a list of packages matching the search terms and prompts the user on
  64. which packages to install (yogurt mode).
  65. The first search term is used to query the different sources and
  66. the following search terms are used to narrow the search results
  67. through exact matching.
  68. .TP
  69. .B \-\-gendb
  70. Generate development package database. Tracks the latest commit for each
  71. development package, when there is a new commit Yay will know to update. This
  72. is done per package whenever a package is synced. This option should only be
  73. used when migrating to Yay from another AUR helper.
  74. .TP
  75. .B \-c, \-\-clean
  76. Remove unneeded dependencies.
  77. .TP
  78. .B \-cc
  79. Remove unneeded dependencies, including packages optionally required by any other package.
  80. .SH SHOW OPTIONS (APPLY TO \-P AND \-\-show)
  81. .TP
  82. .B \-c, \-\-complete
  83. Print a list of all AUR and repo packages. This allows shell completion
  84. and is not intended to be used directly by the user.
  85. .TP
  86. .B \-d, \-\-defaultconfig
  87. Print default yay configuration.
  88. .TP
  89. .B \-g, \-\-currentconfig
  90. Print current yay configuration.
  91. .TP
  92. .B \-s, \-\-stats
  93. Displays information about installed packages and system health. If there are
  94. orphaned, or out\-of\-date packages, or packages that no longer exist on the
  95. AUR; warnings will be displayed.
  96. .TP
  97. .B \-w, \-\-news
  98. Print new news from the Archlinux homepage. News is considered new if it is
  99. newer than the build date of all native packages. Pass this twice to show all
  100. available news.
  101. .TP
  102. .B \-q, \-\-quiet
  103. Only show titles when printing news.
  104. .SH BUILD OPTIONS (APPLY TO \-B AND \-\-build)
  105. .TP
  106. .B \-i, \-\-install
  107. Build and install a PKGBUILD in a given directory
  108. .SH GETPKGBUILD OPTIONS (APPLY TO \-G AND \-\-getpkgbuild)
  109. .TP
  110. .B \-f, \-\-force
  111. Force download for ABS packages that already exist in the current directory. This
  112. ensures directories are not accidentally overwritten.
  113. .TP
  114. .B \-p, \-\-print
  115. Prints the PKGBUILD of the given packages to stdout.
  116. .SH WEB OPTIONS (APPLY TO \-W AND \-\-web)
  117. .TP
  118. Web related operations such as voting for AUR packages.
  119. Requires setting AUR_USERNAME and AUR_PASSWORD environment variables.
  120. .TP
  121. .B \-u, \-\-unvote
  122. Remove vote from AUR package(s)
  123. .TP
  124. .B \-v, \-\-vote
  125. Vote for AUR package(s)
  126. .SH PERMANENT CONFIGURATION SETTINGS
  127. .TP
  128. .B \-\-save
  129. Causes the following options to be saved back to the config file. This
  130. provides an easy way to change config options without directly editing the
  131. file.
  132. .TP
  133. .B \-\-aururl
  134. Set an alternative AUR URL.
  135. .TP
  136. .B \-\-aurrpcurl
  137. Set an alternative URL for the AUR /rpc endpoint.
  138. .TP
  139. .B \-\-builddir <dir>
  140. Directory to use for Building AUR Packages. This directory is also used as
  141. the AUR cache when deciding if Yay should skip builds.
  142. .TP
  143. .B \-\-editor <command>
  144. Editor to use when editing PKGBUILDs. If this is not set the \fBVISUAL\fR
  145. environment variable will be checked, followed by \fBEDITOR\fR. If none of
  146. these are set Yay will prompt the user for an editor.
  147. .TP
  148. .B \-\-editorflags <flags>
  149. Passes arguments to the editor. These flags get passed to every instance where
  150. the editor is called by Yay. Arguments are split on whitespace before being
  151. passed to the editor. Multiple arguments may be passed by supplying a space
  152. separated list that is quoted by the shell.
  153. .TP
  154. .B \-\-makepkg <command>
  155. The command to use for \fBmakepkg\fR calls. This can be a command in
  156. \fBPATH\fR or an absolute path to the file.
  157. .TP
  158. .B \-\-pacman <command>
  159. The command to use for \fBpacman\fR calls. This can be a command in
  160. \fBPATH\fR or an absolute path to the file.
  161. .TP
  162. .B \-\-tar <command>
  163. The command to use for \fBbsdtar\fR calls. This can be a command in
  164. \fBPATH\fR or an absolute path to the file.
  165. .TP
  166. .B \-\-git <command>
  167. The command to use for \fBgit\fR calls. This can be a command in
  168. \fBPATH\fR or an absolute path to the file.
  169. .TP
  170. .B \-\-gpg <command>
  171. The command to use for \fBgpg\fR calls. This can be a command in
  172. \fBPATH\fR or an absolute path to the file.
  173. .TP
  174. .B \-\-config <file>
  175. The pacman config file to use.
  176. .TP
  177. .B \-\-makepkgconf <file>
  178. The config file for makepkg to use\%. If this is not set then the default
  179. config file will be used.
  180. .TP
  181. .B \-\-nomakepkgconf
  182. Reset the makepkg config file back to its default.
  183. .TP
  184. .B \-\-requestsplitn <number>
  185. The maximum amount of packages to request per AUR query. The higher the
  186. number the faster AUR requests will be. Requesting too many packages in one
  187. AUR query will cause an error. This should only make a noticeable difference
  188. with very large requests (>500) packages.
  189. .TP
  190. .B \-\-completioninterval <days>
  191. Time in days to refresh the completion cache. Setting this to 0 will cause
  192. the cache to be refreshed every time, while setting this to -1 will cause the
  193. cache to never be refreshed.
  194. .TP
  195. .B \-\-sortby <votes|popularity|id|baseid|name|base|submitted|modified>
  196. Sort AUR results by a specific field during search.
  197. .TP
  198. .B \-\-searchby <name|name-desc|maintainer|depends|checkdepends|makedepends|optdepends|provides|conflicts|replaces|groups|keywords|comaintainers>
  199. Search for AUR packages by querying the specified field.
  200. .TP
  201. .B \-\-answerclean <All|None|Installed|NotInstalled|...>
  202. Set a predetermined answer for the clean build menu question. This answer
  203. will be used instead of reading from standard input but will be parsed exactly
  204. the same.
  205. .TP
  206. .B \-\-answerdiff <All|None|Installed|NotInstalled|...>
  207. Set a predetermined answer for the edit diff menu question. This answer
  208. will be used instead of reading from standard input but will be parsed exactly
  209. the same.
  210. .TP
  211. .B \-\-answeredit <All|None|Installed|NotInstalled|...>
  212. Set a predetermined answer for the edit pkgbuild menu question. This answer
  213. will be used instead of reading from standard input but will be parsed exactly
  214. the same.
  215. .TP
  216. .B \-\-answerupgrade <Repo|^Repo|None|...>
  217. Set a predetermined answer for the upgrade menu question. Selects which package
  218. ranges or repos to omit for updates. This answer will be used instead of
  219. reading from standard input but will be treated exactly the same.
  220. .TP
  221. .B \-\-noanswerclean
  222. Unset the answer for the clean build menu.
  223. .TP
  224. .B \-\-noanswerdiff
  225. Unset the answer for the diff menu.
  226. .TP
  227. .B \-\-noansweredit
  228. Unset the answer for the edit pkgbuild menu.
  229. .TP
  230. .B \-\-noanswerupgrade
  231. Unset the answer for the upgrade menu.
  232. .TP
  233. .B \-\-cleanmenu
  234. Show the clean menu. This menu gives you the chance to fully delete the
  235. downloaded build files from Yay's cache before redownloading a fresh copy.
  236. If 'cleanmenu' is enabled in the configuration file, you can temporarily disable it by
  237. using '--cleanmenu=false' on the command line
  238. .TP
  239. .B \-\-diffmenu
  240. Show the diff menu. This menu gives you the option to view diffs from
  241. build files before building.
  242. Diffs are shown via \fBgit diff\fR which uses
  243. less by default. This behaviour can be changed via git's config, the
  244. \fB$GIT_PAGER\fR or \fB$PAGER\fR environment variables.
  245. .TP
  246. .B \-\-editmenu
  247. Show the edit menu. This menu gives you the option to edit or view PKGBUILDs
  248. before building.
  249. \fBWarning\fR: Yay resolves dependencies ahead of time via the RPC. It is not
  250. recommended to edit pkgbuild variables unless you know what you are doing.
  251. .TP
  252. .B \-\-askremovemake
  253. Ask to remove makedepends after installing packages.
  254. .TP
  255. .B \-\-askyesremovemake
  256. Ask to remove makedepends after installing packages(with "Y" as default).
  257. .TP
  258. .B \-\-removemake
  259. Remove makedepends after installing packages.
  260. .TP
  261. .B \-\-noremovemake
  262. Do not remove makedepends after installing packages.
  263. .TP
  264. .B \-\-topdown
  265. Display repository packages first and then AUR packages.
  266. .TP
  267. .B \-\-bottomup
  268. Show AUR packages first and then repository packages.
  269. .TP
  270. .B \-\-singlelineresults
  271. Override pacman's usual double-line search result format and list each result
  272. on its own line.
  273. .TP
  274. .B \-\-doublelineresults
  275. Follow pacman's double-line search result format and list each result using
  276. two lines.
  277. .TP
  278. .B \-\-devel
  279. During sysupgrade also check AUR development packages for updates. Currently
  280. only Git packages are supported.
  281. Devel checking is done using \fBgit ls-remote\fR. The newest commit hash is
  282. compared against the hash at install time. This allows devel updates to be
  283. checked almost instantly and not require the original pkgbuild to be downloaded.
  284. The slower pacaur-like devel checks can be implemented manually by piping
  285. a list of packages into yay (see \fBexamples\fR).
  286. If 'devel' is enabled in the configuration file, you can temporarily disable it by
  287. using '--devel=false' on the command line
  288. .TP
  289. .B \-\-cleanafter
  290. Remove untracked files after installation.
  291. Untracked files are removed with the exception of directories.
  292. This allows VCS packages to easily pull an update
  293. instead of having to reclone the entire repo.
  294. .TP
  295. .B \-\-keepsrc
  296. Keep pkg/ and src/ after building packages
  297. .TP
  298. .B \-\-timeupdate
  299. During sysupgrade also compare the build time of installed packages against
  300. the last modification time of each package's AUR page.
  301. .TP
  302. .B \-\-separatesources
  303. Separate query results by source, AUR and sync
  304. .TP
  305. .B \-\-redownload
  306. Always download pkgbuilds of targets even when a copy is available in cache.
  307. .TP
  308. .B \-\-redownloadall
  309. Always download pkgbuilds of all AUR packages even when a copy is available
  310. in cache.
  311. .TP
  312. .B \-\-noredownload
  313. When downloading pkgbuilds if the pkgbuild is found in cache and is equal or
  314. newer than the AUR's version use that instead of downloading a new one.
  315. .TP
  316. .B \-\-provides
  317. Look for matching providers when searching for AUR packages. When multiple
  318. providers are found a menu will appear prompting you to pick one. This
  319. increases dependency resolve time although this should not be noticeable.
  320. .TP
  321. .B \-\-pgpfetch
  322. Prompt to import unknown PGP keys from the \fBvalidpgpkeys\fR field of each
  323. PKGBUILD.
  324. .TP
  325. .B \-\-useask
  326. Use pacman's --ask flag to automatically confirm package conflicts. Yay lists
  327. conflicts ahead of time. It is possible that Yay does not detect
  328. a conflict, causing a package to be removed without the user's confirmation.
  329. However, this is very unlikely.
  330. .TP
  331. .B \-\-combinedupgrade
  332. During sysupgrade, Yay will first perform a refresh, then show
  333. its combined menu of repo and AUR packages that will be upgraded. Then after
  334. reviewing the pkgbuilds, the repo and AUR upgrade will start with no need
  335. for manual intervention.
  336. If Yay exits for any reason After the refresh without upgrading. It is then
  337. the user's responsibility to either resolve the reason Yay exited or run
  338. a sysupgrade through pacman directly.
  339. .TP
  340. .B \-\-batchinstall
  341. When building and installing AUR packages instead of installing each package
  342. after building, queue each package for install. Then once either all packages
  343. are built or a package in the build queue is needed as a dependency to build
  344. another package, install all the packages in the install queue.
  345. .TP
  346. .B \-\-rebuild
  347. Always build target packages even when a copy is available in cache.
  348. .TP
  349. .B \-\-rebuildall
  350. Always build all AUR packages even when a copy is available
  351. in cache.
  352. .TP
  353. .B \-\-rebuildtree
  354. When installing an AUR package rebuild and reinstall all of its AUR
  355. dependencies recursively, even the ones already installed. This flag allows
  356. you to easily rebuild packages against your current system's libraries if they
  357. have become incompatible.
  358. .TP
  359. .B \-\-norebuild
  360. When building packages if the package is found in cache and is an equal version
  361. to the one wanted skip the package build and use the existing package.
  362. .TP
  363. .B \-\-mflags <flags>
  364. Passes arguments to makepkg. These flags get passed to every instance where
  365. makepkg is called by Yay. Arguments are split on whitespace before being
  366. passed to makepkg. Multiple arguments may be passed by supplying a space
  367. separated list that is quoted by the shell.
  368. .TP
  369. .B \-\-gpgflags <flags>
  370. Passes arguments to gpg. These flags get passed to every instance where
  371. gpg is called by Yay. Arguments are split on whitespace before being
  372. passed to gpg. Multiple arguments may be passed by supplying a space
  373. separated list that is quoted by the shell.
  374. .TP
  375. .B \-\-sudo <command>
  376. The command to use for \fBsudo\fR calls. This can be a command in
  377. \fBPATH\fR or an absolute path to the file.
  378. The sudoloop is not guaranteed to work with a custom \fBsudo\fR command.
  379. .TP
  380. .B \-\-sudoflags <flags>
  381. Passes arguments to sudo. These flags get passed to every instance where
  382. sudo is called by Yay. Arguments are split on whitespace before being
  383. passed to sudo. Multiple arguments may be passed by supplying a space
  384. separated list that is quoted by the shell.
  385. .TP
  386. .B \-\-sudoloop
  387. Loop sudo calls in the background to prevent sudo from timing out during long
  388. builds.
  389. .SH EXAMPLES
  390. .TP
  391. yay \fIfoo\fR
  392. Search and install from the repos and the \fBAUR\fR\ using yogurt mode.
  393. .TP
  394. yay \-Syu
  395. Update package list and upgrade all currently installed repo and \fBAUR\fR.
  396. .TP
  397. yay \-Sua
  398. Update all currently installed \fBAUR\fR packages.
  399. .TP
  400. yay \-S \fIfoo\fR
  401. Installs package \fIfoo\fR from the repos or the \fBAUR\fR.
  402. .TP
  403. yay \-Ss \fIfoo\fR
  404. Searches for package \fIfoo\fR on the repos or the \fBAUR\fR.
  405. .TP
  406. yay \-Si \fIfoo\fR
  407. Gets information about package \fIfoo\fR from the repos or the \fBAUR\fR.
  408. .TP
  409. yay \-S \fIfoo\fR \-\-mflags "\-\-skipchecksums \-\-skippgpcheck"
  410. Installs \fIfoo\fR while skipping checksums and pgp checks.
  411. .TP
  412. yay \-\-devel \-\-save
  413. Sets devel to true in the config.
  414. .TP
  415. yay \-P \-\-stats
  416. Shows statistics for installed packages and system health.
  417. .TP
  418. pacman -Qmq | grep -Ee '-(cvs|svn|git|hg|bzr|darcs)$' | yay -S --needed -
  419. pacaur-like devel check.
  420. .SH ENVIRONMENT VARIABLES
  421. .TP
  422. .B AURDEST
  423. Can be set to configure the build directory.
  424. Overridden by \-\-builddir.
  425. .TP
  426. .B VISUAL, EDITOR
  427. When editor is not configured, use these variables to pick what editor
  428. to use when editing PKGBUILDS.
  429. .SH FILES
  430. .TP
  431. .B CONFIG DIRECTORY
  432. The config directory is \fI$XDG_CONFIG_HOME/yay/\fR. If
  433. \fB$XDG_CONFIG_HOME\fR is unset, the config directory will fall back to
  434. \fI$HOME/.config/yay\fR.
  435. \fIconfig.json\fR Is used to store all of Yay's config options. Editing
  436. this file should be done through Yay, using the options
  437. mentioned in \fBPERMANENT CONFIGURATION SETTINGS\fR.
  438. .TP
  439. .B CACHE DIRECTORY
  440. The cache directory is \fI$XDG_CACHE_HOME/yay/\fR. If
  441. \fB$XDG_CACHE_HOME\fR is unset, the cache directory will fall back to
  442. \fI$HOME/.cache/yay\fR.
  443. \fIcompletion.cache\fR holds a list of of all packages, including the AUR,
  444. for shell completion. By default the completion files are refreshed every
  445. 7 days.
  446. \fIvcs.json\fR tracks VCS packages and the latest commit of each source. If
  447. any of these commits change the package will be upgraded during a devel update.
  448. .TP
  449. .B BUILD DIRECTORY
  450. Unless otherwise set this should be the same as \fBCACHE DIRECTORY\fR. This
  451. directory is used to store downloaded AUR Packages as well as any source files
  452. and built packages from those packages.
  453. .TP
  454. .B PACMAN.CONF
  455. Yay uses Pacman's config file to set certain pacman options either through
  456. go\-alpm or Yay itself. Options inherited include most libalpm options and
  457. pacman options.
  458. Notably: \fBDatabases\fR, \fBColor\fR and \fB*Path/*Dir\fR options are used.
  459. .SH SEE ALSO
  460. .BR makepkg (8),
  461. .BR makepkg.conf (5),
  462. .BR PKGBUILD (5),
  463. .BR pacman (8),
  464. .BR pacman.conf (5)
  465. See the arch wiki at https://wiki.archlinux.org/index.php/Arch_User_Repository for more info on the \fBAUR\fR.
  466. .SH BUGS
  467. Please report bugs to our GitHub page https://github.com/Jguer/yay
  468. .SH AUTHORS
  469. Jguer <joguer@proton.me>
  470. .br
  471. Morgan <morganamilo@archlinux.org>