Linux Archive

Linux Archive (
-   Fedora Development (
-   -   Java package maintainers, please, add missing requires to your packages. (

Peter Lemenkov 03-11-2010 08:31 AM

Java package maintainers, please, add missing requires to your packages.
Hello All!

Recently I (re)started to package some big java application, and as
one of side effect of this work, I take a closer look on current state
of java packages in Fedora and I was disappointed with what I saw

Quick summary - many java packages does not obey Fedora Packaging
Guidelines in case of owning a directories, already owned by other

As a result - some packages owns %{_javadir}, some - %{_javadocdir},
some - own directories with maven-related stuff. This mess must be

Please, take a closer look at your spec-files and

a) Add Requires jpackage-utils to main package's header if your
package stores something in %{_javadir}
b) Add Requires jpackage-utils to *-javadoc subpackage's header if you
store something in %{_javadocdir}
c) Do NOT own %{_javadir} - e.g. do NOT list bare directory
%{_javadir} in %files section. Instead use something like
d) The same rule applies for /usr/share/maven2, /etc/maven/fragments (
%{_mavendepmapfragdir} ) and /usr/share/maven2/poms ( %{_mavenpomdir}
) and other - these two already owned by jpackage-utils.
e) Check for other directories, already owned by other packages. Foe
example, take a look at the "rpm -ql jpackage-utils" and you'll see
the list of directories, owned by this package - these directories can
NOT be owned by other packages. Add proper Requires instead.

I already fixed some packages, byt there are lots of them remaining.
For example, very often people forgot to add "Requires:
jpackage-utils" to *-javadoc.

Please, do NOT fix packages ONLY in Rawhide (as some of us do usually)
- proposed fixes doesn't ruin ABI or API compatibility, and should be
applied in every active branch.

Please, keep in mind that adding Requires(post) and Requires(postun)
is not the same as adding Requires. One could easily remove packages,
listed in Requires(post|postun), and your package should work and
whole filesystem tree should remain consistent (I mean every directory
should have their respective owner). Thus, enlisting jpackage-utils in
Requires(post) only is not enough if you store something in

Thank you for your attention!

With best regards, Peter Lemenkov.
devel mailing list

All times are GMT. The time now is 07:52 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.