xref: /freebsd/UPDATING (revision 3ef90571c1feac738dd60ea1516df2f974f18b56)
1Updating Information for FreeBSD current users.
2
3This file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>.
4See end of file for further details.  For commonly done items, please see the
5COMMON ITEMS: section later in the file.  These instructions assume that you
6basically know what you are doing.  If not, then please consult the FreeBSD
7handbook:
8
9    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
10
11Items affecting the ports and packages system can be found in
12/usr/ports/UPDATING.  Please read that file before running portupgrade.
13
14NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping
15from older versions of FreeBSD, try WITHOUT_CLANG and WITH_GCC to bootstrap to
16the tip of head, and then rebuild without this option. The bootstrap process from
17older version of current across the gcc/clang cutover is a bit fragile.
18
19NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
20	FreeBSD 11.x has many debugging features turned on, in both the kernel
21	and userland.  These features attempt to detect incorrect use of
22	system primitives, and encourage loud failure through extra sanity
23	checking and fail stop semantics.  They also substantially impact
24	system performance.  If you want to do performance measurement,
25	benchmarking, and optimization, you'll want to turn them off.  This
26	includes various WITNESS- related kernel options, INVARIANTS, malloc
27	debugging flags in userland, and various verbose features in the
28	kernel.  Many developers choose to disable these features on build
29	machines to maximize performance.  (To completely disable malloc
30	debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely
31	disable the most expensive debugging functionality run
32	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
33
3420150525:
35	Clang and llvm have been upgraded to 3.6.1 release.  Please see the
36	20141231 entry below for information about prerequisites and upgrading,
37	if you are not already using 3.5.0 or higher.
38
3920150521:
40	TI platform code switched to using vendor DTS files and this update
41	may break existing systems running on Beaglebone, Beaglebone Black,
42	and Pandaboard:
43
44	- dtb files should be regenerated/reinstalled. Filenames are the
45	  same but content is different now
46	- GPIO addressing was changed, now each GPIO bank (32 pins per bank)
47	  has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old
48	  addressing scheme is now pin 25 on /dev/gpioc3.
49	- Pandaboard: /etc/ttys should be updated, serial console device is
50	  now /dev/ttyu2, not /dev/ttyu0
51
5220150501:
53	soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim.
54	If you need the GNU extension from groff soelim(1), install groff
55	from package: pkg install groff, or via ports: textproc/groff.
56
5720150423:
58	chmod, chflags, chown and chgrp now affect symlinks in -R mode as
59	defined in symlink(7); previously symlinks were silently ignored.
60
6120150415:
62	The const qualifier has been removed from iconv(3) to comply with
63	POSIX.  The ports tree is aware of this from r384038 onwards.
64
6520150416:
66	Libraries specified by LIBADD in Makefiles must have a corresponding
67	DPADD_<lib> variable to ensure correct dependencies.  This is now
68	enforced in src.libnames.mk.
69
7020150324:
71	From legacy ata(4) driver was removed support for SATA controllers
72	supported by more functional drivers ahci(4), siis(4) and mvs(4).
73	Kernel modules ataahci and ataadaptec were removed completely,
74	replaced by ahci and mvs modules respectively.
75
7620150315:
77	Clang, llvm and lldb have been upgraded to 3.6.0 release.  Please see
78	the 20141231 entry below for information about prerequisites and
79	upgrading, if you are not already using 3.5.0 or higher.
80
8120150307:
82	The 32-bit PowerPC kernel has been changed to a position-independent
83	executable. This can only be booted with a version of loader(8)
84	newer than January 31, 2015, so make sure to update both world and
85	kernel before rebooting.
86
8720150217:
88	If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014),
89	but before r278950, the RNG was not seeded properly.  Immediately
90	upgrade the kernel to r278950 or later and regenerate any keys (e.g.
91	ssh keys or openssl keys) that were generated w/ a kernel from that
92	range.  This does not affect programs that directly used /dev/random
93	or /dev/urandom.  All userland uses of arc4random(3) are affected.
94
9520150210:
96	The autofs(4) ABI was changed in order to restore binary compatibility
97	with 10.1-RELEASE.  The automountd(8) daemon needs to be rebuilt to work
98	with the new kernel.
99
10020150131:
101	The powerpc64 kernel has been changed to a position-independent
102	executable. This can only be booted with a new version of loader(8),
103	so make sure to update both world and kernel before rebooting.
104
10520150118:
106	Clang and llvm have been upgraded to 3.5.1 release.  This is a bugfix
107	only release, no new features have been added.  Please see the 20141231
108	entry below for information about prerequisites and upgrading, if you
109	are not already using 3.5.0.
110
11120150107:
112	ELF tools addr2line, elfcopy (strip), nm, size, and strings are now
113	taken from the ELF Tool Chain project rather than GNU binutils. They
114	should be drop-in replacements, with the addition of arm64 support.
115	The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the
116	binutils tools, if necessary.
117
11820150105:
119	The default Unbound configuration now enables remote control
120	using a local socket.  Users who have already enabled the
121	local_unbound service should regenerate their configuration
122	by running "service local_unbound setup" as root.
123
12420150102:
125	The GNU texinfo and GNU info pages have been removed.
126	To be able to view GNU info pages please install texinfo from ports.
127
12820141231:
129	Clang, llvm and lldb have been upgraded to 3.5.0 release.
130
131	As of this release, a prerequisite for building clang, llvm and lldb is
132	a C++11 capable compiler and C++11 standard library.  This means that to
133	be able to successfully build the cross-tools stage of buildworld, with
134	clang as the bootstrap compiler, your system compiler or cross compiler
135	should either be clang 3.3 or later, or gcc 4.8 or later, and your
136	system C++ library should be libc++, or libdstdc++ from gcc 4.8 or
137	later.
138
139	On any standard FreeBSD 10.x or 11.x installation, where clang and
140	libc++ are on by default (that is, on x86 or arm), this should work out
141	of the box.
142
143	On 9.x installations where clang is enabled by default, e.g. on x86 and
144	powerpc, libc++ will not be enabled by default, so libc++ should be
145	built (with clang) and installed first.  If both clang and libc++ are
146	missing, build clang first, then use it to build libc++.
147
148	On 8.x and earlier installations, upgrade to 9.x first, and then follow
149	the instructions for 9.x above.
150
151	Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by
152	default, and do not build clang.
153
154	Many embedded systems are resource constrained, and will not be able to
155	build clang in a reasonable time, or in some cases at all.  In those
156	cases, cross building bootable systems on amd64 is a workaround.
157
158	This new version of clang introduces a number of new warnings, of which
159	the following are most likely to appear:
160
161	-Wabsolute-value
162
163	This warns in two cases, for both C and C++:
164	* When the code is trying to take the absolute value of an unsigned
165	  quantity, which is effectively a no-op, and almost never what was
166	  intended.  The code should be fixed, if at all possible.  If you are
167	  sure that the unsigned quantity can be safely cast to signed, without
168	  loss of information or undefined behavior, you can add an explicit
169	  cast, or disable the warning.
170
171	* When the code is trying to take an absolute value, but the called
172	  abs() variant is for the wrong type, which can lead to truncation.
173	  If you want to disable the warning instead of fixing the code, please
174	  make sure that truncation will not occur, or it might lead to unwanted
175	  side-effects.
176
177	-Wtautological-undefined-compare and
178	-Wundefined-bool-conversion
179
180	These warn when C++ code is trying to compare 'this' against NULL, while
181	'this' should never be NULL in well-defined C++ code.  However, there is
182	some legacy (pre C++11) code out there, which actively abuses this
183	feature, which was less strictly defined in previous C++ versions.
184
185	Squid and openjdk do this, for example.  The warning can be turned off
186	for C++98 and earlier, but compiling the code in C++11 mode might result
187	in unexpected behavior; for example, the parts of the program that are
188	unreachable could be optimized away.
189
19020141222:
191	The old NFS client and server (kernel options NFSCLIENT, NFSSERVER)
192	kernel sources have been removed. The .h files remain, since some
193	utilities include them. This will need to be fixed later.
194	If "mount -t oldnfs ..." is attempted, it will fail.
195	If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used,
196	the utilities will report errors.
197
19820141121:
199	The handling of LOCAL_LIB_DIRS has been altered to skip addition of
200	directories to top level SUBDIR variable when their parent
201	directory is included in LOCAL_DIRS.  Users with build systems with
202	such hierarchies and without SUBDIR entries in the parent
203	directory Makefiles should add them or add the directories to
204	LOCAL_DIRS.
205
20620141109:
207	faith(4) and faithd(8) have been removed from the base system. Faith
208	has been obsolete for a very long time.
209
21020141104:
211	vt(4), the new console driver, is enabled by default. It brings
212	support for Unicode and double-width characters, as well as
213	support for UEFI and integration with the KMS kernel video
214	drivers.
215
216	You may need to update your console settings in /etc/rc.conf,
217	most probably the keymap. During boot, /etc/rc.d/syscons will
218	indicate what you need to do.
219
220	vt(4) still has issues and lacks some features compared to
221	syscons(4). See the wiki for up-to-date information:
222	  https://wiki.freebsd.org/Newcons
223
224	If you want to keep using syscons(4), you can do so by adding
225	the following line to /boot/loader.conf:
226	  kern.vty=sc
227
22820141102:
229	pjdfstest has been integrated into kyua as an opt-in test suite.
230	Please see share/doc/pjdfstest/README for more details on how to
231	execute it.
232
23320141009:
234	gperf has been removed from the base system for architectures
235	that use clang. Ports that require gperf will obtain it from the
236	devel/gperf port.
237
23820140923:
239	pjdfstest has been moved from tools/regression/pjdfstest to
240	contrib/pjdfstest .
241
24220140922:
243	At svn r271982, The default linux compat kernel ABI has been adjusted
244	to 2.6.18 in support of the linux-c6 compat ports infrastructure
245	update.  If you wish to continue using the linux-f10 compat ports,
246	add compat.linux.osrelease=2.6.16 to your local sysctl.conf.  Users are
247	encouraged to update their linux-compat packages to linux-c6 during
248	their next update cycle.
249
25020140729:
251	The ofwfb driver, used to provide a graphics console on PowerPC when
252	using vt(4), no longer allows mmap() of all physical memory. This
253	will prevent Xorg on PowerPC with some ATI graphics cards from
254	initializing properly unless x11-servers/xorg-server is updated to
255	1.12.4_8 or newer.
256
25720140723:
258	The xdev targets have been converted to using TARGET and
259	TARGET_ARCH instead of XDEV and XDEV_ARCH.
260
26120140719:
262	The default unbound configuration has been modified to address
263	issues with reverse lookups on networks that use private
264	address ranges.  If you use the local_unbound service, run
265	"service local_unbound setup" as root to regenerate your
266	configuration, then "service local_unbound reload" to load the
267	new configuration.
268
26920140709:
270	The GNU texinfo and GNU info pages are not built and installed
271	anymore, WITH_INFO knob has been added to allow to built and install
272	them again.
273	UPDATE: see 20150102 entry on texinfo's removal
274
27520140708:
276	The GNU readline library is now an INTERNALLIB - that is, it is
277	statically linked into consumers (GDB and variants) in the base
278	system, and the shared library is no longer installed.  The
279	devel/readline port is available for third party software that
280	requires readline.
281
28220140702:
283	The Itanium architecture (ia64) has been removed from the list of
284	known architectures. This is the first step in the removal of the
285	architecture.
286
28720140701:
288	Commit r268115 has added NFSv4.1 server support, merged from
289	projects/nfsv4.1-server.  Since this includes changes to the
290	internal interfaces between the NFS related modules, a full
291	build of the kernel and modules will be necessary.
292	__FreeBSD_version has been bumped.
293
29420140629:
295	The WITHOUT_VT_SUPPORT kernel config knob has been renamed
296	WITHOUT_VT.  (The other _SUPPORT knobs have a consistent meaning
297	which differs from the behaviour controlled by this knob.)
298
29920140619:
300	Maximal length of the serial number in CTL was increased from 16 to
301	64 chars, that breaks ABI.  All CTL-related tools, such as ctladm
302	and ctld, need to be rebuilt to work with a new kernel.
303
30420140606:
305	The libatf-c and libatf-c++ major versions were downgraded to 0 and
306	1 respectively to match the upstream numbers.  They were out of
307	sync because, when they were originally added to FreeBSD, the
308	upstream versions were not respected.  These libraries are private
309	and not yet built by default, so renumbering them should be a
310	non-issue.  However, unclean source trees will yield broken test
311	programs once the operator executes "make delete-old-libs" after a
312	"make installworld".
313
314	Additionally, the atf-sh binary was made private by moving it into
315	/usr/libexec/.  Already-built shell test programs will keep the
316	path to the old binary so they will break after "make delete-old"
317	is run.
318
319	If you are using WITH_TESTS=yes (not the default), wipe the object
320	tree and rebuild from scratch to prevent spurious test failures.
321	This is only needed once: the misnumbered libraries and misplaced
322	binaries have been added to OptionalObsoleteFiles.inc so they will
323	be removed during a clean upgrade.
324
32520140512:
326	Clang and llvm have been upgraded to 3.4.1 release.
327
32820140508:
329	We bogusly installed src.opts.mk in /usr/share/mk. This file should
330	be removed to avoid issues in the future (and has been added to
331	ObsoleteFiles.inc).
332
33320140505:
334	/etc/src.conf now affects only builds of the FreeBSD src tree. In the
335	past, it affected all builds that used the bsd.*.mk files. The old
336	behavior was a bug, but people may have relied upon it. To get this
337	behavior back, you can .include /etc/src.conf from /etc/make.conf
338	(which is still global and isn't changed). This also changes the
339	behavior of incremental builds inside the tree of individual
340	directories. Set MAKESYSPATH to ".../share/mk" to do that.
341	Although this has survived make universe and some upgrade scenarios,
342	other upgrade scenarios may have broken. At least one form of
343	temporary breakage was fixed with MAKESYSPATH settings for buildworld
344	as well... In cases where MAKESYSPATH isn't working with this
345	setting, you'll need to set it to the full path to your tree.
346
347	One side effect of all this cleaning up is that bsd.compiler.mk
348	is no longer implicitly included by bsd.own.mk. If you wish to
349	use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk
350	as well.
351
35220140430:
353	The lindev device has been removed since /dev/full has been made a
354	standard device.  __FreeBSD_version has been bumped.
355
35620140424:
357	The knob WITHOUT_VI was added to the base system, which controls
358	building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1)
359	in order to reorder files share/termcap and didn't build ex(1) as a
360	build tool, so building/installing with WITH_VI is highly advised for
361	build hosts for older releases.
362
363	This issue has been fixed in stable/9 and stable/10 in r277022 and
364	r276991, respectively.
365
36620140418:
367	The YES_HESIOD knob has been removed. It has been obsolete for
368	a decade. Please move to using WITH_HESIOD instead or your builds
369	will silently lack HESIOD.
370
37120140405:
372	The uart(4) driver has been changed with respect to its handling
373	of the low-level console. Previously the uart(4) driver prevented
374	any process from changing the baudrate or the CLOCAL and HUPCL
375	control flags. By removing the restrictions, operators can make
376	changes to the serial console port without having to reboot.
377	However, when getty(8) is started on the serial device that is
378	associated with the low-level console, a misconfigured terminal
379	line in /etc/ttys will now have a real impact.
380	Before upgrading the kernel, make sure that /etc/ttys has the
381	serial console device configured as 3wire without baudrate to
382	preserve the previous behaviour. E.g:
383	    ttyu0  "/usr/libexec/getty 3wire"  vt100  on  secure
384
38520140306:
386	Support for libwrap (TCP wrappers) in rpcbind was disabled by default
387	to improve performance.  To re-enable it, if needed, run rpcbind
388	with command line option -W.
389
39020140226:
391	Switched back to the GPL dtc compiler due to updates in the upstream
392	dts files not being supported by the BSDL dtc compiler. You will need
393	to rebuild your kernel toolchain to pick up the new compiler. Core dumps
394	may result while building dtb files during a kernel build if you fail
395	to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler.
396
39720140216:
398	Clang and llvm have been upgraded to 3.4 release.
399
40020140216:
401	The nve(4) driver has been removed.  Please use the nfe(4) driver
402	for NVIDIA nForce MCP Ethernet adapters instead.
403
40420140212:
405	An ABI incompatibility crept into the libc++ 3.4 import in r261283.
406	This could cause certain C++ applications using shared libraries built
407	against the previous version of libc++ to crash.  The incompatibility
408	has now been fixed, but any C++ applications or shared libraries built
409	between r261283 and r261801 should be recompiled.
410
41120140204:
412	OpenSSH will now ignore errors caused by kernel lacking of Capsicum
413	capability mode support.  Please note that enabling the feature in
414	kernel is still highly recommended.
415
41620140131:
417	OpenSSH is now built with sandbox support, and will use sandbox as
418	the default privilege separation method.  This requires Capsicum
419	capability mode support in kernel.
420
42120140128:
422	The libelf and libdwarf libraries have been updated to newer
423	versions from upstream. Shared library version numbers for
424	these two libraries were bumped. Any ports or binaries
425	requiring these two libraries should be recompiled.
426	__FreeBSD_version is bumped to 1100006.
427
42820140110:
429	If a Makefile in a tests/ directory was auto-generating a Kyuafile
430	instead of providing an explicit one, this would prevent such
431	Makefile from providing its own Kyuafile in the future during
432	NO_CLEAN builds.  This has been fixed in the Makefiles but manual
433	intervention is needed to clean an objdir if you use NO_CLEAN:
434	  # find /usr/obj -name Kyuafile | xargs rm -f
435
43620131213:
437	The behavior of gss_pseudo_random() for the krb5 mechanism
438	has changed, for applications requesting a longer random string
439	than produced by the underlying enctype's pseudo-random() function.
440	In particular, the random string produced from a session key of
441	enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will
442	be different at the 17th octet and later, after this change.
443	The counter used in the PRF+ construction is now encoded as a
444	big-endian integer in accordance with RFC 4402.
445	__FreeBSD_version is bumped to 1100004.
446
44720131108:
448	The WITHOUT_ATF build knob has been removed and its functionality
449	has been subsumed into the more generic WITHOUT_TESTS.  If you were
450	using the former to disable the build of the ATF libraries, you
451	should change your settings to use the latter.
452
45320131025:
454	The default version of mtree is nmtree which is obtained from
455	NetBSD.  The output is generally the same, but may vary
456	slightly.  If you found you need identical output adding
457	"-F freebsd9" to the command line should do the trick.  For the
458	time being, the old mtree is available as fmtree.
459
46020131014:
461	libbsdyml has been renamed to libyaml and moved to /usr/lib/private.
462	This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg
463	1.1.4_8 and verify bsdyml not linked in, before running "make
464	delete-old-libs":
465	  # make -C /usr/ports/ports-mgmt/pkg build deinstall install clean
466	  or
467	  # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml
468
46920131010:
470	The rc.d/jail script has been updated to support jail(8)
471	configuration file.  The "jail_<jname>_*" rc.conf(5) variables
472	for per-jail configuration are automatically converted to
473	/var/run/jail.<jname>.conf before the jail(8) utility is invoked.
474	This is transparently backward compatible.  See below about some
475	incompatibilities and rc.conf(5) manual page for more details.
476
477	These variables are now deprecated in favor of jail(8) configuration
478	file.  One can use "rc.d/jail config <jname>" command to generate
479	a jail(8) configuration file in /var/run/jail.<jname>.conf without
480	running the jail(8) utility.   The default pathname of the
481	configuration file is /etc/jail.conf and can be specified by
482	using $jail_conf or $jail_<jname>_conf variables.
483
484	Please note that jail_devfs_ruleset accepts an integer at
485	this moment.  Please consider to rewrite the ruleset name
486	with an integer.
487
48820130930:
489	BIND has been removed from the base system.  If all you need
490	is a local resolver, simply enable and start the local_unbound
491	service instead.  Otherwise, several versions of BIND are
492	available in the ports tree.   The dns/bind99 port is one example.
493
494	With this change, nslookup(1) and dig(1) are no longer in the base
495	system.  Users should instead use host(1) and drill(1) which are
496	in the base system.  Alternatively, nslookup and dig can
497	be obtained by installing the dns/bind-tools port.
498
49920130916:
500	With the addition of unbound(8), a new unbound user is now
501	required during installworld.  "mergemaster -p" can be used to
502	add the user prior to installworld, as documented in the handbook.
503
50420130911:
505	OpenSSH is now built with DNSSEC support, and will by default
506	silently trust signed SSHFP records.  This can be controlled with
507	the VerifyHostKeyDNS client configuration setting.  DNSSEC support
508	can be disabled entirely with the WITHOUT_LDNS option in src.conf.
509
51020130906:
511	The GNU Compiler Collection and C++ standard library (libstdc++)
512	are no longer built by default on platforms where clang is the system
513	compiler.  You can enable them with the WITH_GCC and WITH_GNUCXX
514	options in src.conf.
515
51620130905:
517	The PROCDESC kernel option is now part of the GENERIC kernel
518	configuration and is required for the rwhod(8) to work.
519	If you are using custom kernel configuration, you should include
520	'options PROCDESC'.
521
52220130905:
523	The API and ABI related to the Capsicum framework was modified
524	in backward incompatible way. The userland libraries and programs
525	have to be recompiled to work with the new kernel. This includes the
526	following libraries and programs, but the whole buildworld is
527	advised: libc, libprocstat, dhclient, tcpdump, hastd, hastctl,
528	kdump, procstat, rwho, rwhod, uniq.
529
53020130903:
531	AES-NI intrinsic support has been added to gcc.  The AES-NI module
532	has been updated to use this support.  A new gcc is required to build
533	the aesni module on both i386 and amd64.
534
53520130821:
536	The PADLOCK_RNG and RDRAND_RNG kernel options are now devices.
537	Thus "device padlock_rng" and "device rdrand_rng" should be
538	used instead of "options PADLOCK_RNG" & "options RDRAND_RNG".
539
54020130813:
541	WITH_ICONV has been split into two feature sets.  WITH_ICONV now
542	enables just the iconv* functionality and is now on by default.
543	WITH_LIBICONV_COMPAT enables the libiconv api and link time
544	compatability.  Set WITHOUT_ICONV to build the old way.
545	If you have been using WITH_ICONV before, you will very likely
546	need to turn on WITH_LIBICONV_COMPAT.
547
54820130806:
549	INVARIANTS option now enables DEBUG for code with OpenSolaris and
550	Illumos origin, including ZFS.  If you have INVARIANTS in your
551	kernel configuration, then there is no need to set DEBUG or ZFS_DEBUG
552	explicitly.
553	DEBUG used to enable witness(9) tracking of OpenSolaris (mostly ZFS)
554	locks if WITNESS option was set.  Because that generated a lot of
555	witness(9) reports and all of them were believed to be false
556	positives, this is no longer done.  New option OPENSOLARIS_WITNESS
557	can be used to achieve the previous behavior.
558
55920130806:
560	Timer values in IPv6 data structures now use time_uptime instead
561	of time_second.  Although this is not a user-visible functional
562	change, userland utilities which directly use them---ndp(8),
563	rtadvd(8), and rtsold(8) in the base system---need to be updated
564	to r253970 or later.
565
56620130802:
567	find -delete can now delete the pathnames given as arguments,
568	instead of only files found below them or if the pathname did
569	not contain any slashes. Formerly, the following error message
570	would result:
571
572	find: -delete: <path>: relative path potentially not safe
573
574	Deleting the pathnames given as arguments can be prevented
575	without error messages using -mindepth 1 or by changing
576	directory and passing "." as argument to find. This works in the
577	old as well as the new version of find.
578
57920130726:
580	Behavior of devfs rules path matching has been changed.
581	Pattern is now always matched against fully qualified devfs
582	path and slash characters must be explicitly matched by
583	slashes in pattern (FNM_PATHNAME). Rulesets involving devfs
584	subdirectories must be reviewed.
585
58620130716:
587	The default ARM ABI has changed to the ARM EABI. The old ABI is
588	incompatible with the ARM EABI and all programs and modules will
589	need to be rebuilt to work with a new kernel.
590
591	To keep using the old ABI ensure the WITHOUT_ARM_EABI knob is set.
592
593	NOTE: Support for the old ABI will be removed in the future and
594	users are advised to upgrade.
595
59620130709:
597	pkg_install has been disconnected from the build if you really need it
598	you should add WITH_PKGTOOLS in your src.conf(5).
599
60020130709:
601	Most of network statistics structures were changed to be able
602	keep 64-bits counters. Thus all tools, that work with networking
603	statistics, must be rebuilt (netstat(1), bsnmpd(1), etc.)
604
60520130629:
606	Fix targets that run multiple make's to use && rather than ;
607	so that subsequent steps depend on success of previous.
608
609	NOTE: if building 'universe' with -j* on stable/8 or stable/9
610	it would be better to start the build using bmake, to avoid
611	overloading the machine.
612
61320130618:
614	Fix a bug that allowed a tracing process (e.g. gdb) to write
615	to a memory-mapped file in the traced process's address space
616	even if neither the traced process nor the tracing process had
617	write access to that file.
618
61920130615:
620	CVS has been removed from the base system.  An exact copy
621	of the code is available from the devel/cvs port.
622
62320130613:
624	Some people report the following error after the switch to bmake:
625
626		make: illegal option -- J
627		usage: make [-BPSXeiknpqrstv] [-C directory] [-D variable]
628			...
629		*** [buildworld] Error code 2
630
631	this likely due to an old instance of make in
632	${MAKEPATH} (${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE})
633	which src/Makefile will use that blindly, if it exists, so if
634	you see the above error:
635
636		rm -rf `make -V MAKEPATH`
637
638	should resolve it.
639
64020130516:
641	Use bmake by default.
642	Whereas before one could choose to build with bmake via
643	-DWITH_BMAKE one must now use -DWITHOUT_BMAKE to use the old
644	make. The goal is to remove these knobs for 10-RELEASE.
645
646	It is worth noting that bmake (like gmake) treats the command
647	line as the unit of failure, rather than statements within the
648	command line.  Thus '(cd some/where && dosomething)' is safer
649	than 'cd some/where; dosomething'. The '()' allows consistent
650	behavior in parallel build.
651
65220130429:
653        Fix a bug that allows NFS clients to issue READDIR on files.
654
65520130426:
656	The WITHOUT_IDEA option has been removed because
657	the IDEA patent expired.
658
65920130426:
660	The sysctl which controls TRIM support under ZFS has been renamed
661	from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been
662	enabled by default.
663
66420130425:
665	The mergemaster command now uses the default MAKEOBJDIRPREFIX
666	rather than creating it's own in the temporary directory in
667	order allow access to bootstrapped versions of tools such as
668	install and mtree.  When upgrading from version of FreeBSD where
669	the install command does not support -l, you will need to
670	install a new mergemaster command if mergemaster -p is required.
671	This can be accomplished with the command (cd src/usr.sbin/mergemaster
672	&& make install).
673
67420130404:
675	Legacy ATA stack, disabled and replaced by new CAM-based one since
676	FreeBSD 9.0, completely removed from the sources.  Kernel modules
677	atadisk and atapi*, user-level tools atacontrol and burncd are
678	removed.  Kernel option `options ATA_CAM` is now permanently enabled
679	and removed.
680
68120130319:
682	SOCK_CLOEXEC and SOCK_NONBLOCK flags have been added to socket(2)
683	and socketpair(2). Software, in particular Kerberos, may
684	automatically detect and use these during building. The resulting
685	binaries will not work on older kernels.
686
68720130308:
688	CTL_DISABLE has also been added to the sparc64 GENERIC (for further
689	information, see the respective 20130304 entry).
690
69120130304:
692	Recent commits to callout(9) changed the size of struct callout,
693	so the KBI is probably heavily disturbed. Also, some functions
694	in callout(9)/sleep(9)/sleepqueue(9)/condvar(9) KPIs were replaced
695	by macros. Every kernel module using it won't load, so rebuild
696	is requested.
697
698	The ctl device has been re-enabled in GENERIC for i386 and amd64,
699	but does not initialize by default (because of the new CTL_DISABLE
700	option) to save memory.  To re-enable it, remove the CTL_DISABLE
701	option from the kernel config file or set kern.cam.ctl.disable=0
702	in /boot/loader.conf.
703
70420130301:
705	The ctl device has been disabled in GENERIC for i386 and amd64.
706	This was done due to the extra memory being allocated at system
707	initialisation time by the ctl driver which was only used if
708	a CAM target device was created.  This makes a FreeBSD system
709	unusable on 128MB or less of RAM.
710
71120130208:
712	A new compression method (lz4) has been merged to -HEAD.  Please
713	refer to zpool-features(7) for more information.
714
715	Please refer to the "ZFS notes" section of this file for information
716	on upgrading boot ZFS pools.
717
71820130129:
719	A BSD-licensed patch(1) variant has been added and is installed
720	as bsdpatch, being the GNU version the default patch.
721	To inverse the logic and use the BSD-licensed one as default,
722	while having the GNU version installed as gnupatch, rebuild
723	and install world with the WITH_BSD_PATCH knob set.
724
72520130121:
726	Due to the use of the new -l option to install(1) during build
727	and install, you must take care not to directly set the INSTALL
728	make variable in your /etc/make.conf, /etc/src.conf, or on the
729	command line.  If you wish to use the -C flag for all installs
730	you may be able to add INSTALL+=-C to /etc/make.conf or
731	/etc/src.conf.
732
73320130118:
734	The install(1) option -M has changed meaning and now takes an
735	argument that is a file or path to append logs to.  In the
736	unlikely event that -M was the last option on the command line
737	and the command line contained at least two files and a target
738	directory the first file will have logs appended to it.  The -M
739	option served little practical purpose in the last decade so its
740	use is expected to be extremely rare.
741
74220121223:
743	After switching to Clang as the default compiler some users of ZFS
744	on i386 systems started to experience stack overflow kernel panics.
745	Please consider using 'options KSTACK_PAGES=4' in such configurations.
746
74720121222:
748	GEOM_LABEL now mangles label names read from file system metadata.
749	Mangling affect labels containing spaces, non-printable characters,
750	'%' or '"'. Device names in /etc/fstab and other places may need to
751	be updated.
752
75320121217:
754	By default, only the 10 most recent kernel dumps will be saved.  To
755	restore the previous behaviour (no limit on the number of kernel dumps
756	stored in the dump directory) add the following line to /etc/rc.conf:
757
758		savecore_flags=""
759
76020121201:
761	With the addition of auditdistd(8), a new auditdistd user is now
762	required during installworld.  "mergemaster -p" can be used to
763	add the user prior to installworld, as documented in the handbook.
764
76520121117:
766	The sin6_scope_id member variable in struct sockaddr_in6 is now
767	filled by the kernel before passing the structure to the userland via
768	sysctl or routing socket.  This means the KAME-specific embedded scope
769	id in sin6_addr.s6_addr[2] is always cleared in userland application.
770	This behavior can be controlled by net.inet6.ip6.deembed_scopeid.
771	__FreeBSD_version is bumped to 1000025.
772
77320121105:
774	On i386 and amd64 systems WITH_CLANG_IS_CC is now the default.
775	This means that the world and kernel will be compiled with clang
776	and that clang will be installed as /usr/bin/cc, /usr/bin/c++,
777	and /usr/bin/cpp.  To disable this behavior and revert to building
778	with gcc, compile with WITHOUT_CLANG_IS_CC. Really old versions
779	of current may need to bootstrap WITHOUT_CLANG first if the clang
780	build fails (its compatibility window doesn't extend to the 9 stable
781	branch point).
782
78320121102:
784	The IPFIREWALL_FORWARD kernel option has been removed. Its
785	functionality now turned on by default.
786
78720121023:
788	The ZERO_COPY_SOCKET kernel option has been removed and
789	split into SOCKET_SEND_COW and SOCKET_RECV_PFLIP.
790	NB: SOCKET_SEND_COW uses the VM page based copy-on-write
791	mechanism which is not safe and may result in kernel crashes.
792	NB: The SOCKET_RECV_PFLIP mechanism is useless as no current
793	driver supports disposeable external page sized mbuf storage.
794	Proper replacements for both zero-copy mechanisms are under
795	consideration and will eventually lead to complete removal
796	of the two kernel options.
797
79820121023:
799	The IPv4 network stack has been converted to network byte
800	order. The following modules need to be recompiled together
801	with kernel: carp(4), divert(4), gif(4), siftr(4), gre(4),
802	pf(4), ipfw(4), ng_ipfw(4), stf(4).
803
80420121022:
805	Support for non-MPSAFE filesystems was removed from VFS. The
806	VFS_VERSION was bumped, all filesystem modules shall be
807	recompiled.
808
80920121018:
810	All the non-MPSAFE filesystems have been disconnected from
811	the build. The full list includes: codafs, hpfs, ntfs, nwfs,
812	portalfs, smbfs, xfs.
813
81420121016:
815	The interface cloning API and ABI has changed. The following
816	modules need to be recompiled together with kernel:
817	ipfw(4), pfsync(4), pflog(4), usb(4), wlan(4), stf(4),
818	vlan(4), disc(4), edsc(4), if_bridge(4), gif(4), tap(4),
819	faith(4), epair(4), enc(4), tun(4), if_lagg(4), gre(4).
820
82120121015:
822	The sdhci driver was split in two parts: sdhci (generic SD Host
823	Controller logic) and sdhci_pci (actual hardware driver).
824	No kernel config modifications are required, but if you
825	load sdhc as a module you must switch to sdhci_pci instead.
826
82720121014:
828	Import the FUSE kernel and userland support into base system.
829
83020121013:
831	The GNU sort(1) program has been removed since the BSD-licensed
832	sort(1) has been the default for quite some time and no serious
833	problems have been reported.  The corresponding WITH_GNU_SORT
834	knob has also gone.
835
83620121006:
837	The pfil(9) API/ABI for AF_INET family has been changed. Packet
838	filtering modules: pf(4), ipfw(4), ipfilter(4) need to be recompiled
839	with new kernel.
840
84120121001:
842	The net80211(4) ABI has been changed to allow for improved driver
843	PS-POLL and power-save support.  All wireless drivers need to be
844	recompiled to work with the new kernel.
845
84620120913:
847	The random(4) support for the VIA hardware random number
848	generator (`PADLOCK') is no longer enabled unconditionally.
849	Add the padlock_rng device in the custom kernel config if
850	needed.  The GENERIC kernels on i386 and amd64 do include the
851	device, so the change only affects the custom kernel
852	configurations.
853
85420120908:
855	The pf(4) packet filter ABI has been changed. pfctl(8) and
856	snmp_pf module need to be recompiled to work with new kernel.
857
85820120828:
859	A new ZFS feature flag "com.delphix:empty_bpobj" has been merged
860	to -HEAD. Pools that have empty_bpobj in active state can not be
861	imported read-write with ZFS implementations that do not support
862	this feature. For more information read the zpool-features(5)
863	manual page.
864
86520120727:
866	The sparc64 ZFS loader has been changed to no longer try to auto-
867	detect ZFS providers based on diskN aliases but now requires these
868	to be explicitly listed in the OFW boot-device environment variable.
869
87020120712:
871	The OpenSSL has been upgraded to 1.0.1c.  Any binaries requiring
872	libcrypto.so.6 or libssl.so.6 must be recompiled.  Also, there are
873	configuration changes.  Make sure to merge /etc/ssl/openssl.cnf.
874
87520120712:
876	The following sysctls and tunables have been renamed for consistency
877	with other variables:
878	  kern.cam.da.da_send_ordered   -> kern.cam.da.send_ordered
879	  kern.cam.ada.ada_send_ordered -> kern.cam.ada.send_ordered
880
88120120628:
882	The sort utility has been replaced with BSD sort.  For now, GNU sort
883	is also available as "gnusort" or the default can be set back to
884	GNU sort by setting WITH_GNU_SORT.  In this case, BSD sort will be
885	installed as "bsdsort".
886
88720120611:
888	A new version of ZFS (pool version 5000) has been merged to -HEAD.
889	Starting with this version the old system of ZFS pool versioning
890	is superseded by "feature flags". This concept enables forward
891	compatibility against certain future changes in functionality of ZFS
892	pools. The first read-only compatible "feature flag" for ZFS pools
893	is named "com.delphix:async_destroy". For more information
894	read the new zpool-features(5) manual page.
895	Please refer to the "ZFS notes" section of this file for information
896	on upgrading boot ZFS pools.
897
89820120417:
899	The malloc(3) implementation embedded in libc now uses sources imported
900	as contrib/jemalloc.  The most disruptive API change is to
901	/etc/malloc.conf.  If your system has an old-style /etc/malloc.conf,
902	delete it prior to installworld, and optionally re-create it using the
903	new format after rebooting.  See malloc.conf(5) for details
904	(specifically the TUNING section and the "opt.*" entries in the MALLCTL
905	NAMESPACE section).
906
90720120328:
908	Big-endian MIPS TARGET_ARCH values no longer end in "eb".  mips64eb
909	is now spelled mips64.  mipsn32eb is now spelled mipsn32.  mipseb is
910	now spelled mips.  This is to aid compatibility with third-party
911	software that expects this naming scheme in uname(3).  Little-endian
912	settings are unchanged. If you are updating a big-endian mips64 machine
913	from before this change, you may need to set MACHINE_ARCH=mips64 in
914	your environment before the new build system will recognize your machine.
915
91620120306:
917	Disable by default the option VFS_ALLOW_NONMPSAFE for all supported
918	platforms.
919
92020120229:
921	Now unix domain sockets behave "as expected" on	nullfs(5). Previously
922	nullfs(5) did not pass through all behaviours to the underlying layer,
923	as a result if we bound to a socket on the lower layer we could connect
924	only to the lower path; if we bound to the upper layer we could connect
925	only to	the upper path. The new behavior is one can connect to both the
926	lower and the upper paths regardless what layer path one binds to.
927
92820120211:
929	The getifaddrs upgrade path broken with 20111215 has been restored.
930	If you have upgraded in between 20111215 and 20120209 you need to
931	recompile libc again with your kernel.  You still need to recompile
932	world to be able to configure CARP but this restriction already
933	comes from 20111215.
934
93520120114:
936	The set_rcvar() function has been removed from /etc/rc.subr.  All
937	base and ports rc.d scripts have been updated, so if you have a
938	port installed with a script in /usr/local/etc/rc.d you can either
939	hand-edit the rcvar= line, or reinstall the port.
940
941	An easy way to handle the mass-update of /etc/rc.d:
942	rm /etc/rc.d/* && mergemaster -i
943
94420120109:
945	panic(9) now stops other CPUs in the SMP systems, disables interrupts
946	on the current CPU and prevents other threads from running.
947	This behavior can be reverted using the kern.stop_scheduler_on_panic
948	tunable/sysctl.
949	The new behavior can be incompatible with kern.sync_on_panic.
950
95120111215:
952	The carp(4) facility has been changed significantly. Configuration
953	of the CARP protocol via ifconfig(8) has changed, as well as format
954	of CARP events submitted to devd(8) has changed. See manual pages
955	for more information. The arpbalance feature of carp(4) is currently
956	not supported anymore.
957
958	Size of struct in_aliasreq, struct in6_aliasreq has changed. User
959	utilities using SIOCAIFADDR, SIOCAIFADDR_IN6, e.g. ifconfig(8),
960	need to be recompiled.
961
96220111122:
963	The acpi_wmi(4) status device /dev/wmistat has been renamed to
964	/dev/wmistat0.
965
96620111108:
967	The option VFS_ALLOW_NONMPSAFE option has been added in order to
968	explicitely support non-MPSAFE filesystems.
969	It is on by default for all supported platform at this present
970	time.
971
97220111101:
973	The broken amd(4) driver has been replaced with esp(4) in the amd64,
974	i386 and pc98 GENERIC kernel configuration files.
975
97620110930:
977	sysinstall has been removed
978
97920110923:
980	The stable/9 branch created in subversion.  This corresponds to the
981	RELENG_9 branch in CVS.
982
983COMMON ITEMS:
984
985	General Notes
986	-------------
987	Avoid using make -j when upgrading.  While generally safe, there are
988	sometimes problems using -j to upgrade.  If your upgrade fails with
989	-j, please try again without -j.  From time to time in the past there
990	have been problems using -j with buildworld and/or installworld.  This
991	is especially true when upgrading between "distant" versions (eg one
992	that cross a major release boundary or several minor releases, or when
993	several months have passed on the -current branch).
994
995	Sometimes, obscure build problems are the result of environment
996	poisoning.  This can happen because the make utility reads its
997	environment when searching for values for global variables.  To run
998	your build attempts in an "environmental clean room", prefix all make
999	commands with 'env -i '.  See the env(1) manual page for more details.
1000
1001	When upgrading from one major version to another it is generally best
1002	to upgrade to the latest code in the currently installed branch first,
1003	then do an upgrade to the new branch. This is the best-tested upgrade
1004	path, and has the highest probability of being successful.  Please try
1005	this approach before reporting problems with a major version upgrade.
1006
1007	When upgrading a live system, having a root shell around before
1008	installing anything can help undo problems. Not having a root shell
1009	around can lead to problems if pam has changed too much from your
1010	starting point to allow continued authentication after the upgrade.
1011
1012	ZFS notes
1013	---------
1014	When upgrading the boot ZFS pool to a new version, always follow
1015	these two steps:
1016
1017	1.) recompile and reinstall the ZFS boot loader and boot block
1018	(this is part of "make buildworld" and "make installworld")
1019
1020	2.) update the ZFS boot block on your boot drive
1021
1022	The following example updates the ZFS boot block on the first
1023	partition (freebsd-boot) of a GPT partitioned drive ada0:
1024	"gpart bootcode -p /boot/gptzfsboot -i 1 ada0"
1025
1026	Non-boot pools do not need these updates.
1027
1028	To build a kernel
1029	-----------------
1030	If you are updating from a prior version of FreeBSD (even one just
1031	a few days old), you should follow this procedure.  It is the most
1032	failsafe as it uses a /usr/obj tree with a fresh mini-buildworld,
1033
1034	make kernel-toolchain
1035	make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE
1036	make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE
1037
1038	To test a kernel once
1039	---------------------
1040	If you just want to boot a kernel once (because you are not sure
1041	if it works, or if you want to boot a known bad kernel to provide
1042	debugging information) run
1043	make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
1044	nextboot -k testkernel
1045
1046	To just build a kernel when you know that it won't mess you up
1047	--------------------------------------------------------------
1048	This assumes you are already running a CURRENT system.  Replace
1049	${arch} with the architecture of your machine (e.g. "i386",
1050	"arm", "amd64", "ia64", "pc98", "sparc64", "powerpc", "mips", etc).
1051
1052	cd src/sys/${arch}/conf
1053	config KERNEL_NAME_HERE
1054	cd ../compile/KERNEL_NAME_HERE
1055	make depend
1056	make
1057	make install
1058
1059	If this fails, go to the "To build a kernel" section.
1060
1061	To rebuild everything and install it on the current system.
1062	-----------------------------------------------------------
1063	# Note: sometimes if you are running current you gotta do more than
1064	# is listed here if you are upgrading from a really old current.
1065
1066	<make sure you have good level 0 dumps>
1067	make buildworld
1068	make kernel KERNCONF=YOUR_KERNEL_HERE
1069							[1]
1070	<reboot in single user>				[3]
1071	mergemaster -Fp					[5]
1072	make installworld
1073	mergemaster -Fi					[4]
1074	make delete-old					[6]
1075	<reboot>
1076
1077	To cross-install current onto a separate partition
1078	--------------------------------------------------
1079	# In this approach we use a separate partition to hold
1080	# current's root, 'usr', and 'var' directories.   A partition
1081	# holding "/", "/usr" and "/var" should be about 2GB in
1082	# size.
1083
1084	<make sure you have good level 0 dumps>
1085	<boot into -stable>
1086	make buildworld
1087	make buildkernel KERNCONF=YOUR_KERNEL_HERE
1088	<maybe newfs current's root partition>
1089	<mount current's root partition on directory ${CURRENT_ROOT}>
1090	make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC
1091	make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
1092	make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
1093	cp /etc/fstab ${CURRENT_ROOT}/etc/fstab 		   # if newfs'd
1094	<edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
1095	<reboot into current>
1096	<do a "native" rebuild/install as described in the previous section>
1097	<maybe install compatibility libraries from ports/misc/compat*>
1098	<reboot>
1099
1100
1101	To upgrade in-place from stable to current
1102	----------------------------------------------
1103	<make sure you have good level 0 dumps>
1104	make buildworld					[9]
1105	make kernel KERNCONF=YOUR_KERNEL_HERE		[8]
1106							[1]
1107	<reboot in single user>				[3]
1108	mergemaster -Fp					[5]
1109	make installworld
1110	mergemaster -Fi					[4]
1111	make delete-old					[6]
1112	<reboot>
1113
1114	Make sure that you've read the UPDATING file to understand the
1115	tweaks to various things you need.  At this point in the life
1116	cycle of current, things change often and you are on your own
1117	to cope.  The defaults can also change, so please read ALL of
1118	the UPDATING entries.
1119
1120	Also, if you are tracking -current, you must be subscribed to
1121	freebsd-current@freebsd.org.  Make sure that before you update
1122	your sources that you have read and understood all the recent
1123	messages there.  If in doubt, please track -stable which has
1124	much fewer pitfalls.
1125
1126	[1] If you have third party modules, such as vmware, you
1127	should disable them at this point so they don't crash your
1128	system on reboot.
1129
1130	[3] From the bootblocks, boot -s, and then do
1131		fsck -p
1132		mount -u /
1133		mount -a
1134		cd src
1135		adjkerntz -i		# if CMOS is wall time
1136	Also, when doing a major release upgrade, it is required that
1137	you boot into single user mode to do the installworld.
1138
1139	[4] Note: This step is non-optional.  Failure to do this step
1140	can result in a significant reduction in the functionality of the
1141	system.  Attempting to do it by hand is not recommended and those
1142	that pursue this avenue should read this file carefully, as well
1143	as the archives of freebsd-current and freebsd-hackers mailing lists
1144	for potential gotchas.  The -U option is also useful to consider.
1145	See mergemaster(8) for more information.
1146
1147	[5] Usually this step is a noop.  However, from time to time
1148	you may need to do this if you get unknown user in the following
1149	step.  It never hurts to do it all the time.  You may need to
1150	install a new mergemaster (cd src/usr.sbin/mergemaster && make
1151	install) after the buildworld before this step if you last updated
1152	from current before 20130425 or from -stable before 20130430.
1153
1154	[6] This only deletes old files and directories. Old libraries
1155	can be deleted by "make delete-old-libs", but you have to make
1156	sure that no program is using those libraries anymore.
1157
1158	[8] In order to have a kernel that can run the 4.x binaries needed to
1159	do an installworld, you must include the COMPAT_FREEBSD4 option in
1160	your kernel.  Failure to do so may leave you with a system that is
1161	hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 is
1162	required to run the 5.x binaries on more recent kernels.  And so on
1163	for COMPAT_FREEBSD6 and COMPAT_FREEBSD7.
1164
1165	Make sure that you merge any new devices from GENERIC since the
1166	last time you updated your kernel config file.
1167
1168	[9] When checking out sources, you must include the -P flag to have
1169	cvs prune empty directories.
1170
1171	If CPUTYPE is defined in your /etc/make.conf, make sure to use the
1172	"?=" instead of the "=" assignment operator, so that buildworld can
1173	override the CPUTYPE if it needs to.
1174
1175	MAKEOBJDIRPREFIX must be defined in an environment variable, and
1176	not on the command line, or in /etc/make.conf.  buildworld will
1177	warn if it is improperly defined.
1178FORMAT:
1179
1180This file contains a list, in reverse chronological order, of major
1181breakages in tracking -current.  It is not guaranteed to be a complete
1182list of such breakages, and only contains entries since October 10, 2007.
1183If you need to see UPDATING entries from before that date, you will need
1184to fetch an UPDATING file from an older FreeBSD release.
1185
1186Copyright information:
1187
1188Copyright 1998-2009 M. Warner Losh.  All Rights Reserved.
1189
1190Redistribution, publication, translation and use, with or without
1191modification, in full or in part, in any form or format of this
1192document are permitted without further permission from the author.
1193
1194THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1195IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1196WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1197DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1198INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1199(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1200SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1201HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1202STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1203IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1204POSSIBILITY OF SUCH DAMAGE.
1205
1206Contact Warner Losh if you have any questions about your use of
1207this document.
1208
1209$FreeBSD$
1210