Commit Graph

1176 Commits

Author SHA1 Message Date
morganamilo
0bfba1f24b
Use slices for AUR dep resolving
This ensures AUR packages are always installed in the order specified by
the user. In the case there are any inner conflicts packages will be
removed in a predictable way.
2018-10-13 18:24:00 +01:00
morganamilo
f648697994
Rework inner conflicts
Inner conflicts now check against the previously installed aur packages
For example when installing yay, yay-bin and yay-git

yay will be checked the previously insalled packages (nothing)

yay-bin will be checked the previously insalled packages and see that it
conflicts with yay and warn you that yay will be removed

yay-git will be checked the previously insalled packages and see that it
conflicts with yay but see that it has already been removed by yay-bin
so does nothing. Then it will see that it conflicts with yay-bin and
warn you that yay-bin will be removed

This example is unlikley to happen unless the user enters
`yay -S yay yay-bin yay-git`. But where this does happen is packages
which have some sort of bootsrapping process such as ffmpeg-libfdk_aac.

If two repo packages conflict then we abort. This is because they will
be installed at the same time and we never swap repo packages mid AUR
install.
2018-10-13 17:04:22 +01:00
morganamilo
5080e400e1
Remove printing conflict name in conflicts
Currently when printing conflicts the package name is printed and then
name of the conflict if it differs from the package name.

For example if yay-git is installed and you are installing yay-bin:
	yay-bin conflicts with yay
	yay-git provides yay

	so the conflict is printed as "yay-bin (yay)"

This is not too bad but some packages have many provides and conflicts
that ends up cluttering the output.

For example if gvim is installed and you are installing vim:
	"gvim, gvim (vim-minimal), gvim (vim)" is printed

Just printing the package name should be enough information. If not the
user can always -Si either package.
2018-10-13 17:04:22 +01:00
morganamilo
ff4f076d57
Move depSolver checks back to depCheck.go 2018-10-13 17:04:22 +01:00
morganamilo
a83f8fb9e8
Remove depPool and depOrder code 2018-10-13 17:04:21 +01:00
morganamilo
4ff36fbd4b
Use depSolver in install 2018-10-13 17:04:21 +01:00
morganamilo
704e8406d1
Merge depOrder with depSolver
merge both dependency resolving parts into depSolver. The name was
choosen simply to not colide with the current code.

depSolver works but it not implemented in the install process and is
missing conflict checking.
2018-10-13 17:04:21 +01:00
morganamilo
0efc31a881
Add helper functions for []Base 2018-10-11 00:14:33 +01:00
morganamilo
75d01f32b4
Move Base code to dep.go 2018-10-10 22:28:01 +01:00
morganamilo
5109fc6250
Move target code to dep.go 2018-10-10 22:13:00 +01:00
Anna
2034575a76
Merge pull request #766 from Morganamilo/innerconflicts
Don't abort on inner conflicts
2018-10-10 19:31:48 +01:00
morganamilo
3861aef502
Don't abort on inner conflicts
Currently there may be times where there are inner conflicts but the
install would go okay as packages will be swapped out as they go. Warn
the user but leave it up to them if they want to continue.
2018-10-10 16:31:55 +01:00
Anna
69fd7a9b9e
Merge pull request #764 from Morganamilo/fix#762
Allow --print again
2018-10-09 16:16:25 +01:00
morganamilo
0f4768b4fe
Allow --print again
Comit 2d6fe95903 renamed the Yay specific
flag -P/--print to -P/--show. The rename caused --print to stop being
accepted as it was no longer in the list of accepted args.
2018-10-09 16:15:46 +01:00
Anna
d6d76ee430
Merge pull request #763 from Morganamilo/fix#762
Fix missing '-' in flags
2018-10-09 16:06:58 +01:00
morganamilo
73deae94cf
Fix missing '-' in flags
isArg() was generated from pacman's manpage using a script. All dashes
were stripped out. Some flags used '-' as a seperator and were stripped
out by mistake.
2018-10-09 16:06:14 +01:00
Anna
5fe9160b1b
Merge pull request #760 from Morganamilo/fixprotocols
Use correct source protocol for VCS checks
2018-10-09 01:24:57 +01:00
morganamilo
f26f36d459
Update tests 2018-10-09 01:21:31 +01:00
morganamilo
cbc2a87c73
Use correct source protocol for VCS checks
Previously it was assumed that "git+https" means: use git and if that
fails fall back to https. What this actually means is just: use git over
https. Similary "git" just means use git and "git+http" means use git
over http.

Thus there is only ever one protocol to use. The current protocols array
has been kept for backwards compatibility with the vcs.json file. The
difference being now it will only ever place one protocol into the
array. Also when reading the array, the last protocol is always used.
This is so that entries that have not been regenerated will use the
correct protocol.
2018-10-09 01:18:23 +01:00
Jguer
621b8aac43
Update constant version. Add transitional support for patch version 2018-10-08 18:46:51 +01:00
J Guerreiro
e316c979cc
Merge pull request #757 from Jguer/revert-756-fix-#752
Revert "Don't show missing packages if they are ignored.  Closes #752"
2018-10-08 11:53:02 +01:00
J Guerreiro
f74a4f33b5
Revert "Don't show missing packages if they are ignored. Closes #752" 2018-10-08 11:51:19 +01:00
J Guerreiro
a19151504d
Merge pull request #756 from Jguer/fix-#752
Don't show missing packages if they are ignored.  Closes #752
2018-10-08 00:27:55 +01:00
Jguer
9ad7c34949
Don't show missing packages if they are ignored 2018-10-08 00:20:43 +01:00
Anna
6ee14d44b8
Merge pull request #738 from Morganamilo/fix#736
Rework cleanafter
2018-10-04 09:18:57 +01:00
Anna
c574cdcf98
Merge pull request #744 from tomswartz07/typos
Fix Typos
2018-10-03 09:07:10 +01:00
Tom Swartz
ae7400890d Fix Typos 2018-10-02 16:30:18 -04:00
Anna
7ee2e5d1eb
Merge pull request #739 from Morganamilo/ttycolour
Support color = auto
2018-09-27 18:45:29 +01:00
morganamilo
e78070ebbe
Support color = auto
This is done using the test command as the stdlib lacks any way to
do this without using syscalls directly
2018-09-27 16:52:22 +01:00
morganamilo
4cc57dd970
Rename afterclean to cleanafter
This makes more sense and falls in line with the structs value which has
always been cleanafter. afterclean is still useable for compatibility
but is undocumented.
2018-09-27 16:12:43 +01:00
morganamilo
42cba53165
Update doc for --afterclean and fix typo 2018-09-27 16:08:00 +01:00
morganamilo
98e6caefef
Fix dangling src/ directory
Yay first calls 'makepkg --nobuild -fC' to update the pkver. Later on we
call 'makepkg -cf --noectract --noprepare --holdver' to actually build
the package.

Inbetween these two calls we keep the already extracted
sources to save time on the reextract and duplicated call to prepare
(pkgbuilds should not require user input but things such as linux-ck do
and calling prepare twice will actually cause them to promt twice)

We also have two checks. First we see if the package is already
installed and up to date (--needed) and secondly we check if the
package is already built.

If any of these conditions are met we skip building the package. This
leaves a dangling src/ directory as 'makepkg -c' was never ran.

Now if these conditions are met tell makepkg to cleanup and exit.
2018-09-27 15:55:43 +01:00
morganamilo
bf0ab3216a
Leave VCS files when using clean after 2018-09-27 15:55:43 +01:00
J Guerreiro
ade9eb83eb
Merge pull request #729 from Morganamilo/template
Update issue template
2018-09-25 19:04:16 +01:00
Anna
2b8fa74c22
Merge pull request #732 from Morganamilo/fix#730
Fix provider menu showing when it shouldn't
2018-09-25 14:38:09 +01:00
morganamilo
4fc6a1a711
Fix provider menu showing when it shouldn't
If the package is already installed, we need to check if it is in the
repos to see if it aplies to rebuild tree. Normally alpm will not prompt
us to select a provider if we already have one installed. An exception
comes up when we have a provider installed that is from the AUR. In this
case FindSatisfier() still asks us to select a provider.

Now make sure to never to never show the menu if the package exists in
the local repo.
2018-09-25 14:33:25 +01:00
morganamilo
9dfc445421
Update issue template 2018-09-25 11:25:29 +01:00
Jguer
9ac4ab6c25
Update to 1138 2018-09-24 17:35:13 +01:00
J Guerreiro
dededfde6a
Merge pull request #727 from Jguer/fix#726
Fix -Qu to respect -q. Fixes #726
2018-09-24 10:54:36 +01:00
Jguer
293339263c
Fix -Qu to respect -q. Fixes #726 2018-09-24 10:52:29 +01:00
J Guerreiro
2826e7d79e
Merge pull request #725 from Jguer/fish
Fix fish completions
2018-09-24 00:18:04 +01:00
Jguer
13f81c7624
Remove non existant show options and add missing -Pg 2018-09-24 00:17:15 +01:00
Anna
f79b3b90a4
Merge pull request #724 from Morganamilo/#722
Accept --assume-installed
2018-09-23 22:11:46 +01:00
morganamilo
60cf21f445
Accept --assume-installed 2018-09-23 22:10:22 +01:00
Anna
1f5ff02398
Merge pull request #723 from Morganamilo/makefile
Fixup Makefile
2018-09-23 22:02:54 +01:00
morganamilo
8b325ce704
Fixup Makefile
Remove ifndef: ?= can be used instead
Add package to .phony
2018-09-23 21:54:22 +01:00
Anna
f495b1a33e
Merge pull request #714 from Morganamilo/fix#700
Fix misleading word in man page and missing \n
2018-09-20 00:49:23 +01:00
morganamilo
b0aaba7848
Fix misleading word in man page and missing \n 2018-09-20 00:46:10 +01:00
Anna
fa1c76c4e9
Merge pull request #712 from ZenixTheHusky/Fix#711
Set SigLevel to 0
2018-09-19 21:11:48 +01:00
Peter Dyer
e6238d32fa Set SigLevel to 0
Previous default SigLevels caused 3rd party databases to take a very long time to
load and also to not load properly. Probably due to missing keys(?).
Pacman takes a long time to check the databases. For now, always set to
SigLevel 0 like how go-alpm did in its config parsing. Needs more
looking into for a proper fix.
2018-09-19 19:52:58 +01:00