the need to also create the entire ports tree during a `make release'.
The main motivation behind this is that handling the ports tree still
takes a huge amount of time due to the large number of directories
involved, even on modern disks.
The solution is to establish a list of dependent ports that are
minimally required. This list needs to be manually maintained in case
the doc ports toolchain changes, and has thus been broken out into a
separate file Makefile.inc.docports. (release/Makefile has gotten
overly lengthy already anyway.)
Discussed with: bmah, nik
Reviewed by: bmah
/stand/etc on the mfsroot, and hence to /etc on the install target
disk for use during the install. It also links netconfig and services
into /etc on the mfsroot so that they are available to a fixit
shell.
Submitted by: iedowse
the commit logs - I just found the reason for the self-pointing symlink, as
documented in revision 1.517 by phk, who committed the change over a year
ago. Accordingly, put the feature back and drop all plans to MFC the previous
"fix".
asking what it's for and I can't answer since I can't see any conceivable
use for it. Unless someone corrects that impression, I'll also MFC this
change in a few days.
commands to build sysinstall manually during release.
- Get the sysinstall help files from /usr/src/usr.sbin/sysinstall/help
rather than ${.CURDIR}/sysinstall/help.
one-way hash functions for authentication purposes. There is no more
"set the libcrypt->libXXXcrypt" nightmare.
- Undo the libmd.so hack, use -D to hide the md5c.c internals.
- Remove the symlink hacks in release/Makefile
- the algorthm is set by set_crypt_format() as before. If this is
not called, it tries to heuristically figure out the hash format, and
if all else fails, it uses the optional auth.conf entry to chose the
overall default hash.
- Since source has non-hidden crypto in it there may be some issues with
having the source it in some countries, so preserve the "secure/*"
division. You can still build a des-free libcrypt library if you want
to badly enough. This should not be a problem in the US or exporting
from the US as freebsd.org had notified BXA some time ago. That makes
this stuff re-exportable by anyone.
- For consistancy, the default in absence of any other clues is md5. This
is to try and minimize POLA across buildworld where folk may suddenly
be activating des-crypt()-hash support. Since the des hash may not
always be present, it seemed sensible to make the stronger md5 algorithm
the default.
All things being equal, no functionality is lost.
Reviewed-by: jkh
(flame-proof suit on)
The distribute target is basicly the same as an install. For
perl, this means that miniperl is needed. Since miniperl is
only present in the object directory, we need to make sure
the path is set correctly. To do this, we have make release
use a new distribworld target that sets the path before doing
a make distribute.
overwriting $PATH, and find mknod $PATH instead of hardcoding /sbin so
that the copy of MAKEDEV on the fixit floppy is usable, since mknod and
expr live in /mnt2/stand when the fixit floppy is running.
Get rid of the sed invokation in release/Makefile that attempts to
delete the PATH setting stuff from MAKEDEV on the fixit floppy. This
hasn't worked since a long ago change to MAKEDEV caused the sed
expression to no longer match.
PR: misc/21241
mimics that of tcpdump in that for normal builds, sendmail will only be
built once. For 'make release', it is built once for the bin dist and
once for the crypto dist. This method also removes the need for two separate
Makefiles (which could become out of sync).
Suggested by: bde
Assisted by: kris
build process in too many cases. Adding mtree to bootstrap-tools
to solve this breaks the upgrade path because mtree needs a
libc that has strtofflags and fflagstostr.
kernel config file.
- Add WORLD_FLAGS and KERNEL_FLAGS so you can build world and kernel with
extra make options such as -jX to speed up release builds.
- When building kernels, allow their hints to tag along, and use this to
install hints onto the boot floppy. Since the boot floppy doesn't load
loader.4th, we have to change device.hints to strip comments and change
each line to an explicit set command.
IPv6 configuration is only done by rtsol. Does someone really
need manual configuration? :-)
You can specify IPv6 DNS server as well.
We have only one server ftp7.jp.freebsd.org that speaks IPv6
in this time. ftp7.jp speaks IPv4 as well and also listed as
Japan #7.
Approved by: jkh
- Small cleanups to kernel installs.
- Don't install kernel.config and loader.config on the boot floppy since
they haven't been used in quite some time.
src/release/{boot,fixit}_crunch.conf.
- Added machine specific fixit_crunch.conf for PC/AT and PC-98 to
src/release/$MACHINE.
- Use config file in src/release/$MACHINE if exist. If it does not exist,
use in src/release.
boot.flp and plain boot.flp.
- Clean up crunchgen related routine.
- Add PC-98 support.
TODO:
o Documentation
o Fix some messages for PC-98
o Decrease the size of fixit.flp to 1.2MB
o I18N (See: http://www.jp.FreeBSD.org/BootAsia/index.html)
No response from jkh
distfiles to build the docproj port during release. Prior to this, the
distfiles were copied froom ${DISTFILES}. However, if like me, you needed
to store the distfiles in some directory other than /usr/ports/distfiles,
for example /usr/docdistfiles, then when you overrode ${DISTFILES} it broke
the release build when it tried to build docproj port in the chroot'd
release area. To preserve backwards compatibility, DOCDISTFILES defaults
to the value of DISTFILES.
Ok'd by: jkh
the ports and doc trees. There is no change if we are not building a
release (i.e., we are not using a tag of the form RELENG_ver_RELEASE
--e.g., a RELENG_ver tag used to build a snapshot).
This should allow the ports and doc freezes during the release cycles
to be somewhat shorter, as commits to those (non-branched) trees can
resume as soon as the tags are laid down.
Reviewed by: nik
Approved by: jkh
Oh why did I select a first project that needed to touch release/Makefile..
The fact that my release-building Alpha panics on me does not help either :(
and concat these to the corresponding generic *.TXT living in ./texts
This is currently aimed at HARDWARE.TXT but works for things like RELNOTES.TXT
too.
Reviewed by: jkh
with kld etc just fine, but tracebacks would have less information and
nm /kernel wouldn't be so good).
- Just strip the kernel on the boot disk. This does not affect kld or
module loading, there are two symbol tables in a kernel. There is the
dynamic linking one (.dynsym+.strtab) with just global symbols and a user
symbol table (.symtab+.strtab) with all symbols. BTW; objdump lies and
hides the second one. There's a good half a meg or so that can be saved
from an average kernel by stripping it.
Kill duplicates for programs that have been in the boot crunched image
as well as on the fixit floppy (pwd, newfs, hostname, test). Our
space is really too valuable to have them around there twice. I doubt
pwd needs to be there at all since it's a builtin into sh(1) anyway
(oh, and the same applies to test(1) IIRC), but heck, leave them by
now.
Use the new `fixit' target in MAKEDEV to create the /dev nodes on
the floppy, instead of including the kitchensink...
Finally, tune the values used for creating the floppy. I currently
end up with
Filesystem 1K-blocks Used Avail Capacity iused ifree %iused
/dev/vnn0c 1363 1301 -47 104% 368 14 96%
...which is not quite ideal yet, but at least a working configuration
again.