From Fedora Project Wiki

mschwendt notes that people still misinterpret what files need to go into -devel. In particular, plugins are getting placed into -devel. Here's a proposed update.

Review guidelines update

MUST: Library files needed only at build-time must be put into a -devel package. See the Devel Packages Guideline if you are unclear on what these files are. [19]

Guidelines update

Devel Packages

If the software being packaged contains files intended solely for development, those files should be put in a -devel subpackage. The following are examples of file types which should be in -devel:

  • Header files (e.g. *.h files)
  • Symlinks for the linker name of libraries (e.g. %{_libdir}/libfoo.so).

These types of files are often mistaken for development files but are needed at runtime so they should NOT be in the -devel subpackage:

  • Symlink for the library SONAME (e.g. %{_libdir}/libfoo.so.3)
  • The file that actually contains the library (eg %{_libdir}/libfoo.so.3.0.0)
  • Shared objects which are plugins. These usually end with *.so like the library linker name but
    1. are not placed directly within %{_libdir}
    2. are not symlinks
    3. often do not start with lib*

A good rule of thumb is if the file is used for development and not needed for the base package to run properly, it should go in -devel.