Ettore Di Giacinto
55fa7265e5
Move selection logic to a db accessor #19
...
In this way the compiler consume such accessor, and make it possible to expand whenever used
2019-12-01 19:11:31 +01:00
Ettore Di Giacinto
f71cc5281e
Offer World from database
...
Compute here world instead of scattering it in different structures.
Also move Best() in package and make expansion here #20
2019-11-29 19:01:48 +01:00
Ettore Di Giacinto
62af9c81d5
BoltDB fixups
...
Unmarshalling needs well-defined structs, also swap pointers in few places where needed.
There are few more TODOS pending (like getting UpdatePackage fixed properly)
2019-11-25 20:03:37 +01:00
Ettore Di Giacinto
a8b350fd8e
Implement uninstall
...
Also add RemovePackage in database implementation (boltdb is not tested yet)
Add test case for uninstall
2019-11-24 00:16:12 +01:00
Ettore Di Giacinto
0d7b2cf448
Track installed files
2019-11-23 22:41:51 +01:00
Ettore Di Giacinto
ff98bdfc16
Enable two-pass scan
...
Split dependency resolving ( definition <-> db mapping ) into a method of the tree (ResolveDeps),
and do not care of looking up for packages while parsing.
Note: it is slower but it is much accurate and we can
choose what to do with the ones which aren't resolved (and show a helpful message too).
2019-11-01 11:32:17 +01:00
Ettore Di Giacinto
a5ceafca26
Add Tree parser with bolt
...
Also add Tree builder (Recipe) which can recompose trees.
2019-10-31 12:38:59 +01:00
Ettore Di Giacinto
c3197d70fc
Add boltdb implementation for packageset and db
2019-10-31 12:38:32 +01:00
Ettore Di Giacinto
cab133f229
Imeplement PackageDatabase
...
Consume InMemoryDatabase for now, which act as a singleton in-memory db.
2019-06-11 23:04:01 +02:00
Ettore Di Giacinto
ff582ce77c
Enhance Uninstall and resolve conflict sets
...
Compute a minimum conflict set over the uninstall.
Adds also tests for specific cases covered by Uninstall now
2019-06-11 18:03:50 +02:00
Ettore Di Giacinto
a342bc515f
Implement basic install algorithm
2019-06-05 18:49:34 +02:00