|
@@ -86,18 +86,22 @@ CONDITIONAL_REQUIREMENTS = {
|
|
|
"acme": ["txacme>=0.9.2"],
|
|
|
|
|
|
"saml2": ["pysaml2>=4.5.0"],
|
|
|
+ "systemd": ["systemd-python>=231"],
|
|
|
"url_preview": ["lxml>=3.5.0"],
|
|
|
"test": ["mock>=2.0", "parameterized"],
|
|
|
"sentry": ["sentry-sdk>=0.7.2"],
|
|
|
}
|
|
|
|
|
|
+ALL_OPTIONAL_REQUIREMENTS = set()
|
|
|
+
|
|
|
+for name, optional_deps in CONDITIONAL_REQUIREMENTS.items():
|
|
|
+ # Exclude systemd as it's a system-based requirement.
|
|
|
+ if name not in ["systemd"]:
|
|
|
+ ALL_OPTIONAL_REQUIREMENTS = set(optional_deps) | ALL_OPTIONAL_REQUIREMENTS
|
|
|
|
|
|
-def list_requirements():
|
|
|
- deps = set(REQUIREMENTS)
|
|
|
- for opt in CONDITIONAL_REQUIREMENTS.values():
|
|
|
- deps = set(opt) | deps
|
|
|
|
|
|
- return list(deps)
|
|
|
+def list_requirements():
|
|
|
+ return list(set(REQUIREMENTS) | ALL_OPTIONAL_REQUIREMENTS)
|
|
|
|
|
|
|
|
|
class DependencyException(Exception):
|