[Fedora-packaging] Java guideline inconsistency

Fernando Nasser fnasser at redhat.com
Sat May 9 22:59:39 UTC 2009


I think this is a bit pertinent to the discussion so I thought I should mention it.

A few Java developer communities have contacted jpackage.org in the past (some contacted myself personally) asking for the organization name to be used as a prefix.  One of these was ObjectWeb.  Have you noticed that asm became objectwb-asm?

We have a conflict (I believe not on Fedora) with a package called hibernate.  The conflict is not happening by chance, as the Java hibenate package was made hibernate3 when the release 3 appeared and the 2 was stil around.  Conveniently, I have been recently questioned by some JBoss person why the package was not called jboss-hibernate.  Maybe we should oblige :-)

There are lots of Java packages that already follow this practice in most Linux distros and we ourselves have the jakarta-* and apache-* and geronimo-* and so on.  So we are basically covered on the "N" side of things.

The JAR file names are not a problem as they go under %{_javadir} and won't conflict with non-Jva packages (no more .so's with OpenJDK),

The only remaining conflicts are for commands (wrapper scripts mostly for Java) that are installed in /usr/bin.  Not all Java packages have scripts there though.  In theory some SysV init scripts or /etc/sysconfig/ stuff could collide too, but in all these years we had no such case and we can always bury it under a subdirectory with the package name, so in practice only /usr/bin commands can conflict.  One of the conflicting commands will have to be renamed if this ever happens.  Note that this is not exclusive of Java, any two softwares written in any two languages can decide to call a command "twitter" for instance.

Regards,
Fernando




----- Original Message -----
From: "Toshio Kuratomi" <a.badger at gmail.com>
To: "Discussion of RPM packaging standards and practices for Fedora" <fedora-packaging at redhat.com>
Sent: Saturday, May 9, 2009 1:11:15 PM GMT -05:00 US/Canada Eastern
Subject: Re: [Fedora-packaging] Java guideline inconsistency

Peter Lemenkov wrote:
> 2009/5/9 Jussi Lehtola <jussi.lehtola at iki.fi>:
> 
>> Quite on the contrary. I think prefixes are quite useful, since many
>> language specific packages might have otherwise conflicting names
> 
> Not a names, but a *filenames*. This should be fixed as well - I don't
> think that there is a reason to maintain correspondence between %name
> field and the resulting rpm's filenames (or even to maintain
> human-readable rpm filenames), at least in main repositories.
> 
There isn't a correspondence.  Or rather, the correspondence you see is
entirely cosmetic.  the rpm _filenames_ are entirely for the convenience
of the humans who have to deal with them.  The rpm Name attribute is
what rpm, yum, and the package manager depend on.  And conflicts between
the rpm Name attribute are very bad.

If we had two different packages with Name: argparse and one was a
library for java and one was for python we could rename the filenames so
that they can both exist in the repositories.  But the moment you go to
install them you have a conflicting rpm name and have problems:

* Which of the two packages will be installed when you run yum install
argparse?

* How do you install both packages at the same time?

* How do you prevent one package from upgrading the other package since
the name is the same in the rpm database?

and so on and so forth.

-Toshio


--
Fedora-packaging mailing list
Fedora-packaging at redhat.com
https://www.redhat.com/mailman/listinfo/fedora-packaging




More information about the packaging mailing list