README revision 241096
1156260Syar-*- text -*-
2156260SyarRELNOTESng README
3156260SyarBruce A. Mah <bmah@freebsd.org>
4156260Syar$FreeBSD: head/release/doc/README 241096 2012-10-01 11:26:49Z gabor $
5156260Syar
6156260SyarThis is the top-level directory for RELNOTESng, a re-write of
7156260SyarFreeBSD's *.TXT documentation files.  They have been converted to
8156260SyarDocBook, and versions of the documents can be now be built for various
9156260Syarsupported architectures.  The output files can be rendered in any
10156260Syarformat supported by the FreeBSD Documentation Project (for example,
11156260SyarASCII text, PDF, PS, HTML).
12156260Syar
13156260SyarRELNOTESng requires that the FreeBSD doc/ sources are installed; it
14156260Syarleverages off of much of the DocProj build infrastructure, including
15156260SyarDocBook extensions and stylesheets.  If the doc/ sources are not
16156260Syarinstalled in /usr/src, their location should be specified with the
17156260SyarDOC_PREFIX Makefile variable.  RELNOTESng also requires the DocProj
18156260Syarbuild tools, which can easily be installed with the textproc/docproj
19156260Syarport in the Ports Collection.
20156260Syar
21156260SyarNotable files and directories:
22156260Syar
23156260Syarshare/mk/doc.relnotes.mk
24156260Syar	Common Makefile definitions for RELNOTESng.  These definitions
25156260Syar	mostly accommodate the fact that we're building DocProj-like
26156260Syar	documents outside the doc/ tree.
27156260Syarshare/xml/catalog
28156260Syar	Main SGML catalog for all language-neutral (and default EN)
29156260Syar	stylesheet and entity files.  Can be overridden if needed for
30156260Syar	translations.
31263233Srwatsonshare/xml/default.dsl
32156260Syar	All documents build with this file as a stylesheet.  All it
33156260Syar	does is to make it possible to use the document catalogs to
34156260Syar	locate the "real" stylesheet by reference, rather than having
35156260Syar	to specify it by pathname.
36156260Syarshare/xml/release.dsl
37156260Syar	Language-neutral stylesheet.  This stylesheet supports
38156260Syar	the arch= attribute on (all?) DocBook elements; elements with
39156260Syar	an arch= attribute are only included in the output if their
40156260Syar	value is equal to the value of the &arch; entity.  In the
41156260Syar	future, arch= could be a list of possible &arch; entity values
42156260Syar	that match, such as "i386,sparc64".
43156260Syarshare/xml/release.ent
44156260Syar	Release information.  Need to update the entry definitions in
45156260Syar	this file when rolling new revisions; these should take effect
46156260Syar	in all documents.
47156260Syar
48255219Spjden_US.ISO8859-1/share/xml/release.dsl
49156260Syar	Language-dependent stylesheet for en, but also the default for
50156260Syar	translations if they don't override the settings here.  This
51156260Syar	stylesheet sets the email footer at the bottom of HTML pages,
52156260Syar	as well as a few other parameters.  If necessary for
53156260Syar	translations, this file can be overridden with
54156260Syar	*/share/xml/release.dsl and */share/xml/catalog.
55156260Syar
56156260Syar*/relnotes/common/
57156260Syar	Directory for multi-architecture release notes files.
58255219Spjd*/relnotes/*/
59255219Spjd	Directories for architecture-specific release notes files.
60156260Syar
61156260Syar*/hardware/common/
62156260Syar	Directory for multi-architecture hardware notes files.
63156260Syar*/hardware/*/
64156260Syar	Directories for architecture-specific hardware notes files.
65156260Syar
66156260Syar*/installation/common/
67156260Syar	Directory for multi-architecture installation notes files.
68156260Syar	Note that the FreeBSD DocProj build infrastructure does
69156260Syar	not handle documents (or subdirectories) named "install" 
70156260Syar	well, so we call our document "installation" and do
71156260Syar	a hack when it gets installed into a distribution to fix
72156260Syar	this up.
73156260Syar*/installation/*/
74156260Syar	Directories for architecture-specific release notes files.
75156260Syar
76156260Syar*/errata/
77156260Syar	Directory for errata document.
78156260Syar
79156260Syar*/readme/
80156260Syar	Directory for (introductory) document.
81156260Syar
82156260SyarIf building the release notes "standalone" (in other words, not part
83241394Skevloof a release), it may be necessary (depending on the relative
84156260Syarlocations of the checked-out src/ and doc/ directories) to set the
85156260SyarDOC_PREFIX Makefile variable to point to the top directory of the doc/
86156260Syartree.  For example:
87156260Syar
88156260Syar	 % make DOC_PREFIX=/usr/doc all
89156260Syar
90156260SyarAll definition of the "current" version of FreeBSD is contained in the
91share/xml/release.ent file; release engineers should peruse the
92contents of this file carefully when doing version number bumps.
93
94When creating content for the architecture-dependent files, authors
95should use the arch= attribute to elements that are specific to a
96particular machine architecture.  The value of this attribute should
97be a single word that indicates for which architecture the current
98element will be included.  For example:
99
100	<para arch="sparc64">SPARC64-specific text</para>
101
102The currently-supported architectures are amd64, arm, i386, ia64,
103pc98, powerpc, and sparc64.  An element may appear for multiple
104architectures by specifying a comma-separated list of architectures
105(i.e. arch="sparc64,ia64").
106
107When creating a translation, make a new directory under this
108directory with a language code (paralleling the DocProj directory
109structure).  If necessary, new language-dependent HTML footers can be
110generated by making a new language-dependent
111${LANG}/share/xml/release.dsl, a ${LANG}/share/xml/catalog that
112points to it, and a new definition in the Makefiles that adds
113${LANG}/share/xml/catalog to EXTRA_CATALOGS.  Except for the Makefile
114changes, this is the same procedure that is used for creating a new
115translation for DocProj files.
116
117RELNOTESng is now enabled by default in the FreeBSD release-build
118process.  It can be disabled by setting NODOC=YES when building a
119release (note that this is the same variable that disables DocProj
120documentation builds).
121
122Release builders can set which language gets built with the 
123RELNOTES_LANG variable; note that this is different from the 
124DOC_LANG variable because (at least initially) most languages
125will have localized DocProj files but not localized release notes.
126The default language, if none is specified, is en_US.ISO8859-1.
127
128