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' 
leftover
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 
pkg-deinstall,
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 
build-depend
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
   <http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-
handbook/makefile-depend.html>:

5.7.2 RUN_DEPENDS

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

5.7.3 BUILD_DEPENDS

   This variable specifies executables or files this port requires to 
build.

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?

-Oliver



More information about the freebsd-gnome mailing list