1 =======================================================================
2 *** README.developers - JACK development practices ***
3 =======================================================================
4
5 Version: $Id: README.developers,v 1.5 2003/01/28 22:41:15 kaiv Exp $
6
7 -----------------------------------------------------------------------
8 What is this?
9 -----------------------------------------------------------------------
10
11 This file is a collection of practices and rules for JACK
12 development. If you have questions, or would like to make
13 changes, raise the issue on jackit-devel (see
14 http://jackit.sourceforge.net/lists ).
15
16 ---------------------------------------------------------------------
17 Contents
18 -----------------------------------------------------------------------
19
20 - What is this?
21 - Version numbers
22 - Important files for developers
23 - Sending patches
24 - CVS Access
25 - Decision Process
26
27 -----------------------------------------------------------------------
28 Important files for developers
29 -----------------------------------------------------------------------
30
31 AUTHORS
32 List of contributors. If you have contributed code, mail Paul
33 Davis to get your name added to the list, or if you have
34 CVS-access, help yourself. :)
35 README.developers
36 This file.
37 TODO
38 A one file mini-bugzilla for JACK developers. Contains a list
39 of open and closed items. You can update this directly or
40 contact Kai Vehmanen if you don't have CVS access.
41 libjack/ChangeLog
42 A list of _all_ changes to the public interface!
43
44 -----------------------------------------------------------------------
45 Version numbers
46 -----------------------------------------------------------------------
47
48 1. JACK's package version
49
50 JACK's package version is set in configure.in, and consists of
51 major, minor and revision numbers. This version should be
52 updated whenever a non-trivial set of changes is committed
53 to CVS:
54
55 major version = ask on jackit-devel :)
56 minor version = incremented when any of the public or internal
57 interfaces are changed
58 revision = incremented when implementation-only
59 changes are made
60
61 2. Client API versioning
62
63 JACK clients are affected by two interfaces, the JACK Client API (libjack)
64 and the JACK Client Protocol API (interface between jackd and
65 libjack). The former one is versioned using libtool interface
66 versioniong (set in configure.in). This version should be updated
67 whenever a set of changes affecting the interface is committed
68 to CVS:
69
70 current = incremented whenever the public libjack API is changed
71 revision = incremented when the libjack implementation is changed
72 age = current libjack is both source and binary compatible with
73 libjack interfaces current,current-1,...,current-age
74
75 Note! It was decided in January 2003 that current interface number
76 will remain as zero until the first stable JACK version
77 is released.
78
79 JACK Client Protocol is versioned... <TBD>.
80
81 Note! All changes that affect the libjack API must be documented
82 in jack/libjack/ChangeLog using the standard ChangeLog style
83 (see GNU developer docs).
84
85 ---------------------------------------------------------------------
86 Sending patches
87 -----------------------------------------------------------------------
88
89 1. People without CVS-access
90
91 Send your patches to jackit-devel. Normally patches are accepted
92 by Paul Davis. He either applies the patch right away, or
93 sends an "ok to me" message, after which other developers with
94 CVS-access can commit the patch.
95
96 2. People with CVS-access
97
98 Trivial changes can be committed without review. For non-trivial
99 changes, you should first send a proposal to jackit-devel and
100 wait for comments. There are no strict approval rules so use of
101 common sense is recommended. ;)
102
103 3. Tips for making patches
104
105 - test your patch on a clean CVS-checkout
106 - remember to run cvs update before making commits
107
108 -----------------------------------------------------------------------
109 CVS Access
110 -----------------------------------------------------------------------
111
112 Contact Paul Davis.
113
114 ---------------------------------------------------------------------
115 Uses of external libraries and other packages
116 -----------------------------------------------------------------------
117
118 The main JACK components, jackd and libjack, should only use
119 standard POSIX and ANSI-C services. Other components like
120 example clients and drivers, may rely on other packages, but
121 these dependencies should not affect the main build process.
122
123 ---------------------------------------------------------------------
124 Decision Process
125 -----------------------------------------------------------------------
126
127 All non-trivial changes should be discussed on the jackit-devel
128 mailing list. It has been agreed that Paul Davis will make
129 the final decisions based on these discussions.
130
131 =======================================================================
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.