These are generic guidelines, but please see below for important Suil specific information. This library is designed to allow parallel installation of different major versions. To facilitate this, the shared library name, include directory, and pkg-config file are suffixed with the major version number of the library. For example, if this library was named "foo" and at version 1.x.y: /usr/include/foo-1/foo/foo.h /usr/lib/foo-1.so.1.x.y /usr/lib/pkgconfig/foo-1.pc Dependencies check for pkg-config name "foo-1" and will build against a compatible version 1, regardless any other installed versions. *** IMPORTANT GUIDELINES FOR PACKAGERS *** Packages should follow the same conventions as above, i.e. include the major version (and only the major version) in the name of the package. Continuing the example above, the package(s) would be named foo-1 and foo-1-dev. This way, if/when version 2 comes out, it may be installed at the same time as version 1 without breaking anything. Please do not create packages of this library that do not follow these guidelines, you will break things and cause unnecessary headaches. Please do not use any number as a suffix other than the actual major version number of the upstream source package. Because program and documentation names are not versioned, these should be included in separate packages which may replace previous versions, since there is little use in having parallel installations of them. *** IMPORTANT GUIDELINES FOR PACKAGING SUIL *** The purpose of Suil is to abstract plugin UI toolkits away from host code. To achieve this, Suil performs its magic by dynamically loading modules for each toolkit. The main Suil library does NOT depend on any toolkit libraries, and thus neither should your package. Please package the individual modules (e.g. libsuil_gtk2_in_qt4.so) as separate packages, which themselves depend on the involved toolkits. These packages should also be versioned as described above to support parallel installation. Please do not make the main Suil package depend on any toolkit package, this defeats the purpose of Suil and will severely irritate those who for whatever reason do not want a particular toolkit dependency. The main Suil package may have a weak dependency (e.g. "recommends") on the individual wrapper modules, and it's fine if these are installed by default, but it must be possible to install Suil without installing them if the user explicitly wishes to do so.