ports/67970: ports textproc/libxml, textproc/libxslt: bogus dependencies on devel/pkgconfig

Oliver Eikemeier eikemeier at fillmore-labs.com
Wed Jun 16 07:24:56 PDT 2004

Am Mittwoch den, 16. Juni 2004, um 15:41, schrieb Pav Lucistnik:

> V st, 16. 06. 2004 v 15:34, Oliver Eikemeier píše:
>>>> the .pc file in the base and add libdata/pkgconfig to the mtree 
>>>> files,
>>>> especially since there are more ports that have problems with that.
>>> Adding libdata/pkgconfig to mtree sounds like a good idea. Depends how
>>> broad mtree should be, that depends on portmgr's vision.
>> Yep. otherwise a simple INSTALLS_PKGCONFIG=yes would do the trick,
>> although it seems like we would only exchange a single line in
>> pkg-plist with one in the Makefile in this case.
> Note that this is not a solution to our debate, it merely masks the
> leftover empty directory if installing .pc file without pkgconfig
> dependency.

I'm not sure whether I understand this fully, especially `masking' 
empty directories?

Empty directories are normally removed by doing

   @unexec rmdir %D/libdata/pkgconfig 2>/dev/null || true

in pkg-plist, which is not more difficult than having

   USE_GNOME=		pkgconfig

in the ports Makefile. I guess we should have an auto-prune in 
I'll see if I can cook something up.

>>>> OTOH you seem to selectively ignore the other samples given, which 
>>>> does
>>>> not seem very wise to me either. I can not understand why you have 
>>>> such
>>>> an emotional relation to a plainly wrong dependency.
>>> I talked with you on the subject extensively on IRC yesterday, and
>>> you're firmly rooted in your believes and opinions. No reason to 
>>> repeat
>>> whole conversation over email again.
>> True, and I aborted the discussion because it got emotionally heated. I
>> submitted the PR in the hope of starting a more technically oriented
>> discussion, like getting some examples of breakage when this dependency
>> would be removed. I'm a little disappointed of the lack of real 
>> arguments
>> in this thread. Most of my questions remain unanswered, like whether 
>> you
>> believe devel/valgrind, devel/pcsc-lite, print/freetype2, graphics/png,
>> www/neon, www/openvrml, x11/XFree86-4-libraries and x11-toolkits/qt33
>> should run-depend on pkgconfig too.
> Yes, I do.

I guess you will not get many people to agree to this. Besides, since
they currently don't (and there are more of them) you have to 
applications linking with those on pkg-config anyway.

> I stated my technical opinion before, I can repeat it again:
> In this case library installs important metadata as a .pc file, and
> configure scripts of other applications read these .pc files to obtain
> the metadata, unable to configure for the library without them. The
> reading of .pc file is done using external program, pkg-config.

Some applications need pkg-config to extract the information from the
.pc file, others just link with the library without pkg-config. It is
not necessary to link with the library, it is necessary for some
applications to configure them during build time.

> Here comes a heated debate, if library should provide all possible
> applications with a pkg-config, via it's runtime dependency, or if every
> possible application should build depends on pkg-config.
> I believe that library should provide everything needed for other
> applications to be able to link the library.
> I believe that library should run depends on pkg-config.

FreeBSD Porter's Handbook, 5.7 Dependencies


   This variable specifies executables or files this port depends on 
during run-time.


   This variable specifies executables or files this port requires to 

That is why I believe that a port should require all tools it requires 
to build
in BUILD_DEPENDS, while stuff that is not needed to run the port should 
not be
in RUN_DEPENDS. And i do not need pkg-config to run xmllint or 
applications linking
with libxml, so they should build-depend on pkg-config, not run-depend.

What references do you have to support your opinion?


More information about the freebsd-gnome mailing list