Michal Vyskocil wrote:
Therefor I have fixed and extended the zlib example, which should make that more clear. Source package name is zlib, because that is how both upstream and tarballs are named. But shared library package is libz1 according SONAME, where devel files are in zlib-devel. The name libz-devel might be acceptable as well, but it is confusing to me. But as long as pkgconfig(zlib) is the prefered form, the name of devel package is less important nowadays.
Less important for the build system maybe. I still have a hard time getting used to things like libSDL-devel or worse libopenssl-devel when there isn't even a libopenssl. So I agree, it feels counter intuitive to me too. Naming devel packages according to the shared library only makes sense if the package contains multiple independent shared libraries that have distinct header files. So IMO "%package devel" should be preferred over "%package -n $something-devel"
 http://en.opensuse.org/openSUSE:Shared_library_packaging_policy  http://en.opensuse.org/openSUSE:Package_naming_guidelines#General_Naming  http://en.opensuse.org/openSUSE:Shared_library_packaging_policy#Examples