Re: Dependencies of -dev packages
Gabor Gombas <firstname.lastname@example.org> writes:
> On Mon, Oct 31, 2005 at 11:15:35PM -0800, Russ Allbery wrote:
>> I don't consider this to be a good solution. #include <krb5.h> is part
>> of the API, and forcing all packages that want to build with Kerberos
>> to use special compiler flags to find include files in non-standard
>> locations seems to me to defeat the entire point of the FHS.
> This is nonsense. People using other OSes routinely build software at
> non-standard locations and they do not have any "API" issues at all.
Like I said, this defeats the entire point of the FHS.
> Furthermore, any Kerberos-using application should already use
> krb5-config to determine the neccessary compiler and linker flags,
> otherwise the application is already buggy as it will not build
> correctly on many non-Linux systems where Kerberos is not installed at a
> system location.
I maintain lots of Kerberos-using applications, none of which use
krb5-config, and all of which build fine on non-Linux systems where
Kerberos is not installed at the system location. The *-config scripts
are not always a great idea; among other problems, they're something of an
all or nothing affair and it's difficult to work around bugs or inadequate
information in those scripts if you're using them.
I'm not saying that using krb5-config is a bad idea. Over time, it's
gotten better and better. But most Kerberos-using software does not use
that script for a variety of reasons and patching all Debian packages for
all of that software to use it is not necessary or particularly desirable
in my opinion.
> Also, I do not see any FHS issues here. Heimdal installing headers under
> /usr/include/heimdal-krb5 (and .so links under /usr/lib/heimdal-krb5)
> while MIT Kerberos installing headers under /usr/include/mit-krb5 (and
> .so links under /usr/lib/mit-krb5) is fully FHS-compliant.
It defeats the purpose of the FHS, which is to have files in a predictable
and consistent location that doesn't require configuring all software that
relies on those files with special flags.
>> (I didn't think separating the libraries was necessary; don't they use
>> non-conflicting names already?)
> Which separation do you think of? Both heimdal-dev and libkrb5-dev
> contain the /usr/lib/libkrb5.so symlink, so they do conflict unless that
> link is moved to some other place.
Sorry, my mistake. I had thought that luckily all of the Heimdal library
names were different than all of the MIT library names, which I believe is
almost true *except* for (of course) libkrb5.
Anyway, given the vehemence of your response, I doubt you're willing to be
convinced. Given that, I'll just say that, as the co-maintainer of the
MIT Kerberos package, I will not do what you suggest, and leave it at that
(at least in the absence of other arguments that strike me as more
persuasive). If you want the package to change, you can try to convince
Sam, but I expect he'll have the same objections.
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>