-
-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements to install algorithm #152
Conversation
When installing a package might be a dependancy for something and a make dependancy for something else. This means when prompted to remove make dependencies yay might also try to remove a package that is actually needed causing a pacman error. Adding the -u option will cause pacman to skip needed packages and give a nice warning as it does so. It does not fix the root issue but works for now.
Install all deps for aur packages after the user confirms they want to continue installing. This takes most of the load off of makepkg -s but the -s is still left in for some edge cases with split packages.
Cleanafter is now run right at the very end of install instead of after each makepkg command.
Split packages are now grouped together when printing displaying the package base and the packages inside of the base to beinstalled. If only one packge is to be installed from a base and the package name matches the base name print normally Only build and install once per package base Only ask questions once per package base for editing pkgbuils and clean build
Fix for packages which are makedeps to one package but runtime deps to another showing up in MakeOnly
Merged it with minimal test, we can use it as a work base |
It installed everything I threw at it and the caching seems to work very well. I can't say testing was that extensive though. |
Ran a gendb through it without any problem. |
If you wanted you could send me your exact settings and I can lint it myself before creating pr's. |
This pr tweaks the install algorithm quite a bit but the main focuses are:
Now when a package is stored in cache it can be reinstalled via
yay -S
without doing a rebuild. A rebuilt will still occur if there is a newer version of the package available.Cleanafter is now part of
install()
and runs in batch at the end instead of after everypassToMakepkg()
Split packages are now displayed together for nicer output. Each pkgbase is built and installed only once and in one transaction. This should be enough to get a yes for split package support on the wiki but more testing is needed before changing that.
Here is an example of the new output:
Old output:
For more details see individual commits.