mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-30 10:52:50 +00:00
a562ac12a7
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). |
||
---|---|---|
bin | ||
contrib | ||
crypto | ||
etc | ||
games | ||
gnu | ||
include | ||
kerberos5 | ||
lib | ||
libexec | ||
release | ||
rescue | ||
sbin | ||
secure | ||
share | ||
sys | ||
tools | ||
usr.bin | ||
usr.sbin | ||
COPYRIGHT | ||
installworld_newk | ||
installworld_oldk | ||
MAINTAINERS | ||
Makefile | ||
Makefile.inc1 | ||
README | ||
UPDATING | ||
UPDATING.64BTT |
This is the top level of the FreeBSD source directory. This file was last revised on: $FreeBSD$ For copyright information, please see the file COPYRIGHT in this directory (additional copyright information also exists for some sources in this tree - please see the specific source directories for more information). The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree, the most commonly used one being ``world'', which rebuilds and installs everything in the FreeBSD system from the source tree except the kernel, the kernel-modules and the contents of /etc. The ``buildkernel'' and ``installkernel'' targets build and install the kernel and the modules (see below). Please see the top of the Makefile in this directory for more information on the standard build targets and compile-time flags. Building a kernel is a somewhat more involved process, documentation for which can be found at: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html And in the config(8) man page. Note: If you want to build and install the kernel with the ``buildkernel'' and ``installkernel'' targets, you might need to build world before. More information is available in the handbook. The sample kernel configuration files reside in the sys/<arch>/conf sub-directory (assuming that you've installed the kernel sources), the file named GENERIC being the one used to build your initial installation kernel. The file NOTES contains entries and documentation for all possible devices, not just those commonly used. It is the successor of the ancient LINT file, but in contrast to LINT, it is not buildable as a kernel but a pure reference and documentation file. Source Roadmap: --------------- bin System/user commands. contrib Packages contributed by 3rd parties. crypto Cryptography stuff (see crypto/README). etc Template files for /etc. games Amusements. gnu Various commands and libraries under the GNU Public License. Please see gnu/COPYING* for more information. include System include files. kerberos5 Kerberos5 (Heimdal) package. lib System libraries. libexec System daemons. release Release building Makefile & associated tools. sbin System commands. secure Cryptographic libraries and commands. share Shared resources. sys Kernel sources. tools Utilities for regression testing and miscellaneous tasks. usr.bin User commands. usr.sbin System administration commands. For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html