support schema files from third-party plugins

Allow upgrade process to include schema files from third-party plugins
installed in /usr/share/ipa/schema.d/*.schema.

The directory /usr/shar/eipa/schema.d is owned by the server-common
subpackage and therefore third-party plugins should depend on
freeipa-server-common (ipa-server-common) package in their package
dependencies.

Resolves: https://fedorahosted.org/freeipa/ticket/5864
Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
Alexander Bokovoy
2016-08-05 13:04:19 +03:00
committed by Martin Basti
parent 86e156c3c5
commit 7bec8a246d
8 changed files with 54 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ NULL =
SUBDIRS = \
advise \
profiles \
schema.d \
$(NULL)
appdir = $(IPA_DATA_DIR)

View File

@@ -0,0 +1,16 @@
NULL =
SUBDIRS = \
$(NULL)
appdir = $(IPA_DATA_DIR)/schema.d
app_DATA = README \
$(NULL)
EXTRA_DIST = \
$(app_DATA) \
$(NULL)
MAINTAINERCLEANFILES = \
*~ \
Makefile.in

View File

@@ -0,0 +1,14 @@
This directory is indended to store schema files for 3rd-party plugins.
Each schema file should be named NN-description.ldif where NN is a number 00..90.
The schema files from this directory are merged together with the core IPA
schema files during the run of ipa-server-upgrade utility. Therefore, they are
also installed when upgrade happens within the process of ipa-server-install.
The directory is installed as /usr/share/ipa/schema.d and is owned by a
freeipa-server-common package. Therefore, a 3rd-party plugin would need to
depend on the freeipa-server-common package if it delivers the schema file(s).
You may place your schema files in a subdirectory too, the code that loads
schema files processes recursively all subdirectories of schema.d.