[Freeipa-devel] [freeipa PR#271][opened] Remove hard dependency on ipaplatform from ipapython, ipalib and ipaclient

jcholast freeipa-github-notification at redhat.com
Thu Nov 24 12:33:44 UTC 2016


   URL: https://github.com/freeipa/freeipa/pull/271
Author: jcholast
 Title: #271: Remove hard dependency on ipaplatform from ipapython, ipalib and ipaclient
Action: opened

PR body:
"""
**paths: remove DEV_NULL**

The platform-specific path to /dev/null is provided by the Python standard
library in os.devnull.

Replace all uses of paths.DEV_NULL with os.devnull and remove DEV_NULL.

**custodiainstance: automatic restart on config file update**

Automatically restart Custodia during IPA server upgrade if custodia.conf
was updated.

Use the new store class name in custodia.conf.template.

**ipapython: move dnssec, p11helper and secrets to ipaserver**

The dnssec and secrets subpackages and the p11helper module depend on
ipaplatform.

Move them to ipaserver as they are used only on the server.

**ipapython: move certmonger and sysrestore to ipalib.install**

The certmonger and sysrestore modules depend on ipaplatform.

Move them to ipalib.install as they are used only from installers.

**certdb: move IPA NSS DB install functions to ipaclient.install**

The create_ipa_nssdb() and update_ipa_nssdb() depend on ipaplatform.

Move them to ipaclient.install.client as they are used only from the client
installer.

**certdb: use a temporary file to pass password to pk12util**

Currently the PKCS#12 file password is passed via stdin and pk12util reads
it from /dev/stdin, which is platform-specific.

Use a temporary file instead.

**ipautil: remove SHARE_DIR and PLUGIN_SHARE_DIR**

SHARE_DIR and PLUGIN_SHARE_DIR depend on ipaplatform.

Replace all uses of SHARE_DIR with paths.USR_SHARE_IPA_DIR and remove
both SHARE_DIR and PLUGIN_SHARE_DIR.

**ipautil: remove get_domain_name()**

get_domain_name() and related code depends on ipaplatform.

Replace all uses of get_domain_name() with api.env.domain and remove
get_domain_name() and all of the related code.

**ipautil: remove the timeout argument of run()**

The argument depends on the platform-specific timeout binary and is used
only in ipaclient.ntpconf.

Call the timeout binary explicitly in ipaclient.ntpconf and remove the
argument.

**ipautil: move is_fips_enabled() to ipaplatform.tasks**

The FIPS setting is platform-specific.

**ipautil: move kinit functions to ipalib.install**

kinit_password() depends on ipaplatform.

Move kinit_password() as well as kinit_keytab() to a new
ipalib.install.kinit module, as they are used only from installers.

**ipautil: move file encryption functions to installutils**

The encrypt_file() and decrypt_file() functions depend on ipaplatform.

Move them to ipaserver.install.installutils, as they are only used for the
server installer.

**ipapython: remove hard dependency on ipaplatform**

Use hard-coded paths to certutil, pk12util and openssl in certdb if
ipaplatform is not available.

Hard-coded the path to setpasswd in ipautil.run() doc string.

Remove ipaplatform dependency from ipapython's setup.py and add ipapython
dependency to ipaplatform's setup.py.

**ipalib: move certstore to the install subpackage**

The certstore module depends on ipaplatform.

Move it to ipalib.install, as it is used only from installers.

**constants: remove CACERT**

CACERT depends on ipaplatform.

Replace all uses of CACERT with paths.IPA_CA_CRT and remove CACERT.

**ipalib: remove hard dependency on ipapython**

Hard-code the path to /bin/false in SubprocessError doc string.

Remove ipaplatform dependency from ipalib's setup.py and add it as optional
installer dependency to ipalib's and ipaclient's setup.py.

**ipaclient: move install modules to the install subpackage**

The ipa_certupdate, ipachangeconf, ipadiscovery and ntpconf modules depend
on ipaplatform.

Move them to ipaclient.install as they are used only from the client
installer.

**ipaclient: remove hard dependency on ipaplatform**

Hard-code the user cache directory path in ipaclient.remote_plugins.schema.

https://fedorahosted.org/freeipa/ticket/6474
"""

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/271/head:pr271
git checkout pr271
-------------- next part --------------
A non-text attachment was scrubbed...
Name: freeipa-pr-271.patch
Type: text/x-diff
Size: 717628 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20161124/0d61b3fb/attachment.bin>


More information about the Freeipa-devel mailing list