diff etc/BETA @ 428:3ecd8885ac67 r21-2-22

Import from CVS: tag r21-2-22
author cvs
date Mon, 13 Aug 2007 11:28:15 +0200
parents
children 8de8e3f6228a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/BETA	Mon Aug 13 11:28:15 2007 +0200
@@ -0,0 +1,370 @@
+				-*- mode:outline -*-
+
+* Introduction
+==============
+
+You are running an experimental version of XEmacs.  Please do not
+report problems with Beta XEmacs to comp.emacs.xemacs.  Report them to
+xemacs-beta@xemacs.org.
+
+** XEmacs Beta Mailing List
+===========================
+
+*** Subscribing
+---------------
+
+If you are not subscribed to the XEmacs beta list you should be.  Send
+an email message to xemacs-beta-request@xemacs.org with `subscribe'
+(without the quotes) as the BODY of the message.
+
+*** Unsubscribing
+-----------------
+
+To unsubscribe from the list send an email message to
+xemacs-beta-request@xemacs.org with `unsubscribe' (without the quotes)
+as the BODY of the message.
+
+*** Administrivia
+-----------------
+
+The XEmacs beta list is managed by the Majordomo mailing list package,
+and the usual Majordomo commands work.  Do not send mailing list
+requests to the main address (xemacs-beta@xemacs.org), always send
+them to xemacs-beta-request@xemacs.org.  If you have problems with the
+list itself, they should be brought to the attention of the XEmacs
+Mailing List manager Jason Mastaler <list-manager@xemacs.org>.
+
+
+** Beta Release Schedule
+========================
+
+The URL ftp://ftp.xemacs.org/pub/xemacs/beta/README always contains
+the best estimate of when the next beta XEmacs will be released.  For
+weekend betas the release time is generally in the vicinity of 2PM to
+5PM US Pacific Time (Universal Time minus 8 hours).  For weekday
+betas, the release time is generally in the vicinity of 8PM to
+Midnight US Pacific Time on the listed day.
+
+Betas are nominally a week apart, scheduled on every Saturday.
+Midweek releases are made when a serious enough problem warrants it.
+
+
+** Reporting Problems
+=====================
+
+The best way to get problems fixed in XEmacs is to submit good problem
+reports.  Since this is beta software, problems are certain to exist.
+Please read through all of part II of the XEmacs FAQ for an overview
+of problem reporting.  Other items which are most important are:
+
+1.  Do not submit C stack backtraces without line numbers.  Since it
+    is possible to compile optimized with debug information with GCC
+    it is never a good idea to compile XEmacs without the -g flag.
+    XEmacs runs on a variety of platforms, and often it is not
+    possible to recreate problems which afflict a specific platform.
+    The line numbers in the C stack backtrace help isolate where the
+    problem is actually occurring.
+ 
+2.  Attempt to recreate the problem starting with an invocation of
+    XEmacs with `xemacs -q -no-site-file'.  Quite often, problems are
+    due to package interdependencies, and the like.  An actual bug in
+    XEmacs should be reproducible in a default configuration without
+    loading any special packages (or the one or two specific packages
+    that cause the bug to appear).
+
+3.  A picture can be worth a thousand words.  When reporting an
+    unusual display, it is generally best to capture the problem in a
+    screen dump and include that with the problem report.  The easiest
+    way to get a screen dump is to use the xv program and its grab
+    function.  Save the image as a GIF to keep bandwidth requirements
+    down without loss of information.  MIME is the preferred method
+    for making the image attachments.
+
+** Getting the Source
+=====================
+
+In addition to the normal tar distribution, XEmacs source is now
+available via CVS.  Please see the URL: <URL:http://cvs.xemacs.org/~xemacs/>.
+
+* Compiling Beta XEmacs
+=======================
+
+** Building an XEmacs from patches
+==================================
+
+All beta releases of XEmacs are included with patches from the
+previous version in an attempt to keep bandwidth requirements down.
+Patches should be applied with the GNU patch program in something like
+the following.  Let's say you're upgrading XEmacs 20.15-beta10 to
+XEmacs 20.15-beta11 and you have a full unmodified XEmacs 20.15-beta10
+source tree to work with.  Cd to the top level directory and issue the
+shell command:
+
+$ gunzip -c /tmp/xemacs-20.15-b10-20.15-b11.patch.gz | patch -p1
+
+After patching, check to see that no patches were missed by doing
+$ find . -name \*.rej -print
+
+Any rejections should be treated as serious problems to be resolved
+before building XEmacs.
+
+After seeing that there were no rejections, issue the commands
+
+$ ./config.status --recheck
+$ make beta
+
+and go play minesweep for a while on an older XEmacs while the binary
+is rebuilt.
+
+** Building XEmacs from a full distribution
+==============================================
+
+Locate a convenient place where you have at least 100MB of free space
+and issue the command
+
+$ gunzip -c /tmp/xemacs-20.15-b11.tar.gz | tar xvf -
+
+(or simply `tar zxvf /tmp/xemacs-20.15-b11.tar.gz' if you use GNU tar).
+
+cd to the top level directory and issue an appropriate configure
+command.  One maintainer uses the following at the time of this
+writing:
+
+./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
+
+Part of the configure output is a summary that looks something like:
+
+uname -a: Linux altair.xemacs.org 2.0.32 #2 Sun Nov 16 18:52:14 PST 1997 i586
+
+./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'
+
+
+XEmacs 21.0-b34 "Oberhasli-pre2" configured for `i586-pc-linux'.
+
+  Where should the build process find the source code?    /home/xemacs/xemacs-20.0
+  What installation prefix should install use?		  /usr/local
+  What operating system and machine description files should XEmacs use?
+        `s/linux.h' and `m/intel386.h'
+  What compiler should XEmacs be built with?              gcc -mpentium -march=pentium -O6 -g -fno-peep-spills
+  Should XEmacs use the GNU version of malloc?            yes
+  (Using Doug Lea's new malloc from the GNU C Library.)
+  Should XEmacs use the relocating allocator for buffers? yes
+  What window system should XEmacs use?                   x11
+  Where do we find X Windows header files?                /usr/X11/include
+  Where do we find X Windows libraries?                   /usr/X11/lib
+  Compiling in support for XAUTH.
+  Compiling in support for XPM images.
+  Compiling in support for X-Face message headers.
+  Compiling in support for GIF image conversion.
+  Compiling in support for JPEG image conversion.
+  Compiling in support for PNG image conversion.
+  Compiling in support for TIFF image conversion.
+  Compiling in native sound support.
+  Compiling in support for Berkeley DB.
+  Compiling in support for GNU DBM.
+  Compiling in support for ncurses.
+  Compiling in support for GPM (General Purpose Mouse).
+  Compiling in Mule (multi-lingual) support.
+  Compiling in XIM (X11R5+ I18N input method) support.
+    Using raw Xlib to provide XIM support.
+    Using XFontSet to provide bilingual menubar.
+  Compiling in support for Canna on Mule.
+  Compiling in support for the WNN input method on Mule.
+    Using WNN version 6.
+  Compiling in support for OffiX.
+  Compiling in support for proper session-management.
+  Using Lucid menubars.
+  Using Athena-3d scrollbars.
+  Using Athena-3d dialog boxes.
+  Compiling in DLL support.
+  movemail will use "dot-locking" for locking mail spool files.
+  Using Lisp_Objects with minimal tagbits.
+  Compiling in extra code for debugging.
+  Compiling in code for checking XEmacs memory usage.
+  WARNING: ---------------------------------------------------------
+  WARNING: Compiling in support for runtime error checking.
+  WARNING: XEmacs will run noticeably more slowly as a result.
+  WARNING: Error checking is on by default for XEmacs beta releases.
+  WARNING: ---------------------------------------------------------
+
+
+
+Then type `make' and you should have a working XEmacs.
+
+After you have verified that you have a functional editor, fire up
+your favorite mail program and send a build report to
+xemacs-build-reports@xemacs.org.  The build report should include
+
+1. Your hardware configuration (OS version, etc.)
+
+2. Version numbers of software in use (X11 version, system library
+   versions if appropriate, graphics library versions if appropriate).
+   If you're on a system like Linux, include all the version numbers
+   you can because chances are it makes a difference.
+
+3. The options given to configure
+
+4. The configuration report illustrated above
+
+   For convenience all of the above items are placed in a file called
+   `Installation' in the top level build directory.  They are also
+   available by performing M-x describe-installation inside XEmacs.
+
+5. Any other unusual items you feel should be brought to the attention
+   of the developers.
+
+** Creating patches for submission
+==================================
+
+Patches to XEmacs should be mailed to <xemacs-patches@xemacs.org>.
+Each patch will be reviewed by the patches review board, and will be
+acked and added to the distribution, or rejected with an explanation.
+
+Patches to XEmacs Lisp packages should be sent to the maintainer of
+the package.  If the maintainer is listed as `XEmacs Development Team'
+patches should be sent to <xemacs-patches@xemacs.org>.
+
+Emailed patches should preferably be sent in MIME format and quoted
+printable encoding (if necessary).
+
+When making patches, please use the `-u' option, or if your diff
+doesn't support it, `-c'.  Using ordinary (context-free) diffs are
+notoriously prone to error, since line numbers tend to change when
+others make changes to the same source file.
+
+An example of the `diff' usage:
+
+$ diff -u OLDFILE NEWFILE
+
+-or-
+
+$ diff -c OLDFILE NEWFILE
+
+Also, it is helpful if you create the patch in the top level of the
+XEmacs source directory:
+
+$ cp -p lwlib/xlwmenu.c lwlib/xlwmenu.c.orig
+  hack, hack, hack....
+$ diff -u lwlib/xlwmenu.c.orig lwlib/xlwmenu.c
+
+Each patch should be accompanied by an update to the appropriate
+ChangeLog file.  Please don't mail patches to ChangeLog because they
+have an extremely high rate of failure; just mail us the new part of
+the ChangeLog you added.
+
+Also note that if you cut & paste from an xterm to an XEmacs mail buffer
+you will probably lose due to tab expansion.  The best thing to do is
+to use an XEmacs shell buffer to run the diff commands, or ...
+M-x cd to the appropriate directory, and issue the command `C-u M-!' from
+within XEmacs.
+
+Guidelines for writing ChangeLog entries is governed by the GNU coding 
+standards.  Please see
+	http://www.gnu.org/prep/standards_toc.html   [Change Logs section]
+for details.
+
+Patches should be as single-minded as possible.  Mammoth patches can
+be very difficult to place into the right slot.  They are much easier
+to deal with when broken down into functional or conceptual chunks.
+The patches submitted by Kyle Jones and Hrvoje Niksic are stellar
+examples of how to Do The Right Thing.
+
+** Packages directory on the FTP Site
+=====================================
+
+The packages directory
+	ftp://ftp.xemacs.org/pub/xemacs/beta/xemacs-21.0/packages/
+
+is divided into subdirectory by the major type of package.
+
+drwxr-xr-x   2 beta-f   beta-f      1024 Oct 10 00:43 binary-packages
+drwxr-xr-x   2 beta-f   beta-f       512 Oct 10 00:44 package-sources
+drwxr-xr-x   2 beta-f   beta-f       512 Oct 10 00:44 utils
+
+** Support Utilities (utils)
+============================
+
+The utils directory contains tools to deal with current Lisp sources that
+have not had yet gotten XEmacs package integration.  The script `xpackage.sh'
+is used with Quassia Gnus.  Edit the appropriate variables at the top of
+the script to reflect the local configuration and run it in the top level
+directory of a Quassia Gnus source tree to install an update to Quassia Gnus.
+
+** Binary package installation (binary-packages)
+================================================
+
+Prerequisite:  XEmacs 21.0-b1.
+
+Binary packages are complete entities that can be untarred at the top
+level of an XEmacs package hierarchy and work at runtime.  To install files
+in this directory, run the command `M-x package-admin-add-binary-package'
+and fill in appropriate values to the prompts.
+
+** Manual procedures for package management
+===========================================
+
+Prerequisite: XEmacs 21.0
+
+When adding and deleting files from a lisp directory the
+auto-autoloads.el (global symbols) and custom-load.el (Customization
+groups) must be kept in synch.  Assuming one is manipulating a
+directory called `lisp-utils', the command to rebuild the
+auto-autoloads.el file is:
+
+xemacs-21.0 -vanilla -batch -l autoload -f batch-update-directory lisp-utils
+
+The command to rebuild the custom-load.el file is:
+
+xemacs-21.0 -vanilla -batch -l cus-dep \
+	-f Custom-make-dependencies lisp-utils
+
+To bytecompile both of these files the command is:
+
+xemacs-21.0 -vanilla -batch -f batch-byte-compile \
+	lisp-utils/auto-autoloads.el lisp-utils/custom-laod.el
+
+** Building XEmacs and XEmacs packages from scratch
+===================================================
+
+To build everything completely from scratch (not a high priority as a
+design goal), the following procedure should work.  (I don't recommend
+building this way).
+
+*** Phase 1 -- Get a minimal XEmacs binary with mule to build the package
+    lisp with.
+
+**** Grab a mule-base tarball and install it into a newly created package
+     directory.
+
+**** Configure XEmacs with mule and a package-path including the
+     directory created above.
+
+**** Do a `make dist' to build an XEmacs binary.
+
+*** Phase 2 -- Build and install the package lisp.
+
+**** Modify XEmacs.rules for local paths and the XEmacs binary created in 
+     Phase 1.
+
+**** Do a make from the top level package lisp source directory.[1]
+
+**** Do `make bindist's on all the packages you wish to install and
+     remove the byproduct .tar.gz's.
+
+*** Phase 3 -- If necessary, redump XEmacs
+    with the packages that require dump-time support and install it.
+
+**** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and
+     rebuild XEmacs.
+
+- or -
+
+**** rm lib-src/DOC src/xemacs; make
+
+**** Install or run in-place.
+
+Note that this is in essence what `make all-elc' has always done.