annotate etc/BETA @ 799:03d9f9084848

[xemacs-hg @ 2002-03-30 04:46:47 by youngs] 2002-03-30 Steve Youngs <youngs@xemacs.org> * package-index.LATEST.gpg: Update to current reality. * package-index.LATEST.pgp: Ditto.
author youngs
date Sat, 30 Mar 2002 04:46:48 +0000
parents 968a715e8c6f
children ccaf90c5a53a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 -*- mode:outline -*-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 * Introduction
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ==============
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
6 You are running a potentially unstable version of XEmacs. Please do
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
7 not report problems with Beta XEmacs to comp.emacs.xemacs. Report
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
8 them to xemacs-beta@xemacs.org.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
10 ** Mailing Lists
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
11 ================
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
12
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
13 *** XEmacs Beta Mailing List
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
14 ----------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
16 If you are not subscribed to the XEmacs beta list you should be.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
17 Currently all discussion of development issues, including bug reports
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
18 and coding discussion, takes place on the XEmacs Beta mailing list.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
19 Only patches and administrative actions regarding patches are sent
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
20 elsewhere (to the XEmacs Patches list).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
21
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
22 ** XEmacs Patches Mailing List
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
23 ==============================
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
25 XEmacs Patches records proposed changes to XEmacs, and their
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
26 disposition. It is open subscription, but only patches and actions by
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
27 members of the XEmacs Review Board should be posted to this list. You
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
28 can follow progress of your patch by subscribing to the mailing list
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
29 or in the archives.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
30
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
31 ** List Administrivia
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
32 =====================
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
34 In the descriptions below, the word LIST (all uppercase) is a
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
35 variable. Substitute "beta" or "patches" as appropriate (to get
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
36 "xemacs-beta" as the mailbox for the XEmacs Beta mailing list, or
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
37 http://www.xemacs.org/Lists/#xemacs-beta for its URL).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
39 The XEmacs mailing lists are managed by the Mailman mailing list
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
40 package, and the usual Mailman commands work. Do not send mailing
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
41 list requests to the main address (xemacs-LIST@xemacs.org), always
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
42 send them to xemacs-LIST-request@xemacs.org. If you have problems
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
43 with the list itself, they should be brought to the attention of the
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
44 XEmacs Mailing List manager <list-manager@xemacs.org> (the same
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
45 mailbox, "list-manager", for all lists). All public mailing lists
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
46 have searchable archives. The URL is
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
47
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
48 http://list-archive.xemacs.org/xemacs-LIST
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
50 *** Managing your subscription via the Web
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
51 ------------------------------------------
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
52
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
53 Subscription, unsubscription, and options (such as digests and
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
54 temporarily suspending delivery) can be accomplished via the web
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
55 interface at http://www.xemacs.org/Lists/#xemacs-LIST.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
57 *** Subscribing by e-mail
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
58 -------------------------
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
59
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
60 Send an email message to xemacs-LIST-request@xemacs.org with
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
61 `subscribe' (without the quotes) as the BODY of the message.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
63 *** Unsubscribing by e-mail
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
64 ---------------------------
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
65
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
66 Send an email message to xemacs-LIST-request@xemacs.org with
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
67 `unsubscribe' (without the quotes) as the BODY of the message.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 ** Beta Release Schedule
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 ========================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
72 Betas are now released rather sporadically. We would like to achieve
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
73 a weekly release schedule, but personnel availability does not
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
74 permit. For access to the most recent code, use CVS (see
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
75 http://www.xemacs.org/Develop/cvsaccess.html for more information).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
76 If you have need for FTP access, please let us know. It will make it
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
77 more likely that we release betas more often.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 ** Reporting Problems
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 =====================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 The best way to get problems fixed in XEmacs is to submit good problem
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 reports. Since this is beta software, problems are certain to exist.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 Please read through all of part II of the XEmacs FAQ for an overview
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 of problem reporting. Other items which are most important are:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 1. Do not submit C stack backtraces without line numbers. Since it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 is possible to compile optimized with debug information with GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 it is never a good idea to compile XEmacs without the -g flag.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 XEmacs runs on a variety of platforms, and often it is not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 possible to recreate problems which afflict a specific platform.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 The line numbers in the C stack backtrace help isolate where the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 problem is actually occurring.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 2. Attempt to recreate the problem starting with an invocation of
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
96 XEmacs with `xemacs -q -no-site-file -no-autoloads'. Quite often,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
97 problems are due to package interdependencies, and the like. An
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
98 actual bug in XEmacs should be reproducible in a default
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
99 configuration without loading any special packages (or the one or
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
100 two specific packages that cause the bug to appear). If you have
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
101 trouble getting anything to work at all with the above invocation,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
102 use `xemacs -q -no-site-file' instead. If you need to load your
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
103 user init file or the site file to get the problem to occur, then
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
104 it has something to do with them, and you should try to isolate
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
105 the issue in those files.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 3. A picture can be worth a thousand words. When reporting an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 unusual display, it is generally best to capture the problem in a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 screen dump and include that with the problem report. The easiest
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 way to get a screen dump is to use the xv program and its grab
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 function. Save the image as a GIF to keep bandwidth requirements
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 down without loss of information. MIME is the preferred method
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 for making the image attachments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 ** Getting the Source
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 =====================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 In addition to the normal tar distribution, XEmacs source is now
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
119 available via CVS. Please see
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
120
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
121 http://www.xemacs.org/Develop/cvsaccess.html
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 * Compiling Beta XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 =======================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 ** Building an XEmacs from patches
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 ==================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 All beta releases of XEmacs are included with patches from the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 previous version in an attempt to keep bandwidth requirements down.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 Patches should be applied with the GNU patch program in something like
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 the following. Let's say you're upgrading XEmacs 20.15-beta10 to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 XEmacs 20.15-beta11 and you have a full unmodified XEmacs 20.15-beta10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 source tree to work with. Cd to the top level directory and issue the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 shell command:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 $ gunzip -c /tmp/xemacs-20.15-b10-20.15-b11.patch.gz | patch -p1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 After patching, check to see that no patches were missed by doing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 $ find . -name \*.rej -print
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 Any rejections should be treated as serious problems to be resolved
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 before building XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 After seeing that there were no rejections, issue the commands
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 $ ./config.status --recheck
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 $ make beta
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 and go play minesweep for a while on an older XEmacs while the binary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 is rebuilt.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 ** Building XEmacs from a full distribution
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 ==============================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 Locate a convenient place where you have at least 100MB of free space
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 and issue the command
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 $ gunzip -c /tmp/xemacs-20.15-b11.tar.gz | tar xvf -
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 (or simply `tar zxvf /tmp/xemacs-20.15-b11.tar.gz' if you use GNU tar).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 cd to the top level directory and issue an appropriate configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 command. One maintainer uses the following at the time of this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 writing:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 ./configure \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 --cflags="-mpentium -march=pentium -O6 -g -fno-peep-spills" \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 --error-checking=all --debug=yes \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 --with-scrollbars=athena3d --with-dialogs=athena3d \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 --with-mule --with-xfs --with-xim=xlib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
173 Part of the configure output is a summary that looks something like
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
174 the following. (In XEmacs 21.1 and later, this summary is also
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
175 available as the file Installation in the top directory of your build
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
176 tree, and via the command M-x describe-installation.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 uname -a: Linux altair.xemacs.org 2.0.32 #2 Sun Nov 16 18:52:14 PST 1997 i586
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 ./configure '--cflags=-mpentium -march=pentium -O6 -g -fno-peep-spills' '--error-checking=all' '--debug=yes' '--with-scrollbars=athena3d' '--with-dialogs=athena3d' '--with-mule' '--with-xfs' '--with-xim=xlib'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 XEmacs 21.0-b34 "Oberhasli-pre2" configured for `i586-pc-linux'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 Where should the build process find the source code? /home/xemacs/xemacs-20.0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 What installation prefix should install use? /usr/local
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 What operating system and machine description files should XEmacs use?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 `s/linux.h' and `m/intel386.h'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 What compiler should XEmacs be built with? gcc -mpentium -march=pentium -O6 -g -fno-peep-spills
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 Should XEmacs use the GNU version of malloc? yes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 (Using Doug Lea's new malloc from the GNU C Library.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 Should XEmacs use the relocating allocator for buffers? yes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 What window system should XEmacs use? x11
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 Where do we find X Windows header files? /usr/X11/include
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 Where do we find X Windows libraries? /usr/X11/lib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 Compiling in support for XAUTH.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 Compiling in support for XPM images.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 Compiling in support for X-Face message headers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 Compiling in support for GIF image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 Compiling in support for JPEG image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 Compiling in support for PNG image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 Compiling in support for TIFF image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 Compiling in native sound support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 Compiling in support for Berkeley DB.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 Compiling in support for GNU DBM.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 Compiling in support for ncurses.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 Compiling in support for GPM (General Purpose Mouse).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 Compiling in Mule (multi-lingual) support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 Compiling in XIM (X11R5+ I18N input method) support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 Using raw Xlib to provide XIM support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 Using XFontSet to provide bilingual menubar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 Compiling in support for Canna on Mule.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 Compiling in support for the WNN input method on Mule.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 Using WNN version 6.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 Compiling in support for OffiX.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 Compiling in support for proper session-management.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 Using Lucid menubars.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 Using Athena-3d scrollbars.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 Using Athena-3d dialog boxes.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 Compiling in DLL support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 movemail will use "dot-locking" for locking mail spool files.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 Using Lisp_Objects with minimal tagbits.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 Compiling in extra code for debugging.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 Compiling in code for checking XEmacs memory usage.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 WARNING: Compiling in support for runtime error checking.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 WARNING: XEmacs will run noticeably more slowly as a result.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 WARNING: Error checking is on by default for XEmacs beta releases.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 Then type `make' and you should have a working XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 After you have verified that you have a functional editor, fire up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 your favorite mail program and send a build report to
649
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
237 xemacs-build-reports@xemacs.org.
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
238
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
239 Preferrably this is done from XEmacs, following these simple steps:
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
240
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
241 M-x customize-group RET build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
242 M-x build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
243
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
244 See also
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
245 http://www.xemacs.org/Releases/Public-21.2/tester.html#reporting
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
246
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
247 If you create the report manually by other means, here is what the
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
248 build report should include:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 1. Your hardware configuration (OS version, etc.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 2. Version numbers of software in use (X11 version, system library
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 versions if appropriate, graphics library versions if appropriate).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 If you're on a system like Linux, include all the version numbers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 you can because chances are it makes a difference.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 3. The options given to configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 4. The configuration report illustrated above
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 For convenience all of the above items are placed in a file called
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 `Installation' in the top level build directory. They are also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 available by performing M-x describe-installation inside XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 5. Any other unusual items you feel should be brought to the attention
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 of the developers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
268
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
269 * Patching XEmacs
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
270 =================
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
271
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 ** Creating patches for submission
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 ==================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 Patches to XEmacs should be mailed to <xemacs-patches@xemacs.org>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 Each patch will be reviewed by the patches review board, and will be
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
277 acknowledged and added to the distribution, or rejected with an
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
278 explanation. Progress of the patch is tracked on the XEmacs Patches
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
279 mailing list, which is open subscription.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 Patches to XEmacs Lisp packages should be sent to the maintainer of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 the package. If the maintainer is listed as `XEmacs Development Team'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 patches should be sent to <xemacs-patches@xemacs.org>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285 Emailed patches should preferably be sent in MIME format and quoted
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 printable encoding (if necessary).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
288 The simplest way to create well-formed patches is to use CVS and
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
289 Didier Verna's Patcher library (available as patcher.el in the
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
290 xemacs-devel package). Patcher is new and requires some setup, but
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
291 most of the core developers are now using it for their own patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
292 Patcher also can be configured to create patches for several projects,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
293 and recognize the project from the directory it is invoked in. This
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
294 makes it a useful general tool (as long as XEmacs-style patches are
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
295 accepted at your other projects, which is likely since they conform to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
296 the GNU standards).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
297
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
298 When making patches by hand, please use the `-u' option, or if your
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
299 diff doesn't support it, `-c'. Using ordinary (context-free) diffs
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
300 are notoriously prone to error, since line numbers tend to change when
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 others make changes to the same source file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 An example of the `diff' usage:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305 $ diff -u OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 -or-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 $ diff -c OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 Also, it is helpful if you create the patch in the top level of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 XEmacs source directory:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 $ cp -p lwlib/xlwmenu.c lwlib/xlwmenu.c.orig
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 hack, hack, hack....
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 $ diff -u lwlib/xlwmenu.c.orig lwlib/xlwmenu.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 Also note that if you cut & paste from an xterm to an XEmacs mail buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 you will probably lose due to tab expansion. The best thing to do is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 to use an XEmacs shell buffer to run the diff commands, or ...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 M-x cd to the appropriate directory, and issue the command `C-u M-!' from
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 within XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324 Patches should be as single-minded as possible. Mammoth patches can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 be very difficult to place into the right slot. They are much easier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 to deal with when broken down into functional or conceptual chunks.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 The patches submitted by Kyle Jones and Hrvoje Niksic are stellar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 examples of how to Do The Right Thing.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
330 Each patch should be accompanied by an update to the appropriate
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
331 ChangeLog file. Guidelines for writing ChangeLog entries is governed
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
332 by the GNU coding standards. Please see
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
333 http://www.gnu.org/prep/standards_toc.html [Change Logs section]
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
334 for details.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
335
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
336 Do not submit context diffs (either -c or -u) of ChangeLogs. Because
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
337 of the "stack" nature of ChangeLogs (new entries are always pushed on
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
338 the top), context diffs will fail to apply more often than they
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
339 succeed. Simply cutting and pasting the entry from an Emacs buffer to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
340 the mail buffer (beware of tab expansion!) is probably easiest. The
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
341 Patcher library also will set up your ChangeLogs for you, and copy
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
342 them to the mail. Contextless unified diffs (-U 0) are also
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
343 acceptable but perhaps more trouble than they are worth.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
345 *** Patch discussion etiquette
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
346 -------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
348 If you intend a patch for _application_ to the sources as is, _always_
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
349 post it to xemacs-patches, even if there are minor points you would
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
350 like to have discussed by others. Not doing so will resulting in
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
351 patches getting "lost". If you expect that the patch will not be
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
352 acceptable, but are using it to stimulate discussion, then don't post
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
353 to xemacs-patches. Intermediate cases are up to your judgement;
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
354 unless you're sure you'll follow up with a "real" patch, better to err
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
355 on the side of posting to xemacs-patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
356
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
357 Discussion of the _content_ of the patch (ie responses to reviewer
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
358 comments beyond "that's right, ok, I'll do it your way") should _always_
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
359 be posted to xemacs-beta. (We may split xemacs-beta into code
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
360 discussion and stuff that is more relevant to non-developer testers at
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
361 some point, but at this point xemacs-beta is the correct place for
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
362 this.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
364 If discussion results in a bright idea and you come up with a new
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
365 patch, normally you should post it to both mailing lists. The people
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
366 discussing on XEmacs Beta will want to know the outcome of the thread,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
367 and you need to submit to XEmacs Patches as the "list of record."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
369 If the old patch has been applied to CVS, then just submit the new one
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
370 as usual. If it has not been applied, then it is best to submit a new
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
371 patch against CVS. If possible do this as a reply to the original
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
372 patch post, or something following it in the thread. (The point is to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
373 get the original patch post's Message-ID in your References header.)
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
374 In this case, also use the keyword SUPERCEDES in the Subject header to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
375 indicate that the old patch is no longer valid, and that this one
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
376 replaces it.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
377
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
378 These rules will result in a fair number of cross posts, but we don't
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
379 yet have a better way to handle that.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
380
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
381 Note: Developers should never post to xemacs-patches unless there is a
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
382 patch in the post. We plan to enforce this with an automatic filter.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
384 The exceptions are administrative. If you have commit authorization,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
385 then post a short COMMIT notice to xemacs-patches when you commit to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
386 CVS. Members of the Review Board will also post short notices of
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
387 administrative action (APPROVE, VETO, QUERY, etc) to xemacs-patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
388
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
389 * Packages
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
390 ====================================
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
391
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
392 [Note: these instructions have been partly updated, but not carefully
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
393 reviewed in some time. Caveat tester.]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
395 Starting with XEmacs 21.1, much of the functionality of XEmacs has
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
396 been unbundled into "the packages." For more information about the
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
397 package system, see the Info nodes on Packages (in the XEmacs User
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
398 Manual) and on Packaging (in the Lisp Reference).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
399
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
400 When bootstrapping XEmacs, you may need to manually install some
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
401 packages (at least xemacs-base and efs). These packages are available
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
402 by FTP at ftp://ftp.xemacs.org/pub/xemacs/packages/.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
403
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
404 ** Binary package installation
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 ================================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 Prerequisite: XEmacs 21.0-b1.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 Binary packages are complete entities that can be untarred at the top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410 level of an XEmacs package hierarchy and work at runtime. To install files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 in this directory, run the command `M-x package-admin-add-binary-package'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412 and fill in appropriate values to the prompts.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 ** Manual procedures for package management
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415 ===========================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 Prerequisite: XEmacs 21.0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419 When adding and deleting files from a lisp directory the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 auto-autoloads.el (global symbols) and custom-load.el (Customization
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 groups) must be kept in synch. Assuming one is manipulating a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 directory called `lisp-utils', the command to rebuild the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 auto-autoloads.el file is:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
425 xemacs -vanilla -batch -l autoload -f batch-update-directory lisp-utils
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427 The command to rebuild the custom-load.el file is:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
429 xemacs -vanilla -batch -l cus-dep -f Custom-make-dependencies lisp-utils
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 To bytecompile both of these files the command is:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
433 xemacs -vanilla -batch -f batch-byte-compile \
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
434 lisp-utils/auto-autoloads.el lisp-utils/custom-load.el
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436 ** Building XEmacs and XEmacs packages from scratch
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437 ===================================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439 To build everything completely from scratch (not a high priority as a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
440 design goal), the following procedure should work. (I don't recommend
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
441 building this way).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
442
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
443 *** Phase 1 -- Get a minimal XEmacs binary with mule to build the package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
444 lisp with.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
445
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
446 **** Grab a mule-base tarball and install it into a newly created package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
447 directory.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
448
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
449 **** Configure XEmacs with mule and a package-path including the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
450 directory created above.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
451
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452 **** Do a `make dist' to build an XEmacs binary.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454 *** Phase 2 -- Build and install the package lisp.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456 **** Modify XEmacs.rules for local paths and the XEmacs binary created in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 Phase 1.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459 **** Do a make from the top level package lisp source directory.[1]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 **** Do `make bindist's on all the packages you wish to install and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462 remove the byproduct .tar.gz's.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
464 *** Phase 3 -- If necessary, redump XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465 with the packages that require dump-time support and install it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
466
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467 **** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 rebuild XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 - or -
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
471
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
472 **** rm lib-src/DOC src/xemacs; make
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474 **** Install or run in-place.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
475
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 Note that this is in essence what `make all-elc' has always done.