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
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
dc64dbff75
Don't try to solve finalizers with --nodeps
2020-03-13 19:32:00 +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
4648dedb55
Add --nodeps, --onlydeps and --force to Installer
...
This allows also to use it on upgrade and uninstall as it exposes the Installer options to the CLI.
See #48 , #49
2020-02-18 18:37:56 +01:00
Ettore Di Giacinto
dd00d491b9
Skip repository if no candidate is found
...
FindPackageCandidate is idempotent and returns the same definition if no new is found.
This prevents installs from multiple-repos
2020-02-17 17:21:31 +01:00
Ettore Di Giacinto
b2a5de9222
Adapt installer test to constructor changes
2020-02-12 12:05:28 +01:00
Ettore Di Giacinto
6aa353edb2
Consume SolverOptions in installer
2020-02-12 11:21:30 +01:00
Ettore Di Giacinto
d330fedcc4
fmt
2020-02-12 11:05:13 +01:00
Ettore Di Giacinto
dfb6dab9dc
Move repository helpers under config
...
They are generated after the system config, let the structure provide such information
2020-02-12 10:20:07 +01:00
Ettore Di Giacinto
f813370501
Resolve selectors if present before starting install
2020-02-04 20:15:59 +01:00
Daniele Rondina
c353ab4978
client/http: Add support for authentication Basic/Token
2020-02-03 00:58:55 +01:00
Daniele Rondina
298de447b8
Fix installer/client test suite
2020-02-01 21:18:32 +01:00
Daniele Rondina
40687c3072
Use dynamic pkgs cache dir for test suite
2020-02-01 20:05:19 +01:00
Daniele Rondina
78b5963a4f
Add support for local packages cache
2020-02-01 19:35:30 +01:00
Ettore Di Giacinto
0147b2cf99
Don't cleanup the whole cache download dir, just the downloaded artifact
...
Otherwise whatever we download cannot be consumed (e.g. tree).
Instead whoever is calling the client should care to cleanup the returned artifact
2020-01-30 18:03:25 +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
c9b684523f
installer: Add support for cached repository
2020-01-12 23:35:58 +01:00
Ettore Di Giacinto
22bc53ba13
Merge branch 'master' into develop
2020-01-06 19:14:17 +01:00
Ettore Di Giacinto
f5e7c2ad92
Allow more matches, we select the best one anyway
2020-01-06 11:33:35 +01:00
Ettore Di Giacinto
d5fd14bceb
Merge branch 'build_clean' into develop
2020-01-05 16:27:31 +01:00
Ettore Di Giacinto
02c37c7451
Fix tests after contructor change
2020-01-05 16:08:39 +01:00
Daniele Rondina
9b6f4a094d
Use const for repository.yaml and tree.tar
2020-01-05 00:40:28 +01:00
Daniele Rondina
e751b989e0
Fix installer_tests
2020-01-04 16:15:56 +01:00
Daniele Rondina
6012e0081e
Add support of incremental revision for repos
...
* on repository creation now if the repository.yaml
is already present, the current revision is used.
* add --reset-revision option for force reset revision
of a specific repository
2020-01-04 00:31:11 +01:00
Daniele Rondina
d3bd78d618
Repository now support Revision and LastUpdate
2020-01-03 20:09:29 +01:00
Daniele Rondina
716d404307
Align logic of cache repositories in all commands
2020-01-02 18:31:25 +01:00
Daniele Rondina
ce888a2f40
Fix marshal of repository and use of cache repos
2020-01-01 13:44:39 +01:00
Daniele Rondina
01e66ee0b4
Review install phase
2020-01-01 13:44:39 +01:00
Daniele Rondina
a71e1a6f1d
Integrate config.LuetRepository with installer
...
* installer.LuetRepository is now installer.LuetSystemRepository,
a struct that extend config.LuetRepository
* config: system_repositories option is now "repositories".
This resolve viper issue.
* config: cache_repositories option is now "repetitors"
This resolve viper issue.
* cmd/*: Now use new config.LuetRepository
* cmd/search: now create local luet repository if database_engine
is equal to "boltdb"
2020-01-01 13:43:23 +01:00
Daniele Rondina
3b266fd600
installer: Repositoris now support multiple uris
2020-01-01 13:43:23 +01:00
Daniele Rondina
0d02eccc6c
installer: Fix tests
2020-01-01 13:43:23 +01:00
Daniele Rondina
da11a84d23
Rename repository type local to "disk"
...
See reference #4
2020-01-01 13:43:22 +01:00
Daniele Rondina
0cb49a40c0
Support logging level and spinner customization
2020-01-01 13:43:22 +01:00
Daniele Rondina
bbc9574745
Review luet configuration file
2020-01-01 13:43:22 +01:00
Ettore Di Giacinto
5e8a29caf5
Detect already installed packages when calling install
...
We wasn't checking this previously, which was drawing weird errors on the CLI
2020-01-01 11:58:33 +01:00
Ettore Di Giacinto
c193e4d320
Enhance output
2019-12-30 16:35:38 +01:00
Ettore Di Giacinto
3d5b723668
Add compression tests
...
Refers to #33
2019-12-30 16:35:35 +01:00
Ettore Di Giacinto
58eb483e32
Do not create new artifact on client
...
Otherwise we loose artifact metadata - as checksum and compressiontype
Refers to #33
2019-12-30 16:35:33 +01:00