Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jun 2004 16:24:40 +0200
From:      Oliver Eikemeier <eikemeier@fillmore-labs.com>
To:        Pav Lucistnik <pav@oook.cz>
Cc:        gnome@freebsd.org
Subject:   Re: ports/67970: ports textproc/libxml, textproc/libxslt: bogus dependencies on devel/pkgconfig
Message-ID:  <E7619E84-BFA0-11D8-9250-00039312D914@fillmore-labs.com>
In-Reply-To: <1087393313.41656.20.camel@pav.hide.vol.cz>

next in thread | previous in thread | raw e-mail | index | archive | help

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

> V st, 16. 06. 2004 v 15:34, Oliver Eikemeier p=ED=9Ae:
>
>>>> the .pc file in the base and add libdata/pkgconfig to the mtree=20
>>>> 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=3Dyes 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'=20
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=3D		pkgconfig

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

>>>> OTOH you seem to selectively ignore the other samples given, which=20=

>>>> does
>>>> not seem very wise to me either. I can not understand why you have=20=

>>>> 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=20
>>> 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=20
>> arguments
>> in this thread. Most of my questions remain unanswered, like whether=20=

>> 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=20
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=20
during run-time.

5.7.3 BUILD_DEPENDS

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

That is why I believe that a port should require all tools it requires=20=

to build
in BUILD_DEPENDS, while stuff that is not needed to run the port should=20=

not be
in RUN_DEPENDS. And i do not need pkg-config to run xmllint or=20
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E7619E84-BFA0-11D8-9250-00039312D914>