summaryrefslogtreecommitdiffstats
path: root/ipaplatform
diff options
context:
space:
mode:
authorChristian Heimes <cheimes@redhat.com>2016-10-18 09:14:31 +0200
committerDavid Kupka <dkupka@redhat.com>2016-10-20 10:42:00 +0200
commit8f98fa1bd5f1da207fab6f89b75e0cdc19d00797 (patch)
treecbddaeadb21accf30fcb136ea91b15cb511f5631 /ipaplatform
parenta42059228018839ae2656c27f5b00d96bc935ee3 (diff)
downloadfreeipa-8f98fa1bd5f1da207fab6f89b75e0cdc19d00797.tar.gz
freeipa-8f98fa1bd5f1da207fab6f89b75e0cdc19d00797.tar.xz
freeipa-8f98fa1bd5f1da207fab6f89b75e0cdc19d00797.zip
Replace ipaplatform's symlinks with a meta importer
Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Petr Spacek <pspacek@redhat.com>
Diffstat (limited to 'ipaplatform')
-rw-r--r--ipaplatform/__init__.py.in18
-rw-r--r--ipaplatform/base/services.py5
2 files changed, 17 insertions, 6 deletions
diff --git a/ipaplatform/__init__.py.in b/ipaplatform/__init__.py.in
index 61f6f3c4a..9821bf62a 100644
--- a/ipaplatform/__init__.py.in
+++ b/ipaplatform/__init__.py.in
@@ -1,12 +1,20 @@
#
# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
#
+"""Module containing platform-specific functionality.
+
+ipaplatform.constants
+ipaplatform.paths
+ipaplatform.services
+ipaplatform.tasks
+"""
+import os
-'''
-Module containing platform-specific functionality for every platform.
-'''
NAME = "__PLATFORM__"
-# FIXME: too much cyclic dependencies
-# from __PLATFORM__ import paths, tasks, services
+# Create an alias for platform specific modulues, e.g.
+# 'import ipaplatform.paths' loads 'ipaplatform/NAME/paths.py'.
+
+__path__.append(
+ os.path.join(os.path.dirname(os.path.abspath(__file__)), NAME))
diff --git a/ipaplatform/base/services.py b/ipaplatform/base/services.py
index 750d97953..ec38b28a8 100644
--- a/ipaplatform/base/services.py
+++ b/ipaplatform/base/services.py
@@ -483,7 +483,10 @@ class SystemdService(PlatformService):
# Objects below are expected to be exported by platform module
-service = None
+def base_service_class_factory(name):
+ raise NotImplementedError
+
+service = base_service_class_factory
knownservices = None
# System may support more time&date services. FreeIPA supports ntpd only, other