39 lines
1.8 KiB
Markdown
39 lines
1.8 KiB
Markdown
Packaging {#packaging}
|
|
=========
|
|
|
|
|
|
Packaging
|
|
---------
|
|
|
|
|
|
### Packaging recommendations for distribution package maintainers
|
|
|
|
* libopenmpt (since 0.3) uses SemVer 2.0.0 versioning. See
|
|
[semver.org](https://semver.org/spec/v2.0.0.html). Clause 4 is ignored for
|
|
libopenmpt, which means that libopenmpt will also provide API/ABI
|
|
compatibility semantics for pre-1.0.0 versions as required by SemVer 2.0.0
|
|
only for post-1.0.0 versions. The SemVer versioning scheme is incompatible
|
|
with Debian/Ubuntu package versions, however it can easily be processed to
|
|
be compatible by replacing '-' (hyphen) with '~' (tilde). It is recommended
|
|
that you use this exact transformation if required.
|
|
* Use the autotools source package.
|
|
* Use the default set of dependencies required by the autotools package.
|
|
* Read \ref libopenmpt_c_staticlinking and thus possibly pass
|
|
`CXXSTDLIB_PCLIBSPRIVATE` variable to `configure` if appropriate and/or
|
|
desired.
|
|
* Run the test suite in your build process.
|
|
* Send any build system improvement patches upstream.
|
|
* Do not include the libmodplug emulation layer in the default libopenmpt
|
|
binary package. Either do not package it at all, or provide a separate
|
|
package named libopenmpt-modplug or libmodplug-openmpt (or similar), which
|
|
depends on libopenmpt, provides libmodplug, and conflicts with original
|
|
libmodplug.
|
|
* Split openmpt123 into its own binary package because it has more
|
|
dependencies than libopenmpt itself.
|
|
* Consider providing an additional openmpt123 package (in addition to the
|
|
default openmpt123 package with all audio output drivers), built with fewer
|
|
audio output drivers so it does not transitively depend on X11. Name that
|
|
package and its executable openmpt123-nox (or whatever else may be common
|
|
practice in your distribution).
|
|
|