Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DEVELOPMENT(7)	   FreeBSD Miscellaneous Information Manual	DEVELOPMENT(7)

NAME
     development -- introduction to FreeBSD development	process

DESCRIPTION
     FreeBSD development is split into three major suprojects: doc, ports, and
     src.  Doc is the documentation, such as the FreeBSD Handbook.  To read
     more, see:

	   https://www.FreeBSD.org/doc/en/books/fdp-primer/

     Ports, described further in ports(7), are the way to build, package, and
     install third party software.  To read more, see:

	   https://www.FreeBSD.org/doc/en/books/porters-handbook/

     The last one, src,	revolves around	the source code	for the	base system,
     consisting	of the kernel, and the libraries and utilities commonly	called
     the world.

     The Committer's Guide, describing topics relevant to all committers, can
     be	found at:

	   https://www.FreeBSD.org/doc/en/articles/committers-guide/

     FreeBSD src development takes place in the	CURRENT	branch in Subversion,
     located at:

	   https://svn.FreeBSD.org/base/head

     There is also a read-only GitHub mirror at:

	   https://github.com/freebsd/freebsd

     Changes are first committed to CURRENT and	then usually merged back to
     STABLE.  Every few	years the CURRENT branch is renamed to STABLE, and a
     new CURRENT is branched, with an incremented major	version	number.
     Releases are then branched	off STABLE and numbered	with consecutive minor
     numbers.

     Layout of the source tree is described in hier(7).	 Build instructions
     can be found in build(7) and release(7).  Kernel programming interfaces
     (KPIs) are	documented in section 9	manual pages; use `apropos -s 9	'''
     for a list.  Regression test suite	is described in	tests(7).  For coding
     conventions, see style(9).

     To	ask questions regarding	development, use the mailing lists, such as
     freebsd-arch@ and freebsd-hackers@:

	   https://lists.FreeBSD.org/

     To	get your patches integrated into the main FreeBSD repository use
     Phabricator; it is	a code review tool that	allows other developers	to
     review the	changes, suggest improvements, and, eventually,	allows them to
     pick up the change	and commit it:

	   https://reviews.FreeBSD.org/

EXAMPLES
     Check out the CURRENT branch, build it, and install, overwriting the cur-
     rent system:

	   svnlite co https://svn.FreeBSD.org/base/head	src
	   cd src
	   make	-j8 buildworld buildkernel installkernel
	   reboot

     After reboot:

	   cd src
	   make	-j8 installworld
	   reboot

SEE ALSO
     svnlite(1), witness(4), build(7), hier(7),	release(7), locking(9),
     style(9)

HISTORY
     The development manual page was originally	written	by Matthew Dillon
     <dillon@FreeBSD.org> and first appeared in	FreeBSD	5.0, December 2002.
     It	was since extensively modified by Eitan	Adler <eadler@FreeBSD.org> to
     reflect the repository conversion from cvs(1) to svn(1).  It was rewrit-
     ten from scratch by Edward	Tomasz Napierala <trasz@FreeBSD.org> for
     FreeBSD 12.0.

FreeBSD	Ports 11.2		August 22, 2018		    FreeBSD Ports 11.2

NAME | DESCRIPTION | EXAMPLES | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=development&sektion=7&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help