From Free IPA
Contents |
General
We tend to primiarly develop by building rpms and installing them rather than 'make install'. The make install method should work but it isn't tested extensively.
The spec files within this repo are similar but not the same as in the Fedora repo.
The VERSION file
The version of IPA is mostly controlled in the file VERSION in the root of the IPA git repo. This file is generally self-explanatory but it does distinguish between developer builds and final releases. This is really only important if you are building rpms, it puts the GIT version into the release so you can easily tell where in the revision history you are working from.
To build a release add IPA_VERSION_IS_GIT_SNAPSHOT=no to your make command.
IPA v1.x
To do a full build:
make make install
To build the rpms:
make local-dist rpm -Uvh dist/rpms/*
It is difficult if not impossible to do in-tree development. You will always need to do a make install or build a new set of rpms to test your code.
IPA v2.x
To do a full build:
make make install
To build the rpms:
make rpms rpm -Uvh dist/rpms/*
If you have IPA installed on your development system you can do some limited in-tree development of management plugins. To do this:
- Install IPA using ipa-server-install
- In one window (or screen) run python lite-xmlrpc.py
- In another window (or screen) run ./ipa <plugin_command>
IPA will detect that it is running in-tree and will use the port and XML-RPC location that lite-xmlrpc.py is listening only. If you make changes to the server-side of a plugin you'll need to restart lite-xmlrpc.py.


