Ettore Di Giacinto
bfb2bdc230
Add test for replace --nodeps
2020-12-19 15:44:42 +01:00
Ettore Di Giacinto
f0fae82ad9
Add experimental zstd support
...
Closes #97
2020-12-18 21:24:01 +01:00
Ettore Di Giacinto
93f5f5d0b2
Add integration tests for luet replace and luet build --only-target-package
2020-12-18 20:52:07 +01:00
Ettore Di Giacinto
0b9b3c0488
Drop --clean from integration tests
2020-12-14 18:58:45 +01:00
Ettore Di Giacinto
d97e606a31
Adapt fixtures and tests
2020-12-12 12:10:24 +01:00
Ettore Di Giacinto
95da20e366
Context files are immutable
2020-12-12 11:55:25 +01:00
Ettore Di Giacinto
2906180c43
Upgrade universe test expectations are changed
2020-12-08 14:15:52 +01:00
Ettore Di Giacinto
7f10a19be5
Don't hide build output
2020-12-07 18:56:39 +01:00
Ettore Di Giacinto
3fd1bdbfc8
ADD automatically extracts as well
2020-12-07 17:21:06 +01:00
Ettore Di Giacinto
75dbc2dcb4
Adapt integration tests
2020-11-29 13:56:58 +01:00
Ettore Di Giacinto
8237506bd3
Accept specific versions in cli input and avoid gentoo parser by default
...
This is a breaking change as changes the way packages can be given as
arguments to luet.
From this change, the following applies:
- If a package string contains @, the right part is parsed as version
(e.g. foo/bar@1.1)
- If a package contains "/" and no "@", cat/name is applied (e.g.
foo/bar)
- If a package doesn't contain either, is implied its just a name
without category
- If a package contains "=" at the beginning, the gentoo parsing default
is being used ( e.g. =foo/bar-1.1 )
Fixes #154
2020-11-29 11:48:49 +01:00
Ettore Di Giacinto
0fe30ddcfd
Add ability to interpolate during build
...
Now build takes a --values argument, which is a yaml file that can be
used to interpolate the specs that are going to be compiled.
2020-11-28 15:47:29 +01:00
Ettore Di Giacinto
b349665ff2
Add user prompts
...
Fixes #106
2020-11-22 23:43:29 +01:00
Ettore Di Giacinto
fc863fc8e5
Add collections integration test
2020-11-15 13:22:21 +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
a765147c1d
Add templated finalizers
2020-11-08 21:14:19 +01:00
Ettore Di Giacinto
cead09fb9f
Merge pull request #148 from mudler/respect_rootfs4conf
...
Respect rootfs path for configs and url
2020-11-08 18:25:29 +01:00
Ettore Di Giacinto
b1316b50b4
Add excludes tests
2020-11-08 16:02:11 +01:00
Daniele Rondina
e6c597c7d3
test-integration/12_config_protect.sh: Use repo url related with rootfs path
2020-11-08 00:05:06 +01:00
Daniele Rondina
eea9dad2c6
tests/integration: Add option config_from_host
2020-11-07 19:14:44 +01:00
Daniele Rondina
c72565e019
Integrate tests for config protects with uninstall
2020-11-06 23:30:37 +01:00
Ettore Di Giacinto
f401e2b37f
Add install benchmark test for solver
2020-10-30 22:20:08 +01:00
Ettore Di Giacinto
91dfb8ce3a
Enhance CLI output
2020-10-30 19:15:04 +01:00
Ettore Di Giacinto
b88a81c7ed
Add database command
...
- Allows to override the system db and create/remove entries as desired.
The input format is the same metadata as the one generated by the
artifacts. It contains the Package and the file list that we need.
- Add integration test
Closes #47
2020-10-10 18:26:40 +02:00
Ettore Di Giacinto
74246780d4
Support templated packages
2020-10-04 19:33:15 +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
11944f4b8c
Disable tty on docker integration test
2020-08-06 18:11:50 +02:00
Ettore Di Giacinto
694d8656d9
Add xattrs tests
2020-08-05 18:58:50 +02:00
Ettore Di Giacinto
c339e0fed2
Add symlink test
2020-08-05 18:57:27 +02:00
Ettore Di Giacinto
6e3650d3af
Add upgrade_old_repo_revision fixture
2020-07-12 15:38:02 +02:00
Ettore Di Giacinto
5dcf77c987
Add package buildtimestamp and luet upgrade --sync
...
Annotate the package build time when compiling, and use that from the
client to force upgrade of packages that changed the artifact, but
didn't changed any version.
The client can trigger this behavior with `luet upgrade --sync`
2020-07-12 15:29:38 +02:00
Daniele Rondina
364b5648b4
repository loader now support .yaml extension
2020-07-04 20:07:32 +02:00
Daniele Rondina
3a365c709b
Integrate config-protect from package spec
2020-06-06 13:12:54 +02:00
Daniele Rondina
aaa73dc2ac
Add integration test for config-protect
2020-06-06 12:35:16 +02:00
Daniele Rondina
341293c403
tests/integration/09_docker.sh: align new logic
2020-05-30 16:47:11 +02:00
geaaru
8c4f5b2911
Merge pull request #113 from mudler/annotations
...
Add Annotations to package spec
2020-05-23 10:52:32 +02:00
Daniele Rondina
44d68a9583
Add annotations option to package spec
2020-05-23 09:27:38 +02:00
Ettore Di Giacinto
4197d7af61
Add upgrade by using only the SAT core
...
- Adds upgrade --universe and upgrade --universe --clean. It will
attempt to bring the system as much close as the content available in
the repositories. It differs from a standard upgrade which checks
directly that what is pulled in doesn't conflict with the system. In
this new way, we just query the SAT solver to decide that on our
behalf.
- Add uninstall --full-clean. It uses only the SAT solver to uninstall
the package and it will drop as many packages as required (including
revdeps of packages too.
2020-05-22 21:20:58 +02:00
Ettore Di Giacinto
51711dafba
Add package_dir to pack a spec dir as the main artifact
2020-05-16 21:34:27 +02:00
Ettore Di Giacinto
584b980644
Adapt integration test which requires full uninstall
2020-05-03 13:12:14 +02:00
Ettore Di Giacinto
faef3d093a
Add test fixtures
2020-05-02 14:03:34 +02:00
Daniele Rondina
c5b41946dc
Add integration test for tmpdir cleanup
2020-05-02 08:43:25 +02:00
Ettore Di Giacinto
1171987ed3
Adapt integration test to search output change
2020-04-19 10:24:39 +02:00
Ettore Di Giacinto
c972795a30
Tweak upgrade integration test
...
In this way we also test that the user configuration takes precedence
over the one advertized remotely
2020-04-18 17:35:58 +02:00
Ettore Di Giacinto
ee0fe1a86a
Allow to finalizer to specify entrypoint command
...
In this way, finalizer in strict environment can override the default
shell used to run commands.
The shell keyword is a list, as it needs to contain the full command +
args.
2020-04-14 17:46:39 +02:00
Ettore Di Giacinto
579a4f20fc
Add docker fixture for integration tests
2020-04-11 20:12:43 +02:00
Ettore Di Giacinto
dd45a46ed0
Add docker from scratch integration test
2020-04-11 20:07:10 +02:00
Daniele Rondina
d6faa3335f
tests/integration/08_versioning.sh: Add version with _
2020-04-03 18:33:01 +02:00
Daniele Rondina
9e95d7d2a9
tests/integration/08_versioning.sh: Drop wrong assert
2020-04-03 15:24:56 +02:00
Daniele Rondina
e94674fca3
tests/integration/08_versioning.sh: Simplify test
2020-04-03 15:06:27 +02:00
Daniele Rondina
730b9a087a
tests/integration/08_versioning.sh: Fix test
2020-04-02 19:39:31 +02:00
Ettore Di Giacinto
9cf6330146
Build empty packages in versioning fixture
2020-03-29 15:11:20 +02:00
Ettore Di Giacinto
daa0b815c1
Fixup assertEquals on versioning integration test
2020-03-29 14:52:14 +02:00
Ettore Di Giacinto
c705728a2a
Build specific package, it triggers version search
2020-03-29 14:52:12 +02:00
Ettore Di Giacinto
15e772d96d
Fixup versioning of fixture
2020-03-29 14:52:10 +02:00
Ettore Di Giacinto
0d6dc49a95
Add versioning integration test
2020-03-29 14:52:00 +02:00
Ettore Di Giacinto
d45536505b
Add integration test for box finalizers
2020-03-28 16:59:37 +01:00
Ettore Di Giacinto
117554792d
Don't attempt to upgrade packages already in system
2020-03-24 20:30:59 +01:00
Daniele Rondina
d0b7552aca
tests: Align test to new args
2020-03-24 20:01:22 +01:00
Ettore Di Giacinto
bc5d01c3df
Add integration test for search of installed packages
2020-03-24 18:19:09 +01:00
Daniele Rondina
60635a03eb
Fix propagation of repo file name and add test for meta compressed
2020-03-24 00:31:41 +01:00
Daniele Rondina
202ed2651a
💥 Refactor and split repository.yaml file
2020-03-24 00:05:16 +01:00
Daniele Rondina
c7652c8a70
Added labels
to package definition
...
* cmd/search: Add support for search of the packages
with a specific label.
* review Search method of Repositories for permit
different search modes.
* labels are k/v attributes and could be matched
through label key (with HasLabel method) or through
regex that use "$key" + "=" + "$value"
2020-03-21 19:24:27 +01:00
Ettore Di Giacinto
050d9b3095
Adapt to image based on debian instead of alpine for fixture
2020-03-15 15:30:27 +01:00
Ettore Di Giacinto
4985ff7b5a
Use standard golang image for fixture (alpine doesn't contain gcc)
2020-03-15 15:42:24 +01:00
Ettore Di Giacinto
5bcc8d112a
Enforce solver constraints
...
- Don't sign installed packages during finalizer execution
- Enforce solver constraints: build ALO and AMO rules taking into account
that the current package might not be selected at all.
- Force uninstalls on upgrade
- Enable option to tell uninstall to ignore conflict with the analized system state,
as we don't want any conflict with the installed to raise during the upgrade.
In this way we both force uninstalls and we avoid to check with conflicts
against the current system state which is pending to deletion.
This is due to the fact that now the solver enforces the constraints
and explictly denies two packages of the same version installed.
- Adapt test as now we generate more constraints, which makes the solver more
noisy on the package that are explictly selected or not
2020-02-27 18:38:31 +01:00
Ettore Di Giacinto
65b17f5283
Add simple upgrade integration test
2020-02-26 23:59:48 +01:00
Ettore Di Giacinto
fffed79767
Test uninstall without explicit version
...
By dropping the selector in the simple integration test
2020-02-13 14:17:54 +01:00
Ettore Di Giacinto
f329e1d5e0
Add retrieve to compilation spec
...
It allows to copy build artifact during buildtime. In this way
artifacts between different seed images can be shared
```
retrieve:
- a-test-1.0.package.*
- https://...
```
They will be available under WORKDIR
2020-02-13 14:15:43 +01:00
Ettore Di Giacinto
d7d05de9fe
Add integration test for qlearning solver
2020-02-12 13:58:28 +01:00
Ettore Di Giacinto
5594844971
Adapt integration test to test install and build from cli without explicit versioning
2020-02-04 20:16:35 +01:00
Daniele Rondina
1653a60428
cmd/create-repo: Permit to use repository from config
2020-02-02 11:29:05 +01:00
Daniele Rondina
de2afe8ed0
tests/integration: Add cleanup command
2020-02-02 10:38:41 +01:00
Ettore Di Giacinto
eee0136156
Add compressed tree integration test
2020-01-28 17:47:42 +01:00
Daniele Rondina
b986c613ab
tests/integration/01_simple.sh: Use system-dbpath/system-target from config
2020-01-02 18:39:14 +01:00
Daniele Rondina
5358475069
test/integration/01_simple.sh: Use boltdb engine on config
2020-01-02 18:31:56 +01:00
Daniele Rondina
9af733370a
Update integration-test
2020-01-01 13:44:39 +01:00
Daniele Rondina
bbc9574745
Review luet configuration file
2020-01-01 13:43:22 +01:00
Ettore Di Giacinto
9db9c1bf19
Add integration test for reinstall warning
2020-01-01 12:04:26 +01:00
Ettore Di Giacinto
255f768cc0
Enhance simple integration test
2019-12-31 15:59:46 +01:00
Ettore Di Giacinto
62ebe1a82b
Add integration tests
2019-12-31 15:22:11 +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
Daniele Rondina
82c9795dc3
Add pkg description, url and license
...
* Move to mvdan.cc/sh/v3
* Improve RDEPEND parsing
2019-12-16 23:56:58 +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
30a7312911
Compute upgrades
...
Make solver compute simply upgrades and the installer execute them.
Add simple upgrade test
2019-11-29 19:01:56 +01:00
Ettore Di Giacinto
8ed2badefc
Add test for shared layer unpack
2019-11-17 15:59:52 +01:00
Ettore Di Giacinto
3499c0c580
Add test for compilation with version selection
2019-11-16 16:05:51 +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
d752c0572b
Add unpack field to specify a package used as layer
...
Closes #9
2019-11-13 09:43:54 +01:00
Ettore Di Giacinto
e0aa92efa4
Add fixture
2019-11-12 00:13:24 +01:00
Ettore Di Giacinto
f634493dc0
Add tests for package compilation with images
2019-11-10 10:49:24 +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
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
Ettore Di Giacinto
98ab6202fc
Drop unneeded fixture
2019-08-24 13:14:47 +02:00
Ettore Di Giacinto
283fae1248
Add tests fixtures
2019-07-27 11:31:01 +02:00