summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.reuse/dep52
-rw-r--r--PACKAGING49
-rw-r--r--PACKAGING.md34
3 files changed, 35 insertions, 50 deletions
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 <d@drobilla.net>
Source: https://gitlab.com/drobilla/suil
-Files: AUTHORS NEWS PACKAGING suil.ttl
+Files: AUTHORS NEWS suil.ttl
Copyright: 2011-2022 David Robillard <d@drobilla.net>
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 @@
+<!-- Copyright 2011-2022 David Robillard <d@drobilla.net> -->
+<!-- SPDX-License-Identifier: ISC -->
+
+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.