Commit Graph

593 Commits

Author SHA1 Message Date
J Guerreiro
85238c2a93
Merge pull request #277 from Morganamilo/gendb
Separate gendb from install
2018-03-25 18:04:36 +02:00
Morgana
7fd5677678
Merge pull request #284 from qrwteyrutiyoup/offline-gpg-tests
Do not depend on the Internet for keys_test.go
2018-03-23 21:51:20 +00:00
Sergio Correia
9c44363a7a
Do not depend on the Internet for keys_test.go
We now mock a PGP key server to provide the keys used during the
testing, making it so that we do not need the Internet anymore for
the testing of the PGP key import feature.
2018-03-23 14:17:47 -04:00
Morgana
69f44759cf
Merge pull request #285 from Morganamilo/db
Handle db/name with --redownload and similar flags
2018-03-23 17:26:18 +00:00
morganamilo
2b9437741e
Handle db/name with --redownload and similar flags
--redownload is meant to only download the targets the user provides.
If the user enters aur/foo then Yay will find the package foo from the
aur, --redownload will see thats not what the user entered and skips the
download.

This makes it so after the dep searching is done, all db/ prefixes are
dropped.
2018-03-23 17:07:20 +00:00
Jguer
6efa83d494 Update README to include past changelogs
Signed-off-by: Jguer <me@jguer.space>
2018-03-23 15:21:54 +01:00
J Guerreiro
966bb425ff
Merge pull request #280 from Morganamilo/makefile
Improve makefile
2018-03-23 15:04:47 +01:00
J Guerreiro
ef91362c8d
Merge pull request #283 from Jguer/fix-zsh
Fix zsh completions
2018-03-23 09:03:25 +01:00
Jguer
686509efe3 Fix zsh completions
Signed-off-by: Jguer <me@jguer.space>
2018-03-23 09:01:46 +01:00
Morgana
b715c1f223
Merge pull request #282 from Morganamilo/provides2
Support provides in -Si
2018-03-23 07:13:50 +00:00
morganamilo
549c75dfeb
Support provides in -Si 2018-03-23 07:11:57 +00:00
morganamilo
67bd8cc9a2
Improve makefile
Created .go/src which symlinks to vendor/. Running `make` now builds
yay using the packages in vendor. This can still be overiden by running
`make GOPATH=$HOME/go`

Even though the makefile calls git to get the version, that can be
overiden using `make MAJORVERSION=5 MINORVERSION=400`, skipping the call to git. This
allows building yay/yay-bin using the makefile

The yay binary is now always yay instead of taking the name of the
parent directory.

Added vet and fmt checks to `make test` for more checking.

Reordered some stuff, made sure the dependency order is correct. Any
command such as `make package` can be ran at any point, even after a
`make clean` instead of having to execute the correct make commands in
order.

Changed install form using `go install` to a traditional install. The
pkgbuilds can now use `make DESTDIR=$PKGDIR install`. Added uninstall to match.

One thing this commit does not do is have proper recepies which depend
on files instead of phonies. The reason for this is that it does not
play that well with go's build system. Go is smart enough to only
recompile needed files anyway.
2018-03-23 05:36:19 +00:00
morganamilo
7274e7d31a
Fix missing %s in callbacks.go 2018-03-23 04:45:59 +00:00
Morgana
3d7870903b
Merge pull request #278 from Morganamilo/fixerr
Add missing err check
2018-03-22 20:19:15 +00:00
morganamilo
f018c0c200
Add missing err check 2018-03-22 19:48:43 +00:00
morganamilo
e331c01143
Print when a vcs source has been found 2018-03-22 18:30:56 +00:00
morganamilo
1e01eafb43
Separate gendb from install 2018-03-22 18:23:20 +00:00
morganamilo
074ea4465a
Make aurInfo return a pointer 2018-03-22 18:11:00 +00:00
Morgana
f1fd4a1203
Merge pull request #276 from Morganamilo/fixagain
Fix nothing to do if upgrading only repo packages
2018-03-22 17:32:41 +00:00
morganamilo
2ea16836eb
Fix nothing to do if upgrading only repo packages
Dont display clean/edit menu when upgrading only repo packages.
2018-03-22 17:12:33 +00:00
J Guerreiro
59b74e1253
Merge pull request #273 from Morganamilo/util
Add util.go and main.go
2018-03-22 17:49:13 +01:00
morganamilo
7fd2a74bd2
Lint 2018-03-22 16:39:27 +00:00
morganamilo
7655bd9c62
Add main.go 2018-03-22 16:38:21 +00:00
morganamilo
0c0cd4f883
Add utils.go 2018-03-22 16:38:21 +00:00
J Guerreiro
415659d1cd
Merge pull request #272 from Jguer/directory-change
Update version for close release
2018-03-22 17:18:17 +01:00
Jguer
82124c1b46 Update version for close release
Signed-off-by: Jguer <me@jguer.space>
2018-03-22 17:02:40 +01:00
Morgana
ac02498177
Merge pull request #269 from Morganamilo/conflicts
More conflict checking
2018-03-22 15:27:39 +00:00
Morgana
b28a35ccf5
Merge pull request #271 from Morganamilo/fix#270
Don't mark targets as dependencies
2018-03-22 15:23:20 +00:00
morganamilo
a1a05bced4
Don't mark targets as dependencies 2018-03-22 15:22:05 +00:00
morganamilo
d5015b3fe8
Add breif comments for functions in conflicts.go 2018-03-22 14:38:37 +00:00
Morgana
dbe0ace129
Merge pull request #265 from Morganamilo/refactor
Refactor and improve the upgrade menu
2018-03-22 14:05:47 +00:00
morganamilo
4a8ec944bf
Move conflict checking to its own file 2018-03-22 07:19:25 +00:00
morganamilo
804bd45f2c
More conflict checking
This commit extends the conflict checking a lot, it adds support for:
	Conflicting with provides as well as actual package names
	Reverse conflicts
	Inner conflicts

Both normal conflicts and inner conflicts are run in parallel.
Messages are now printing when checking conflicts.

This also fixes packages sometimes being listed as conflicting with
themselves.

The inner conflict is a little verbose and could be toned down a little
but I am insure exactly how to tone it down.
2018-03-22 07:18:58 +00:00
morganamilo
98ea801004
Pass -Su to pacman during sysupgrade
Previosly during `yay -Su` Yay would pass
`pacman -S <packages that need upgrade>` to pacman.

Instead pass `pacman -Su --ignore <number menu choices>`

This allows yay to handle replaces and package downgrades `-Suu`
2018-03-22 07:13:18 +00:00
morganamilo
bb211fdbf7
Don't show package in aur/ if it is also in devel/ 2018-03-22 07:13:18 +00:00
morganamilo
624851b80b
More sorting for upgrade menu
Sort accending instead of decending
Sort by package name as well as repo name
Sort AUR packages as well as repo packages
2018-03-22 07:13:18 +00:00
morganamilo
b5c0cb7a11
Simplify upList()
Before the goroutines in upList() were layed out like:
	upLists()
	|- - - 	upRepo()
	|- - - 	pAur()
		| - - -	upDevel()

Simplified by moving upDevel() from upAur() to upList():
	upList()
	|- - - 	upRepo()
	|- - - 	upAur()
	|- - - 	upDevel()

With the simpler layout it was easy to then remove some un need channel
useage entirely and use WaitGroups in other places.

Now if any of the three inner functions error, upList() will return
a combined error instead of just printing the error and carrying on.
2018-03-22 07:13:18 +00:00
Morgana
bb35f202b8
Merge pull request #264 from Morganamilo/fix#262
Move repo install to after numbermenus
2018-03-21 21:51:05 +00:00
Morgana
09e2171b1a
Merge pull request #267 from Morganamilo/colour
Respect --color
2018-03-21 05:42:45 +00:00
morganamilo
1864ec3083
Respect --color
`--color auto` is the same as `--color always` until a suitable method
for auto has been decided.
2018-03-21 05:42:19 +00:00
Morgana
8003ca7d44
Merge pull request #266 from Morganamilo/fix#263
Extend aur support for -Qu
2018-03-21 05:04:14 +00:00
morganamilo
add22f5957
Extend aur support for -Qu
-Qu now has AUR support, it functions identically to `-Pu` and may replace
it in the futre.

Aditionally the pacman options `-n` and `-m` are also supported to
filter out native and non native packages. Other flags are not supported
currently.

Using any other `-Q` will fallback to Pacman.
2018-03-21 05:03:22 +00:00
morganamilo
885614ef45
Move repo install to after numbermenus 2018-03-21 00:45:26 +00:00
Morgana
44f2da3211
Merge pull request #251 from Morganamilo/provides
Implement the provider question  and imatate pacman
2018-03-20 15:57:44 +00:00
morganamilo
3ceda128fc
Dont use FindSatisfier() in packageSlices()
Now that install() no longer relies on packageSlices() we can drop the
use of FindSatisfier() so that only direct package names are understood,
this is how pacman -Si works.

This also fixes a small issue where `yay -Si mysql` would fail. This is
because two repo packages provide `mysql`. This causes Yay to not bother
checking the AUR even though there is a package in the AUR called `mysql`
2018-03-20 15:56:13 +00:00
morganamilo
df11b85e54
Implement the provider question and imitate pacman
Implement the alpm question QuestionSelectProvider and print the select
menu in a way similar to how pacman does it.
2018-03-20 15:56:13 +00:00
Jguer
66eac83c23 Update vendor dependencies
Signed-off-by: Jguer <me@jguer.space>
2018-03-20 08:55:08 +01:00
Morgana
81bb5a1990
Merge pull request #260 from Morganamilo/fix#191
Handle pkgbuilds with an unsupported arch
2018-03-19 20:04:22 +00:00
morganamilo
42fdd01d42
Update keys_tests.go 2018-03-19 20:00:13 +00:00
morganamilo
4bcd3a6297
Handle pkgbuilds with an unsupported arch
When pkgbuilds are built by makepkg, if the pkgbuild's arch=() array
does not include the current carch set in makepkg.conf, makepkg will
fail to build the package.

Now, Yay detects if a pkgbuild does not support the arch set in
pacman.conf Yay will ask the user about this and ask them if they want
to build anyway, passing `--ignorearch` to makepkg.`

Note that Yay will check against the arch set in pacman.conf which is
what pacman uses to only allow installs of package of that arch. makepkg
will still use carch set in makepkg.conf to build packages. These two
values are expected to be the same otherwise Yay will fail.

The on disk .srcinfo is needed for this as the user should be asked pre
source download. This and pgp checking both use the on disk .srcinfo so
it is no longer a one off. Store the 'stale' srcinfos so they can be
accesed by both functions.
2018-03-19 19:24:51 +00:00