summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Remove IPA Foreman Smart ProxyRob Crittenden2014-07-011-4/+1
| | | | | | | The code has been moved to its own, separate repository at git://git.fedorahosted.org/git/freeipa-foreman-smartproxy.git Reviewed-By: Martin Kosek <mkosek@redhat.com>
* webui: send API version in RPC requestsPetr Vobornik2014-06-271-0/+1
| | | | | | | | | | | | | Currently there is an incorrect behavior that server doesn't send datetime and dnsname data in new format. This patch adds the version to each RPC request making the UI look as the latest client. Server then sends data in correct format. It also removes the "unknown version" warning from each RPC response. https://fedorahosted.org/freeipa/ticket/4394 Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
* ipaplatform: Link to platform module during build timeTomas Babej2014-06-161-0/+7
| | | | | | https://fedorahosted.org/freeipa/ticket/4052 Reviewed-By: Petr Viktorin <pviktori@redhat.com>
* ipaplatform: Change makefiles to accomodate for new platform packageTomas Babej2014-06-161-7/+3
| | | | | | https://fedorahosted.org/freeipa/ticket/4052 Reviewed-By: Petr Viktorin <pviktori@redhat.com>
* Add ACI.txtPetr Viktorin2014-06-111-0/+1
| | | | | | | | | | | | | The ACI.txt file is a list all managed permissions in ACI form. Similarly to API.txt, it ensures that changes are not made lightly, since modifications must be reflected in ACI.txt and committed to Git. Add a script, makeaci, which parallels makeapi: it recreates or validates ACI.txt. Call makeaci --validate before the build, just after API.txt is validated. Reviewed-By: Martin Kosek <mkosek@redhat.com>
* ipalib.version: Add VENDOR_VERSIONPetr Viktorin2014-05-271-0/+3
| | | | | | | | | This will allow us to make vendors' lives easier by embedding a vendor tag to installation logs. Part of the work for: https://fedorahosted.org/freeipa/ticket/4219 Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
* Implement an IPA Foreman smartproxy serverRob Crittenden2014-04-301-1/+4
| | | | | | | | | | | | | | | | | | This currently server supports only host and hostgroup commands for retrieving, adding and deleting entries. The incoming requests are completely unauthenticated and by default requests must be local. Utilize GSS-Proxy to manage the TGT. Configuration information is in the ipa-smartproxy man page. Design: http://www.freeipa.org/page/V3/Smart_Proxy https://fedorahosted.org/freeipa/ticket/4128 Reviewed-By: Petr Viktorin <pviktori@redhat.com>
* tests: Create the testing service certificate on demandPetr Viktorin2014-03-061-1/+0
| | | | | | | | | Replace the make-testcert command with a module that creates the certificate when it is first needed. As a result the tests are more self-contained, and can be run from a read-only location (such as installed from a system package). Reviewed-By: Jan Cholasta <jcholast@redhat.com>
* Enable building in C99 modeNathaniel McCallum2014-02-141-1/+1
| | | | | | | | | | | | | C99 is supported on all compilers we target and provides some useful features, including: * Standard struct initializers * Compound literals * For-loop declarations * Standard bool type * Variable arrays (use with caution) * Too many others to mention... Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
* Use /usr/bin/python2Xiao-Long Chen2014-01-031-1/+1
| | | | | | | | | | | | Part of the effort to port FreeIPA to Arch Linux, where Python 3 is the default. FreeIPA hasn't been ported to Python 3, so the code must be modified to run /usr/bin/python2 https://fedorahosted.org/freeipa/ticket/3438 Updated by pviktori@redhat.com
* Increase stack size for Web UI builderPetr Vobornik2013-12-131-0/+5
| | | | | | | | | Web UI build fails on some architectures or configuration due to StackOverflow. This patch increases the stack size to solve it. 512k is usually enough but we encountered fail on ppc64 even with 2m, therefore the 8m. The build is single threaded so it shouldn't waste much memory.
* Add stricter default CFLAGS to Makefile.Jan Cholasta2013-12-061-0/+3
| | | | https://fedorahosted.org/freeipa/ticket/3896
* Load updated Web UI files after server upgradePetr Vobornik2013-10-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: * There was no caching policy specified. * -> Browsers use their own default policy. * -> After upgrade, some Web UI files might have been actualized some not. * -> With schema change may result into weird bugs in Web UI Solution considerations: 1. Detect server version change and hard-reload at runtime Detection is easy. Problem is the reload. Obvious candidate 'window.location.reload(true)' works in Firefox but not in Chrome because expected behavior when parameter is used is not in standard and therefore Chromium/WebKit authors did not implement it. 2. Application Cache HTML 5 technology which lets web apps to run offline. Besides weird issues with event handlers which I encountered, this would be an ideal candidate. Simple change of manifest file would lead to reload of all files (requires reload of page to used the new files). Showstopper was usage with untrusted certificate. If user did not add exception for the cert or its CA and would visit the page for a second time, all AJAX calls would fail. 3. Set Expires to now() for everything Web UI rarely changes so this is an overkill. Setting it to different value is not a solution either. We can't predict when the upgrade will happen and when new Web UI will be needed. Solution: * Implemented a mini loader which loads basic resources. Dojo loader takes action after Dojo is loaded. * The loader adds a version parameter (?v=__NUM_VERSION__) to all requests. * Version is defined in the loader. It's set to current in `make version-update`. * All static pages use this loader to fetch their resources. * Version is also passed to dojo loader as cache-bust for the same effect. * Expire header was set to 'access time plus 1 year' for /ui folder. Exceptions are HTML files and loader (set to immediate expiration). Possible issues: * Images are cached but not requested with version param. * Images with version and without are considered different * -> We would have to attach version to all URIs - in CSS and in JS. But we should avoid changing jQuery UI CSS. * Proposed solution is to change image name when changing image. Image change is done rarely. * Version is set by build and therefore updated just on server update. It might cause trouble with different update schedule of plugins. * No action taken to address this issue yet. * We might leave it on plugin devs (own .conf in /etc/httpd/conf.d/) * or set expires to now for all plugins * running `make version-update` is required in order to use static version of UI for testing https://fedorahosted.org/freeipa/ticket/3798
* Use /usr/bin/python as fallback python pathTimo Aaltonen2013-09-161-1/+1
|
* Add man pages for testing toolsPetr Viktorin2013-08-291-1/+6
| | | | | | Add man pages for ipa-run-tests, ipa-test-task, and ipa-test-config. https://fedorahosted.org/freeipa/ticket/3855 (part 5)
* Prevent *.pyo and *.pyc multilib problemsMartin Kosek2013-08-131-0/+2
| | | | | | | | | | | | | Differences in the python byte code fails in a build validation (rpmdiff) done on difference architecture of the same package. This patch: 1) Ensures that timestamps of generated *.pyo and *.pyc files match 2) Python integer literals greater or equal 2^32 and lower than 2^64 are converted to long right away to prevent different type of the integer on architectures with different size of int https://fedorahosted.org/freeipa/ticket/3858
* Make an ipa-tests packagePetr Viktorin2013-06-171-2/+14
| | | | | | | Rename the 'tests' directory to 'ipa-tests', and create an ipa-tests RPM containing the test suite Part of the work for: https://fedorahosted.org/freeipa/ticket/3654
* Drop SELinux subpackageMartin Kosek2013-06-171-1/+0
| | | | | | | | | All SELinux policy needed by FreeIPA server is now part of the global system SELinux policy which makes the subpackage redundant and slowing down the installation. This patch drops it. https://fedorahosted.org/freeipa/ticket/3683 https://fedorahosted.org/freeipa/ticket/3684
* Remove leading zero from IPA_NUM_VERSIONPetr Viktorin2013-05-141-1/+1
| | | | | | | The numeric IPA_NUM_VERSION contained a leading zero, so it was treated as octal value in Python code instead of decimal. https://fedorahosted.org/freeipa/ticket/3622
* Use two digits for each part of NUM_VERSIONPetr Viktorin2013-04-191-2/+4
| | | | https://fedorahosted.org/freeipa/ticket/3545
* Updated makefiles to build FreeIPA Web UI layerPetr Vobornik2013-01-181-1/+1
| | | | | | | | | Updated makefiles to comply to new directory structure and also to use builder for building Web UI. FreeIPA package spec is modified to use the output of the builder. https://fedorahosted.org/freeipa/ticket/112
* Added the ability to do Beta versioningLynn Root2012-12-111-0/+4
| | | | | | The VERSION file and Makefile now handles beta versioning when given an argument. Ticket: https://fedorahosted.org/freeipa/ticket/2893
* Fix python Requires in Fedora 17 buildMartin Kosek2012-05-151-5/+7
| | | | | | | | | | | | | | | | When python's distutils build process prepares python scripts, it use current Python interpreter in an updated shebang for python scripts. Since Makefile did not use absolute path to python interpreter, it may be translated to "/bin/python" in Fedora 17 which is then taken by rpmbuild as freeipa-admintools dependency. This can break of F-17 python package which provides just "/usr/bin/python" This patch updates Makefile to use a correct absolute path to python interpreter which is then filled to freeipa scripts shebang and rpm Requires list. The value is taken from RPM __python macro so that we do not hardcode it. https://fedorahosted.org/freeipa/ticket/2727
* validate i18n strings when running "make lint"John Dennis2012-04-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | * Add bootstrap-autogen depdenency to lint target to force generated files to be created. * Add validate-src-strings to lint rules * Add validate-src-strings as dependency to lint targett * Remove obsolete test_lang frm test target * Add diagnostic message to validation command in i18n.py that outputs how many objects were scanned. Formerly it only output a message if there were errors. This made it impossible to distinguish an empty file from one with no errors. * While adding the validation counts it was discovered plurals had been omitted for some of the validation checks. Added the missing checks for plural forms. * Also distinguished between errors and warnings. Permit warnings to be emitted but do not fail the validatition unless actual errors were also detected.
* Remove old RPMROOT contents before it is used for rpmbuildJohn Dennis2011-12-091-0/+1
|
* ticket 2172 - If "make rpms" fails so will the next makeJohn Dennis2011-12-081-10/+10
| | | | | | | | | | | | | If "make rpms" fails it doesn't clean up the rpmbuild directory it created. The next make-lint will also fail because it finds files under rpmbuild. make-lint is invoked by "make rpms", a vicous cycle. The patch contains two sets of changes Include "rpmbuild" in the IGNORE_PATHS list of make-lint. Fix the Makefile to use $(RPMBUILD) consistently, there were a number of hardcoded uses of "rpmbuild" as a direcotry.
* Create directories for client installAlexander Bokovoy2011-11-161-1/+10
| | | | | | | | | | | When ``make client-install`` is called, create /etc/ipa and /var/lib/ipa-client/sysrestore directories required for successful use of ipa-client-install. Do it only if DESTDIR is set to help packagers to notice that these directories have to exist https://fedorahosted.org/freeipa/ticket/1849
* Add support for systemd environments and use it to support Fedora 16Alexander Bokovoy2011-10-241-1/+1
| | | | https://fedorahosted.org/freeipa/ticket/1192
* Introduce platform-specific adaptation for services used by FreeIPA.Alexander Bokovoy2011-09-131-0/+8
| | | | | | | | | Refactor FreeIPA code to allow abstracting all calls to external processes and dependencies on modification of system-wide configuration. A platform provider would give its own implementation of those methods and FreeIPA would use it based on what's built in packaging process. https://fedorahosted.org/freeipa/ticket/1605
* Multi-process build problemsMartin Kosek2011-06-191-1/+1
| | | | | | | | Fix a problem when a target missed a version-update requirement. This caused build problems, especially in a parallel build environment. https://fedorahosted.org/freeipa/ticket/1215
* Require an imported certificate's issuer to match our issuer.Rob Crittenden2011-06-161-0/+1
| | | | | | | | | | The goal is to not import foreign certificates. This caused a bunch of tests to fail because we had a hardcoded server certificate. Instead a developer will need to run make-testcert to create a server certificate generated by the local CA to test against. ticket 1134
* Run lint during each build.Jan Cholasta2011-05-051-4/+9
| | | | ticket 1180
* Add lint script for static code analysis.Jan Cholasta2011-04-131-0/+3
| | | | ticket 867
* Rename package to freeipaJan Zeleny2011-01-251-6/+6
| | | | https://fedorahosted.org/freeipa/ticket/581
* Add API version and have server reject incompatible clients.Rob Crittenden2011-01-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | This patch contains 2 parts. The first part is a small utility to create and validate the current API. To do this it needs to load ipalib which on a fresh system introduces a few problems, namely that it relies on a python plugin to set the default encoding to utf8. For our purposes we can skip that. It is also important that any optional plugins be loadable so the API can be examined. The second part is a version exchange between the client and server. The version has a major and a minor version. The major verion is updated whenever existing API changes. The minor version is updated when new API is added. A request will be rejected if either the major versions don't match or if the client major version is higher than then server major version (though by implication new API would return a command not found if allowed to proceed). To determine the API version of the server from a client use the ping command. ticket 584
* Remove radius options completely.Simo Sorce2011-01-141-13/+0
| | | | | | | This has been completely abandoned since ipa v1 and is not built by default. Instead of carrying dead weight, let's remove it for now. Fixes: https://fedorahosted.org/freeipa/ticket/761
* Replication version checking.Rob Crittenden2010-06-241-0/+4
| | | | | | | | Whenever we upgrade IPA such that any data incompatibilities might occur then we need to bump the DATA_VERSION value so that data will not replicate to other servers. The idea is that you can do an in-place upgrade of each IPA server and the different versions own't pollute each other with bad data.
* Drop --with-openldap option in the client. This is no longer optional.Rob Crittenden2010-06-211-2/+2
|
* Use more traditional make notation to build the test languageRob Crittenden2010-04-161-1/+1
|
* Add gettext translation test using test language.John Dennis2010-04-161-0/+1
|
* Fix the client and client-rpms make targetsrcrit2010-03-191-0/+2
|
* Add a separate client-only targetRob Crittenden2009-10-171-2/+31
|
* Enrollment for a host in an IPA domainRob Crittenden2009-09-241-2/+2
| | | | | | | | | | | | This will create a host service principal and may create a host entry (for admins). A keytab will be generated, by default in /etc/krb5.keytab If no kerberos credentails are available then enrollment over LDAPS is used if a password is provided. This change requires that openldap be used as our C LDAP client. It is much easier to do SSL using openldap than mozldap (no certdb required). Otherwise we'd have to write a slew of extra code to create a temporary cert database, import the CA cert, ...
* Added Rob's 'srpms' make targetRob Crittenden2009-05-111-0/+7
|
* Don't build radius by defaultRob Crittenden2009-03-041-2/+12
|
* Rename ipa-python directory to ipapython so it is a real python libraryRob Crittenden2009-02-091-7/+7
| | | | | We used to install it as ipa, now installing it as ipapython. The rpm is still ipa-python.
* Remove the temporary tree used during rpmbuild when finishedRob Crittenden2009-02-051-0/+1
|
* Complete consolidation into a single autogen.shRob Crittenden2009-02-041-13/+8
|
* Fix remaining issues with XML-RPC test casesRob Crittenden2009-02-041-3/+1
| | | | | | Tied the make-test script into the test target of the top-level Makefile Added code to xmlrpc_test.py so that it configures the API if it isn't already done which enables individual tests to be executed.
* Get merged tree into an installalble state.Rob Crittenden2009-02-031-145/+47
| | | | | | | | I have only tested the all, rpms and *clean targets directly. install may work but the rpm moves a lot of things around for us. The Apache configuration file isn't in its final state but it works with the new mod_python configuration.