javadoc scriptlets
Ville Skyttä
ville.skytta at iki.fi
Thu Nov 22 16:29:03 UTC 2007
On Thursday 22 November 2007, Nicolas Mailhot wrote:
> Le mercredi 21 novembre 2007 à 23:18 -0600, Jason L Tibbitts III a
>
> écrit :
> > * Sat Sep 3 2005 Anthony Green <green at redhat.com> - 0:1.1.1-7
> > - Removed %ghost for javadoc, and remove javadoc post scriptlet,
> > as per ville.skytta at iki.fi's suggestion.
> >
> > But I don't know what the basis for that was, and I don't see anything
> > relevant in bugzilla. Perhaps Ville can remember that far back.
> >
> > Does anyone know the rationale for this?
>
> Ask Ville. He's the javadoc man.
As far as I'm concerned, there's exactly one hard requirement for javadoc
installs: unversioned dir (or at least a symlink). This is for
bookmarkability (browsers, IDEs), easy crosslinking of javadocs at package
build time, and not having the links break when crosslinked javadoc packages
are updated.
The intention of the original JPackage javadoc scriptlets was that one could
install multiple versions of some javadoc package in parallel. That'd be
kind of cool. But it's too tricky to get right for my taste. The current
scriptlets are an halfway there attempt to do it, but they're already quite
ugly and suffer from two problems: 1) the unversioned symlink will point to
the javadoc package which was installed last, not the latest version, which
IMO isn't useful, and 2) they fail with read-only %_netsharedpath /usr/share
setups.
Those are fixable by adding some more ugliness to the scriptlets (possibly
much more to get 1) taken care of), but because we don't actually ship
multiple versions of javadoc packages (they get pruned just like other old
package versions) or when we do, we ship them in packages with
different %{name}, I think the sane approach is to just forget about the
symlink games, install to unversioned %{_javadocdir}/%{name} and be done with
it.
For the same reason, my NSHO is is that packages shipping jars
in /usr/share/java should just drop their jars unversioned there and not
bother with symlinks. I'm pretty sure that the symlinks between different
versions of a package would and do actually conflict in the vast majority of
cases without some "%verify(not link)" magic which is currently very rare
AFAIK. So the symlinkage and versioning is pretty much useless cruft
nowadays, and because nobody appears to be complaining about the inability to
install multiple versions in parallel, it should be dropped.
> (also why are you posting all those java-related questions there instead
> on fedora-java or jpackage-discuss? That's where the java packagers
> dwell)
FWIW, I'm not reading those, but then again I'm not an active Java packager
these days anyway.
More information about the fedora-devel-list
mailing list