On Fri, Dec 16, 2016 at 12:18 PM, Neal Gompa
I'm not sure what you're talking about. The "pkgconfig(sndfile)" string is generated by reading the pkg-config file during the packing process and reading the names. The dependencies described in the RPM are from the pkgconfig file and from the built resultant binaries. This is why even nosrc RPMs are able to be built with full dependencies described.
And usually, you know the pkgconfig() name because it's the same name you use for pkg_check_modules() in autotools and CMake. If you don't even know that, then you might be doing this wrong...
The binaries that are being checked are not on OBS and may not be in an RPM at all. The checking is not part of any packaging of the binaries. It is a check of what a group of binaries need (1) in order to run and (2) in order to be compiled. #1 is easy. #2 is less easy. The binaries do, however, use things from OBS. Which is why I am asking on this list. I am just trying to figure out what the OBS dependencies are. It is the -devel part that is the issue because of inconsistent RPM naming. The reason for this naming is, I guess: 1. There can be two versions of a package, each with, say, libraries with different versions. Like libabc.so.5 and libabc.so.6. Each is in an RPM with a different name, and so they can easily be installed together - the RPM has the version as part of the name, and the contents have different names. Programs that were linked against either will run as both can be present at the same time. The RPMs would be something like: libabc5-1.rpm libabc6-1.rpm 2. The -devel package will contain libabc.so (not the libs listed above), which is a sym link to either libabc.so.5 or libabc.so.6. Newly compiled things will link with -labc, But it is what the symlink points to that is put in the binary. libabc.so is only used/needed when linking something new. Note that one cannot have the development package for both version installed at the same time. By not including the version in the -devel name, this will be enforced by the package installer. The problem with this is (1) you cannot develop against both versions (include file differences add to the dilemma), and (2) there is no way by looking at the name of the -devel RPM that you can tell which version it is for. The RPM name would be (for either lib version 5 or 6): libabc-1.rpm I am saying all this so it is understood that I get why things are named as they are, and what it solves. I just want to add that it does present other issues. How about a tag in the RPM that tells the name of the development RPM? RPM could provide is as %DEVEL% -- Roger Oberholtzer -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org