On Wed, Aug 16, 2006 at 03:24:37PM +0200, Martin Costabel wrote:
> David R. Morrison wrote:
> >> *From: *Peter Dyballa <[EMAIL PROTECTED] 
> []
> >> When I want to install libpng3 Fink wants to install glib and 
> >> glib-shlibs too. What have these "Common C routines used by Gtk+ and 
> >> other libs" to do with PNG?
> 
> This comes from two deliberate decisions in Fink:
> 
> 1. Every package that installs a *.pc file must have a dependency on the 
> pkgconfig package.
[snip]
> In the case of libpng3, 1. is questionable, IMHO. It does not use 
> pkg-config, it simply installs two files into /sw/lib/pkgconfig/.

IIRC, we've never even had a consensus on this policy...didn't used to
be required, then it was for a while, now not.

Okay, let's resolve it now: should packages that contain .pc files be
required to Depends:pkgconfig?

Pro 1: .pc is a data file for pkg-config, so it doesn't make sense to
have data files without their accessor program (would be like having
foo-pmXXX not Depends:perlXXX-core).

Pro 2 (Response to Con 1): People install foo-dev to be able to
compile against libfoo and compiling against a lib that supplies .pc
often requires using pkg-config, so we should reduce the number of
unstated dependencies, especially for non-fink uses. The pkgconfig
package is not BuildDependsOnly.

Pro 3: Some ./configure for packages that install .pc actually use the
pkg-config program (to determine where to install the .pc) using
various hacks that don't make it obvious this is happening. Setting
the dependency, at least as a BuildDepends, thus leads to reduced
packaging problems.

Pro 4: There are some features of .pc files that require a minimum
version of pkgconfig to support, and older versions mishandle it
silently: ./configure of packages that link against libs whose .pc use
these features give confusing error messages and/or cause deficient
flags to be passed when compiling. Having a having a blanket "must
depend" policy causes maintainers (or at least committers) to think
about the dependency and decide how/if it needs to be versioned.

Con 1: More dependencies==more building for users, and in this case
it's of things that aren't "obviously needed" by what user says he
wants.

Con 2 (Response to Pro 1): pkg-config isn't the only thing that can
process .pc files (however, it is the only one in fink at this time).
If user wanted to use a different one, why should he also need this
one? If fink gets another that is completely backward compatible with
the 'pkg-config' program, it would likely supply such a program also,
which will lead to a dependency disaster if we have packages that have
versioned dependencies on pkgconfi

Con 3 (Response to Pro 4): not really...people will blindly add it and
not look for any specifics. Would be up to 'fink validate' or
responding to user bug reports to handle the the need for versioning.

dan

-- 
Daniel Macks
[EMAIL PROTECTED]
http://www.netspace.org/~dmacks


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to