Add a very simple "doc release" infrastructure, roughly analogous to
src/release/Makefile, but just for doc/. Useful for creating an ISO image with various languages/renderings of the FDP documents.
This commit is contained in:
parent
893616b856
commit
7e6f49e0ff
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=12205
2 changed files with 147 additions and 0 deletions
94
release/Makefile
Normal file
94
release/Makefile
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
# Documentation release building. These are used to create
|
||||||
|
# distributions of the documentation files only. These recipes are
|
||||||
|
# intended to mimic src/release/Makefile; the principal difference is
|
||||||
|
# that much of the complexity brought about by the chroot environment
|
||||||
|
# is unneeded.
|
||||||
|
#
|
||||||
|
DOC_PREFIX?= ${.CURDIR}/..
|
||||||
|
|
||||||
|
MKISOFS?= mkisofs
|
||||||
|
TAR?= /usr/bin/tar
|
||||||
|
TOUCH?= /usr/bin/touch
|
||||||
|
|
||||||
|
#
|
||||||
|
# Targets:
|
||||||
|
#
|
||||||
|
# release Create a clean build of the documentation files,
|
||||||
|
# obeying the usual specifications such as FORMATS=,
|
||||||
|
# DOC_LANG=, etc.
|
||||||
|
#
|
||||||
|
# rerelease Similar to release, except that existing documentation
|
||||||
|
# renderings are preserved and installed.
|
||||||
|
#
|
||||||
|
# Configuration variables:
|
||||||
|
#
|
||||||
|
# BUILDNAME Identification string to be placed in BUILDNAME file
|
||||||
|
# in the top directory of the release.
|
||||||
|
#
|
||||||
|
# DOCROOTDIR Top directory to use for document release building.
|
||||||
|
# This directory need not exist, and will be created
|
||||||
|
# if necessary. This variable MUST be defined.
|
||||||
|
#
|
||||||
|
# MAKE_ISOS If defined, this will enable creation of an ISO image
|
||||||
|
# from the document release. Creation of ISO images
|
||||||
|
# requires a mkisofs binary in the invoking user's path.
|
||||||
|
#
|
||||||
|
DATE!= date +%Y%m%d
|
||||||
|
BUILDNAME?= ${DATE}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set defaults for FORMATS and DOC_LANG. To preserve POLA, these
|
||||||
|
# should be reflect the defaults.
|
||||||
|
#
|
||||||
|
FORMATS?= html
|
||||||
|
DOC_LANG?= en_US.ISO8859-1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Miscellaneous but mandatory options for the build get set here.
|
||||||
|
# The Japanese translation team has a set of manual pages; we turn
|
||||||
|
# these off (at least for now) because we have not worked their
|
||||||
|
# install target into our scheme.
|
||||||
|
#
|
||||||
|
MISCOPTIONS+= NO_JPMAN=yes
|
||||||
|
|
||||||
|
DOCSTAGEDIR= ${DOCROOTDIR}/doc
|
||||||
|
DOCBUILDFILE= ${DOCROOTDIR}/doc/BUILD.TXT
|
||||||
|
|
||||||
|
rerelease release:
|
||||||
|
.if !defined(DOCROOTDIR)
|
||||||
|
@${ECHO} "To make a release you must define DOCROOTDIR" && false
|
||||||
|
.endif
|
||||||
|
@${ECHO} ">>> make ${.TARGET} started on `LC_ALL=C TZ=GMT date`"
|
||||||
|
# If we're doing a release (from scratch), clean out DOCROOTDIR
|
||||||
|
# (this is the equivalent of CHROOTDIR for src/release).
|
||||||
|
.if make(release)
|
||||||
|
${RM} -rf ${DOCROOTDIR}
|
||||||
|
${MKDIR} ${DOCROOTDIR}
|
||||||
|
${MKDIR} ${DOCROOTDIR}/obj
|
||||||
|
find ${DOC_PREFIX} -type d -a \! -name CVS | sed -e s,^,${DOCROOTDIR}/obj, | xargs ${MKDIR}
|
||||||
|
${MKDIR} ${DOCSTAGEDIR}
|
||||||
|
.endif
|
||||||
|
# Build documents in the obj area and install them to our staging area.
|
||||||
|
# We do this so as to avoid interference with any built documents that
|
||||||
|
# happen to be sitting under ${DOC_PREFIX}, which might be built with
|
||||||
|
# different options, etc.
|
||||||
|
cd ${DOC_PREFIX} && env MAKEOBJDIRPREFIX=${DOCROOTDIR}/obj ${MAKE} all install DOCDIR=${DOCSTAGEDIR} ${MISCOPTIONS}
|
||||||
|
# Copy any files in our texts/ directory to the staging area.
|
||||||
|
${TAR} --exclude CVS -cf - -C ${.CURDIR}/texts . | \
|
||||||
|
${TAR} xf - -C ${DOCSTAGEDIR}
|
||||||
|
# Construct the BUILD.TXT file with the documentation build info.
|
||||||
|
${RM} -f ${DOCBUILDFILE}
|
||||||
|
${TOUCH} ${DOCBUILDFILE}
|
||||||
|
${ECHO} "FreeBSD Documentation ${BUILDNAME}" >> ${DOCBUILDFILE}
|
||||||
|
${ECHO} "Generated on: `LC_ALL=C TZ=GMT date`" >> ${DOCBUILDFILE}
|
||||||
|
${ECHO} "Formats: ${FORMATS}" >> ${DOCBUILDFILE}
|
||||||
|
${ECHO} "Languages: ${DOC_LANG}" >> ${DOCBUILDFILE}
|
||||||
|
# Make ISO images if desired.
|
||||||
|
.if defined(MAKE_ISOS)
|
||||||
|
cd ${DOCROOTDIR} && ${MKISOFS} -r -J -V fbsd_doc -o doc.iso ${DOCSTAGEDIR}
|
||||||
|
.endif
|
||||||
|
@${ECHO} ">>> make ${.TARGET} finished on `LC_ALL=C TZ=GMT date`"
|
||||||
|
|
||||||
|
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
53
release/texts/README
Normal file
53
release/texts/README
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
FreeBSD Documentation Release README -*- text -*-
|
||||||
|
$FreeBSD$
|
||||||
|
|
||||||
|
This is a collection of documents from the FreeBSD Documentation
|
||||||
|
Project, in a variety of output formats.
|
||||||
|
|
||||||
|
Top-level directories with names of the form <lang>.<encoding> hold
|
||||||
|
versions of documentation in different languages. Generally,
|
||||||
|
documents are written in American English (en_US.ISO8859-1) and
|
||||||
|
translated to other languages by translation teams.
|
||||||
|
|
||||||
|
Beneath the language directories, documents are classified into books
|
||||||
|
or articles. Articles are generally 25 pages or less in length, while
|
||||||
|
books can be any length.
|
||||||
|
|
||||||
|
Within the books and articles directories are directories for each
|
||||||
|
individual document; each can potentially contain multiple renderings
|
||||||
|
of the document, as described below.
|
||||||
|
|
||||||
|
Documents are available in a number of formats. Some subset of these
|
||||||
|
formats will be available, depending on how this documentation
|
||||||
|
collection was built.
|
||||||
|
|
||||||
|
html A single HTML file per document (article.html or
|
||||||
|
book.html, as appropriate, plus images).
|
||||||
|
|
||||||
|
html-split A collection of smaller, linked HTML files per document
|
||||||
|
(index.html, plus images and secondary files).
|
||||||
|
|
||||||
|
txt Plain text (article.txt or book.txt, as appropriate).
|
||||||
|
|
||||||
|
pdf Adobe Portable Document Format, for use with Adobe
|
||||||
|
Acrobat Reader or Ghostscript (article.pdf or book.pdf,
|
||||||
|
as appropriate).
|
||||||
|
|
||||||
|
ps Postscript (article.ps or book.ps, as appropriate).
|
||||||
|
|
||||||
|
pdb Palm Pilot database format, for use with the iSilo
|
||||||
|
reader (article.pdb or book.pdb, as appropriate, plus
|
||||||
|
a symbolic link formed by combining the directory name
|
||||||
|
with a ".pdb" extension). For more information, see:
|
||||||
|
|
||||||
|
http://www.iSilo.com/
|
||||||
|
|
||||||
|
rtf Microsoft's Rich Text Format (article.rtf or book.rtf,
|
||||||
|
as appropriate). Page numbers are not
|
||||||
|
automatically updated when loading this format
|
||||||
|
into Microsoft Word. Press CTRL+A, CTRL+END, F9, after
|
||||||
|
loading the document, to update the page numbers.
|
||||||
|
|
||||||
|
BUILD.TXT in the top-level directory gives more information about the
|
||||||
|
particular set of languages and formats contained in this release
|
||||||
|
build.
|
Loading…
Reference in a new issue