Ettore Di Giacinto
ecae2873d6
zstd extension suffix is zst, not zstd
...
Fixes #163
2021-01-12 15:52:34 +01:00
Niklas Engvall
bfbcb81210
Set import name for zstd
2020-12-29 22:22:53 +01:00
Ettore Di Giacinto
f0fae82ad9
Add experimental zstd support
...
Closes #97
2020-12-18 21:24:01 +01:00
Ettore Di Giacinto
0e46e763d5
Move bus implementation to a separate repo, hook to events in luet
2020-11-13 18:25:44 +01:00
Ettore Di Giacinto
d92ee9e1d9
Add preliminar support for excludes
2020-11-08 15:35:24 +01:00
Daniele Rondina
c72565e019
Integrate tests for config protects with uninstall
2020-11-06 23:30:37 +01:00
Daniele Rondina
b24d335538
GetProtectFiles() is used also for tree tarball without specs
2020-11-06 23:00:37 +01:00
Daniele Rondina
51417ecb5d
pkg/compiler/artifact.go: permit to support config protect with only annotation
2020-11-06 20:23:46 +01:00
Daniele Rondina
130eb8de1a
Integrate config protection on uninstall too
2020-11-06 20:14:25 +01:00
Daniele Rondina
097ea37c97
compiler/artefact: remove debug println
2020-10-02 22:37:38 +02:00
Daniele Rondina
c64660b8d1
Permit to ignore config protect rules
...
* Added command line option --skip-config-protect
* Added config option config_protect_skip
2020-10-02 22:25:21 +02:00
Ettore Di Giacinto
a076613f66
Fixup import path
2020-08-07 19:30:08 +02:00
Ettore Di Giacinto
66513955c7
Compute image diffs internally
...
Is it more faster in this way as we already have all the needed folders
to the comparison extracted. In this way we don't repeat I/O operation
twice by calling container-diff.
Do not depend on container-diff anymore
2020-08-05 19:09:45 +02:00
Daniele Rondina
3a365c709b
Integrate config-protect from package spec
2020-06-06 13:12:54 +02:00
Daniele Rondina
c87db16d31
tarModifierWrapperFunc: Now use strings.HasPrefix for match path
2020-06-06 10:38:11 +02:00
Daniele Rondina
16f717f04b
tarModifierWrapperFunc: Fix config protect filename
2020-06-05 23:12:19 +02:00
Daniele Rondina
8f0c528c08
Create helpers.UntarProtect for handle protected files
...
Currently, it's used the archive.ReplaceFileTarWrapper
that requite a []byte of the files replaced. This is not
a good idea if files are big and instead could be better
in the near future reimplement ReplaceFileTarWrapper with
a callback that return io.Reader instead of []byte.
If a protected file is already present on target rootfs
it is created a file with the same prefix used in Gentoo:
._cfgXXXX_<filename>
2020-06-02 11:08:37 +02:00
Daniele Rondina
11944873ea
Integrate tmpdir_base params and tmpdirs cleanup
2020-04-30 20:29:28 +02:00
Ettore Di Giacinto
528f481a7b
Annotate package files in metadata
...
Fixes #87
2020-04-13 10:52:41 +02:00
Daniele Rondina
524bbf990e
Add support for same-owner config option
2020-02-01 19:01:15 +01:00
Ettore Di Giacinto
c6fe34b059
Support compression and checksum for trees
...
Fixes #33 #34 #35
2020-01-28 17:46:32 +01:00
Daniele Rondina
07633dc307
Add container-diff summary
2020-01-05 18:05:56 +01:00
Ettore Di Giacinto
ee055e08b1
Set abs path when returning artifact from yaml
2020-01-05 16:08:39 +01:00
Ettore Di Giacinto
1d1efad18b
Skip building if artifact already exists
2020-01-05 15:30:16 +01:00
Ettore Di Giacinto
efdfe72568
Treat CompressionType none as default
...
To provide backward compatibility with repos that didn't declares it explictly
2019-12-31 12:29:53 +01:00
Ettore Di Giacinto
4f65d46d56
Drop CompressedPath, or we don't have a way to compare checksums
...
Refers to #33
2019-12-30 16:35:30 +01:00
Ettore Di Giacinto
d48f510f14
Propagate Checksum and CompressionType when building ArtifactIndex
...
Refers to #33
2019-12-30 16:35:28 +01:00
Ettore Di Giacinto
ea27ada6c0
Do not return errors after we uncompress successfully
...
Refers to #33
2019-12-30 16:35:25 +01:00
Ettore Di Giacinto
a40ecaea40
Use a separate attribute to handle the compressed artifact
...
Refers to #33
2019-12-30 16:35:15 +01:00
Ettore Di Giacinto
d2d72c3fc4
Add package compression type
...
TODO: Handle the path substitution in a separate field
Adds GZip support and allows the compiler to switch compression type.
It also adds Concurrency as a compiler attribute (not consumed yet)
Refers to #33
2019-12-30 16:34:41 +01:00
Ettore Di Giacinto
cb98a49917
Create new Checksum struct for Artifact
...
Refers to #28
2019-12-29 14:13:51 +01:00
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
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
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
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
c7e1803540
Fix path deletion on artifacts
2019-11-29 19:01:59 +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
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
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
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
d5a8579454
Propagate also original Artifact name inside the copyjob
2019-11-13 17:06:55 +01:00
Ettore Di Giacinto
fc93c9e3ea
Generate artifact delta from layer diffs
2019-11-10 10:46:57 +01:00
Ettore Di Giacinto
45651a3bcc
Define Artifact diffs layers
...
It also add in simpledocker a naive implementation using the container-diff binary, which is supposed to go away with a proper API implementation.
2019-11-09 13:58:15 +01:00
Ettore Di Giacinto
4ea8f26878
Define a generic Artifact object for now
2019-11-08 19:57:04 +01:00
Ettore Di Giacinto
add0021cfd
Add compiler interfaces and build definition skeleton
...
Create compiler interface with switchable backends. For now it can resolve and
parse a `build.yaml` which is in the same folder as in `definition.yaml`
Add also tests to cover this and new fixtures
2019-11-04 17:21:19 +01:00