Commit Graph

1801 Commits

Author SHA1 Message Date
morganamilo
33d056e9ac
Split Targets to Targets and Explicit
Targets are used for tracking wether a package should be marked as
explicitly installed or as a dependency. This is not ideal because you
can have a target such as java-environment that resolves to a different
package.

Therefore Targets are now used only for the initial dependency resolving
and checking for missing dependencies. The Explicit set is now used to
mark what packages are explicit, seperate from the targets.
2018-05-29 16:47:43 +01:00
morganamilo
6df8c58e00
Re add isDevelName() 2018-05-29 13:15:45 +01:00
morganamilo
6e990e4dc5
Don't conflict with pkgs that are in the depPool
When upgrading multiple packages that are already installed we should
not conflict with already installed packages that are in the depPool.

This is because the version in the depTree is going to replace the
currently installed version of the package and may have different
conflicts.

If there is a conflict between stuff in the depPool these should be
handled by the innerConflicts check anyway.
2018-05-29 13:15:45 +01:00
morganamilo
d51205194e
Support skiping updates and showing warnings
The warnings were moved down to after the upgrade menu, mainly because
it is a lot easier to do this way, it may get moved back if it can be
done in a non hacky way,
2018-05-29 13:15:40 +01:00
morganamilo
b76d085418
Improve provider menu
Sort the provider menu alphabetically. Always ensure direct matches show
up first. This ensures hitting enter for the default value will always
be the same package that the user/dependency requested if an exact match
exists.

If a package is already installed pick that instead of providing a menu.

Ensure duplicates do not show up in the menu.
2018-05-29 13:13:33 +01:00
morganamilo
6423fb55b5
Fix build order being reversed 2018-05-29 13:13:33 +01:00
morganamilo
7b558ba47c
Fix check for missing dependencies
We dont check the dependencies of things already installed becuase,
well, they're already installed. But we should check the dependencies of
targets even if they are installed because they get reinstalled.
2018-05-29 13:13:33 +01:00
morganamilo
8c77ad061e
Clean up unused code 2018-05-29 13:13:33 +01:00
morganamilo
671f836ec5
Calculate makeDeps properly
MakeOnly would be set to true when moving from normal deps to make deps
But would incorrectly stay set to true when moving to the deps of the
following packages.

depOrder.Aur now only holds one package from each base like
depCatagories does.
2018-05-29 13:13:33 +01:00
morganamilo
c019a2cc02
Remove old dependency code 2018-05-29 13:13:33 +01:00
morganamilo
2e7a022b7c
Use new dependency code in install()
The old depTree and depCatagories has been changed to depPool and
depOrder in the install function.
2018-05-29 13:13:33 +01:00
morganamilo
b585cec123
Add Basses to depOrder
This should act exaclty like depCatagories.Basses
2018-05-29 13:13:33 +01:00
morganamilo
b2d3eb5c49
Add new dependency code to replace the old code
This is a rewrite of the dependency system, It aims to be cleaner
written, with a better idea of what is needed from the start, meaning
less new code being hacked on for things that were not thought about.
This version also aims to use as many small functions as possible, for
cleaner code and better testing.

Added dep.go:
    general dependency functions
Added depPool.go:
    Replacement of depTree, dependencies were never ordered so
    a tree did not really make sense. Instead the term pool
    makes more sense.
Added depOrder.go:
    Replacement of depCatagories, This simply orders the
    dependencies, dependencies are still catagorized as repo and AUR
    but I believe this to be a better name
Added depCheck.go:
    Replaces conflicts.go and also contains the missing dependency
    code

This version is mostly the same as the old version with a few
improvments:
    Missing packages will print the full dependency tree
    Versioned dependency checking errors should be fixed
    Make depends should be calculated properly
    Experimental AUR provide searcher

This code has been added along side the old code for testing and is not
currently used by the install process. Once the install process is moved
to use this code, the old code will be removed.
2018-05-29 13:13:27 +01:00
Jguer
d442af9dcc
Fix #435. Update vendor to include SIGLEVEL overflow fix 2018-05-29 11:36:45 +01:00
J Guerreiro
cc2322f492 Update README.md to include temporary notice of manual intervention 2018-05-29 00:41:55 +01:00
J Guerreiro
030f847243
Merge pull request #432 from Jguer/5.1
5.1 vendor update
2018-05-29 00:08:15 +01:00
Jguer
cd4f74a04d 5.1 vendor update
Signed-off-by: Jguer <me@jguer.space>
2018-05-29 00:05:37 +01:00
J Guerreiro
e5b9f0aff4
Merge pull request #431 from Jguer/fix-430
Exit code 1 when packages are missing from -Si and -G
2018-05-28 13:48:43 +01:00
Jguer
2b5c725a0c Fixes #430. Don't abort -G just error to signal not all was good
Signed-off-by: Jguer <me@jguer.space>
2018-05-28 13:45:11 +01:00
Jguer
6d70716ba2 Quick fix to yay -Si error code #430. Will return all possible values and then error
Signed-off-by: Jguer <me@jguer.space>
2018-05-28 13:43:02 +01:00
Jguer
70e5f43171 Quick fix to yay -G error code #430
Signed-off-by: Jguer <me@jguer.space>
2018-05-28 13:31:33 +01:00
Jguer
3f15788c6a
Unexport functions and structures 2018-05-20 16:17:05 +01:00
Jguer
6b7ee97479
add quiet to print options. fish complete 2018-05-20 15:28:43 +01:00
J Guerreiro
20191f5bc4
Merge pull request #423 from Morganamilo/docnews
Document news and use build date over install date
2018-05-18 08:16:07 +01:00
morganamilo
84810a61af
Document news 2018-05-17 20:20:24 +01:00
morganamilo
d6ab6ed9ac
Use native build date when printing news
Use the build date of the newest native package instead of the install
date of any package.
2018-05-17 20:11:07 +01:00
J Guerreiro
6be6ffc7d2
Merge pull request #420 from Morganamilo/news
Only show new news when calling -Pw
2018-05-16 18:57:35 +01:00
morganamilo
9f071a8e9b
Only show new news when calling -Pw
New news is defined as news that is newer than the install date of the
newest package on the users system.

All news can be shown using -Pww
2018-05-16 17:19:09 +01:00
J Guerreiro
0c49f0f7cb
Merge pull request #419 from Jguer/impgopkgchange
Implement new gopkgbuild Newer method
2018-05-15 12:48:39 +01:00
J Guerreiro
a2072aa446
Merge pull request #418 from Jguer/fix#417
Fixes #417
2018-05-15 12:40:55 +01:00
J Guerreiro
7c3ea5b2b3
Merge branch 'master' into impgopkgchange 2018-05-14 22:25:26 +01:00
Jguer
3dc5238bd2 Implement new gopkgbuild Newer method
Signed-off-by: Jguer <me@jguer.space>
2018-05-14 22:22:47 +01:00
Jguer
d15f899809 Fixes #417
Signed-off-by: Jguer <me@jguer.space>
2018-05-14 18:33:48 +01:00
Anna
250d6c61f7
Merge pull request #396 from AlexWayfer/print_newer_local_packages
Print warnings about newer local packages then remote versions
2018-05-14 15:36:50 +01:00
Alexander Popov
d1602083f2
Print warnings about newer local packages then remote versions
Inspired by [`pakku`](https://github.com/kitsunyan/pakku)
2018-05-14 11:31:18 +03:00
Anna
e7357f1360
Merge pull request #415 from Morganamilo/update2
Updated vendor dependencies
2018-05-13 19:00:04 +01:00
morganamilo
4b73ba37f3
Updated vendor dependencies 2018-05-13 18:58:08 +01:00
Anna
9437bf1576
Merge pull request #412 from Morganamilo/typos
Fix typos
2018-05-12 17:17:36 +01:00
morganamilo
c399996cab
Fix typos 2018-05-12 17:16:48 +01:00
Anna
d871e2c8de
Merge pull request #411 from Gravemind/fix-foreigne-typo
Fix typo --foreigne to --foreign
2018-05-12 15:32:06 +01:00
Gravemind
6c49436942 Fix typo --foreigne to --foreign 2018-05-12 15:41:32 +02:00
Anna
4143aaf6fd
Merge pull request #410 from Morganamilo/ignore2
Fix --ignore flag while skipping updates ammended
2018-05-12 00:25:54 +01:00
morganamilo
1b6d80f122
Fix --ignore flag while skipping updates ammended
Ammend to 58d53b1
Thought this was already included in the commit.
2018-05-12 00:24:47 +01:00
Anna
58d53b1f8b
Merge pull request #409 from Morganamilo/ignore2
Fix --ignore flag while skipping updates
2018-05-12 00:20:48 +01:00
morganamilo
2bf310d37c
Fix --ignore flag while skipping updates
If --ignore was specified on the command line and the user skips
packages using the number menu, packages would not be properly skipped
because they the manual --ignore would overide the --ignore from the
menu.

Now correctly combine both --ignore flags into a single combined flag
when passing to pacman.
2018-05-12 00:17:10 +01:00
J Guerreiro
686d6a3188
Merge pull request #407 from Morganamilo/fix#406
Tweak readme, add install and contrib sections
2018-05-11 22:54:58 +01:00
morganamilo
4c2986a036
Tweak readme, add install and contrib sections 2018-05-11 04:03:27 +01:00
Anna
a634c2d167
Merge pull request #405 from Morganamilo/fix#404
Add missing --ignorearch arg to makepkg call
2018-05-10 21:02:46 +01:00
morganamilo
5e712b221e
Add missing --ignorearch arg to makepkg call 2018-05-10 21:02:03 +01:00
Anna
665d49f8e0
Merge pull request #403 from Morganamilo/fixnil
Lint
2018-05-10 20:19:33 +01:00