From 4481433eff977198f1a7aecf657e1fab66b41e63 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 1 Sep 2022 15:37:53 -0400 Subject: Clean up packaging instructions --- .reuse/dep5 | 2 +- PACKAGING | 49 ------------------------------------------------- PACKAGING.md | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 50 deletions(-) delete mode 100644 PACKAGING create mode 100644 PACKAGING.md diff --git a/.reuse/dep5 b/.reuse/dep5 index 99893b0..c4a9dfc 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -3,7 +3,7 @@ Upstream-Name: suil Upstream-Contact: David Robillard Source: https://gitlab.com/drobilla/suil -Files: AUTHORS NEWS PACKAGING suil.ttl +Files: AUTHORS NEWS suil.ttl Copyright: 2011-2022 David Robillard Comment: Contributed to the Commons as a representation of simple facts License: CC0-1.0 OR ISC diff --git a/PACKAGING b/PACKAGING deleted file mode 100644 index 735a1c6..0000000 --- a/PACKAGING +++ /dev/null @@ -1,49 +0,0 @@ -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. diff --git a/PACKAGING.md b/PACKAGING.md new file mode 100644 index 0000000..4702379 --- /dev/null +++ b/PACKAGING.md @@ -0,0 +1,34 @@ + + + +Packaging Suil +============== + +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. + +Dependencies check for the pkg-config package `suil-0` and will build against a +compatible version 0, regardless any other installed versions. + +Packages should follow the same conventions as above, that is, include the +major version (and only the major version) in the name of the package so that +it can be installed in parallel with future major versions. + +Dependencies +------------ + +The purpose of Suil is to abstract plugin UI toolkits away from host code. To +achieve this, Suil dynamically loads modules for the toolkits in use. The main +Suil library does NOT depend on any toolkit libraries, and its package +shouldn't either (otherwise, for example, every LV2 host in the distribution +would depend directly on Gtk and Qt). Individual modules (like +`libsuil_gtk2_in_qt5.so`) should be packaged separately and 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 strongly depend on any toolkit +package, this defeats the purpose of Suil and will irritate users who want to +avoid a particular toolkit dependency for whatever reason. "Weak" or +"recommended" dependencies are fine, the important thing is that users are able +to avoid particular toolkits if they choose. -- cgit v1.2.1