Daniele Rondina
130eb8de1a
Integrate config protection on uninstall too
2020-11-06 20:14:25 +01:00
Ettore Di Giacinto
c3ef549673
Warn user only when required when uninstalling directories
2020-10-31 11:56:03 +01:00
Ettore Di Giacinto
0e764e525e
Filter packages to install instead of looping solver result
2020-10-31 01:25:18 +01:00
Ettore Di Giacinto
91dfb8ce3a
Enhance CLI output
2020-10-30 19:15:04 +01:00
Ettore Di Giacinto
95e640c9d0
Make solver type switchable
2020-10-29 16:32:13 +01:00
Daniele Rondina
6806103b3e
installer: Start spinner of upgrade calculation
2020-10-25 14:01:45 +01: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
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
bfde9afc7f
Add Nodeps and Full options to upgrade
2020-05-22 21:20:57 +02:00
Ettore Di Giacinto
3237423dde
Enhance upgrade output
2020-05-22 21:20:57 +02:00
Ettore Di Giacinto
46014fb9c1
Enhance install output
2020-05-03 13:22:06 +02:00
Ettore Di Giacinto
ada9d886fa
Enhance uninstall output
2020-05-03 13:22:00 +02:00
Ettore Di Giacinto
a1d8ef1422
Allow to partially uninstall a package graph, make uninstall --full optional
2020-05-03 13:04:34 +02:00
Ettore Di Giacinto
3befbfa915
Optimize uninstall computation
2020-05-02 15:43:57 +02:00
Ettore Di Giacinto
2ed9781c88
Don't try to match against repo already installed packages
2020-05-02 13:24:46 +02:00
Ettore Di Giacinto
f8b2837741
Enhance reclaim output
2020-05-02 12:17:54 +02:00
Ettore Di Giacinto
322ac99f17
Annotate package runtime definition when reclaiming
...
This was an issue as we were copying the buildspec instead
2020-04-30 18:56:50 +02:00
Ettore Di Giacinto
538ba8f5df
Add luet reclaim
...
Reclaim allows to migrate between different system layouts. This
is a experimental feature (yet) and might be revisited in the future.
This change:
- Adds Reclaim(system) to Installer
- Adds unit tests
Relates to #86
2020-04-13 19:32:51 +02:00
Ettore Di Giacinto
4e2d42e397
Drop downloadOnly bool from installer.Install
2020-04-13 19:32:50 +02:00
Daniele Rondina
c2e9176ab2
solver.Order now return error
2020-04-09 17:07:57 +02:00
Ettore Di Giacinto
5e31d940f0
Introduce Packages for []Package
2020-04-04 14:29:08 +02:00
Ettore Di Giacinto
a0113dcd13
Drop verbose output
2020-03-28 17:05:23 +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
117554792d
Don't attempt to upgrade packages already in system
2020-03-24 20:30:59 +01:00
Ettore Di Giacinto
af7f1de9f1
Split download and installer worker
...
Also, drop downloadOnly from install
2020-03-24 18:19:09 +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
6aa353edb2
Consume SolverOptions in installer
2020-02-12 11:21:30 +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
78b5963a4f
Add support for local packages cache
2020-02-01 19:35:30 +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
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
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
2693ec2f8c
Consume artifact verify mechanism
...
Refers to #28
2019-12-29 14:00:03 +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
1f60d591d5
Stringify finalizers output
2019-12-12 23:48:29 +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
2c7391fcc9
Adapt installer to new changes
2019-11-29 19:01:52 +01:00
Ettore Di Giacinto
fa46601638
Adapt compiler and installer to Tree removal
2019-11-29 19:01:49 +01:00
Ettore Di Giacinto
c9c803a819
Return errors more consistently
2019-11-25 20:02:18 +01:00
Ettore Di Giacinto
b751b02830
Do not register viper bindings in init
...
Otherwise they get overlapped. Use PreRun instead
2019-11-25 19:55:30 +01:00
Ettore Di Giacinto
a8b350fd8e
Implement uninstall
...
Also add RemovePackage in database implementation (boltdb is not tested yet)
Add test case for uninstall
2019-11-24 00:16:12 +01:00
Ettore Di Giacinto
0d7b2cf448
Track installed files
2019-11-23 22:41:51 +01:00
Ettore Di Giacinto
d4bb0e346e
Execute finalizers if present
2019-11-23 18:58:09 +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
43ab851cb9
Load tree when generating repo
2019-11-22 23:24:22 +01:00
Ettore Di Giacinto
e664f4f2cf
Return client from repository and install packages in the workers
2019-11-22 23:13:33 +01:00
Ettore Di Giacinto
75c1b66ae3
Add finalizers
2019-11-22 22:23:05 +01:00
Ettore Di Giacinto
a2f23d3bf5
WIP
2019-11-22 21:01:38 +01:00