diff options
Diffstat (limited to 'PACKAGING')
-rw-r--r-- | PACKAGING | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/PACKAGING b/PACKAGING new file mode 100644 index 0000000..735a1c6 --- /dev/null +++ b/PACKAGING @@ -0,0 +1,49 @@ +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. |