summarylogtreecommitdiffstats
path: root/0002-platform-add-Arch-Linux-platform.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-platform-add-Arch-Linux-platform.patch')
-rw-r--r--0002-platform-add-Arch-Linux-platform.patch200
1 files changed, 200 insertions, 0 deletions
diff --git a/0002-platform-add-Arch-Linux-platform.patch b/0002-platform-add-Arch-Linux-platform.patch
new file mode 100644
index 000000000000..420baecf153d
--- /dev/null
+++ b/0002-platform-add-Arch-Linux-platform.patch
@@ -0,0 +1,200 @@
+From 7af1f4b3c8d0130f6c6d61765d8396b2e8b7a508 Mon Sep 17 00:00:00 2001
+From: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
+Date: Wed, 16 Apr 2014 19:31:08 -0400
+Subject: [PATCH 2/2] platform: add Arch Linux platform
+
+This patch has been adapted from the patches provided with freeipa package
+in the Arch User Repository (AUR).
+
+Signed-off-by: Jan Cholasta <jcholast@redhat.com>
+---
+ client/man/ipa-client-automount.1 | 4 ++--
+ client/man/ipa-client-install.1 | 4 ++--
+ ipaplatform/arch/__init__.py | 3 +++
+ ipaplatform/arch/constants.py | 12 ++++++++++++
+ ipaplatform/arch/paths.py | 22 ++++++++++++++++++++++
+ ipaplatform/arch/services.py | 30 ++++++++++++++++++++++++++++++
+ ipaplatform/arch/tasks.py | 19 +++++++++++++++++++
+ ipaplatform/setup.py | 1 +
+ 8 files changed, 91 insertions(+), 4 deletions(-)
+ create mode 100644 ipaplatform/arch/__init__.py
+ create mode 100644 ipaplatform/arch/constants.py
+ create mode 100644 ipaplatform/arch/paths.py
+ create mode 100644 ipaplatform/arch/services.py
+ create mode 100644 ipaplatform/arch/tasks.py
+
+diff --git a/client/man/ipa-client-automount.1 b/client/man/ipa-client-automount.1
+index 8b9989dec..2399250b1 100644
+--- a/client/man/ipa-client-automount.1
++++ b/client/man/ipa-client-automount.1
+@@ -29,7 +29,7 @@ The automount configuration consists of three files:
+ .IP o
+ /etc/nsswitch.conf
+ .IP o
+-/etc/sysconfig/autofs
++/etc/conf.d/autofs
+ .IP o
+ /etc/autofs_ldap_auth.conf
+
+@@ -79,7 +79,7 @@ Files that will be configured when SSSD is the automount client (default):
+ .TP
+ Files that will be configured when using the ldap automount client:
+
+-/etc/sysconfig/autofs
++/etc/conf.d/autofs
+
+ /etc/autofs_ldap_auth.conf
+
+diff --git a/client/man/ipa-client-install.1 b/client/man/ipa-client-install.1
+index 319952cb6..d01ccec64 100644
+--- a/client/man/ipa-client-install.1
++++ b/client/man/ipa-client-install.1
+@@ -250,7 +250,7 @@ Files replaced if NTP is enabled:
+
+ /etc/ntp.conf
+ .br
+-/etc/sysconfig/ntpd
++/etc/conf.d/ntpd.conf
+ .br
+ /etc/ntp/step\-tickers
+ .TP
+@@ -272,7 +272,7 @@ Files updated, existing content is maintained:
+ .br
+ /etc/krb5.keytab
+ .br
+-/etc/sysconfig/network
++/etc/hostname
+ .SH "EXIT STATUS"
+ 0 if the installation was successful
+
+diff --git a/ipaplatform/arch/__init__.py b/ipaplatform/arch/__init__.py
+new file mode 100644
+index 000000000..9da42e7b4
+--- /dev/null
++++ b/ipaplatform/arch/__init__.py
+@@ -0,0 +1,3 @@
++#
++# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
++#
+diff --git a/ipaplatform/arch/constants.py b/ipaplatform/arch/constants.py
+new file mode 100644
+index 000000000..b4857aa7c
+--- /dev/null
++++ b/ipaplatform/arch/constants.py
+@@ -0,0 +1,12 @@
++#
++# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
++#
++
++from ipaplatform.redhat.constants import RedHatConstantsNamespace
++
++
++class ArchConstantsNamespace(RedHatConstantsNamespace):
++ pass
++
++
++constants = ArchConstantsNamespace()
+diff --git a/ipaplatform/arch/paths.py b/ipaplatform/arch/paths.py
+new file mode 100644
+index 000000000..27721cf2f
+--- /dev/null
++++ b/ipaplatform/arch/paths.py
+@@ -0,0 +1,22 @@
++#
++# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
++#
++
++from ipaplatform.redhat.paths import RedHatPathNamespace
++
++
++class ArchPathNamespace(RedHatPathNamespace):
++ AUTOFS_LDAP_AUTH_CONF = "/etc/autofs/autofs_ldap_auth.conf"
++ CERTMONGER_COMMAND_TEMPLATE = "/usr/lib/ipa/certmonger/%s"
++ SYSCONFIG_NFS = "/etc/conf.d/nfs-common.conf"
++ SYSCONFIG_NTPD = "/etc/conf.d/ntpd.conf"
++ SYSCONFIG_AUTOFS = "/etc/default/autofs"
++ DOGTAG_IPA_CA_RENEW_AGENT_SUBMIT = (
++ "/usr/lib/certmonger/certmonger/dogtag-ipa-ca-renew-agent-submit")
++ DOGTAG_IPA_RENEW_AGENT_SUBMIT = (
++ "/usr/lib/certmonger/certmonger/dogtag-ipa-renew-agent-submit")
++ IPA_SERVER_GUARD = "/usr/lib/certmonger/certmonger/ipa-server-guard"
++ LIB64_FIREFOX = "/usr/lib/firefox"
++
++
++paths = ArchPathNamespace()
+diff --git a/ipaplatform/arch/services.py b/ipaplatform/arch/services.py
+new file mode 100644
+index 000000000..4ddfb53c9
+--- /dev/null
++++ b/ipaplatform/arch/services.py
+@@ -0,0 +1,30 @@
++#
++# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
++#
++
++from ipaplatform.redhat import services as redhat_services
++
++arch_system_units = dict(redhat_services.redhat_system_units)
++arch_system_units['messagebus'] = 'dbus.service'
++arch_system_units['rpcgssd'] = 'rpc-gssd.service'
++arch_system_units['rpcidmapd'] = 'rpc-idmapd.service'
++
++
++class ArchService(redhat_services.RedHatService):
++ system_units = arch_system_units
++
++
++def arch_service_class_factory(name, api=None):
++ if name in {'messagebus', 'rpcgssd', 'rpcidmapd'}:
++ return ArchService(name, api)
++ return redhat_services.redhat_service_class_factory(name, api)
++
++
++class ArchServices(redhat_services.RedHatServices):
++ def service_class_factory(self, name, api=None):
++ return arch_service_class_factory(name, api)
++
++
++timedate_services = redhat_services.timedate_services
++service = arch_service_class_factory
++knownservices = ArchServices()
+diff --git a/ipaplatform/arch/tasks.py b/ipaplatform/arch/tasks.py
+new file mode 100644
+index 000000000..58b837d79
+--- /dev/null
++++ b/ipaplatform/arch/tasks.py
+@@ -0,0 +1,19 @@
++#
++# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
++#
++
++from ipaplatform.arch.paths import paths
++from ipaplatform.redhat.tasks import RedHatTaskNamespace
++
++
++class ArchTaskNamespace(RedHatTaskNamespace):
++ def restore_network_configuration(self, fstore, statestore):
++ filepath = paths.ETC_HOSTNAME
++ if fstore.has_file(filepath):
++ fstore.restore_file(filepath)
++
++ def is_fips_enabled(self):
++ return False
++
++
++tasks = ArchTaskNamespace()
+diff --git a/ipaplatform/setup.py b/ipaplatform/setup.py
+index 501e2bc56..b47875164 100644
+--- a/ipaplatform/setup.py
++++ b/ipaplatform/setup.py
+@@ -34,6 +34,7 @@ if __name__ == '__main__':
+ package_dir={'ipaplatform': ''},
+ packages=[
+ "ipaplatform",
++ "ipaplatform.arch",
+ "ipaplatform.base",
+ "ipaplatform.debian",
+ "ipaplatform.fedora",
+--
+2.13.3
+