explanation...
This makefile tries to be smart in determining the minimal list
of ports comprising the docproj meta-port, necessary to build
the FreeBSD documentation and release notes.
To get it absolutely right, it would have to generate the list
at run time, parsing the output of "make all-depends-list" for
ports/textproc/docproj, supplying the same options like in
src/release/Makefile, and trying for different platforms and
FreeBSD versions!
Besides from the complexity involved, this is just not possible
to do from here, because the ports tree may be not up-to-date or
not be available at all -- it's not required to have a checked
out ports tree to start "make release". So makefile copies
some logic from the ports system to try to come up with the
right list...
Unfortunately, it's nearly impossible nor practical to come up
with a proper and complete list from here this way. Such a
list would have to support all possible __FreeBSD_version's,
Perl versions, and so on, and their combinations -- everything
that the ports system would do.
The fix is to stop pretending be smart, and only provide
lists enough to build a docproj port on recent of 4.x, 5.x,
and 6.x systems, where this is practical.
What can break with this change is "make release -DNOPORTS" of
HEAD or RELENG_5, *without* -DNODOC, on older FreeBSD systems
like 5.1-RELEASE. The change in the docproj dependency list
between 5.1 and 5.3 is as follows:
# diff docports.501000 docports.503000
< /usr/ports/devel/p5-File-Temp
< /usr/ports/devel/p5-Test-Harness
< /usr/ports/devel/p5-Test-Simple
< /usr/ports/lang/perl5
> /usr/ports/lang/perl5.8
Since doing "make release" on these old systems is not officially
supported anyway (only one tiny tweak is necessary to make it
work), the practical damage of this change is zero.
Original problem spotted by Scott Long doing "make release
-DNOPORTS RELEASETAG=RELENG_5". That particular problem
was already fixed by the previous change to this file, while
this change is the result of some additional analyzis of the
problem.
Fix was tested by doing a "make release -DNOPORTS" of HEAD on
the 4.10-STABLE machine (with one small tweak I mentioned, to
make it possible).
version, and "make release -DNOPORTS" breaks without it.
Noticed by: scottl
Keep lang/perl5 in the list because it's the default Perl version
for 4.x, and it's still possible to "make release" of HEAD on 4.x.
bootable ISO. HP machines (like the rx2600) that (also) have isp(4)
may have a non-standard firmware on the controller. Our isp(4) driver
is not able to work with those and even panics. This makes installing
FreeBSD rather impossible. By adding the ispfw.ko module, we give the
user a chance to upload a certified firmware onto the card and so make
it possible to either use the isp(4) successfully or otherwise avoid
the panic.
SCSI controllers. The driver was removed before FreeBSD 3.0, so it is
probably time to remove from the Hardware Notes... :-).
Historical clue by: Josh Paetzel <josh@tcbug.org>
MFC after: 3 days
- Clean up and improve handling of trailing punctuation characters.
- Handle the Pa macro.
- Give a warning when ignoring unimplemented mdoc commands.
MFC after: 3 days
this script, without it sparc64 ISO building was consistently failing
because the /dev/md0 device name was not present when the commands
following mdconfig ran. Apparently there is the possibility of a delay
between when mdconfig finishes and the names become visible in /dev.
Yes, we could code this better than an unconditional call to "sleep 5"
but IMHO we should fix the underlying problem instead.
MFC after: 3 days
- Add a note about possibility for duplicate listing of devices.
- Auto generate device listings for the following drivers: ncr, sym,
umodem, and uscanner
MFC after: 3 days
HFS/ISO9660 extensions to be bootable on Power Macs.
boot.tbxi - the CHRP script executed by Open Firmware when auto-booting
CDs
hfs.map - map Unix files to HFS creator/type fields
Reviewed by: ru
Submitted by: ssouhlal
with the following changes:
1) Don't make a mime_types.h 'cos we should avoid creating variables
in header files,
2) Use strrchr to find the extension, rather than strchr,
3) Slightly simplify the mime-type matching loop.
any goof are likely to be mine. Note that there are links to more
improvements by Eugene in the PR.
PR: 29725
Submitted by: Eugene Grosbein <eugen@kuzbass.ru>
o Update to match 5-CURRENT reality.
o Bump up minimum system requirements.
o Make examples work.
PR: docs/70485
Submitted by: Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
the vein of my previous, recent commits.
Updated release notes: Augmented sha(1)/rmd160(1) note, updated pf(4)
pseudo-users, retweaked doscmd note to reinstate a missing word I
deleted by accident [1] and add some more info.
MFCs noted: ppp(8) LQM, ppp(8) set rad_alive.
Pointed out by: "Eagle Eyes" ru [1]
changes, although one release note, about udav(4) promiscuous mode,
was deleted as it was redundant (the driver itself is new and this
fact has its own note).
hasn't been any package build for ia64 for a long time and in this
case it means that the cdrtools package on the FTP sites is one that
doesn't have mkisofs. This breaks the release build. By trying to
build the port first, we protect ourselves a bit more against this.
- Make "die()" more verbose.
- Do not put extra blank lines into the output file.
- Normalize text by using numeric entities because
some characters such as "'" can break the generated SGML.
Reviewed by: simon
with doFS.sh consistently dying here because the device didn't exist
in the namespace fast enough after doing the mdconfig. But the device
did eventually show up. There have been similar complaints on mailing
lists that might boil down to this being the problem too.
This is obviously a hack, if anyone knows what might cause a delay
between mdconfig running and when the name appears in the /dev namespace
(inside a chroot-ed environment if that matters) I'd be happy to back
this out.
to subordinate make(1) invocations through MAKEFLAGS, we cannot add
CFLAGS onto the make(1) command line. This will conflict with the
individual makefiles wanting to append to it, which is not respected
when CFLAGS is given on the command line. Hence build breakage.
So, put CFLAGS in the environment instead.
of releases. The -DNOCRYPT build option still exists for anyone who
really wants to build non-cryptographic binaries, but the "crypto"
release distribution is now part of "base", and anyone installing from a
release will get cryptographic binaries.
Approved by: re (scottl), markm
Discussed on: freebsd-current, in late April 2004
manual pages, to avoid duplicating work between the Hardware Notes and
manual pages.
Each text line in the output from the manual page parser is generated
as a SGML entity, making it possible for translators to only translate
lines which actually contains English text (this neat idea came from
hrs).
To determine which drivers are usable on which architectures the
dev.archlist.txt file is used to explicitly list this. It it an
imperfect solution, but the best I have been able to come up with for
now.
This commit converts most of the devices which has a section 4 manual
page with a HARDWARE section to be the new auto generated format.
Reviewed in principle by: ru, hrs, trhodes
Good ideas for improvements: hrs
No objections: -doc, re
some unknown reason, when LOCAL_PATCHES and LOCAL_SCRIPT were originally
added, they were silently ignored if the actual file did not exist. As a
result, if one mistyped the pathname to a patch or script, then the release
silently succeeded. However, it was not built with the desired changes and
no warning was given to inform the builder either. This commit explicitly
checks to see that all of the defined patches and scripts exist up front
and bails if any of them do not exist. I lost several hours of valuable
sleeping time this evening due to this "feature" so I've finally gone and
ripped out. I've tripped over this in the past several other times as
well.
Glanced at by: scottl