summaryrefslogtreecommitdiff
path: root/README.developers
diff options
context:
space:
mode:
authorkaiv <kaiv@0c269be4-1314-0410-8aa9-9f06e86f4224>2002-11-05 13:49:43 +0000
committerkaiv <kaiv@0c269be4-1314-0410-8aa9-9f06e86f4224>2002-11-05 13:49:43 +0000
commitcee0e416068eca2b8ff2e768c7faefd61c1a5d26 (patch)
treedf0cc432a39836235868439774accd4224e79cee /README.developers
parent4e9a58708b6f02e111b96a8f636ca7e5b3be9bb9 (diff)
downloadjack1-cee0e416068eca2b8ff2e768c7faefd61c1a5d26.tar.gz
Added ChangeLog file for libjack and some developer documentation.
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@266 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'README.developers')
-rw-r--r--README.developers89
1 files changed, 89 insertions, 0 deletions
diff --git a/README.developers b/README.developers
new file mode 100644
index 0000000..a0167f6
--- /dev/null
+++ b/README.developers
@@ -0,0 +1,89 @@
+=======================================================================
+*** README.developers - JACK development practices ***
+=======================================================================
+
+Version: $id$
+
+-----------------------------------------------------------------------
+ What is this?
+-----------------------------------------------------------------------
+
+This file is a collection of practices and rules for JACK
+development. If you have questions, or would like to make
+changes, raise the issue on jackit-devel (see
+http://jackit.sourceforge.net/lists ).
+
+-----------------------------------------------------------------------
+ Version numbers
+-----------------------------------------------------------------------
+
+1. JACK's package version
+
+JACK's package version is set in configure.in, and consists of
+major, minor and revision numbers. This version should be
+updated whenever a non-trivial set of changes is committed
+to CVS:
+
+ major version = ask on jackit-devel :)
+ minor version = incremented when any of the public or internal
+ interfaces are changed
+ revision = incremented when implementation-only
+ changes are made
+
+2. Client API versioning
+
+JACK clients are affected by two interfaces, the JACK Client API (libjack)
+and the JACK Client Protocol API (interface between jackd and
+libjack). The former one is versioned using libtool interface
+versioniong (set in configure.in). This version should be updated
+whenever a set of changes affecting the interface is committed
+to CVS:
+
+ current = incremented whenever the public libjack API is changed
+ revision = incremented when the libjack implementation is changed
+ age = current libjack is both source and binary compatible with
+ libjack interfaces current,current-1,...,current-age
+
+Note! All changes that affect the libjack API must be documented
+in jack/libjack/ChangeLog using the standard ChangeLog style
+(see GNU developer docs).
+
+---------------------------------------------------------------------
+ Sending patches
+-----------------------------------------------------------------------
+
+1. People without CVS-access
+
+Send your patches to jackit-devel. Normally patches are accepted
+by Paul Davis. He either applies the patch right away, or
+sends an "ok to me" message, after which other developers with
+CVS-access can commit the patch.
+
+2. People with CVS-access
+
+Trivial changes can be committed without review. For non-trivial
+changes, you should first send a proposal to jackit-devel and
+wait for comments. There are no strict approval rules so use of
+common sense is recommended. ;)
+
+3. Tips for making patches
+
+- test your patch on a clean CVS-checkout
+- remember to run cvs update before making commits
+
+-----------------------------------------------------------------------
+ CVS Access
+-----------------------------------------------------------------------
+
+TBD
+
+---------------------------------------------------------------------
+ Uses of external libraries and other packages
+-----------------------------------------------------------------------
+
+The main JACK components, jackd and libjack, should only use
+standard POSIX and ANSI-C services. Other components like
+example clients and drivers, may rely on other packages, but
+these dependencies should not affect the main build process.
+
+=======================================================================