Use role="merged" and arch="amd64,i386,..." attributes to mark a

paragraph as MFC'd or one for specific platforms.  This should
make no content change with the rendered output.
This commit is contained in:
Hiroki Sato 2008-04-20 17:58:05 +00:00
parent 95b02815da
commit 64e1fe004a
3 changed files with 112 additions and 121 deletions

View File

@ -7,9 +7,6 @@
<!-- Text constants which probably don't need to be changed.-->
<!-- The marker for MFCs. -->
<!ENTITY merged "[MERGED]">
<!ENTITY % include.historic "IGNORE">
<!ENTITY % no.include.historic "IGNORE">
]>
@ -145,27 +142,27 @@
assignment. The &man.cpuset.1; userland utility has been added
to allow manipulation of processor sets.</para>
<para>The &man.ddb.4; kernel debugger now has an output capture
<para role="merged">The &man.ddb.4; kernel debugger now has an output capture
facility. Input and output from &man.ddb.4; can now be captured
to a memory buffer for later inspection using &man.sysctl.8; or
a textdump. The new <command>capture</command> command controls
this feature. &merged;</para>
this feature.</para>
<para>The &man.ddb.4; debugger now supports a simple scripting
<para role="merged">The &man.ddb.4; debugger now supports a simple scripting
facility, which supports a set of named scripts consisting of a
set of &man.ddb.4; commands. These commands can be managed from
within &man.ddb.4; or with the use of the new &man.ddb.8;
utility. More details can be found in the &man.ddb.4; manual
page. &merged;</para>
page.</para>
<para>The kernel now supports a new textdump format of kernel
<para role="merged">The kernel now supports a new textdump format of kernel
dumps. A textdump provides higher-level information via
mechanically generated/extracted debugging output, rather than a
simple memory dump. This facility can be used to generate brief
kernel bug reports that are rich in debugging information, but
are not dependent on kernel symbol tables or precisely
synchronized source code. More information can be found in the
&man.textdump.4; manual page. &merged;</para>
&man.textdump.4; manual page.</para>
<para>Kernel support for M:N threading has been removed. While
the KSE (Kernel Scheduled Entities) project was quite successful
@ -181,39 +178,39 @@
interface for user applications to test the presence of
features.</para>
<para>[&arch.amd64;] The &os; kernel now has support for large
<para arch="amd64">The &os; kernel now has support for large
memory page mappings (<quote>superpages</quote>).</para>
<para>[&arch.amd64;, &arch.i386;, &arch.powerpc;] The ULE
<para arch="amd64,i386,powerpc" role="merged">The ULE
scheduler is now the default process scheduler
in <filename>GENERIC</filename> kernels. &merged;</para>
in <filename>GENERIC</filename> kernels.</para>
<sect3 id="boot">
<title>Boot Loader Changes</title>
<para>[&arch.amd64;, &arch.i386;] The BTX kernel used by the boot
<para arch="amd64,i386" role="merged">The BTX kernel used by the boot
loader has been changed to invoke BIOS routines from real
mode. This change makes it possible to boot &os; from USB
devices. &merged;</para>
devices.</para>
<para>[&arch.amd64;, &arch.i386;] A new gptboot boot loader has
<para arch="amd64,i386" role="merged">A new gptboot boot loader has
been added to support booting from a GPT labeled disk. A
new <command>boot</command> command has been added to
&man.gpt.8;, which makes a GPT disk bootable by writing the
required bits of the boot loader, creating a new boot
partition if required. &merged;</para>
partition if required.</para>
</sect3>
<sect3 id="proc">
<title>Hardware Support</title>
<para>The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
PCMCIA smartcard readers, has been added. &merged;</para>
<para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
PCMCIA smartcard readers, has been added.</para>
<para>The &man.uslcom.4; driver, a driver for Silicon
<para role="merged">The &man.uslcom.4; driver, a driver for Silicon
Laboratories CP2101/CP2102-based USB serial adapters, has been
imported from OpenBSD. &merged;</para>
imported from OpenBSD.</para>
<sect4 id="mm">
<title>Multimedia Support</title>
@ -250,9 +247,8 @@
number of outstanding issues. It also now works on all
architectures.</para>
<para>[&arch.amd64;, &arch.i386;] The &man.wpi.4; driver has
been updated to include a number of stability fixes.
&merged;</para>
<para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
been updated to include a number of stability fixes.</para>
</sect4>
</sect3>
@ -267,16 +263,16 @@
the <varname>net.bpf.zerocopy_enable</varname> sysctl
variable to <literal>1</literal>.</para>
<para>A bug in TCP options padding, where the wrong padding
bytes were used, has been fixed. &merged;</para>
<para role="merged">A bug in TCP options padding, where the wrong padding
bytes were used, has been fixed.</para>
</sect3>
<sect3 id="disks">
<title>Disks and Storage</title>
<para>The &man.aac.4; driver now supports volumes larger than
2TB in size. &merged;</para>
<para role="merged">The &man.aac.4; driver now supports volumes larger than
2TB in size.</para>
<para>The &man.ata.4; driver now supports a spindown command for
disks; after a configurable amount of time, if no requests
@ -285,8 +281,8 @@
supports a <command>spindown</command> command to configure
this feature.</para>
<para>The &man.hptrr.4; driver has been updated to version 1.2
from Highpoint. &merged;</para>
<para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
from Highpoint.</para>
</sect3>
@ -307,18 +303,18 @@
<sect2 id="userland">
<title>Userland Changes</title>
<para>The &man.adduser.8; utility now supports
<para role="merged">The &man.adduser.8; utility now supports
a <option>-M</option> option to set the mode of a new user's
home directory. &merged;</para>
home directory.</para>
<para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
based on <filename>libarchive</filename>, have replaced the GNU
Binutils versions of these utilities.</para>
<para>&man.chflags.1; now supports a <option>-v</option> flag for
<para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
verbose output and a <option>-f</option> flag to ignore errors
with the same semantics as (for example)
&man.chmod.1;. &merged;</para>
&man.chmod.1;.</para>
<para>For compatiblity with other implementations, &man.cp.1; now
supports a <option>-a</option> flag, which is equivalent to
@ -342,9 +338,9 @@
<para>The &man.procstat.1; utility has been added to display
detailed information about processes.</para>
<para>The &man.realpath.1; utility now supports
<para role="merged">The &man.realpath.1; utility now supports
a <option>-q</option> flag to suppress warnings; it now also
accepts multiple paths on its command line. &merged; </para>
accepts multiple paths on its command line.</para>
<para>The &man.split.1; utility now supports a <option>-n</option>
flag to split a file into a certain number of chunks.</para>
@ -376,14 +372,14 @@
<sect2 id="contrib">
<title>Contributed Software</title>
<para><application>AMD</application> has been updated from 6.0.10
to 6.1.5. &merged;</para>
<para role="merged"><application>AMD</application> has been updated from 6.0.10
to 6.1.5.</para>
<para><application>awk</application> has been updated from 1 May
2007 release to the 23 October 2007 release. &merged;</para>
<para role="merged"><application>awk</application> has been updated from 1 May
2007 release to the 23 October 2007 release.</para>
<para><application>bzip2</application> has been updated from 1.0.4
to 1.0.5. &merged;</para>
<para role="merged"><application>bzip2</application> has been updated from 1.0.4
to 1.0.5.</para>
<para><application>CVS</application> has been updated from 1.11.17
to a post-1.11.22 snapshot from 10 March 2008.</para>
@ -400,15 +396,15 @@
<para><application>ncurses</application> has been updated from
5.6-20061217 to 5.6-20080209.</para>
<para><application>OpenPAM</application> has been updated from the
Figwort release to the Hydrangea release. &merged;</para>
<para role="merged"><application>OpenPAM</application> has been updated from the
Figwort release to the Hydrangea release.</para>
<para><application>sendmail</application> has been updated from
8.14.1 to 8.14.2. &merged;</para>
<para role="merged"><application>sendmail</application> has been updated from
8.14.1 to 8.14.2.</para>
<para>The timezone database has been updated from
<para role="merged">The timezone database has been updated from
the <application>tzdata2007h</application> release to
the <application>tzdata2008b</application> release. &merged;</para>
the <application>tzdata2008b</application> release.</para>
<para><application>WPA Supplicant</application> has been
updated from 0.5.8 to 0.5.10.</para>
@ -429,10 +425,10 @@
<sect2 id="releng">
<title>Release Engineering and Integration</title>
<para>The supported version of
<para role="merged">The supported version of
the <application>GNOME</application> desktop environment
(<filename role="package">x11/gnome2</filename>) has been
updated from 2.20.1 to 2.22. &merged;</para>
updated from 2.20.1 to 2.22.</para>
</sect2>
@ -447,7 +443,7 @@
<sect1 id="upgrade">
<title>Upgrading from previous releases of &os;</title>
<para>[&arch.i386;, &arch.amd64;] Beginning with &os; 6.2-RELEASE,
<para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
binary upgrades between RELEASE versions (and snapshots of the
various security branches) are supported using the
&man.freebsd-update.8; utility. The binary upgrade procedure will

View File

@ -56,89 +56,82 @@
; Deal with conditional inclusion of text via entities.
(default
(let* ((arch (attribute-string (normalize "arch")))
(role (attribute-string (normalize "role")))
(let* ((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.
;; If role=historic, and we're not printing historic things, then
;; don't output this element.
((and (equal? role "historic")
(not %include-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 ""))
(next-match))
; arch= specified, see if it's equal to "all". If so, then
; print unconditionally. Note that this clause could be
; combined with the check to see if arch= wasn't specified
; or was empty; they have the same outcome.
((equal? arch "all")
(next-match))
; arch= specified. If we're building for all architectures,
; then print it prepended with the set of architectures to which
; this element applies.
;
; XXX This doesn't work.
; ((equal? for-arch "all")
; (sosofo-append (literal "[") (literal arch) (literal "] ")
; (process-children)))
; arch= specified, so we need to check to see if the specified
; parameter includes the architecture we're building for.
((string-list-match? for-arch (split-string-to-list arch))
(next-match))
; None of the above
(else (empty-sosofo)))))
;; None of the above
(else (next-match)))))
(mode qandatoc
(default
(let* ((arch (attribute-string (normalize "arch")))
(role (attribute-string (normalize "role")))
(for-arch (entity-text "arch")))
(cond
(let* ((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 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 ""))
(next-match))
;; None of the above
(else (next-match))))))
; arch= specified, see if it's equal to "all". If so, then
; print unconditionally. Note that this clause could be
; combined with the check to see if arch= wasn't specified
; or was empty; they have the same outcome.
((equal? arch "all")
(next-match))
; arch= specified. If we're building for all architectures,
; then print it prepended with the set of architectures to which
; this element applies.
;
; XXX This doesn't work.
; ((equal? for-arch "all")
; (sosofo-append (literal "[") (literal arch) (literal "] ")
; (process-children)))
; arch= specified, so we need to check to see if the specified
; parameter includes the architecture we're building for.
((string-list-match? for-arch (split-string-to-list arch))
(next-match))
; None of the above
(else (empty-sosofo))))))
;; $paragraph$ function with arch attribute support.
(define ($paragraph$ #!optional (para-wrapper "P"))
(let ((footnotes (select-elements (descendants (current-node))
(normalize "footnote")))
(tgroup (have-ancestor? (normalize "tgroup")))
(arch (attribute-string (normalize "arch")))
(role (attribute-string (normalize "role")))
(arch-string (entity-text "arch"))
(merged-string (entity-text "merged")))
(make sequence
(make element gi: para-wrapper
attributes: (append
(if %default-quadding%
(list (list "ALIGN" %default-quadding%))
'()))
(make sequence
(cond
;; If arch= not specified, then print unconditionally. This clause
;; handles the majority of cases.
((or (equal? arch #f)
(equal? arch "")
(equal? arch "all"))
(process-children))
(else
(sosofo-append
(make sequence
(literal "[")
(let loop ((prev (car (split-string-to-list arch)))
(rest (cdr (split-string-to-list arch))))
(make sequence
(literal prev)
(if (not (null? rest))
(make sequence
(literal ", ")
(loop (car rest) (cdr rest)))
(empty-sosofo))))
(literal "] ")
(process-children)
(if (and (not (null? role)) (equal? role "merged"))
(literal " [" merged-string "]")
(empty-sosofo))))))
(if (or %footnotes-at-end% tgroup (node-list-empty? footnotes))
(empty-sosofo)
(make element gi: "BLOCKQUOTE"
attributes: (list
(list "CLASS" "FOOTNOTES"))
(with-mode footnote-mode
(process-node-list footnotes)))))))))
; We might have some sect1 level elements where the modification times
; are significant. An example of this is the "What's New" section in

View File

@ -59,3 +59,5 @@
<!ENTITY arch.sparc64 "sparc64">
<!ENTITY arch.sun4v "sun4v">
<!-- The marker for MFCs. -->
<!ENTITY merged "MERGED">