Ettore Di Giacinto
eeb6719529
Add accessors to Hash and Verify artifacts
...
Refers to #28
2019-12-29 13:59:58 +01:00
Ettore Di Giacinto
17982e9527
Add package to calculate and compare artifact checksums
...
Refers to #28
2019-12-29 13:59:47 +01:00
Ettore Di Giacinto
2fa9c754ae
Move archive helpers to artifact
...
This allow in the future to swap and provide archive/compression methods without hijacking the code.
Refers to #33
2019-12-28 16:48:05 +01:00
Ettore Di Giacinto
d941c9755b
Relax best match constraint rule
...
Or we could return unsat
2019-12-18 19:24:44 +01:00
Ettore Di Giacinto
15250bd991
Add support for Package provides
...
Add "provides" field in packages (which affect both runtime and buildtime deps).
It replaces all the occurences in the deptree before solving, actually
allowing to swap packages and provide virtuals. Along with a mechanism
for package rename #25 .
2019-12-17 19:32:31 +01:00
Ettore Di Giacinto
fe608469d8
Do not call solver multiple times, reuse same assertion
...
Introduce Cut(), it allows to filter in the assertion to achieve the same hashes
2019-12-14 15:00:16 +01:00
Ettore Di Giacinto
556668fcc4
Make Expand and Revdeps consume a database
2019-12-06 16:28:42 +01:00
Ettore Di Giacinto
097f2ec827
Support includes also on packages coming from unpacked images
2019-12-03 18:15:07 +01:00
Ettore Di Giacinto
2f9d12a248
Add KeepImg and PullFirst options
...
They allow to keep a cache,define an endpoint and pull it first.
Also slim logic in favor of more freedom on backend side
2019-12-02 16:36:55 +01:00
Ettore Di Giacinto
1a584d0bfa
Fix img backend calls
...
Options have to go first always.
Note: it needs runc when unpacking
2019-12-02 16:36:29 +01:00
Ettore Di Giacinto
58169770e1
Add test for FindPackageCandidate
...
Adapt tests for env
2019-12-01 23:24:42 +01:00
Ettore Di Giacinto
ebf818ff08
Add Environment to compilespec #24
...
Now compilespecs can define envs and have PACKAGE_NAME, PACKAGE_VERSION and PACKAGE_CATEGORY injected
2019-12-01 21:20:16 +01:00
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
ddfb4fb8e8
Drop explicit directory copy
2019-12-01 19:10:40 +01:00
Ettore Di Giacinto
e23e38b571
Do not treat copy errors as fatal for now
2019-11-30 11:51:50 +01:00
Ettore Di Giacinto
f4fff415f4
Disable extra output from container-diff
2019-11-30 11:51:37 +01:00
Ettore Di Giacinto
c7e1803540
Fix path deletion on artifacts
2019-11-29 19:01:59 +01:00
Ettore Di Giacinto
e31f8820e2
Adapt tests
...
Adapt docker and package tests
Fix tree test
2019-11-29 19:01:54 +01:00
Ettore Di Giacinto
d0c84d24a0
Expand also when ordering assertions
2019-11-29 19:01:52 +01:00
Ettore Di Giacinto
4031a4ae81
Marshal JSON of package without escapes
...
Otherwise >, < get escaped as JSON does that in favour of browsers
2019-11-29 19:01:50 +01:00
Ettore Di Giacinto
fa46601638
Adapt compiler and installer to Tree removal
2019-11-29 19:01:49 +01:00
Ettore Di Giacinto
6d25e5d881
Check if a layer is provided in the manifest
2019-11-26 20:22:33 +01:00
Ettore Di Giacinto
393164da36
Extract all layers of the docker image
2019-11-26 20:12:06 +01:00
Ettore Di Giacinto
1cf5f2eb74
Enhance compile output
2019-11-26 20:11:51 +01:00
Ettore Di Giacinto
caca3fbf8c
Return immediately in case of deps failures
2019-11-26 20:11:27 +01:00
Ettore Di Giacinto
3b9337a03b
Keep the path around after writing the yaml, otherwise compile specs couldn't be found
2019-11-23 18:41:15 +01:00
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
542d45a646
Do not use interface in struct used for serialization
2019-11-23 00:29:44 +01:00
Ettore Di Giacinto
df78308e98
Annotate artifact metadata after compiling
2019-11-22 21:01:29 +01:00
Ettore Di Giacinto
f107f47242
Prepare for 0.1 tag
2019-11-17 19:45:20 +01:00
Ettore Di Giacinto
6e662c75ce
Reuse docker backend in some Img functions
2019-11-17 18:38:57 +01:00
Ettore Di Giacinto
8ed2badefc
Add test for shared layer unpack
2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
a39f596e8f
Do not compute diff when package is unpacked
2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
d0b128000d
Clean build dirs for each package after build
2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
dea8ea7f9a
Respect unpack also when compiling images #15
2019-11-17 15:59:48 +01:00
Ettore Di Giacinto
3499c0c580
Add test for compilation with version selection
2019-11-16 16:05:51 +01:00
Ettore Di Giacinto
32dea6f7fd
Add Best() to solver for package selection based on version
2019-11-16 14:40:58 +01:00
Ettore Di Giacinto
602f5c68d5
Use emojis for icons
2019-11-16 14:16:59 +01:00
Ettore Di Giacinto
588d06430c
Do not spin in the backend
...
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
c95e0ed91d
Add revdep calculation
...
Add CompilationSpecs type to handle slices of CompilationSpec, to
perform operation such as Unique() and Remove().
Add also dependencies and the spec associated to the Artifact, to track
how the artifact was generated.
Add revdeps compilation wrapper, and unit tests
2019-11-15 18:11:26 +01:00
Ettore Di Giacinto
321edd1676
Cleans container-diff cache on each run
...
It generates false positives if run with the same image paths
2019-11-14 22:50:39 +01:00
Ettore Di Giacinto
cd73d950cc
Add fixture and test for includes and layered packages
2019-11-14 20:28:21 +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
0eef18d75c
Add 'includes' to CompileSpec
...
The includes field is an array of regexp used to indicate what include
inside the packag. It can be omitted to default behavior (all)
2019-11-14 17:43:47 +01:00
Ettore Di Giacinto
08944a22ac
Add unicode icons
2019-11-14 00:14:43 +01:00
Ettore Di Giacinto
d5a8579454
Propagate also original Artifact name inside the copyjob
2019-11-13 17:06:55 +01:00
Ettore Di Giacinto
d752c0572b
Add unpack field to specify a package used as layer
...
Closes #9
2019-11-13 09:43:54 +01:00
Ettore Di Giacinto
747d0ef9ac
Do not fail in case we cannot remove cached images
...
Add a TODO, we should have a cli flag to treat warnings as fatal
2019-11-12 22:17:51 +01:00