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
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
we only pay attention to it during release time and at the moment it's
a -stable release in progress.
This is a MFS I guess, moving rev 1.536.2.113 to HEAD. I ran out of
time to follow through with doing this last night. Sorry for the delay.
Adding a couple of variables to make tweaking the CD-ROM label and .iso
filenames easier.
- Use the regular forth scripts including the stock device.hints file on
the boot floppies.
- gzip all the various text files on the boot floppy that are larger than
one sector to save on space.
- Generate a loader.conf to load the kernel, acpi.ko, and mfsroot making
use of the 'module_before' variables to prompt for a floppy to be entered
when required and use a stock loader.rc. This enables the beastie menu
on i386.
- PC98 has been changed to split the mfsroot for now so that the floppies
fit. When the PC98 bootstrap is updated to work with ELF files (which
needs to happen anyway), then SPLIT_MFSROOT can be turned off for PC98.
all MFS root options together and in the same order on all archs.
- Drop support for using the no longer existing 2.88 floppy image for CD
booting on i386 via the EMUL_BOOT variable.
- Use a stock loader on the boot floppy rather than one without forth.
- Force the gzip of the mfsroot in release.9 to succeed. This is useful
when doing lots of rereleases when testing floppy changes.
- If an acpi kernel module exists, stick it on the boot floppy and for
now always load it after the kernel.
- Fixed spelling of NO_FLOPPIES to unbreak snapshot building on
architectures that don't support them (as installation source).
- Don't rely on CVS setting execution bits on the shell script.
(This is also consistent with the rest of this makefile.)
Reviewed by: jhb
installkernel.debug target (in the kernel build directory) which is
only defined if the kernel was configured for debugging which it is
not the case for GENERIC kernels on release branches.
requires minimal care and feeding for future releases.
- Consolidate multitude of floppy related constants down to a normal
FLOPPY set for 1.44 floppies and on PC98 a SMALLFLOPPY set for 1.2
floppies. Also, cleanup the i386 arch section by not duplicating
constants that are the same on both machine types (i386 and pc98).
- Update the ZIPNSPLIT macro to generate a file chunks that will actually
fit onto 1.44 floppies formatted with UFS1. Unfortunately, split(1)
seems to be somewhat buggy, so the files generated are slightly larger
than the argument passed to split.
- Split the release.10 target into 3 targers: floppies.1, floppies.2 and
floppies.3 that are added to EXTRAS only if NOFLOPPIES is defined.
floppies.1 builds the install floppies, floppies.2 builds the fixit
floppy, and floppies.3 generates the md5 sums and READMEs for the
floppies/ directory.
- Drop the by now largely obsolete and less useful boot.flp picture. This
was more useful when the mfsroot lived inside the kernel rather than
being loaded from a separate file by the loader.
- Only build a single mfsroot containing no modules that is used for all
installation methods.
- Use split-file.sh to split up a gzipped GENERIC kernel into however many
floppies it takes for the boot kernel. Currently, a stock 5.2 GENERIC
kernel including WITNESS, INVARIANTS, DDB, and other assorted bloat fits
onto 2 additional floppies besides the boot floppy with some room to
spare.
- If SPLIT_MFSROOT is defined, the mfsroot.gz file is similar split into
however many floppies are needed. Currently it is not defined as the
mfsroot.gz fits onto the current boot.flp with room to spare.
- Add a 'makeFloppySet' target which builds a floppy set for a file that
was split using split-file.sh.
- Rename the doMFSKERN target to 'buildBootFloppy' as that more closely
matches what it does now. We no longer build a custom BOOTMFS kernel for
each boot floppy.
- We no longer build a 2.88 boot.flp image to use with emulated CD booting.
The non-emulated cdboot works for almost everyone who boots off of CD and
if it doesn't work on a particular machine, the user can always boot from
the 1.44 floppy images.
- We no longer build a driver floppy or stick kernel modules in the mfsroot
since we now use a stock kernel when booting from floppy.
It is required to check /etc/rc.d/ldconfig before use, because
${CHROOT} sandbox is sometimes 4.x world. If /etc/rc.d/ldconfig
is not there, run ldconfig(8) directly.
Discussed with: imp, obrien, ru
and rebuilt some bits with crypto but without Kerberos support
(most notably SSH) during "make release", to put them into the
"crypto" distribution.
Now that we don't ship the separate "krb5" distribution anymore
(it's now part of the "crypto" distribuion), don't waste time
recompiling SSH bits without crypto and without Kerberos support
in an attempt to put them in the "base" distribution -- it just
doesn't work as SSH always uses crypto code.
We avoid this by not rebuilding KPROGS from kerberos5/Makefile in
release/Makefile and adding "libpam" to SPROGS in secure/Makefile
to ensure it's still rebuilt without crypto support for the "base"
distribution. (Disabling crypto (NOCRYPT) also disables building
of Kerberos-related PAM modules, and it's OK to depend on this.)
This should be a no-op change saving some "make release" time.
* Long statements with '\' continuation now use <4 spaces>continuation
consistently.
* wraps some long lines
* More consistent on how very simular repeated commands are wrapped.
conditional evaluation is done only once in this case, and this may
not account for the fact that some conditionals would be evaluated
differently if "all" has already been run, like is the case with the
loader.help existance check in sys/boot/alpha/common/Makefile.common,
beforeinstall target. This should fix Alpha snapshot builds.
of the bootable UFS image, miniroot.ufs, fully identical to the
contents of the "bootonly" CD-ROM. The image is made available
on FTP as miniroot/miniroot.ufs.gz, for resemblance with NetBSD.
This replaces the boot.flp image for sparc64, making the latter
as coming with NO_FLOPPIES.
Reviewed by: jhb
Tested by: hrs
no longer existing "fixit" crunched binary).
- Simplify the CRUNCH_TARGETS variable's initialization.
- Simplify the release.5 logic a bit by accounting for the fact
that release/*_crunch.conf files were removed two years ago.
Submitted by: jhb, ru
- Moved the creation of the ports distribution to release.7.
- Call MFS root floppy mfsroot.flp even on a small PC98 disk.
Submitted by: jhb
Reviewed by: ru, jhb
the != operator) only when needed.
This change allows me to check out the current version of release/
makefiles only (co -l) to /tmp/release, and use that directory to
build a release (supplying the correct WORLDDIR).
Without this, attempt to "make release" caused an endless fork bomb
while trying to evaluate FIXCRYPTO, and the only way I could get
away from this on a remote box was to "kill -INT 1", thanks to
tcsh(1) and its internal "kill" command.