Introduce platform-specific adaptation for services used by FreeIPA.

Refactor FreeIPA code to allow abstracting all calls to external processes and
dependencies on modification of system-wide configuration. A platform provider
would give its own implementation of those methods and FreeIPA would use it
based on what's built in packaging process.

https://fedorahosted.org/freeipa/ticket/1605
This commit is contained in:
Alexander Bokovoy
2011-09-13 00:01:23 +03:00
committed by Martin Kosek
parent 50a836b44c
commit 1362202653
11 changed files with 436 additions and 98 deletions

View File

@@ -8,6 +8,8 @@ PRJ_PREFIX=freeipa
RPMBUILD ?= $(PWD)/rpmbuild
TARGET ?= master
SUPPORTED_PLATFORM=redhat
# After updating the version in VERSION you should run the version-update
# target.
@@ -109,6 +111,12 @@ version-update: release-update
ipa-client/ipa-client.spec.in > ipa-client/ipa-client.spec
sed -e s/__VERSION__/$(IPA_VERSION)/ ipa-client/version.m4.in \
> ipa-client/version.m4
if [ "$(SUPPORTED_PLATFORM)" != "" ]; then \
sed -e s/SUPPORTED_PLATFORM/$(SUPPORTED_PLATFORM)/ ipapython/services.py.in \
> ipapython/services.py; \
fi
if [ "$(SKIP_API_VERSION_CHECK)" != "yes" ]; then \
./makeapi --validate; \
fi