yay.8 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. '\ t
  2. .TH "YAY" "8" "2018\-07\-01" "Yay v8.972+" "Yay Manual"
  3. .nh
  4. .ad l
  5. .SH NAME
  6. yay \- AUR Helper written in go
  7. .SH SYNOPSIS
  8. \fIyay\fR <operation> [options] [targets]
  9. .sp
  10. \fIyay\fR <search terms>
  11. .sp
  12. \fIyay\fR
  13. .SH DESCRIPTION
  14. Yay is a Pacman wrapper with AUR support. It passes options to Makepkg and
  15. Pacman after resolving packages to install/upgrade.
  16. This manpage only covers options unique to Yay. For other options see
  17. \fBpacman(8)\fR.
  18. .SH YAY OPERATIONS
  19. .TP
  20. .B \-Y, \-\-yay
  21. Perform yay specific operations. This is the default if no other operation is
  22. selected.
  23. .TP
  24. .B \-P, \-\-show
  25. Perform yay specific print operations.
  26. .TP
  27. .B \-G, \-\-getpkgbuild
  28. Downloads PKGBUILD from ABS or AUR. ABS pkgbuilds are always downloaded using
  29. tarballs and taken from trunk. The ABS can only be used for Arch Linux repositories
  30. .RE
  31. If no arguments are provided 'yay \-Syu' will be performed.
  32. If no operation is selected \-Y will be assumed.
  33. .SH EXTENDED PACMAN OPERATIONS
  34. .TP
  35. .B \-S, \-Si, \-Ss, \-Su, \-Sc, \-Qu
  36. These operations are extended to support both AUR and repo packages.
  37. .TP
  38. .B \-Sc
  39. Yay will also clean cached AUR package and any untracked Files in the
  40. cache. Untracked files cleaning only works for packages downloaded
  41. using gitclone. Cleaning untracked files will wipe any downloaded
  42. sources or built packages but will keep already downloaded vcs sources.
  43. .TP
  44. .B \-R
  45. Yay will also remove cached data about devel packages.
  46. .SH NEW OPTIONS
  47. .TP
  48. .B \-\-repo
  49. Assume all targets are from the repositories. Additionally Actions such as
  50. sysupgrade will only act on repository packages.
  51. .TP
  52. .B \-a, \-\-aur
  53. Assume all targets are from the AUR. Additionally Actions such as
  54. sysupgrade will only act on AUR packages.
  55. Note that dependency resolving will still act as normal and include repository
  56. packages.
  57. .SH YAY OPTIONS (APPLY TO \-Y AND \-\-YAY)
  58. .TP
  59. .B <NO OPTION>
  60. Displays a list of packages matching the search terms and prompts the user on
  61. which packages to install (yogurt mode).
  62. .TP
  63. .B \-\-gendb
  64. Generate development package database. Tracks the latest commit for each
  65. development package, when there is a new commit Yay will know to update. This
  66. is done per package whenever a package is synced. This option should only be
  67. used when migrating to Yay from another AUR helper.
  68. .TP
  69. .B \-c, \-\-clean
  70. Remove unneeded dependencies.
  71. .SH SHOW OPTIONS (APPLY TO \-P AND \-\-SHOW)
  72. .TP
  73. .B \-c, \-\-complete
  74. Print a list of all AUR and repo packages. This is to allow shell completion
  75. and is not intended to be used directly by the user.
  76. .TP
  77. .B \-f, \-\-fish
  78. During complete adjust the output for the fish shell.
  79. .TP
  80. .B \-d, \-\-defaultconfig
  81. Print default yay configuration.
  82. .TP
  83. .B \-g, \-\-currentconfig
  84. Print current yay configuration.
  85. .TP
  86. .B \-n, \-\-numberupgrades
  87. Deprecated, use \fByay -Qu\fR and \fBwc -l\fR instead\%.
  88. .TP
  89. .B \-s, \-\-stats
  90. Displays information about installed packages and system health. If there are
  91. orphaned, out\-of\-date or packages that no longer exist on the AUR warnings will
  92. be displayed.
  93. .TP
  94. .B \-u, \-\-upgrades
  95. Deprecated, use \fByay -Qu\fR instead\%.
  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 GETPKGBUILD OPTIONS (APPLY TO \-G AND \-\-GETPKGBUILD)
  105. .TP
  106. .B \-f, \-\-force
  107. Force download for packages that already exist in the current directory. This
  108. is to ensure directories are not accidentally overwritten. This option is not
  109. needed for git based downloads as \fBgit pull\fR already has safety mechanisms.
  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 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 \-\-answerclean <All|None|Installed|NotInstalled|...>
  181. Set a predetermined answer for the clean build menu question. This answer
  182. will be used instead of reading from standard input but will be treated exactly
  183. the same when parsed.
  184. .TP
  185. .B \-\-answerdiff <All|None|Installed|NotInstalled|...>
  186. Set a predetermined answer for the edit diff menu question. This answer
  187. will be used instead of reading from standard input but will be treated exactly
  188. the same when parsed.
  189. .TP
  190. .B \-\-answeredit <All|None|Installed|NotInstalled|...>
  191. Set a predetermined answer for the edit pkgbuild menu question. This answer
  192. will be used instead of reading from standard input but will be treated exactly
  193. the same when parsed.
  194. .TP
  195. .B \-\-answerupgrade <Repo|^Repo|None|...>
  196. Set a predetermined answer for the upgrade menu question. Selects which package
  197. ranges or repos to omit for updates. This answer will be used instead of
  198. reading from standard input but will be treated exactly the same.
  199. .TP
  200. .B \-\-noanswerclean
  201. Unset the answer for the clean build menu.
  202. .TP
  203. .B \-\-noanswerdiff
  204. Unset the answer for the diff menu.
  205. .TP
  206. .B \-\-noansweredit
  207. Unset the answer for the edit pkgbuild menu.
  208. .TP
  209. .B \-\-noanswerupgrade
  210. Unset the answer for the upgrade menu.
  211. .TP
  212. .B \-\-cleanmenu
  213. Show the clean menu. This menu gives you the chance to fully delete the
  214. downloaded build files from Yay's cache before redownloading a fresh copy.
  215. .TP
  216. .B \-\-diffmenu
  217. Show the diff menu. This menu gives you the option to view diffs from
  218. build files before building.
  219. Diffs are shown via \fBgit diff\fR which uses
  220. less by default. This behaviour can be changed via git's config, the
  221. \fB$GIT_PAGER\fR or \fB$PAGER\fR environment variables.
  222. .TP
  223. .B \-\-editmenu
  224. Show the edit menu. This menu gives you the option to edit or view PKGBUILDs
  225. before building.
  226. \fBWarning\fR: Yay resolves dependencies ahead of time via the RPC. It is not
  227. recommended to edit pkgbuild variables unless you know what you are doing.
  228. .TP
  229. .B \-\-upgrademenu
  230. Show a detailed list of updates in a similar format to VerbosePkgLists.
  231. Upgrades can also be skipped using numbers, number ranges or repo names.
  232. Additionally ^ can be used to invert the selection.
  233. \fBWarning\fR: It is not recommended to skip updates from the repositories as
  234. this can lead to partial upgrades. This feature is intended to easily skip AUR
  235. updates on the fly that may be broken or have a long compile time. Ultimately
  236. it is up to the user what upgrades they skip.
  237. .TP
  238. .B \-\-nocleanmenu
  239. Do not show the clean menu.
  240. .TP
  241. .B \-\-nodiffmenu
  242. Do not show the diff menu.
  243. .TP
  244. .B \-\-noeditmenu
  245. Do not show the edit menu.
  246. .TP
  247. .B \-\-noupgrademenu
  248. Do not show the upgrade menu.
  249. .TP
  250. .B \-\-askremovemake
  251. Ask to remove makedepends after installing packages.
  252. .TP
  253. .B \-\-removemake
  254. Remove makedepends after installing packages.
  255. .TP
  256. .B \-\-noremovemake
  257. Do not remove makedepends after installing packages.
  258. .TP
  259. .B \-\-topdown
  260. Display repository packages first and then AUR packages.
  261. .TP
  262. .B \-\-bottomup
  263. Show AUR packages first and then repository packages.
  264. .TP
  265. .B \-\-devel
  266. During sysupgrade also check AUR development packages for updates. Currently
  267. only Git packages are supported.
  268. Devel checking is done using \fBgit ls-remote\fR. The newest commit hash is
  269. compared against the hash at install time. This allows devel updates to be
  270. checked almost instantly and not require the original pkgbuild to be downloaded.
  271. The slower pacaur-like devel checks can be implemented manually by piping
  272. a list of packages into yay (see \fBexamples\fR).
  273. .TP
  274. .B \-\-nodevel
  275. Do not check for development packages updates during sysupgrade.
  276. .TP
  277. .B \-\-gitclone
  278. Use git to download and update PKGBUILDs. PKGBUILDs previously downloaded
  279. using tarball will continue to use tarballs until the package is clean
  280. built. Similarly, PKGBUILDs managed with git will continue to use git until
  281. the package is clean built..
  282. .TP
  283. .B \-\-nogitclone
  284. Download and update PKGBUILDs using tarballs. The above conditions about
  285. previously installed packages still apply.
  286. .TP
  287. .B \-\-cleanafter
  288. Remove package sources after successful Install.
  289. For packages downloaded through git, untracked files are removed with the
  290. exception of directories. This allows VCS packages to ealily pull an update
  291. instead of having to re clone the entire repo.
  292. For packages downloaded via tarball, The entire directory is deleted.
  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 \-\-redownload
  305. Always download pkgbuilds of targets even when a copy is available in cache.
  306. .TP
  307. .B \-\-redownloadall
  308. Always download pkgbuilds of all AUR packages even when a copy is available
  309. in cache.
  310. .TP
  311. .B \-\-noredownload
  312. When downloading pkgbuilds if the pkgbuild is found in cache and is equal or
  313. newer than the AUR's version use that instead of downloading a new one.
  314. .TP
  315. .B \-\-provides
  316. Look for matching providers when searching for AUR packages. When multiple
  317. providers are found a menu will appear prompting you to pick one. This
  318. increases dependency resolve time although this should not be noticeable.
  319. .TP
  320. .B \-\-noprovides
  321. Do not look for matching providers when searching for AUR packages.
  322. Yay will never show its provider menu but Pacman will still show its
  323. provider menu for repo packages.
  324. .TP
  325. .B \-\-pgpfetch
  326. Prompt to import unknown PGP keys from the \fBvalidpgpkeys\fR field of each
  327. PKGBUILD.
  328. .TP
  329. .B \-\-nopgpfetch
  330. Do not prompt to import unknown PGP keys. This is likely to cause a build
  331. failure unless using options such as \fB\-\-skippgpcheck\fR or a customized
  332. gpg config\%.
  333. .TP
  334. .B \-\-useask
  335. Use pacman's --ask flag to automatically confirm package conflicts. Yay lists
  336. conflicts ahead of time. It is possible that Yay does not detect
  337. a conflict, causing a package to be removed without the user's confirmation.
  338. However, this is very unlikely.
  339. .TP
  340. .B \-\-nouseask
  341. Manually resolve package conflicts during the install. Packages which do not
  342. conflict will not need to be confined manually.
  343. .TP
  344. .B \-\-combinedupgrade
  345. During sysupgrade, Yay will first perform a refresh, then show
  346. its combined menu of repo and AUR packages that will be upgraded. Then after
  347. reviewing the pkgbuilds, the repo and AUR upgrade will start with no need
  348. for manual intervention.
  349. If Yay exits for any reason After the refresh without upgrading. It is then
  350. the user's responsibility to either resolve the reason Yay exited or run
  351. a sysupgrade through pacman directly.
  352. .TP
  353. .B \-\-nocombinedupgrade
  354. During sysupgrade, Pacman \-Syu will be called, then the AUR upgrade will
  355. start. This means the upgrade menu and pkgbuild review will be performed
  356. after the sysupgrade has finished.
  357. .TP
  358. .B \-\-rebuild
  359. Always build target packages even when a copy is available in cache.
  360. .TP
  361. .B \-\-rebuildall
  362. Always build all AUR packages even when a copy is available
  363. in cache.
  364. .TP
  365. .B \-\-rebuildtree
  366. When installing an AUR package rebuild and reinstall all of its AUR
  367. dependencies recursively, even the ones already installed. This flag allows
  368. you to easily rebuild packages against your current system's libraries if they
  369. have become incompatible.
  370. .TP
  371. .B \-\-norebuild
  372. When building packages if the package is found in cache and is an equal version
  373. to the one wanted skip the package build and use the existing package.
  374. .TP
  375. .B \-\-mflags <flags>
  376. Passes arguments to makepkg. These flags get passed to every instance where
  377. makepkg is called by Yay. Arguments are split on whitespace before being
  378. passed to makepkg. Multiple arguments may be passed by supplying a space
  379. separated list that is quoted by the shell.
  380. .TP
  381. .B \-\-gpgflags <flags>
  382. Passes arguments to gpg. These flags get passed to every instance where
  383. gpg is called by Yay. Arguments are split on whitespace before being
  384. passed to gpg. Multiple arguments may be passed by supplying a space
  385. separated list that is quoted by the shell.
  386. .TP
  387. .B \-\-sudoloop
  388. Loop sudo calls in the background to prevent sudo from timing out during long
  389. builds.
  390. .TP
  391. .B \-\-nosudoloop
  392. Do not loop sudo calls in the background.
  393. .SH EXAMPLES
  394. .TP
  395. yay \fIfoo\fR
  396. Search and install from the repos and the \fBAUR\fR\ using yogurt mode.
  397. .TP
  398. yay \-Syu
  399. Update package list and upgrade all currently installed repo and \fBAUR\fR.
  400. .TP
  401. yay \-Sua
  402. Update all currently installed \fBAUR\fR packages.
  403. .TP
  404. yay \-S \fIfoo\fR
  405. Installs package \fIfoo\fR from the repos or the \fBAUR\fR.
  406. .TP
  407. yay \-Ss \fIfoo\fR
  408. Searches for package \fIfoo\fR on the repos or the \fBAUR\fR.
  409. .TP
  410. yay \-Si \fIfoo\fR
  411. Gets information about package \fIfoo\fR from the repos or the \fBAUR\fR.
  412. .TP
  413. yay \-S \fIfoo\fR \-\-mflags "\-\-skipchecksums \-\-skippgpcheck"
  414. Installs \fIfoo\fR while skipping checksums and pgp checks.
  415. .TP
  416. yay \-\-devel \-\-save
  417. Sets devel to true in the config.
  418. .TP
  419. yay \-P \-\-stats
  420. Shows statistics for installed packages and system health.
  421. .TP
  422. pacman -Qmq | grep -Ee '-(cvs|svn|git|hg|bzr|darcs)$' | yay -S --needed -
  423. pacaur-like devel check.
  424. .SH FILES
  425. .TP
  426. .B CONFIG DIRECTORY
  427. The config directory is \fI$XDG_CONFIG_HOME/yay/\fR. if
  428. \fB$XDG_CONFIG_HOME\fR is unset, the config directory will fall back to
  429. \fI$HOME/.config/yay\fR.
  430. \fIconfig.json\fR Is used to store all of Yay's config options. Editing
  431. this file should be done through Yay, using the options
  432. mentioned in \fBPERMANENT CONFIGURATION SETTINGS\fR.
  433. .TP
  434. .B CACHE DIRECTORY
  435. The cache directory is \fI$XDG_CACHE_HOME/yay/\fR. if
  436. \fB$XDG_CACHE_HOME\fR is unset, the cache directory will fall back to
  437. \fI$HOME/.cache/yay\fR.
  438. \fIcompletion.cache\fR holds a list of of all packages, including the AUR,
  439. for shell completion. By default the completion files are refreshed every
  440. 7 days.
  441. \fIvcs.json\fR tracks VCS packages and the latest commit of each source. If
  442. any of these commits change the package will be upgraded during a devel update.
  443. .TP
  444. .B BUILD DIRECTORY
  445. Unless otherwise set this should be the same as \fBCACHE DIRECTORY\fR. This
  446. directory is used to store downloaded AUR Packages as well as any source files
  447. and built packages from those packages.
  448. .TP
  449. .B PACMAN.CONF
  450. Yay uses Pacman's config file to set certain pacman options either through
  451. go\-alpm or Yay itself. Options inherited include most libalpm options and
  452. pacman options.
  453. Notably: \fBDatabases\fR, \fBColor\fR and \fB*Path/*Dir\fR options are used.
  454. .SH SEE ALSO
  455. .BR makepkg (8),
  456. .BR makepkg.conf (5),
  457. .BR PKGBUILD (5),
  458. .BR pacman (8),
  459. .BR pacman.conf (5)
  460. See the arch wiki at https://wiki.archlinux.org/index.php/Arch_User_Repository for more info on the \fBAUR\fR.
  461. .SH BUGS
  462. Please report bugs to our GitHub page https://github.com/Jguer/yay
  463. .SH AUTHORS
  464. Jguer <joaogg3@gmail.com>
  465. .br
  466. Anna <morganamilo@gmail.com>