Ettore Di Giacinto
5eb586ddb0
Speedup conflict check by caching in memory files
2021-07-30 12:40:55 +02:00
Ettore Di Giacinto
9aa3159787
Check for file conflicts before install
...
Fixes #88
2021-07-29 11:03:02 +02:00
Itxaka
1bd4d520a4
Add 2 new events for image unpacking ( #226 )
...
* Reduce possibility of circular dependency
Just by adding an import for bus to anything in the helper dir, we would
run into a circular dependency due to how things are structured. That
means that we cannot set any events for unpacking or docker helper
pulling an image.
This commit tries to work around this by doing several things.
- Remove full imports of the helper module by segmentating some modules
into their own submodule, like docker or match so just using a small match
function doesnt bring the whole module
- Removing a simple function to check if a dir exists from importing
the full helper module and instead write the function (5 lines)
- Using logrus in the bus module instead of logger, which avoids a
circular dependency
Signed-off-by: Itxaka <igarcia@suse.com>
* Add two new events for unpacking an image
Both pre and post unpacking an image
Signed-off-by: Itxaka <igarcia@suse.com>
2021-06-01 16:43:31 +02:00
Ettore Di Giacinto
2cbd97ff3a
Respect replace options
2021-04-24 21:09:25 +02:00
Ettore Di Giacinto
a4d77f8f99
Fixup clean path uninstall
...
While uninstalling, we weren't checking if we left any empty dir behind.
Now we walk the full path to the file in the artifact, and check each
subdir if it's empty. If it is, we delete it as it is claimed by the
package
2021-04-24 19:21:15 +02:00
Ettore Di Giacinto
adcb459fd2
Inplace upgrades
2021-04-24 18:48:57 +02:00
Ettore Di Giacinto
55ae67be0f
Pass by options to compute functions in install
2021-04-24 14:26:26 +02:00
Ettore Di Giacinto
ecc41ce370
Check if there are upgrades before attempting install
2021-04-16 23:38:10 +02:00
Ettore Di Giacinto
dd6501a642
Check if there are upgrades before attempting install
2021-04-16 22:28:30 +02:00
Ettore Di Giacinto
57c769b4a5
Refactor compiler and annotate buildoptions into compiler metadata
...
This allows to later pick up values used during build of each package
2021-04-16 13:57:54 +02:00
Ettore Di Giacinto
42f5210764
Add DownloadOnly option
...
It allows to download only the packages, without
installing/upgrading/replacing them
Fixes #179
2021-03-07 11:39:59 +01:00
Ettore Di Giacinto
7390623e40
Don't warn user of accepting license in case of uninstall
...
Closes #160
2021-01-07 10:36:57 +01:00
Ettore Di Giacinto
a81d0bc3a3
Build assertions when swapping
...
When we are swapping packages, we do not run the solver to gather things
to install, but we trust the given list when calling computeInstall. In this case, the assertion
returned by computeInstall is empty, as we force l.Options.NoDeps.
This change generates the assertion list while calling computeSwap so
it's available later when we call ExecuteFinalizer.
2021-01-02 21:28:54 +01:00
Ettore Di Giacinto
f871111e50
Collect errors from finalizer runs
...
Instead of failing and depend on the --force flag, always execute
finalizer and collect errors to determine if install was successfull or
not
2020-12-25 10:35:09 +01:00
Ettore Di Giacinto
736c9470cf
Add db copy and clone
2020-12-19 17:45:50 +01:00
Ettore Di Giacinto
96e877fc0b
Allow uninstall to take multiple packages
...
And treat those as a list, instead of each single of them
2020-12-19 17:16:58 +01:00
Ettore Di Giacinto
525bfb5ebf
Respect --nodeps when calling Swap from the public interface
2020-12-19 15:26:18 +01:00
Ettore Di Giacinto
7cf650a8f6
Break Swap in computeSwap() and display uninstall dialog only when asked
2020-12-19 14:55:59 +01:00
Ettore Di Giacinto
1c9b821058
Drop unneeded if
2020-12-18 00:50:20 +01:00
Ettore Di Giacinto
0e21548bc0
Lookup uninstall and Install in installer.Swap
...
In this way we resolve selectors from user inputs
2020-12-18 00:49:51 +01:00
Ettore Di Giacinto
9eef7e5c6d
Clean up if condition
2020-12-09 22:58:33 +01:00
Ettore Di Giacinto
332824fd42
Fail in the downloader goroutine and don't skip errors with force
2020-12-09 22:56:55 +01:00
Ettore Di Giacinto
737fbdbdc1
Don't make artifact checksum skippable
2020-12-09 21:31:07 +01:00
Ettore Di Giacinto
59d78c3f5c
While upgrading always use nodeps while computing uninstall
2020-12-07 17:20:55 +01:00
Ettore Di Giacinto
d479ada402
Don't consider deps while uninstalling during package Swap
...
Beside being forced, it also doesn't need to look deep into the deps, as
we already have precalculated those
2020-12-06 22:48:48 +01:00
Ettore Di Giacinto
7b800c9a20
Pre-compute swap step
...
Otherwise, while upgrading, it could happen that package dependencies
aren't downloaded before, and they would just be installed in the middle
of installation, after removal already happened.
2020-12-06 22:11:17 +01:00
Ettore Di Giacinto
67c43eb936
Don't bail out if package is installed and we have a list
2020-12-03 20:03:37 +01:00
Ettore Di Giacinto
cf80e5fc09
Resolvers might omit packages
2020-12-03 18:53:57 +01:00
Ettore Di Giacinto
d668d8344b
Accept selectors on uninstall and fixup failure logic
2020-12-03 18:32:24 +01:00
Ettore Di Giacinto
b17ac447f1
Display matched packages only, and check if they are available
2020-12-03 17:25:29 +01:00
Ettore Di Giacinto
9423b7c1e3
Add image build events, and add luet replace
...
Enhance also some commands descriptions
2020-12-02 18:24:35 +01:00
Ettore Di Giacinto
18d9366bca
Minor fixes
2020-11-24 18:27:49 +01:00
Ettore Di Giacinto
db1b190fb5
Minor fixup and cleanups around the new prompt feature
2020-11-23 18:20:30 +01:00
Ettore Di Giacinto
b349665ff2
Add user prompts
...
Fixes #106
2020-11-22 23:43:29 +01:00
Ettore Di Giacinto
53ab0e0dd2
Merge pull request #151 from mudler/download-progress-bar
...
Download progress bar
2020-11-20 19:00:25 +01:00
Daniele Rondina
60d5c9dfd5
Add download progress bar
2020-11-20 18:12:23 +01:00
Ettore Di Giacinto
f2df3faee5
Now Uninstall takes multiple packages
2020-11-19 18:05:27 +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
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