On 10/25/2011 05:24 PM, John Dennis wrote:
Usually when I look at a source code directory layout it's fairly obvious what belongs in each directory. I'll be honest, I've never quite understood the role of ipapython vs. ipalib. From time to time I have to do some code refactoring, especially in the context of introducing common code meant to be shared across a variety of places in the code base.

So what is the role of ipalib vs. ipapython? What are their intended purposes? What guidelines should be followed when determining where shared code is located?


Agreed. I've had this confusion myself. I would expect as an outsider that ipalib would be an ELF, and that ipapython would be the bindings to it. I know the project well enough to understand why that is not the case.

We have 3 distinct deployment scenarios:

server with admin
client without admin
client with admin.

[ayoung@ayoung freeipa]$ rpm -q --whatrequires freeipa-python

client and admintool both depend on freeipa-python
server requires pretty much everything

so it seems we should really only have 4 packages: server, client, admintools, and python. I think what Martin was saying is that we distinguish between the pieces for install and ldap manipulation from the pieces used for ongoing operations, but that seems like an artificial distinction.

Freeipa-devel mailing list

Reply via email to