[Freeipa-devel] ipalib vs. ipapython?

Adam Young ayoung at redhat.com
Thu Oct 27 13:03:02 UTC 2011


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?
>
> John
>


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 at ayoung freeipa]$ rpm -q --whatrequires freeipa-python
freeipa-client-2.1.1-1.fc15.x86_64
freeipa-admintools-2.1.1-1.fc15.x86_64
freeipa-server-2.1.1-1.fc15.x86_64

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.









More information about the Freeipa-devel mailing list