Leo O via FreeIPA-users wrote:
I wouldn't say "wrong approach in development" rather
"wrong approach in FreeIPA development". There are a lot of products which you
can extend pretty easy, e.g. by just mounting volumes with your files into the container.
Especially a kind of a small extension like this, a ldap schema and a few ui elements
makes you go through such a hassle, build a rpm package and an own docker image.
That's horrible to be honest. Whoever is responsible here, I hope they read this, too,
taking this into consideration on any FreeIPA upgrades making it more friendly for
extensions and also give the docs a higher priority (P.S. I had to google how to install
the FreeIPA packages on a fresh Rocky Linux VM, as I couldn't find it in the official
FreeiPA docs, that's ridiculous).
What docs do you look at? It's pretty clearly documented at
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/...
I don't know give us something like a environment variable where
we can add a plugin path, then we simply mount a volume with the extensions in whatever
format/structure it needs and point to it using the env var. Idk, anything which is less
cumbersome than the current approach.
IPA in a container is still a work in process and an engineering feat in
itself to stuff multiple servers into a single container. Your
expectations are simply too high for what it is.
Nevertheless, back to the technical part. By the way, thanks for your
time Alexander, I appreciate it.
I prepared a repo:
https://github.com/leonidas-o/freeipa-postfixbook-plugin
When I execute the command: "rpmbuild -ba freeipa-userstatus-plugin.spec" I get
a
"error: Failed build dependencies:
python2-ipaserver >= 4.4.0 is needed by
freeipa-postfixbook-plugin-0.9.0-1.el8.noarch"
So how do you setup your dev env? I've never build a rpm package, so this is pretty
new to me. I mean currently is python3-ipaserver with all its dependencies installed,
can't simply install python2-ipserver with all its dependencies as there are for sure
dependency conflicts. Do you even build with one spec file several packages or having
multiple spec files, e.g. one for python3, one for python2 and therefore also multiple dev
env VMs where you can build that?
This requirement is specified in your specfile, not something IPA
imposes. If you a building only for RHEL 8 (or clone) then you can drop
all the RHEL-7 boilerplate, and probably much of the older Fedora stuff
as well.
rob