On Sat, 2005-09-03 at 12:38 +0200, Daniel Leidert wrote: > > The .pc names can be set by the Debian maintainer, > > and the original .pc file ignored even if upstream provides it. > > > > You may well be right this is not a good idea, > > Sorry, but this is an IMO absolutely silly idea. What is there to be sorry about? Ideas should stand on their own merit, independently of their originator, IMHO. > Then you have to adjust > configure scripts, which run tests for these libs/applications. And a > lot of programs test for apps using pkg-config. Your idea breaks with > them. Yes, I agree: you're right. So, what is the way forward? > > I'm not arguing it is. However a policy could > > be made and be enforced. > > No. Please note the language: "A policy *could* .." This means it is possible. It doesn't mean it is the right thing to do. You said: "this is an IMO absolutely silly idea" and that is the important statement: whether it is *possible* to make and enforce pkg-config use and conventions, it would be a bad idea to do so. > > In particular, at present, pkg-config is plain useless > > because it isn't consistently supported. > > I cannot agree. Can you give an example? Sure I can, this is on Ubuntu Hoary: skaller@rosella:/work/felix/flx$ pkg-config --list-all Package ORBit-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `ORBit-2.0.pc' to the PKG_CONFIG_PATH environment variable Package 'ORBit-2.0', required by 'PyORBit', not found So you see it is a load of crap. Another example: I am using some scripts which do not work, related to OpenGL, because not all the required libraries are linked. I would like to suggest that instead of me manually editing the build script, that the script use pkg-config, because that would work universally. Unfortunately .. I look on my system and there are no .pc files for GL, GLU, etc etc .. so I don't make my suggestion to the script author ;( I complain here instead: pkg-config is useless because you have to know in advance that it is provided for a particular library on a particular system, and if so that all the dependencies are also supported with .pc files. Since you can't know this .. pkg-config is useless. If there were a Policy that all libraries should have .pc files, and the Policy were enforced, then it would be more useful. If there were a Policy on the relationship between the library and package names, it would be even more useful. That is: it is not that pkg-config program is in itself bad or useless, it is useless unless it is consistently supported: it is a 'Standard' which must be followed for it to work (namely, to actually provide .pc files for every library). Now, you're saying: we should not do this. We should not make such a Policy. I will not disagree. I ask instead: what SHOULD we do? BTW: this is a question that goes beyond Debian, in the sense that upstream developers need to support many platforms, including non-debian ones. What most developers do is write 'suck it and see' scripts, which is a waste of time and very hard to get right .. even if you have 20 different computers running all the common variants of Unix :) Another solution is 'edit the makefile' which is of course extremely bad .. because your edits are lost when you upgrade to a new tarball/package -- and perhaps not even the one in question, but one of its dependencies. This problem would just go away if pkg-config we supported properly, or a new system developed that was. I don't know the answer, just the problem .. :) -- John Skaller <skaller at users dot sourceforge dot net>
Attachment:
signature.asc
Description: This is a digitally signed message part