Ettore Di Giacinto
6a1b64acea
Order files before uninstall
...
Fixes #149
2020-11-08 12:36:41 +01:00
Ettore Di Giacinto
459eb01a59
Don't write err to stdout if not present
2020-11-08 10:02:00 +01:00
Ettore Di Giacinto
46ed6423ad
Merge pull request #147 from mudler/fix-protect-uninstall
...
Fix protect uninstall
2020-11-07 12:28:24 +01:00
Daniele Rondina
d5df40512b
installer: Improve message for protected files
2020-11-07 12:27:18 +01:00
Ettore Di Giacinto
99bf9e291d
Use LStat and attempt removing before bailing out on first failure
2020-11-06 21:34:56 +01:00
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