tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

doxygen changes, PLIST, and doxygen required level



I recently built www/tidy, and found that a doxygen-generated file not
in the PLIST was created and installed.  I "fixed" the PLIST by adding
it, but then wiz@ reported that the file was extra for him.
Investigating, I find that the file is not created with older doxygen,
but is created with the 1.5.6 version just committed.

The real problem, I think, is that doxygen changing the output set of
files is, as pkgsrc views it, an ABI change.  (We don't normally
dynamically generate PLIST of doxygen, and I'm not arguing we go there.)
tidy has a BUILD_DEPENDS line:

BUILD_DEPENDS+= doxygen>=1.0:../../devel/doxygen

which is and isn't correct - it builds fine (probably) with >= 1.0, but
the current PLIST is only right for doxygen 1.5.6, and the old PLIST was
only correct for some other range, at least for < 1.5.6.

It seems unreasonable to have to set the needed version of doxygen in
all packages which depend on it; to have this be sound it would have to
match exactly.  I'll do this for tidy now, so that we can see if that's
the only problem Thomas is having.

Given all this, I think we should treate doxygen like a library, and
have a buildlink3.mk file for it, with default to build-depends only,
and a required ABI variable, defaulting to the latest version that
changed the ABI (as viewed above).  Because this is build only, we don't
need recursive PKGREVISION bumps.

This still leaves all the packages that install doxygen-generated files
needing fixing, but I don't see a way around that work without dynamic
PLIST generation.


Home | Main Index | Thread Index | Old Index