summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2011-09-09 17:07:09 -0400
committerMartin Kosek <mkosek@redhat.com>2011-09-13 16:09:15 +0200
commit4fd20966f69014d4dc3747ce6b7940adfa669b13 (patch)
tree6cb0a821df78b5d159923fc3f074c7bbc73dc167 /install
parent5ddc027d7f75109224b50777d0c58fa6198c98a6 (diff)
downloadfreeipa-4fd20966f69014d4dc3747ce6b7940adfa669b13.tar.gz
freeipa-4fd20966f69014d4dc3747ce6b7940adfa669b13.tar.xz
freeipa-4fd20966f69014d4dc3747ce6b7940adfa669b13.zip
Improved handling for ipa-pki-proxy.conf
- Remove ipa-pki-proxy.conf when IPA is uninstalled - Move file removal to httpinstance.py and use remove_file() - Add a version stanza - Create the file if it doesn't exist on upgraded installs https://fedorahosted.org/freeipa/ticket/1771
Diffstat (limited to 'install')
-rw-r--r--install/conf/ipa-pki-proxy.conf2
-rwxr-xr-xinstall/tools/ipa-server-install6
-rw-r--r--install/tools/ipa-upgradeconfig21
3 files changed, 20 insertions, 9 deletions
diff --git a/install/conf/ipa-pki-proxy.conf b/install/conf/ipa-pki-proxy.conf
index 275f3264..91a99aaf 100644
--- a/install/conf/ipa-pki-proxy.conf
+++ b/install/conf/ipa-pki-proxy.conf
@@ -1,3 +1,5 @@
+# VERSION 1 - DO NOT REMOVE THIS LINE
+
ProxyRequests Off
# matches for ee port
diff --git a/install/tools/ipa-server-install b/install/tools/ipa-server-install
index e9f2c75f..504d6af5 100755
--- a/install/tools/ipa-server-install
+++ b/install/tools/ipa-server-install
@@ -491,12 +491,8 @@ def uninstall():
os.remove(ANSWER_CACHE)
except Exception:
pass
+
# ipa-client-install removes /etc/ipa/default.conf
- try:
- os.remove("/etc/httpd/conf.d/ipa-rewrite.conf")
- os.remove("/etc/httpd/conf.d/ipa.conf")
- except:
- pass
sstore._load()
group_exists = sstore.restore_state("install", "group_exists")
diff --git a/install/tools/ipa-upgradeconfig b/install/tools/ipa-upgradeconfig
index 4ac30928..1b08382e 100644
--- a/install/tools/ipa-upgradeconfig
+++ b/install/tools/ipa-upgradeconfig
@@ -52,7 +52,13 @@ def backup_file(filename, ext):
while os.path.exists(backupfile):
backupfile = backupfile + "." + str(ext)
- shutil.copy2(filename, backupfile)
+ try:
+ shutil.copy2(filename, backupfile)
+ except IOError, e:
+ if e.errno == 2: # No such file or directory
+ pass
+ else:
+ raise e
def update_conf(sub_dict, filename, template_filename):
template = ipautil.template_file(template_filename, sub_dict)
@@ -93,18 +99,24 @@ def find_version(filename):
else:
return -1
-def upgrade(sub_dict, filename, template):
+def upgrade(sub_dict, filename, template, add=False):
+ """
+ Get the version from the current and template files and update the
+ installed configuration file if there is a new template.
+
+ If add is True then create a new configuration file.
+ """
old = int(find_version(filename))
new = int(find_version(template))
- if old < 0:
+ if old < 0 and not add:
print "%s not found." % filename
sys.exit(1)
if new < 0:
print "%s not found." % template
- if old < new:
+ if old < new or add:
backup_file(filename, new)
update_conf(sub_dict, filename, template)
print "Upgraded %s to version %d" % (filename, new)
@@ -149,6 +161,7 @@ def main():
upgrade(sub_dict, "/etc/httpd/conf.d/ipa.conf", ipautil.SHARE_DIR + "ipa.conf")
upgrade(sub_dict, "/etc/httpd/conf.d/ipa-rewrite.conf", ipautil.SHARE_DIR + "ipa-rewrite.conf")
+ upgrade(sub_dict, "/etc/httpd/conf.d/ipa-pki-proxy.conf", ipautil.SHARE_DIR + "ipa-pki-proxy.conf", add=True)
try:
if __name__ == "__main__":