comparison PACKAGING @ 208:13d27ff5b5df

add documents for release
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 18 Feb 2023 23:24:54 +0000
parents
children 34f8549ff0b1
comparison
equal deleted inserted replaced
207:10f11a2d4042 208:13d27ff5b5df
1 The present document is intended to be a guide for any parties who are going to
2 turn the present upstream gsm-codec-lib source package into user-friendly binary
3 packages for specific distributions.
4
5 The Mother's primary recommendation with regard to downstream packaging of the
6 present software is that end-user binary packages should be divided more finely
7 than the present source package. At the present source level the two principal
8 libraries (libgsmefr and libgsmfrp) are combined together with a bunch of
9 command line utilities for reasons of compile-time dependency (utilities depend
10 on libraries), and also for the purposes of library development and testing -
11 but the same combination does not make much sense from a user's perspective.
12 Therefore, it is our recommendation that the present source package be split as
13 follows at the level of end-user distro packages:
14
15 libgsmefr package: just libgsmefr.a and its associated gsm_efr.h header file.
16
17 libgsmfrp package: just libgsmfrp.a and its associated gsm_fr_preproc.h header
18 file. Given that <gsm_fr_preproc.h> depends on <gsm.h> from classic libgsm,
19 the latter library (libgsm) should probably be officially declared as a
20 dependency for libgsmfrp.
21
22 gsm-codec-utils (or themwi-gsm-codec-utils or themwi-codec-utils) package: all
23 command line utilities built and installed in amrconv, efrtest, frtest and
24 miscutil subdirectories. This package will depend on libgsmefr, libgsmfrp and
25 classic libgsm - the latter is pre-existing software, not provided by
26 Themyscira.
27
28 themwi-pcap-utils: the set of command line utilities built in the pcap
29 subdirectory, with a dependency on libpcap but no dependencies on any GSM
30 libraries.
31
32 With the division recommended above, the set of end-user packages will exhibit
33 a sensible functional division from the user's perspective, and a clean and
34 sensible dependency graph.
35
36 Package versions
37 ================
38
39 The two library packages (libgsmefr and libgsmfrp) should be versioned with
40 their own proper semantic versions listed in the Library-versions document, as
41 opposed to the larger gsm-codec-lib tarball release version. If a later
42 gsm-codec-lib tarball release exhibits no changes in the libraries (the only
43 changes are in the command line utilities) or if only one of the two libraries
44 exhibits changes (as indicated with a new semantic version), then NO new
45 downstream packages should be made for unchanged libraries - instead already
46 made binary packages for that library version (SemVer) should be retained.
47
48 Downstream package version numbers for command line utilities packages are up
49 to the discretion of packaging maintainers; using gsm-codec-lib tarball release
50 numbers is acceptable.
51
52 Patience, please
53 ================
54
55 Please make downstream package releases *only* from officially published tarball
56 releases of gsm-codec-lib - please do *not* make packaged builds or "releases"
57 from our Mercurial repository. Any time we have a new development that is
58 expected to be useful to downstream end users, we shall make a proper tarball
59 release, and if there are any changes in the libraries, we shall assign new
60 semantic versions as appropriate.