yay.8 18 KB

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