For .txt and .more drop meaningless page numbers, those formats are
not paginated (with all due respect to line printers, 80s are over).
For .ps use actual formatting with proportional font and properly
aligned page numbers. Thanks to kre@ for his help with some of the
darker corners of troff (with all due respect to my 80s self, he/I
should have paid more attention).
common/main already sources them, so there's no point to process the
file again *after* the document has been formatted. Put it to SRCS so
that we still depend on it.
Divert only the .Ti lines to the TOC file. Keep the rest, it may
contain useful messages (like the empty line bug in macros that was
messing up page numbers).
TODO: Since we already depend on groff extensions, we should just use
.open/.write to emit the TOC directly. But commit this for now in
case I run out of round tuits.
I missed them b/c I tested on sparc notes and sparc/install is stuck
in the 90s and doesn't include common/sysinst. Now that all emitted
.Ti have properly quoted arguments we can revert TOCPROC to simple
grep.
While here convert .Te and .To to also use $* so we we can also drop
quoting from their calls in common/sysinst now. Don't actually drop
those quotes yet though, as we probably can further simplify the call
sites by emitting the headings automatically instead of duplicating
them.
- simplify TOC handling and remove arg limit (from uwe)
- use Lk with explicit anchor text in some places
- do not allow official release builds when we can not derive the
proper date from the buildid
- use https where possible
- adapt to cdn/nycdn and our current auto-build conventions
- automate where possible
Many thanks to uwe for lots of *roff help.
to call a shell script which outputs nothing if the file is not present.
Remove the "whatis" file for ports where it does not contain anything
useful and hasn't been updated for years. OK tsutsui@, hubertf@.
${RELEASEDIR}/${MACHINE}. The former is the blessed way as it's
defined as a "subdirectory used below ${RELEASEDIR} when building a
release" and defaults to MACHINE in bsd.own.mk.
Make sure that ${RELEASEDIR}/${RELEASEMACHINEDIR} exists before
installing notes in to it. It only ever worked because ~all ports
build at least one kernel as part of make release, and so the release
directory was created when kernel sets are installed.
XXX: Why don't we create ${RELEASEDIR}/${RELEASEMACHINEDIR} from the
top-level makefile before running make release?
DISTRIBVERDEP in Makefile.distrib, and make both sysinst and
distribution notes use that information so that they rebuild
if the kernel version changes.
Distribution notes didn't have this before, sysinst had a private
(now outdated, since sys/sys/param.h now determines version) copy
of this.
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC
For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo
Document all of these in bsd.README.
This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
does a ".PHONY" on "install", and this prevents .PATH lookups working for
that target, so "make" unnecessarily considered the files out of date and
rebuilt them every time. (make(1) needs a .NOTPHONY)
- Separate out the TOC dependencies so that a given ${TARG}.type only
depends upon the appropriate ${TARGET}.type.toc. Prevents unnecessary
rebuilding of all the TOCs when you're only generating one target type.
- Remove *.toc.tmp in cleannotes.
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
(fixes problem caused by implicit include of ../Makefile.inc in certain
submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*; rely upon "snap_pre" target of
etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
1. Replace all "groff"'s with $GROFF so the right binary is picked up depending
on new or old toolchain setups and USETOOLS
2. Remove the DESTDIR check where it adds -M. This is pointless as some of the
file in share/tmac have hard coded references to /usr/share/tmac so using the
new ones in $DESTDIR will just point you back into /usr/share anyways...
(the new toolchain has no issue here as it's tmac files all point into
$TOOLDIR. Any old setups should just depend on the local setup instead of
some mix of DESTDIR and old files the -M would have produced).
and instead generate them each and every time (twice!).
Based on a suggestion from Alan Barrett, allow setting MAKETOC=no
to permit rebuilding the install notes without regenerating the
.toc files, to allow more speedy debugging of markup changes.
This makes it _much_ more user-friendly, as it allows users
to skip to the parts they want easily.
At present, the TOCs are generated files, and can be regenerated
with "make tocs" (probably has to be run twice to account for
the size of the table itself).
TOCs are named INSTALL.{PostScript,ASCII,HTML,more}.toc instead of
INSTALL.{ps,txt,html,more}.toc because that's what \*[format]
expands to.
http://www.netbsd.org/Sites/net.html
It's probably safe to assume that a user wanting access to a mirror
site can access this URL...
- Highlight that with the latest BIND code you need to now use
options { version "newfoo"; }
to change the infoleak string. (1.3.3 didn't have the infoleak,
but it crept back into 1.4)