summaryrefslogtreecommitdiff
path: root/Master/xemtex/doc/ghostscript/Release.htm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/xemtex/doc/ghostscript/Release.htm')
-rw-r--r--Master/xemtex/doc/ghostscript/Release.htm769
1 files changed, 769 insertions, 0 deletions
diff --git a/Master/xemtex/doc/ghostscript/Release.htm b/Master/xemtex/doc/ghostscript/Release.htm
new file mode 100644
index 00000000000..561de32658c
--- /dev/null
+++ b/Master/xemtex/doc/ghostscript/Release.htm
@@ -0,0 +1,769 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>How to prepare a Ghostscript release</title>
+<!-- $Id: Release.htm,v 1.40.2.23.2.6 2003/05/17 14:39:00 giles Exp $ -->
+<!-- Originally: make.txt -->
+<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
+</head>
+
+<body>
+<!-- [1.0 begin visible header] ============================================ -->
+
+<!-- [1.1 begin headline] ================================================== -->
+
+<h1>How to prepare a Ghostscript release</h1>
+
+<!-- [1.1 end headline] ==================================================== -->
+
+<!-- [1.2 begin table of contents] ========================================= -->
+
+<h2>Table of contents</h2>
+
+<blockquote><ul>
+<li><a href="#Introduction">Introduction</a>
+<li><a href="#Servers">Servers</a>
+<ul>
+<li><a href="#Distribution">Distribution</a>
+</ul>
+<li><a href="#Making_distributions">Making distributions</a>
+<ul>
+<li><a href="#Preparing_source">Preparing the source code</a>
+<li><a href="#Testing">Testing</a>
+<li><a href="#Making_Tarballs">Making the source distribution</a>
+<li><a href="#Testing_on_Windows">Testing on Windows</a>
+<li><a href="#Windows_distribution">Building the Windows distribution</a>
+<li><a href="#Finishing_up">Finishing up</a>
+<li><a href="#Beta_distributions">Beta distributions</a>
+<li><a href="#Public_releases">Public releases</a>
+</ul>
+<li><a href="#After_releasing">After releasing</a>
+<li><a href="#Fonts">Fonts</a>
+</ul></blockquote>
+
+<!-- [1.2 end table of contents] =========================================== -->
+
+<!-- [1.3 begin hint] ====================================================== -->
+
+<p>For other information, see the <a href="Readme.htm">Ghostscript
+overview</a> and the instructions on how to <a href="Make.htm">build
+Ghostscript</a>.
+
+<!-- [1.3 end hint] ======================================================== -->
+
+<hr>
+
+<!-- [1.0 end visible header] ============================================== -->
+
+<!-- [2.0 begin contents] ================================================== -->
+
+<h2><a name="Introduction"></a>Introduction</h2>
+
+<p>
+This document describes the process that artofcode LLC, the copyright holder
+of Ghostscript, uses for making new Ghostscript releases. Please note
+that while the the license allows anyone to prepare and distribute
+releases in accordance with its terms and conditions, this document is
+really meant only to document the process used by artofcode LLC.
+However, the eventual purpose of this document is to describe
+Ghostscript release procedures in enough detail that someone who knows
+little about Ghostscript but is generally familiar with the platform on
+which the procedure is being carried out can execute the procedures
+correctly. So if you add or changing anything to/in this document,
+be sure to specify all command lines, file names, etc. in explicit
+detail.
+
+<p>
+File names below that don't include an explicit subdirectory name are in the
+<b><tt>src</tt></b> subdirectory.
+
+<p>
+If you do plan to make your own distribution, please be aware of some items
+you will want to change.
+
+<ul>
+
+<li>If you make any significant changes, please edit
+<b><tt>gscdef.c</tt></b> to change <b><tt>GS_PRODUCTFAMILY</tt></b> and
+<b><tt>GS_PRODUCT</tt></b> from "GNU Ghostscript" to something else,
+in order to avoid confusion with artofcode's releases.
+
+<li>In the same file, you may also want to edit <b><tt>GS_COPYRIGHT</tt></b>
+to add your own copyright notice (although you must not remove any
+notice that is there).
+
+<li>You will almost certainly want to edit <b><tt>version.mak</tt></b> to
+change the revision date, <b><tt>GS_REVISIONDATE</tt></b>.
+
+<li>If you want to change the version number, you must change it in both
+<b><tt>version.mak</tt></b> (<b><tt>GS_VERSION_</tt></b>*) and
+<b><tt>lib/gs_init.ps</tt></b> (the integer on a line by itself near the
+beginning of the file).
+
+</ul>
+
+<h2><a name="Servers"></a>Servers</h2>
+
+<p>
+The Ghostscript source files are maintained on sites accessible to
+the public. One specific site hosts the active CVS repository for code,
+data, and documentation, and the bug report data base; several sites
+offer distributions with version numbers, intended for wider
+distribution.
+
+<h3><a name="Distribution"></a>Distribution</h3>
+
+<p>
+The primary distribution site for GNU Ghostscript is the <a
+href="ftp://ftp.gnu.org/gnu/ghostscript/" class="offsite">GNU ftp
+site</a> and its <a
+href="http://www.gnu.org/prep/ftp.html" class="offsite">mirrors</a>.
+
+<p>
+Stable releases are also distributed from
+
+<blockquote>
+<a
+href="ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/"
+class="offsite">ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/</a>
+</blockquote>
+
+<h2><a name="Making_distributions"></a>Making distributions</h2>
+
+<p>
+This document only discusses source distributions. Source distributions
+currently can only be made on GNU/Linux systems (but it probably wouldn't
+take much work to support other Unix-like systems). Ghostscript as
+distributed also
+often includes executables or other packages for the Windows and MacOS
+environments, but artofcode does not produce these, and this document does not
+discuss them. For more information about Windows packages, please contact
+<a href="mailto:bug-gswin@ghostscript.com"><tt>bug-gswin@ghostscript.com</tt></a>;
+for more information about MacOS packages, please contact <a
+href="mailto:mac-gs@ghostscript.com"><tt>mac-gs@ghostscript.com</tt></a>.
+
+<p>
+To make a source distribution, you will need the scripts and data files in
+the <b><tt>toolbin/</tt></b> directory. The instructions below generally
+assume that you're invoking the relative to the top level of the source
+tree.
+
+To run the scripts, you will need reasonably current versions of Tcl,
+freely available from Scriptics
+(<a class="offsite" href="http://www.scriptics.com"><tt>http://www.scriptics.com</tt></a>), and
+Python, freely available from <a class="offsite"
+href="http://www.python.org"><tt>http://www.python.org</tt></a>.
+
+<p>
+The instructions below also refer to some files that are deliberately
+omitted from the public distribution, because they are not freely
+redistributable. You will need to provide similar files for your
+environment.
+
+<blockquote><pre>
+<b><tt>data/*/*.ps</tt></b> (PostScript files) - needed for smoke testing
+</pre></blockquote>
+
+<h3><a name="Preparing_source"></a>Preparing the source code</h3>
+
+<p>
+Update references to the date for release:
+
+<ul>
+
+<li>In <b><tt>lib/gs_init.ps</tt></b>, as an integer (release number
+x100) at the beginning of the file just after the initial comment
+blocks.
+
+<li>In <b><tt>version.mak</tt></b>, the numeric date.
+
+<li>In <b><tt>doc/News.htm</tt></b>, in two places, skipping the Id:
+line. That is, in parentheses after the <tt>VERSION X.YY</tt> heading,
+and in the copyright footer both the year and the release date.
+
+</ul>
+
+We recommend using a UTC release date to avoid timezone skew.
+
+<p>
+Also in <b><tt>doc/News.htm</tt></b>, update the number of the highest
+closed bug and the list of open bugs.
+
+<p>
+Check in <b><tt>gscdef.c</tt></b> that the definition of
+<b><tt>GS_PRODUCT</tt></b> includes the appropriate one of "DEVELOPMENT
+RELEASE", "BETA RELEASE", or neither, and does not include "CVS
+PRE-RELEASE".
+
+<p>Run the source-consistency checks from the test suite:
+
+<blockquote><pre>
+toolbin/tests/check_all.py --gsroot=.
+</pre></blockquote>
+Where the argument of --gsroot is the path to the top level of the
+source tree. Fix any problems it indicates, and commit them to cvs.
+
+<p>
+Check for patched configuration parameters, <b><tt>#define TEST</tt></b>s,
+version/date inconsistencies, and mismatches between the working directory
+and the CVS repository by running:
+
+<blockquote><pre>
+toolbin/pre
+</pre></blockquote>
+
+<p>
+This program compares the result of various greps against a check file,
+writing the results of grep on one output file and the differences from the
+check file on another. See the source code of
+<b><tt>toolbin/pre</tt></b> for the default file names. The
+important one is the check file,
+<b><tt>toolbin/pre.chk</tt></b>. <b><tt>pre</tt></b> also verifies
+that the
+right information is in the following places:
+<ul>
+<li>version number in <b><tt>man/*.1</tt></b>, <b><tt>doc/*.htm</tt></b>,
+<b><tt>version.mak</tt></b>, <b><tt>doc/gs-vms.hlp</tt></b>,
+<b><tt>lib/gs_init.ps</tt></b>
+<li>revision date in <b><tt>man/*.1</tt></b>, <b><tt>doc/*.htm</tt></b>,
+<b><tt>version.mak</tt></b>, <b><tt>doc/gs-vms.hlp</tt></b>
+<li>copyright year (if necessary) in <b><tt>gscdef.c</tt></b>
+<li>third-party library version number in <b><tt>*.mak</tt></b>
+</ul>
+
+<p>
+If necessary, run
+
+<blockquote><pre>
+toolbin/pre update
+</pre></blockquote>
+
+<p>
+to update the version and revision date in the doc files, and then run
+
+<blockquote><pre>
+toolbin/pre
+</pre></blockquote>
+
+<p>
+again. To confirm that everything is updated. You may have to commit to
+cvs after the update to satify the script that all the dates are
+correct.
+
+<p>
+Check the consistency of the source code with the makefiles by
+running:
+
+<blockquote><pre>
+toolbin/gsmake.tcl check
+</pre></blockquote>
+
+This script assumes the top level makefile is named '<tt>makefile</tt>'.
+
+<p>
+Fix any problems and commit to cvs.
+
+<h3><a name="Testing"></a>Testing</h3>
+
+<p>
+Edit your top-level the Makefile to set
+<blockquote><pre>
+FEATURE_DEVS=$(FEATURE_DEVS_ALL)
+COMPILE_INITS=1
+</pre></blockquote>
+
+<p>
+This will help catch compilation problems.
+
+<p>
+Run
+
+<blockquote><pre>
+rm obj/*
+make -j2 &gt;&amp; make.log
+</pre></blockquote>
+
+<p>
+and look for warnings and errors in the log file.
+
+<p>
+Do a smoke test, updating the example paths as necessary:
+
+<blockquote><pre>
+unset GS_DEVICE GS_FONTPATH GS_LIB GS_OPTIONS
+./bin/gs -I./lib -I./fonts -dNOPAUSE -dBATCH /gs/toolbin/smoke.ps
+./bin/gs -I./lib -I./fonts -dNOPAUSE -dBATCH -sDEVICE=bitcmyk\
+ -sOutputFile=/dev/null -r600 -dBufferSpace=50000 /gs/toolbin/smoke.ps
+</pre></blockquote>
+
+<p>
+This reads files named
+
+<blockquote><pre>
+<b><tt>data/misc/*.ps</tt></b>
+<b><tt>data/ps/*.ps</tt></b>
+<b><tt>data/psl2/*.ps</tt></b>
+<b><tt>data/psl3/*.ps</tt></b>
+<b><tt>data/pdf/*.pdf</tt></b>
+</pre></blockquote>
+
+<p>
+(Edit <b><tt>toolbin/smoke.ps</tt></b> to use other test sets.)
+Watch for crashes, unusual error messages, or anomalous displayed output.
+If there are any problems, start over from the beginning of the process.
+
+<p>
+Undo the <b><tt>FEATURE_DEVS</tt></b> and <b><tt>COMPILE_INITS</tt></b>
+edits.
+
+<p>
+Run
+
+<blockquote><pre>
+cvs commit
+</pre></blockquote>
+
+<p>
+to ensure the repository is up to date.
+
+<p>
+Execute
+
+<blockquote><pre>
+toolbin/cvs2hist.py -j &lt;previous_tag&gt; -r '-r&lt;branch_tag&gt;' -v &lt;new_version&gt; &gt; doc/Changes.htm
+</pre>
+e.g. <pre>toolbin/cvs2hist.py -j gs7_04 -r '-rGS_7_0X' -v 7.05</pre>
+</blockquote>
+
+<p>
+This consolidates all the CVS logs since the previous release in a readable
+format. Note: the cvs2hist.py tool currently in the distribution is not
+very branch-aware (nor is the 'cvs log' command it depends on) so the extra
+complication of the -j and -r options are required when generating the Changes
+for a non-HEAD branch of Ghostscript. Note that the -r option should be
+an empty '-b' when generating logs for the cvs main branch due to
+variations in naming.
+
+<p>
+Run
+
+<blockquote><pre>
+tclsh
+% source toolbin/makeset.tcl
+% makehist
+</pre></blockquote>
+
+<p>
+This updates <b><tt>doc/History#.htm</tt></b> from
+<b><tt>doc/News.htm</tt></b> and <b><tt>doc/Changes.htm</tt></b>.
+
+Then run
+
+<blockquote><pre>
+cvs commit
+</pre></blockquote>
+
+<p>
+again to check in the Changes and history files.
+
+<h3><a name="Making_Tarballs"></a>Making the source distribution</h3>
+
+<p>
+First, tag the versions of the files in cvs with the release version
+number.
+
+<blockquote>
+<pre><tt>cvs tag gs#_##</tt></pre>
+</blockquote>
+
+If you've already tagged this release (e.g. in making an earlier
+release candidate) you'll need to add the <tt>-r</tt> and <tt>-F</tt>
+options after 'cvs tag' to force moving the tag to the new revisions
+of changed files.
+
+<p>
+Pull a fresh copy for distribution from the cvs repository:
+
+<blockquote><pre>
+<tt>cvs -z3 -d &lt;ghostscript cvsroot&gt; export -r gs#_## -d ghostscript-#.## gs</tt>
+</pre></blockquote>
+
+
+<p>
+Generate the text versions of the README document:
+
+<blockquote>
+<pre><tt>cd ghostscript-#.##</tt>
+<tt>lynx -dump -nolist doc/Readme.htm &gt; doc/README</tt>
+</blockquote>
+
+<p>
+For the unix source distributions only, generate the configure
+scripts. From the top level directory, run
+
+<blockquote><pre><tt>./autogen.sh</tt>
+<tt>make distclean</tt>
+</pre></blockquote>
+
+This should create links to <tt>configure.ac</tt> and
+<tt>Makefile.in</tt> in the top level directory and
+invoke autoconf to create the <tt>configure</tt> script.
+
+<p>
+Also, run <tt>autoconf</tt> in the ijs subdir to create the configure script
+for that package.
+
+<p>
+Move back to directory containing the distribution code and make the
+source archives with:
+
+<blockquote><pre>
+<tt>tar cvzf ghostscript-#.##.tar.gz ghostscript-#.##/*</tt>
+<tt>zcat ghostscript-#.##.tar.gz | bzip2 -c > ghostscript-#.##.tar.bz2</tt>
+</pre></blockquote>
+
+<p>
+This creates the files
+
+<blockquote><pre>
+<b><tt>ghostscript-#.##.tar.gz</tt></b> (main archive)
+<b><tt>ghostscript-#.##.tar.bz2</tt></b> (main archive)
+</pre></blockquote>
+
+<p>
+The important issue is that the tarballs unpack into a directory
+of the same name, and that the code be a pristine copy without
+build or CVS housekeeping files.
+
+<p>
+It is also customary to make a <tt>gs###src.zip</tt> archive for the
+convenience of windows developers. See below.
+
+<h3><a name="Testing_on_Windows"></a>Testing on Windows</h3>
+
+<p>
+For Windows testing, you will need, in addition to the files listed
+under "<a href="#Preparing_source">Preparing the source</a>" above:
+<blockquote><pre>
+<b><tt>toolbin/makewin</tt></b> (link to <b><tt>makeset.tcl</tt></b>)
+</pre></blockquote>
+
+<p>
+The following procedures rely on a large number of MS-DOS batch scripts that
+are not discussed here: they are unlikely to be generally useful.
+
+<p>
+Mount the Windows partition on <b><tt>/c</tt></b>, and create the
+<b><tt>/c/work</tt></b> directory if needed.
+
+<p>
+Make the zip archive of all files needed for a Windows build, and copy it to
+the Windows partition:
+
+<blockquote><pre>
+toolbin/makewin
+cp gs###.zip /c/work
+</pre></blockquote>
+
+<p>
+Boot into Windows. Unpack the archive:
+
+<blockquote><pre>
+cd \work
+unzip -oq gs###.zip
+gs###
+</pre></blockquote>
+
+<p>
+The <b><tt>gs###.bat</tt></b> script creates some necessary directories,
+sets up <b><tt>PATH</tt></b> and <b><tt>GS_LIB</tt></b> for testing, and
+makes the <b><tt>gs#.##</tt></b> directory current.
+
+<p>
+Build with the Borland compiler:
+
+<blockquote><pre>
+config bcwin32
+copy /y /b ..\gs\makefile
+erase obj\*.*
+make > bc.log
+</pre></blockquote>
+
+<p>
+Smoke test the executables (both <b><tt>gswin32</tt></b> and
+<b><tt>gswin32c</tt></b>), as described above for source distributions.
+Then build with the Microsoft compiler:
+
+<blockquote><pre>
+config msvc32
+copy /y /b ..\gs\makefile
+erase obj\*.*
+nmake > msvc.log
+</pre></blockquote>
+
+<p>
+Smoke test these executables too.
+
+<p>
+Building with the Watcom compiler doesn't work, because the
+<b><tt>wmake</tt></b> or <b><tt>wmakel</tt></b> program runs out of memory.
+However, if it did work, this is how to do it:
+
+<blockquote><pre>
+config watcw32
+copy /y /b ..\gs\makefile
+erase obj\*.*
+wmake -u > watc.log
+</pre></blockquote>
+
+<p>
+Boot back into GNU/Linux. If testing in Windows revealed problems, edit the
+source files as necessary, and go back to <a
+href="#Preparing_source">"Preparing the source code."</a>
+
+<h3><a name="Windows_distribution"></a>Building the Windows distribution</h3>
+<p>
+Extract the sources from <b><tt>ghostscript-N.NN.tar.gz</tt></b>
+then repackage in a zip file as follows:
+<blockquote>
+<b><tt>zip -r temp.zip gsN.NN/doc gsN.NN/examples gsN.NN/icclib
+ gsN.NN/ijs gsN.NN/lib gsN.NN/src</tt></b>
+</blockquote>
+Unzip converting the line endings to CRLF:
+<blockquote>
+<b><tt>unzip -a temp.zip<br>
+del temp.zip</tt></b>
+</blockquote>
+Then finally zip up the sources to the distribution file:
+<blockquote>
+<b><tt>zip -9 -r gsNNNsrc.zip gsN.NN</tt></b>
+</blockquote>
+This method is reasonably portable, and does not convert binary
+files such as
+<b><tt><a href="../examples/annots.pdf">examples/annots.pdf</a></tt></b>.
+<p>
+Unzip <b><tt>gsNNNsrc.zip</tt></b>.
+The directory must be named <b><tt>gsN.NN</tt></b>.
+<p>
+Extract the fonts <b><tt>gnu-gs-fonts-std-6.0.tar.gz</tt></b>
+into a directory <b><tt>fonts</tt></b> adjacent to the
+<b><tt>gsN.NN</tt></b> directory.
+The fonts are needed in this location for building
+the distribution archive later.
+<p>
+You will need the command line Info-Zip zip program available from
+<a href="http://www.info-zip.org/pub/infozip/">
+http://www.info-zip.org/pub/infozip/</a>
+Alternatively, the command line version of WinZip
+(<b><tt>wzzip.exe</tt></b>) can be used by replacing the
+Info-Zip command line options <b><tt>-9 -r</tt></b>
+with <b><tt>-ex -P</tt></b> in
+<b><tt><a href="../src/winint.mak">winint.mak</a></tt></b>.
+<p>
+You will need WinZip Self-Extractor for building the
+self extracting archive. This is commercial software.
+You may need to update the path <b><tt>WINZIPSE_XE</tt></b> in
+<b><tt><a href="../src/winint.mak">winint.mak</a></tt></b>.
+<p>
+Unzip the jpeg, libpng and zlib libraries, then make ghostscript
+as documented in <a href="Make.htm">Make.htm</a>.
+<p>
+Run the command <b><tt>nmake archive</tt></b>. This builds the distribution
+archive <b><tt>gsNNNw32.exe</tt></b> and an ordinary zip file
+<b><tt>gsNNNw32.zip</tt></b> in the parent directory.
+If you do not have WinZip Self-Extractor, you can use
+<b><tt>nmake zip</tt></b> to make <b><tt>gsNNNw32.zip</tt></b> only.
+
+<h3><a name="Finishing_up"></a>Finishing up</h3>
+
+<p>
+Upload <b><tt>ghostscript-#.##.tar.*</tt></b> to SourceForge (by anonymous
+FTP to <b><tt>upload.sourceforge.net</tt></b>, directory
+<b><tt>/incoming</tt></b>), and then post it using the "File Release"
+facility in the Ghostscript project.
+If this is a GNU release, put it in the <b><tt>gnu-gs</tt></b> module.
+If this is a test release or beta release, put
+it in the <b><tt>gs-devel</tt></b> or <b><tt>gs-beta</tt></b> module,
+respectively.
+If you are adding executable builds or source archives for other
+platforms to an existing source release, please use the same release
+date as the source release, not the current date.
+
+<h3><a name="Beta_distributions"></a>Beta distributions</h3>
+
+<p>
+Do the steps for distributions in general.
+
+<p>
+Upload <b><tt>ghostscript-#.##.tar.*</tt></b> to the testing directory on
+mirror.cs.wisc.edu.
+
+<p>
+Send an email announcement to the <tt>gs-test</tt> list
+announcing the new release.
+
+<h3><a name="Public_releases"></a>Public releases</h3>
+
+<p>
+Update the title (current version #), first heading (previous version #),
+and "new features" and "known problems" lists in
+<b><tt>doc/Current.htm</tt></b>.
+
+<p>
+Do the steps for distributions in general.
+
+<p>
+Create a directory at
+<b><tt>ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/gs###/</tt></b>.
+In that
+directory, store the following files:
+
+<ul>
+
+<li>Standard distribution files:
+
+<blockquote><pre>
+<b><tt>ghostscript-#.##.tar.gz</tt></b>
+<b><tt>ghostscript-#.##.tar.bz2</tt></b>
+</pre></blockquote>
+
+<li>MS Windows source and executables:
+
+<blockquote><pre>
+<b><tt>gs###src.zip</tt></b>
+<b><tt>gs###w32.exe</tt></b>
+<b><tt>gs###w32.zip</tt></b>
+</pre></blockquote>
+
+<li>Third-party libraries, as links (upload these if not installed), where
+<b><tt>$$$</tt></b> et al. refer to the version number of the library, which
+should be the latest compatible release of the library and should be
+consistent with the values of and version numbers specifically listed in
+the makefiles.
+
+<blockquote><pre>
+<b><tt>jpegsrc.v$$.tar.gz</tt></b> -> <b><tt>../../3rdparty/jpegsrc.v$$.tar.gz</tt></b>
+<b><tt>libpng-$.$.$.tar.gz</tt></b> -> <b><tt>../../3rdparty/libpng-$.$.$.tar.gz</tt></b>
+<b><tt>zlib-$.$.$.tar.gz</tt></b> -> <b><tt>../../3rdparty/zlib-$.$.$.tar.gz</tt></b>
+<b><tt>jpegsr$$.zip</tt></b> -> <b><tt>../../3rdparty/jpegsr$$.zip</tt></b>
+<b><tt>lpng$$$.zip</tt></b> -> <b><tt>../../3rdparty/lpng$$$.zip</tt></b>
+<b><tt>zlib$$$.zip</tt></b> -> <b><tt>../../3rdparty/zlib$$$.zip</tt></b>
+</pre></blockquote>
+
+In any case, the names of the links in the distribution directory should reflect
+the original name of the upstream file.
+
+<li>Fonts, where <b><tt>$.$$</tt></b> refers to the most recent version
+number of the fonts:
+
+<blockquote><pre>
+<b><tt>ghostscript-fonts-other-$.$.tar.gz</tt></b> -> <b><tt>../fonts/ghostscript-fonts-other-$.$.tar.gz</tt></b>
+<b><tt>ghostscript-fonts-std-$.$.tar.gz</tt></b> -> <b><tt>../fonts/ghostscript-fonts-std-$.$.tar.gz</tt></b>
+</pre></blockquote>
+
+</ul>
+
+<p>
+(Note that the link names are somewhat inconsistent: some of them retain the
+version number of the file being referenced, and some of them use the
+Ghostscript version number. This is a historical artifact that might be
+changed someday.)
+
+<p>
+E-mail the release announcement using:
+<blockquote><pre>
+To: gs-announce
+</pre></blockquote>
+
+<p>
+Edit the Web pages in cvs and commit to reflect the new release.
+The Wisconsin server should update automatically.
+
+<h2><a name="After_releasing"></a>After releasing</h2>
+
+<p>
+E-mail the full URL and the <b><tt>md5sum</tt></b> of the new archive(s) to
+<a href="mailto:ftp-upload@gnu.org"><tt>ftp-upload@gnu.org</tt></a>. This
+will allow the site maintainers to add the new release to the GNU
+distribution network.
+
+<p>
+It may also be helpful to have the Free Software Foundation review the
+code before release to see whether it meets their standards for
+distribution from the gnu.org website.
+
+<p>
+Update the version number by incrementing it:
+
+<ul>
+
+<li>In <b><tt>lib/gs_init.ps</tt></b>, at the very beginning of the file.
+
+<li>In <b><tt>version.mak</tt></b>, in 3 definitions.
+
+<li>In <b><tt>doc/News.htm</tt></b>, in 4 places.
+
+</ul>
+
+<p>
+In <b><tt>gscdef.c</tt></b>, edit the definition of
+<b><tt>GS_PRODUCT</tt></b> to include "CVS PRE-RELEASE".
+
+<p>
+Edit <b><tt>doc/News.htm</tt></b> to remove all the content.
+
+
+<h2><a name="Fonts"></a>Fonts</h2>
+
+<p>
+artofcode LLC distributes a package of the base 35 PostScript fonts, and a
+package of other miscellaneous fonts. These are released with a
+licence matching that of the Ghostscript code.
+
+<p>
+To make the font packages, run the command
+
+<blockquote><pre>
+toolbin/makefonts #.##
+</pre></blockquote>
+
+<p>
+This creates the following files:
+
+<blockquote><pre>
+ghostscript-fonts-std-#.##.tar.gz
+ghostscript-fonts-other-#.##.tar.gz
+gnu-gs-fonts-std-#.##.tar.gz
+gnu-gs-fonts-other-#.##.tar.gz
+</pre></blockquote>
+
+<p>
+The second two should be uploaded to
+<b><tt>ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/fonts/</tt></b>,
+and the url and md5sum sent to the GNU ftp maintainers as with the
+ghostscript source.
+
+<!-- [2.0 end contents] ==================================================== -->
+
+<!-- [3.0 begin visible trailer] =========================================== -->
+<hr>
+
+<p>
+<small>Copyright &copy; 1999-2002 artofcode LLC. All rights
+reserved.</small>
+
+<p>
+This software is provided AS-IS with no warranty, either express or
+implied.
+
+This software is distributed under license and may not be copied,
+modified or distributed except as expressly authorized under the terms
+of the license contained in the file LICENSE in this distribution.
+
+<p>
+<small>Ghostscript version 7.07, 17 May 2003
+
+<!-- [3.0 end visible trailer] ============================================= -->
+
+</body>
+</html>