summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <asulfrian@zedat.fu-berlin.de>2022-01-16 07:43:05 +0100
committerAlexander Sulfrian <asulfrian@zedat.fu-berlin.de>2022-01-17 16:41:32 +0100
commit000a832751563cfe571363a27e293fd3d9db31a4 (patch)
tree5d96fdc02640d4a7120ad3a83b9965c7e0282113 /src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
parent8605cd3d0cb4d549cb8b43de945d447f6d82892a (diff)
downloadbcfg2-000a832751563cfe571363a27e293fd3d9db31a4.tar.gz
bcfg2-000a832751563cfe571363a27e293fd3d9db31a4.tar.bz2
bcfg2-000a832751563cfe571363a27e293fd3d9db31a4.zip
Packages: Support different compression methods
The new Reader classes implement different compression methods for the files parsed by the Packages backends. Each source can specify a default compression format. The user can configure a compression format per Source and the filename and extension for the metadata files are generated automatically.
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/__init__.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/__init__.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
index 23ccd7b8e..1b53b1bb4 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
@@ -14,6 +14,7 @@ from Bcfg2.Compat import urlopen, HTTPError, URLError
from Bcfg2.Server.Plugins.Packages.Collection import Collection, \
get_collection_class
from Bcfg2.Server.Plugins.Packages.PackagesSources import PackagesSources
+from Bcfg2.Server.Plugins.Packages.Readers import get_readers
from Bcfg2.Server.Statistics import track_statistics
@@ -36,6 +37,12 @@ class PackagesBackendAction(Bcfg2.Options.ComponentAction):
fail_silently = True
+class PackagesReadersAction(Bcfg2.Options.ComponentAction):
+ """ ComponentAction to load Packages readers """
+ bases = ['Bcfg2.Server.Plugins.Packages.Readers']
+ module = True
+
+
class Packages(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.StructureValidator,
Bcfg2.Server.Plugin.Generator,
@@ -82,7 +89,13 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
cf=("packages", "apt_config"),
help="The default path for generated apt configs",
default="/etc/apt/sources.list.d/"
- "bcfg2-packages-generated-sources.list")]
+ "bcfg2-packages-generated-sources.list"),
+ Bcfg2.Options.Option(
+ cf=("packages", "readers"), dest="packages_readers",
+ help="Packages readers to load",
+ type=Bcfg2.Options.Types.comma_list,
+ action=PackagesReadersAction,
+ default=get_readers())]
#: Packages is an alternative to
#: :mod:`Bcfg2.Server.Plugins.Pkgmgr` and conflicts with it.