summaryrefslogtreecommitdiffstats
path: root/base/server/python
diff options
context:
space:
mode:
Diffstat (limited to 'base/server/python')
-rw-r--r--base/server/python/pki/server/deployment/pkihelper.py6
-rw-r--r--base/server/python/pki/server/deployment/pkimessages.py1
-rw-r--r--base/server/python/pki/server/deployment/scriptlets/instance_layout.py21
3 files changed, 22 insertions, 6 deletions
diff --git a/base/server/python/pki/server/deployment/pkihelper.py b/base/server/python/pki/server/deployment/pkihelper.py
index 96048bdec..9d2469dec 100644
--- a/base/server/python/pki/server/deployment/pkihelper.py
+++ b/base/server/python/pki/server/deployment/pkihelper.py
@@ -1329,8 +1329,10 @@ class Directory:
file_perms=config.PKI_DEPLOYMENT_DEFAULT_FILE_PERMISSIONS,
symlink_perms=config.PKI_DEPLOYMENT_DEFAULT_SYMLINK_PERMISSIONS,
dir_acls=None, file_acls=None, symlink_acls=None,
- recursive_flag=True, overwrite_flag=False, critical_failure=True):
+ recursive_flag=True, overwrite_flag=False, critical_failure=True,
+ ignore_cb=None):
try:
+
if not os.path.exists(old_name) or not os.path.isdir(old_name):
config.pki_log.error(
log.PKI_DIRECTORY_MISSING_OR_NOT_A_DIRECTORY_1, old_name,
@@ -1357,7 +1359,7 @@ class Directory:
# implementation's unchecked call to 'os.makedirs(dst)'.
# Consequently, a 'patched' local copy of this routine has
# been included in this file with the appropriate fix.
- pki_copytree(old_name, new_name)
+ pki_copytree(old_name, new_name, ignore=ignore_cb)
else:
# cp -p <old_name> <new_name>
config.pki_log.info(log.PKIHELPER_CP_P_2,
diff --git a/base/server/python/pki/server/deployment/pkimessages.py b/base/server/python/pki/server/deployment/pkimessages.py
index 2b12851cf..ecfbe5d0b 100644
--- a/base/server/python/pki/server/deployment/pkimessages.py
+++ b/base/server/python/pki/server/deployment/pkimessages.py
@@ -407,3 +407,4 @@ SKIP_SELINUX_SPAWN_1 = "skip populating '%s'"
SKIP_SLOT_ASSIGNMENT_SPAWN_1 = "skip assigning slots for '%s'"
SKIP_SUBSYSTEM_SPAWN_1 = "skip populating '%s'"
SKIP_WEBAPP_DEPLOYMENT_SPAWN_1 = "skip deploying '%s'"
+FILE_EXCLUDE_CALLBACK_2 = "file exclude callback src '%s' names '%s'"
diff --git a/base/server/python/pki/server/deployment/scriptlets/instance_layout.py b/base/server/python/pki/server/deployment/scriptlets/instance_layout.py
index 9cdecb4f2..16c3a7f76 100644
--- a/base/server/python/pki/server/deployment/scriptlets/instance_layout.py
+++ b/base/server/python/pki/server/deployment/scriptlets/instance_layout.py
@@ -1,6 +1,6 @@
#!/usr/bin/python -t
# Authors:
-# Matthew Harmsen <mharmsen@redhat.com>
+# Matthew Harmsen <mharmsen@redhat.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -22,7 +22,6 @@
# System Imports
import os
-
# PKI Deployment Imports
from .. import pkiconfig as config
from .. import pkimessages as log
@@ -51,9 +50,11 @@ class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
deployer.directory.create(deployer.mdict['pki_instance_log_path'])
# establish Tomcat instance configuration
+ # don't copy over the common ldif files to etc instance path
deployer.directory.copy(
deployer.mdict['pki_source_server_path'],
- deployer.mdict['pki_instance_configuration_path'])
+ deployer.mdict['pki_instance_configuration_path'],
+ ignore_cb=file_ignore_callback_src_server)
# establish Tomcat instance base
deployer.directory.create(deployer.mdict['pki_tomcat_common_path'])
@@ -85,7 +86,7 @@ class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
# If desired and available,
# copy selected server theme
# to <instance>/webapps/pki
- if config.str2bool(deployer.mdict['pki_theme_enable']) and\
+ if config.str2bool(deployer.mdict['pki_theme_enable']) and \
os.path.exists(deployer.mdict['pki_theme_server_dir']):
deployer.directory.copy(
deployer.mdict['pki_theme_server_dir'],
@@ -311,3 +312,15 @@ class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
deployer.mdict['pki_instance_type_registry_path'])
return self.rv
+
+
+# Callback only when the /usr/share/pki/server/conf directory
+# Is getting copied to the etc tree.
+# Don't copy the shared ldif files:
+# schema.ldif, manager.ldif, database.ldif
+def file_ignore_callback_src_server(src, names):
+ config.pki_log.info(log.FILE_EXCLUDE_CALLBACK_2, src, names,
+ extra=config.PKI_INDENTATION_LEVEL_1)
+
+ excludes = {'schema.ldif', 'database.ldif', 'manager.ldif'}
+ return excludes