annotate README.MAINT @ 448:5cccf90bf838 3.0 tip

Fixed bug with complex external references generating invalid relocations in the object file
author lost@l-w.ca
date Fri, 05 Nov 2010 22:27:00 -0600
parents 219672663ad8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
321
219672663ad8 Setting up project structure
lost
parents:
diff changeset
1 This file is intended for source package maintainers/distributors.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
2
219672663ad8 Setting up project structure
lost
parents:
diff changeset
3 This package depends on gnulib, autoconf, automake, and libtool. You will
219672663ad8 Setting up project structure
lost
parents:
diff changeset
4 need all these packages installed in order to build from non-release
219672663ad8 Setting up project structure
lost
parents:
diff changeset
5 areas in the repository.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
6
219672663ad8 Setting up project structure
lost
parents:
diff changeset
7 Before a release is made, a branch for that release must be made. Within
219672663ad8 Setting up project structure
lost
parents:
diff changeset
8 that branch, all files that will be distributed with the particular release
219672663ad8 Setting up project structure
lost
parents:
diff changeset
9 must be generated and added to the repository on that branch. Once the
219672663ad8 Setting up project structure
lost
parents:
diff changeset
10 release is deemed stable and ready for release, the release tag should
219672663ad8 Setting up project structure
lost
parents:
diff changeset
11 be generated from the head of that particular branch. Thus all release
219672663ad8 Setting up project structure
lost
parents:
diff changeset
12 series will have the autotool generated files in the repository as well
219672663ad8 Setting up project structure
lost
parents:
diff changeset
13 as any other generated files intended to be distributed.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
14
219672663ad8 Setting up project structure
lost
parents:
diff changeset
15 Any branch not directly intended to be a release need not include the
219672663ad8 Setting up project structure
lost
parents:
diff changeset
16 generated files.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
17
219672663ad8 Setting up project structure
lost
parents:
diff changeset
18 The trunk development stream must not include the autotool generated files
219672663ad8 Setting up project structure
lost
parents:
diff changeset
19 as these are likely to change rapidly and it can cause a great deal of
219672663ad8 Setting up project structure
lost
parents:
diff changeset
20 confusion for little gain. Also, the main trunk need not contain such
219672663ad8 Setting up project structure
lost
parents:
diff changeset
21 things as generated documentation files for the same reason.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
22
219672663ad8 Setting up project structure
lost
parents:
diff changeset
23 By including the generated files in the release branches, it is possible
219672663ad8 Setting up project structure
lost
parents:
diff changeset
24 to replicate any problems users of the package may have, including if it
219672663ad8 Setting up project structure
lost
parents:
diff changeset
25 is due to problems with the autotools themselves.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
26
219672663ad8 Setting up project structure
lost
parents:
diff changeset
27
219672663ad8 Setting up project structure
lost
parents:
diff changeset
28 Naming of branches and tags should conform to the following guidlines.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
29
219672663ad8 Setting up project structure
lost
parents:
diff changeset
30 1. any branch leading to a release series must be named as the base revision
219672663ad8 Setting up project structure
lost
parents:
diff changeset
31 of the series. Thus, for a 1.0 release, the branch is called 1.0 and will
219672663ad8 Setting up project structure
lost
parents:
diff changeset
32 contain the results for a 1.0 release, a 1.0.1 release, and so on. If a
219672663ad8 Setting up project structure
lost
parents:
diff changeset
33 sub-release will occur, say under 1.0.1, then a branch named "1.0.1" would
219672663ad8 Setting up project structure
lost
parents:
diff changeset
34 be created and then releases such as 1.0.1.1 would be created. This should
219672663ad8 Setting up project structure
lost
parents:
diff changeset
35 be avoided if at all possible.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
36
219672663ad8 Setting up project structure
lost
parents:
diff changeset
37 2. any tag for a specific release version will be named as the release. So
219672663ad8 Setting up project structure
lost
parents:
diff changeset
38 for a 1.0 release, the name would be "1.0". For version 1.0.1.1, the name
219672663ad8 Setting up project structure
lost
parents:
diff changeset
39 would be "1.0.1.1".
219672663ad8 Setting up project structure
lost
parents:
diff changeset
40
219672663ad8 Setting up project structure
lost
parents:
diff changeset
41 3. branches not associated with a release stream - say for feature development
219672663ad8 Setting up project structure
lost
parents:
diff changeset
42 or what have you should be named sensibly and should be removed when no longer
219672663ad8 Setting up project structure
lost
parents:
diff changeset
43 needed. They must not appear to be version numbers.
219672663ad8 Setting up project structure
lost
parents:
diff changeset
44
219672663ad8 Setting up project structure
lost
parents:
diff changeset
45 4. tags not specifying a release must not look like version numbers