Provide a way to keep out old ("historic") release notes from bloating

the size of the rendered release notes.  By default, any element with
a role="historic" attribute won't get rendered in the output unless
the INCLUDE_HISTORIC Makefile variable is defined.
This commit is contained in:
Bruce A. Mah 2002-06-20 21:19:49 +00:00
parent d813626f4d
commit d0e8afbf5a
6 changed files with 102 additions and 18 deletions

View File

@ -14,7 +14,14 @@
<abstract>
<para>The release notes for &os; &release.current; contain a summary
of the changes made in the &os; base system since &release.prev;.
of
<![ %include.historic; [
the changes made in the &os; base system since &release.prev;.
]]>
<![ %no.include.historic; [
recent changes made to the &os; base system on the &release.branch;
development branch.
]]>
Both changes for kernel and userland are listed, as well as
applicable security advisories that were issued since the last
release. Some brief remarks on upgrading are also presented.</para>
@ -26,8 +33,8 @@
<para>This document contains the release notes for &os;
&release.current; on the &arch.print; hardware platform. It
describes new features of &os; that have been added (or changed)
since &release.prev;. It also provides some notes on upgrading
describes recently added, changed, or deleted features of &os;.
It also provides some notes on upgrading
from previous versions of &os;.</para>
<![ %release.type.snapshot [
@ -58,13 +65,27 @@
<sect1>
<title>What's New</title>
<para>This section describes the most user-visible new or changed
features in &os; since &release.prev;. Typical release note items
<para>This section describes
<![ %include.historic; [
the most user-visible new or changed features in &os;
since &release.prev;.
In general, changes described here are unique to the &release.branch;
branch unless specifically marked as &merged; features.
]]>
<![ %no.include.historic; [
many of the user-visible new or changed features in &os;
since &release.prev;. It includes items that are unique to the
&release.branch; branch, as well as some features that may have been
recently merged to
other branches (after &os; &release.prev.historic;). The later
items are marked as &merged;.
]]>
</para>
<para>Typical release note items
document new drivers or hardware support, new commands or options,
major bugfixes, or contributed software upgrades. Security
advisories issued after &release.prev; are also listed. In
general, changes described here are unique to the &release.branch;
branch unless specifically marked as &merged; features.</para>
major bugfixes, or contributed software upgrades. Applicable security
advisories issued after &release.prev; are also listed.</para>
<para>Many additional changes were made to &os; that are not listed
here for lack of space. For example, documentation was corrected

View File

@ -14,7 +14,14 @@
<abstract>
<para>The release notes for &os; &release.current; contain a summary
of the changes made in the &os; base system since &release.prev;.
of
<![ %include.historic; [
the changes made in the &os; base system since &release.prev;.
]]>
<![ %no.include.historic; [
recent changes made to the &os; base system on the &release.branch;
development branch.
]]>
Both changes for kernel and userland are listed, as well as
applicable security advisories that were issued since the last
release. Some brief remarks on upgrading are also presented.</para>
@ -26,8 +33,8 @@
<para>This document contains the release notes for &os;
&release.current; on the &arch.print; hardware platform. It
describes new features of &os; that have been added (or changed)
since &release.prev;. It also provides some notes on upgrading
describes recently added, changed, or deleted features of &os;.
It also provides some notes on upgrading
from previous versions of &os;.</para>
<![ %release.type.snapshot [
@ -58,13 +65,27 @@
<sect1>
<title>What's New</title>
<para>This section describes the most user-visible new or changed
features in &os; since &release.prev;. Typical release note items
<para>This section describes
<![ %include.historic; [
the most user-visible new or changed features in &os;
since &release.prev;.
In general, changes described here are unique to the &release.branch;
branch unless specifically marked as &merged; features.
]]>
<![ %no.include.historic; [
many of the user-visible new or changed features in &os;
since &release.prev;. It includes items that are unique to the
&release.branch; branch, as well as some features that may have been
recently merged to
other branches (after &os; &release.prev.historic;). The later
items are marked as &merged;.
]]>
</para>
<para>Typical release note items
document new drivers or hardware support, new commands or options,
major bugfixes, or contributed software upgrades. Security
advisories issued after &release.prev; are also listed. In
general, changes described here are unique to the &release.branch;
branch unless specifically marked as &merged; features.</para>
major bugfixes, or contributed software upgrades. Applicable security
advisories issued after &release.prev; are also listed.</para>
<para>Many additional changes were made to &os; that are not listed
here for lack of space. For example, documentation was corrected

View File

@ -7,6 +7,9 @@
<!-- The marker for MFCs. -->
<!ENTITY merged "[MERGED]">
<!ENTITY % include.historic "IGNORE">
<!ENTITY % no.include.historic "IGNORE">
<!-- Files to be included -->
<!ENTITY art SYSTEM "../common/new.sgml">

View File

@ -9,3 +9,20 @@ EXTRA_CATALOGS+= ${RELN_ROOT}/share/sgml/catalog
# Use the appropriate architecture-dependent RELNOTESng stylesheet
DSLHTML?= ${RELN_ROOT}/share/sgml/default.dsl
DSLPRINT?= ${RELN_ROOT}/share/sgml/default.dsl
#
# Tweakable Makefile variables
#
# INCLUDE_HISTORIC Used by relnotes document only. When set,
# causes all release notes entries to be printed,
# even those marked as "historic". If not set
# (the default), only print "non-historic"
# release note entries. To designate a release
# note entry as "historic", add a role="historic"
# attribute to the applicable element(s).
#
.if defined(INCLUDE_HISTORIC)
JADEFLAGS+= -iinclude.historic
.else
JADEFLAGS+= -ino.include.historic
.endif

View File

@ -3,6 +3,8 @@
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY % output.html "IGNORE">
<!ENTITY % output.print "IGNORE">
<!ENTITY % include.historic "IGNORE">
<!ENTITY % no.include.historic "IGNORE">
<!ENTITY freebsd.dsl PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//EN" CDATA DSSSL>
]>
@ -10,6 +12,14 @@
<style-specification use="docbook">
<style-specification-body>
; Configure behavior of this stylesheet
<![ %include.historic; [
(define %include-historic% #t)
]]>
<![ %no.include.historic; [
(define %include-historic% #f)
]]>
; String manipulation functions
(define (split-string-to-list STR)
;; return list of STR separated with char #\ or #\,
@ -45,9 +55,17 @@
; Deal with conditional inclusion of text via entities.
(default
(let* ((arch (attribute-string (normalize "arch")))
(role (attribute-string (normalize "role")))
(for-arch (entity-text "arch")))
(cond
; If role=historic, and we're not printing historic things, then
; don't output this element.
((and (equal? role "historic")
(not %include-historic%))
(empty-sosofo))
; If arch= not specified, then print unconditionally. This clause
; handles the majority of cases.
((or (equal? arch #f) (equal? arch ""))

View File

@ -18,6 +18,10 @@
edge. -->
<!ENTITY release.prev.stable "4.5-RELEASE">
<!-- The previous historical release. Used only to tell what was
the cutoff point for "historic" release notes. -->
<!ENTITY release.prev.historic "4.6-RELEASE">
<!-- The next version to be released, usually used for snapshots. -->
<!ENTITY release.next "5.0-RELEASE">