Ettore Di Giacinto
cf8091a7fd
Re-enable debian versioning test, add more cases
2020-04-04 16:49:41 +02:00
Ettore Di Giacinto
3caaa01eb8
Add semver detection to versioner
...
In this way we compare only all version that are compliant to semver,
otherwise we fallback to debian sorting.
2020-04-04 16:48:48 +02:00
Ettore Di Giacinto
4eae0a851c
Add versioner unit tests
2020-04-04 16:33:08 +02:00
Ettore Di Giacinto
626419f955
Fix original version mapping in versioner
2020-04-04 16:23:43 +02:00
Ettore Di Giacinto
84625be9ac
Adapt package.Best to take a Versioner interface
2020-04-04 15:33:14 +02:00
Ettore Di Giacinto
04f9a88a5f
Add versioner interface to wrap versioning operations
...
This allows to scope responsabilities and enables switching to different
ordering algorithms
2020-04-04 15:29:20 +02:00
Ettore Di Giacinto
9d58b0a0cc
Adapt tests to refactor
2020-04-04 14:41:58 +02:00
Ettore Di Giacinto
5e31d940f0
Introduce Packages for []Package
2020-04-04 14:29:08 +02:00
Daniele Rondina
129ca8da55
Add version sanitized to Best()
2020-04-03 18:32:26 +02:00
Daniele Rondina
ee66839bd3
pkg/package/version: Better search for last +
2020-03-29 09:10:52 +02:00
Ettore Di Giacinto
a0113dcd13
Drop verbose output
2020-03-28 17:05:23 +01:00
Ettore Di Giacinto
49d7b4e2bf
Add box structure to handle containerized executions
2020-03-28 16:58:46 +01:00
Ettore Di Giacinto
f15ed3fda1
Move finalizer in its own struct
...
Also distinguish when we run in a root target dir ("/") or when we want
to run the commands in a separate folder
2020-03-28 16:57:40 +01:00
Ettore Di Giacinto
2ad16fa875
Add ListDir helper
2020-03-28 16:55:16 +01:00
Ettore Di Giacinto
416be23a46
Don't always remove unpacked repository content
2020-03-28 12:07:40 +01:00
Daniele Rondina
50091b2a4b
pkg/installer: Add test for uncompress tree and minor cleanup
2020-03-25 00:19:52 +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
454e9d934e
Use filename instead of name on repo specs
2020-03-24 19:40:11 +01:00
Ettore Di Giacinto
af7f1de9f1
Split download and installer worker
...
Also, drop downloadOnly from install
2020-03-24 18:19:09 +01:00
Daniele Rondina
a0f9222068
Add check of repository metafile archive in tests
2020-03-24 14:01:22 +01:00
Daniele Rondina
520768d0ca
pkg/installer: Align tests with new default
2020-03-24 12:52:45 +01:00
Daniele Rondina
4f002ab40f
pkg/installer/repository: The check for repo_files is not needed for parsing normal repo
2020-03-24 12:52:24 +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
6bd8fe6789
Add omitempty to DefaultPackage fields
2020-03-22 22:23:11 +01:00
Daniele Rondina
40830ecf42
installer/repository.go: Use switch with search options
2020-03-22 10:46:51 +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
fab2d21ac1
Drop unused function
2020-03-19 22:39:22 +01:00
Ettore Di Giacinto
487239334f
Treat base case with same algorithm of dependencies
2020-03-19 22:37:39 +01:00
Ettore Di Giacinto
69477a0c36
Make uniform build of seeds and packages
2020-03-19 22:34:26 +01:00
Ettore Di Giacinto
67362a3bc1
Drop unused condition
2020-03-19 22:29:34 +01:00
Ettore Di Giacinto
302d18e749
Tag the target image with the computed hash
2020-03-19 22:28:33 +01:00
Daniele Rondina
0249c0fa4a
version: Add temporary workaround for handle build string with _
2020-03-16 22:18:48 +01:00
Daniele Rondina
fc40c770ab
Add 'tree bump' command
2020-03-16 22:18:48 +01:00
Ettore Di Giacinto
4357ee45e9
Drop unused functions in package
2020-03-16 18:08:46 +01:00
Ettore Di Giacinto
6f138811dd
Make recipes idempotent, allowing to load multiple trees
2020-03-15 13:31:12 +01:00
Daniele Rondina
bc5c0fa0cf
cmd/tree/pkglist: Cleanup code
2020-03-14 11:14:14 +01:00
Ettore Di Giacinto
dc64dbff75
Don't try to solve finalizers with --nodeps
2020-03-13 19:32:00 +01:00
Daniele Rondina
93f8f0dd0f
solver: Add category to tests
2020-03-12 00:26:53 +01:00
Daniele Rondina
f4a5a97cff
tree/compiler_recipe: Return right error message
2020-03-08 16:28:12 +01:00
Daniele Rondina
8c972403a3
tree/compiler_recipe: Handle invalid tree path
...
If instead of abs path is used bash annotation
now return an error related to wrong directory
supply.
2020-03-08 15:47:40 +01:00
Daniele Rondina
17238d187a
Change 'Skip dir' message to debug
2020-03-08 00:07:20 +01:00
Ettore Di Giacinto
765261f233
Add Swap() to Installer. Refactor code in Upgrade() to consume it
2020-02-27 23:48:14 +01:00
Ettore Di Giacinto
6c7e24fadf
Sync repositories once (and at beginning) during upgrade
2020-02-27 23:25:29 +01:00
Ettore Di Giacinto
de23e0d5b1
Download dependencies before installing
...
This enables smoother upgrades, and uses cache to pre-download
packages before uninstall/install
Allows also from cli to download deps only
2020-02-27 23:15:31 +01:00
Ettore Di Giacinto
8572aa5222
Preserve cache data from deletion during uninstall
2020-02-27 23:14:36 +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
a0618107a8
Adapt tests
2020-02-26 23:56:21 +01:00
Ettore Di Giacinto
25f2abf103
Do conflict with same package versions while building formula
2020-02-26 23:01:08 +01:00
Ettore Di Giacinto
e3ebfd6bfe
Respect ImageRepository with build --nodeps
2020-02-26 19:00:22 +01:00