Fabio Manganiello
a872d6f554
Added Fedora to the available Docker base images.
2023-09-22 19:02:13 +02:00
Fabio Manganiello
3e8d6bb01e
Removed `typing-extensions` dependency.
...
continuous-integration/drone/push Build is failing
Details
The package isn't present on older versions of Debian.
2023-09-18 14:05:39 +02:00
Fabio Manganiello
9aaf2559fa
Added `utils.is_root` method.
2023-08-31 23:21:32 +02:00
Fabio Manganiello
429658e7c8
Refactored `PackageManager` classes.
...
continuous-integration/drone/push Build is passing
Details
Instead of having a custom `get_installed` callable field, with
replicated code for each package manager, the field has now been
promoted to a class method containing the common logic, and the
instances now expect a `list` field (base command to list the installed
packages using the specified package manager) and a `parse_list_line`
callback field (to extract the base package name given a raw line from
the command above).
Also, we shouldn't run the list command if we're running within a Docker
context - the host and container environments will be different.
2023-08-28 01:26:19 +02:00
Fabio Manganiello
f230fa79bb
`to_pkg_install_commands` should skip already installed sys packages.
2023-08-23 11:51:53 +02:00
Fabio Manganiello
449821673c
Added `PackageManager.get_installed`.
2023-08-23 10:50:29 +02:00
Fabio Manganiello
1ef0d804db
Added `full_command` argument to `to_pip_install_commands`.
...
This is useful if we just want to get the list of pip dependencies and
create our own pip command.
2023-08-23 02:19:54 +02:00
Fabio Manganiello
2bff4c9cf1
Exclude python-* system packages when installing in a venv.
2023-08-23 02:17:19 +02:00
Fabio Manganiello
cddf318fa7
Dependencies.from_config should include the base system deps.
2023-08-23 02:16:33 +02:00
Fabio Manganiello
8f39231d31
Added new utility methods to the Dependencies class.
2023-08-23 02:15:50 +02:00
Fabio Manganiello
10c0e5fcad
Added default_os field to PackageManagers enum elements.
...
This is useful to determine which is the default set of scripts that
should be used by the installer depending on the detected installed
package manager.
2023-08-20 21:21:37 +02:00
Fabio Manganiello
a6f8021150
`PackageManager` has both `install` and `uninstall`.
continuous-integration/drone/push Build is passing
Details
2023-08-20 13:33:49 +02:00
Fabio Manganiello
28ba042810
If no configuration file is passed to platydock generate a minimal Dockerfile.
continuous-integration/drone/push Build was killed
Details
2023-08-20 03:36:34 +02:00
Fabio Manganiello
71c5291190
Refactored the interface of Platydock and manifest utils.
2023-08-19 22:46:37 +02:00
Fabio Manganiello
9002f3034a
Tweaked package managers install command arguments.
2023-08-19 13:46:08 +02:00
Fabio Manganiello
dd3a701a2e
Full rewrite of `platypush.utils.manifest`.
...
The new version encapsulates all the utility functions into three
classes - `Manifest`, `Manifests` and `Dependencies`.
2023-08-19 13:28:40 +02:00
Fabio Manganiello
3bfc5b83ef
Moved to manifest files for describing plugins and backends and their dependencies
2021-09-16 17:53:40 +02:00