"In Fedora" or "For Fedora", or Library versions dependency management
Fernando Nasser
fnasser at redhat.com
Tue Sep 16 20:52:03 UTC 2008
Hi folks,
We are preparing a set of JBoss AS 4.2.x RPMs _for_ Fedora. I say 'for'
because we have a huge (hundreds) dependency set and some of the things
are not suitable for Fedora. We've been working in reducing this set,
solving problems but that will take a couple of years at least, and will
probably be for an AS 5 version, never for the 4.2.x as there is no way
to influence that upstream at this stage.
So we decided to have a separate repository that people can subscribe
their systems too and install a jbossas 4.2.x RPM with the dependencies
that are not on Fedora etc.
Another problem that is hitting us, and this is the main reason of this
message, is that the versions of some packages that are in Fedora base
are not compatible with ours stuff. An App Server has to pass TCK
certification and has too many component interactions end up requiring
very specific versions of the libraries. We are having to add some
hacks to our package to work around that. Some cases we can solve by
upgrading the package in the next Fedora base, *IF* that dosen't break
something else that depends on those libraries and is in Fedora already.
Some others we will keep bugging JBoss AS maintainers to upgrade in
some new release. Some we have a 'versioned' package that installs in
parallel. Other just can't be helped.
This problem of conflicts of dependency version requirements happens
even between our products. We have created a scoreboard with versions
of the libraries we need so we could negotiate, among all projects, the
versions we will be use in ALL products. But it is not easy, there are
cases which are very difficult to solve -- you either break one or the
other, backporting is difficult etc.
My point is, the more packages we add to the Fedora base the worse it
will be for us to agree on the versions of these. So this would
indicate that the "for Fedora", as opposed to "in Fedora" approach
should be considered by all.
On the other hand, each of us having a different set of libraries in our
own repositories will make it difficult for people wanting to install
more than one. A solution for this would be for us to foresee possible
cases where interoperability is desired and work out the dependency
problems just between those ISV products involved.
Another thing, even if we go to a "in Fedora" as the preferred method,
we still can use the "for Fedora" approach as a intermediate state,
before all dependencies needed by some product exist in Fedora.
One of our possible solutions to make our JBoss AS RPM set available is
release it in JPackage.org. They have mirrored repositories and there
are distro specific repos, in addition to the generic repos, so our
modifications for Fedora can be uploaded to their fedora-9 repo.
Of course, if we all decide to make things available from JPackage, the
dependency conflict will move there. But JPackage wants to have a
'base' repo with additional (and optional) repos for some major
components like App Servers, so one can decide if they want, for
instance, JOnAS or JBoss, and get the appropriate dependencies. This
added to the yum priority plugin turns in a very flexible setup.
The above looks more like a brain dump, sorry. I just came back from
vacations and I am traveling for a meeting next week, so time is scarce.
Regards to all,
Fernando
More information about the Fedora-isv-sig-list
mailing list