Commit Graph

812 Commits

Author SHA1 Message Date
morganamilo
1d2b07fa84
Use channels over WaitGroup in needsUpdate()
Using a WaitGroup forced the code to wait for every goroutine to finish.
Using channels allows us to exit early if any of a packages sources need
an update. No point in waiting for the other requests to finish if we
know there is an update.
2018-03-13 17:18:46 +00:00
morganamilo
57a8048cb8
Use goroutinuies for devel updates
The update process was already partly parallel: repo, aur and devel
updates where each given their own goroutine.

This gives two further layers of parallelization. Firstly the
`needsUpdate()` function is now run in parallel for each package checked.
One package may have many vcs sources so `needsUpdate()` also checks all
of its sources in parallel.

This gives an aproxamte 3x speedup for `yay -Su --devel` timing from
when the command starts to when the number menu apears.

unfortunately git://bitbucket.org/volumesoffun/polyvox.git never
resolves on my machine for some reason so it always hits the 5 second
timout period.

It then moves on to http:/bitbucket.org/volumesoffun/polyvox.git/ which
does resolve as expected. I have not looked into it but I fear this
applies to all gitbucket repos. Luckly they are few and far between.
2018-03-13 17:18:46 +00:00
Morgana
f9d4d9bafb
Merge pull request #235 from Morganamilo/fix#228
Add support for db/name
2018-03-13 17:14:22 +00:00
Morgana
e6c47bee32
Merge pull request #179 from qrwteyrutiyoup/import-keys
Ask if yay should try to import missing PGP keys
2018-03-13 17:13:41 +00:00
Jguer
7f657bebe6 Update version number in makefile
Signed-off-by: Jguer <me@jguer.space>
2018-03-13 16:55:04 +00:00
Morgana
7de404b43d
Merge pull request #240 from Morganamilo/ignore
Respect --ignore and --ignoregroup flags
2018-03-12 23:47:18 +00:00
morganamilo
74196306fa
Respect --ignore and --ignoregroup flags
And enable version colouring on repo ignore and devel ignore
2018-03-12 23:46:23 +00:00
Sergio Correia
6f25da860c Ask if yay should try to import missing PGP keys
When building a package from the AUR for which there are missing keys,
yay will now prompt the user whether it should try to import such keys
using gpg:

[...]
:: Parsing SRCINFO (1/3): libc++ (libc++abi libc++)
:: Parsing SRCINFO (2/3): aurutils
:: Parsing SRCINFO (3/3): cower
==> GPG keys need importing:
        487EACC08557AD082088DABA1EB2638FF56C0C53, required by: cower
        11E521D646982372EB577A1F8F0871F202119294, required by: libc++ (libc++abi libc++)
        B6C8F98282B944E3B0D5C2530FC3042E345AD05D, required by: libc++ (libc++abi libc++)
        DBE7D3DD8C81D58D0A13D0E76BC26A17B9B7018A, required by: aurutils
==> Import?  [Y/n]
[...]

Default is to try to import the problematic keys ([Y/n]).
2018-03-12 17:11:31 -04:00
Jguer
e86e39a21d Add left padding to number menu
Signed-off-by: Jguer <me@jguer.space>
2018-03-12 21:01:53 +00:00
Jguer
30c9862880 Update bash completions
Signed-off-by: Jguer <me@jguer.space>
2018-03-12 20:47:27 +00:00
Morgana
e0303ffad8
Merge pull request #239 from Morganamilo/makeonly
Ensure targets are never listed as make depends
2018-03-12 18:53:28 +00:00
morganamilo
6e97fa7cb6
Ensure targets are never listed as make depends
when doing `yay -S foo bar` where `bar` is a makedep of `foo` in rare
cases bar would be listed as [aur make] even thought it was explicitly
requested.
2018-03-12 18:49:03 +00:00
Morgana
b562123353
Merge pull request #238 from Morganamilo/fix-
Add full support for reading from stdin
2018-03-12 00:07:54 +00:00
morganamilo
b0961e866d
Add full support for reading from stdin
Previosuly when reading from stdin we did not redirect back to the real
stdin afterwards so it was imposible to interact with y/n questions.

Now redirect back to "/dev/tty" just like pacman does.
2018-03-12 00:04:50 +00:00
Morgana
f1aff7908d
Merge pull request #237 from Morganamilo/Sl
Pass yay -Sl to pacman
2018-03-11 23:35:20 +00:00
morganamilo
2bd4cdc590
Pass yay -Sl to pacman 2018-03-11 23:34:09 +00:00
Morgana
38e4e6bdc1
Merge pull request #236 from Morganamilo/fixgetpkgbuild
Fix -G for non split packages and support multilib
2018-03-11 23:24:07 +00:00
morganamilo
b58746d1ef
Fix -G for non split packages and support multilib
A while ago the url to download a pkgbuild was using pkg.Name(), it was
latter changed to pkg.Base() to support split packages. It seems that
pkg.Base() does not work for non split packages for some reason.

So instead try pkg.Base() and if it is empty default to pkg.Name().

Also add support for downloading from multilib
2018-03-11 23:23:24 +00:00
J Guerreiro
fbae6df81b
Merge pull request #233 from Jguer/fishCompletions
Add new completions of yay
2018-03-11 23:08:59 +00:00
J Guerreiro
3bbdd938d1
Merge pull request #234 from Morganamilo/zsh
Update zsh completion
2018-03-11 23:08:47 +00:00
morganamilo
f59729da73
Update zsh completion 2018-03-11 22:38:21 +00:00
morganamilo
5446f5d0a4
Add support for db/name
Adds the ability to pick which database to install a package from. This
is extended to also support for AUR packages. For example `extra/git`
and `aur/yay` should both work`. When not explicitly requesting
a database repo packages will be choosen over the AUR.

This features extends to yogurt mode, listings where a package shows up
in multiple database/the AUR is now handled.

The aur does not have a real pacman databse like core, extra ect. But
can be accessed as if was one with `aur/name`. Using Yay with a pacman
repository named "aur" is undefined.
2018-03-11 21:32:36 +00:00
Jguer
1232854fd4 Update vendor dependencies
Signed-off-by: Jguer <me@jguer.space>
2018-03-11 21:27:55 +00:00
Jguer
375473db7c Update vendor dependencies
Signed-off-by: Jguer <me@jguer.space>
2018-03-11 21:27:49 +00:00
Jguer
803d957282 Fix typos
Signed-off-by: Jguer <me@jguer.space>
2018-03-11 21:19:19 +00:00
Jguer
d3b028d105 Add new completions of yay
Signed-off-by: Jguer <me@jguer.space>
2018-03-11 21:17:45 +00:00
J Guerreiro
d5d9dc1cba
Merge pull request #230 from Morganamilo/manpagefiles
Add info for all files and directories that used
2018-03-11 19:47:42 +00:00
J Guerreiro
c072146190
Merge pull request #227 from Morganamilo/numbermenu
Use numbermenu for cleanBuilds and editPkgbuilds
2018-03-11 19:46:53 +00:00
morganamilo
f7abb1b0ac
Use numbermenu for cleanBuilds and editPkgbuilds 2018-03-11 18:14:16 +00:00
Morgana
5df7f2293d
Merge pull request #231 from Morganamilo/formatting
Fix formatting on upgrade menu
2018-03-11 04:15:48 +00:00
morganamilo
91757f51c7
Fix formatting on upgrade menu
commit 5286f385 broke the alignment on -> in the upgrade menu.

This commit moves the function responsable for printing the upgrade menu
from upgrade.go to print.go, fixes the formating to how it was before
and changes the padding on the number to three digits instead of two.
This allows proper alignment on numbers >100 which is not unheard of.
2018-03-11 04:13:13 +00:00
morganamilo
9399cddc1e
Add info for all files and directories that used 2018-03-10 22:03:10 +00:00
Morgana
35769036aa
Merge pull request #229 from aswild/manpage-configfiles
Mention config files in the man page
2018-03-10 17:31:04 +00:00
Allen Wild
b0f70a0d1b Mention config files in the man page
Explicitly document the location of Yay's config files in
$XDG_CONFIG_HOME/yay and mention that the color option is inherited from
pacman.conf
2018-03-10 12:13:32 -05:00
morganamilo
d03890a3c4
Remove unneeded functions 2018-03-10 03:04:54 +00:00
morganamilo
287bac04c9
Use parseNumberMenu() for yogurt mode 2018-03-10 03:04:54 +00:00
morganamilo
2aadd1931c
Refactor and improve the upgrade menu
With the planned move to number menus for askcleanbuilds and
askeditpkgbuilds a consistant way is needed to make number menus in
a clean way without rewriting the same code over and over.

The prevous commit introduced `parseNumerMenu()` to create a standard
way to handle number menus. This commit implements the new function for
the upgrade menu both as a test and to bring some new features.

Entering 1-9999999 will no longer cause ram usage to spike to 100%
(before yay would try to build an []int containing the numbers 1 to
9999999).

Suport for discarding/including entire repos by name

> "54 aur extra"
	would skip the package numbered 54 and all packages
	that are listed as aur and extra.

> "^devel ^20"
	would only install packages listed under devel and the package
	numbered 20
2018-03-10 03:04:54 +00:00
morganamilo
6988537552
Add parseNumberMenu()
This function is designed to replace the existing number menu
in upcoming commits.
2018-03-10 03:04:44 +00:00
morganamilo
f0f20269a0
Show versions when printing Packages to install 2018-03-08 23:54:18 +00:00
Morgana
4a2ea00da0
Merge pull request #223 from Morganamilo/fixsudoloop
Handle sudoloop flag
2018-03-08 16:08:07 +00:00
morganamilo
296f59f855
Handle sudoloop flag 2018-03-08 16:06:40 +00:00
Morgana
0e1182356a
Merge pull request #220 from Morganamilo/addflags
Add flags for all missing config options
2018-03-08 15:52:48 +00:00
morganamilo
2bb8070213
Add flags for all missing config options
With this The user should never have to manually edit the yay config
file. All options can be set directly through yay using
`yay --<option> <value> --save`
2018-03-08 14:56:53 +00:00
Morgana
6743af28dd
Merge pull request #222 from Morganamilo/atob
Fix min()
2018-03-08 04:08:54 +00:00
morganamilo
e6b36eaf74
Fix min() 2018-03-08 04:07:51 +00:00
Morgana
0ae0df74f1
Merge pull request #221 from Morganamilo/fix#200
Fix for yay locking when querying AUR
2018-03-08 02:28:23 +00:00
morganamilo
5f4c6e136b
Fix for yay locking when querying AUR 2018-03-08 02:26:06 +00:00
Morgana
4088d5d856
Merge pull request #215 from Morganamilo/mflags
Add --mflags option to pass args to makepkg
2018-03-07 23:37:42 +00:00
morganamilo
15409ad4e5
Add doc for --mflags 2018-03-07 23:36:09 +00:00
morganamilo
cee0d74643
Add --mflags option to pass args to makepkg 2018-03-07 23:18:00 +00:00