Commit Graph

52 Commits

Author SHA1 Message Date
Ettore Di Giacinto
e9c01b46a7
Use well defined structure for serializing, fixups to make test green 2019-11-23 15:42:53 +01:00
Ettore Di Giacinto
dd0face86d
WIP 2019-11-22 21:01:53 +01:00
Ettore Di Giacinto
df78308e98
Annotate artifact metadata after compiling 2019-11-22 21:01:29 +01:00
Ettore Di Giacinto
d134690560
Expand conflicts #14 2019-11-21 14:50:15 +01:00
Geaaru
cf9bcf4726 tree: Fix repices_test 2019-11-16 17:29:58 +01:00
Geaaru
39e658dab6 gentoo/simpleparser: Use now GentooPackage methods for PV, P, PN, PVR 2019-11-16 17:29:58 +01:00
Geaaru
d96464cae4 gentoo/simpleparser: Integrate support of P* envs and avoid duplicate 2019-11-16 17:29:58 +01:00
Geaaru
0e3952cbd8 gentoo/simpleparser: Fix parsing of RDEPEND on multiple level 2019-11-16 17:17:20 +01:00
Geaaru
aa829acf80 Integrate parsing of IUSE 2019-11-16 17:17:20 +01:00
Geaaru
d6d90edd67 Fix build of pkgstr 2019-11-16 17:17:20 +01:00
Geaaru
7ad4cb64e5 Integrate pkgs-checker pkg parser and review RDEPEND parsing 2019-11-16 17:17:20 +01:00
Ettore Di Giacinto
3499c0c580
Add test for compilation with version selection 2019-11-16 16:05:51 +01:00
Ettore Di Giacinto
6face9c980
Add package expansion during resolve deps
Closes #2
2019-11-16 14:58:50 +01:00
Ettore Di Giacinto
b59256337a
Drop Fit on recipe tests
Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org>
2019-11-16 13:26:34 +01:00
Ettore Di Giacinto
3e850e9607
Adapt tests and fixup races in spinner
Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org>
2019-11-16 13:26:33 +01:00
Ettore Di Giacinto
b2060c82e3
Make DB Switchable
Fixes races conditions and make the DB Switchable. Also prepare inside
the CompilationSpec the tree of the deps to be built, and parallelize
only the building jobs.

Closes #7

Signed-off-by: Ettore Di Giacinto <mudler@gentoo.org>
2019-11-16 13:26:33 +01:00
Ettore Di Giacinto
83fb1d1219
Add Matches() to pkg.Package 2019-11-15 18:04:46 +01:00
Ettore Di Giacinto
ccdca66420
Small fixes and enhance output
Fixes a small issue with the Spinner which prevented to update the
spinner style. Also respect the temp folders of the output when
extracting the rootfs.
2019-11-14 20:22:49 +01:00
Ettore Di Giacinto
802adac5ee
Fixup resolvedeps updates of world
Drop useless code and address to some TODOs
2019-11-13 21:59:53 +01:00
Ettore Di Giacinto
2bbca653fd
Add tree test and minor comment fixups 2019-11-12 17:31:50 +01:00
Ettore Di Giacinto
a2c32aaaa1
Propagate reverse dep calculation
Whenever we update the tree with new informations, all the sibilings
needs to be updated as well

Also switch to inmemory db for recipe - even if this should be a switch
2019-11-12 17:30:06 +01:00
Ettore Di Giacinto
e7a328bca7
Fix compilation and hash image calculation. Tests fails on spec (installing d) 2019-11-12 00:13:03 +01:00
Ettore Di Giacinto
ea2a51ce66
Implement compilation with images
A compilespec with an image defined (and no seed) can now be compiled,
and an artifact delta is provided at the end of the process.
2019-11-10 10:48:07 +01:00
Ettore Di Giacinto
639d4438e1
Adapt tests 2019-11-08 18:30:53 +01:00
Ettore Di Giacinto
ff88ff67c2
Add Separate tree for build dependency
Reuse the Recipe and extend it to read a separate tree for build
dependencies.

Also add accessors to compilespec to produce dockerfile image format.
2019-11-05 17:36:22 +01:00
Ettore Di Giacinto
61c318d549
Set path during recipe load
Set path only when the recipe is loaded and not when it gets converted. In such way the internal temporary db knows where the sources where.
2019-11-04 17:14:32 +01:00
Ettore Di Giacinto
b32a6c2286
Wrap errors 2019-11-04 17:13:53 +01:00
Ettore Di Giacinto
4dab89d209
Add support to store the path of the loaded packages 2019-11-04 12:35:21 +01:00
Ettore Di Giacinto
6855c3bdf7
Add copy of LICENSE 2019-11-04 11:01:41 +01:00
Ettore Di Giacinto
0307b1faad
Consider also category when building up the luet tree 2019-11-03 18:39:15 +01:00
Ettore Di Giacinto
55214bc6c8
Extend tests for each supported dbtype 2019-11-03 13:53:41 +01:00
Ettore Di Giacinto
f3623cbb38
Allow to switch between database types in Gentoo Parser
Define types and allows to switch between boltdb and inmemory
2019-11-03 13:37:45 +01:00
Ettore Di Giacinto
847f93b8b7
Revert "Consume a context when sourcing ebuild in parallel"
This reverts commit 1ee2551325.
2019-11-03 13:27:13 +01:00
Ettore Di Giacinto
0923e91527
Add context timeout to sh parsing
It is causing issues as it hangs indefinetly and then we wait for goroutines to finish
2019-11-03 13:24:13 +01:00
Ettore Di Giacinto
1ee2551325
Consume a context when sourcing ebuild in parallel 2019-11-03 12:03:26 +01:00
Ettore Di Giacinto
8c0ad2b571
Use InMemoryDB instead of Bolt in gentoo parser
Also refactor things a bit
2019-11-02 18:03:06 +01:00
Ettore Di Giacinto
c04e6496fb
Enhance output with consistent usage of logger 2019-11-02 10:26:28 +01:00
Ettore Di Giacinto
2b9e512272
Respect builder concurrency when resolving deps 2019-11-01 16:30:46 +01:00
Ettore Di Giacinto
ef1d0e5573
Make also deps recalculation concurrent 2019-11-01 16:26:11 +01:00
Ettore Di Giacinto
eef03f8909
Add spinner 2019-11-01 13:08:53 +01:00
Ettore Di Giacinto
a4535c5777
Avoid panics from inner 'sh' library 2019-11-01 12:41:55 +01:00
Ettore Di Giacinto
624e991688
Parametrize concurrency 2019-11-01 12:41:31 +01:00
Ettore Di Giacinto
f61b79692c
Parallelize ebuild scanning 2019-11-01 12:03:48 +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
190d4f0064
Provide more accurate information in gentoo/simpleparser
Extract categories and such
2019-10-31 12:38:59 +01:00
Ettore Di Giacinto
66631f9af9
Add solver tests from fixtures
Try to load with the recipe builder and solve simple installation queries.
Also adapt tests to the more accuracy from simple parser
2019-10-31 12:38:59 +01:00
Ettore Di Giacinto
47128e932d
Check if package exists in db before adding it 2019-10-31 12:38:59 +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
da8734ed6a
Add a PoC of simple ebuild parser (WIP) 2019-08-24 13:15:40 +02:00