Request for buildworld clarification

Polytropon freebsd at edvax.de
Wed Sep 10 19:57:24 UTC 2014


On Wed, 10 Sep 2014 12:08:59 -0600, Dave Babb wrote:
> Good Afternoon All,
> 
> 
> I am requesting a clarification on make buildworld. I am junior with 
> FreeBSD (< 8 months)...and I am getting confused with Gentoo's 
> definition of build world, and FreeBSD's.

FreeBSD, unlike Linux, is separated in "the operating system"
(consisting of "world" and "kernel"), and "everything else",
which is what the ports collection contains (ports, packages
and the like).

The FreeBSD OS is maintained by the FreeBSD team, whereas the
ports have individual maintainers and are not under direct
control of the FreeBSD team.



> Under Gentoo, when you rebuilt your world, everything got rebuilt. Every 
> package that you had installed in your system including the base.

On Linux, the part that is comparable to "the operating
system" is also a set of packages. Linux distribution
maintainers create their "base system" from packages.
It differs from distro to distro what the "base system"
is constructed of. Basically, even the kernel is a package.

FreeBSD has a clear distinction between those parts as
described above. The base system is strictly defined
and consistent.



> Am I understanding that in FreeBSD this is a two step process.

No. It is _two processes_. They are independent from each
other, even though there may be implications, like if you
updated the world to a new major version number, you need
to rebuild your ports.



> "make 
> buildworld" simply rebuilds the base system from source.

It _builds_ the world, but not the kernel. And it does not
install anything. See the comment header in /usr/src/Makefile
for a description of the different targets.



> Then to rebuild 
> your ports....I understand that I need to call "portmaster -af"...Am I 
> correct, or is their a different set of switches I need to pass to 
> portmaster to tell it to rebuild every installed port?

See the EXAMPLES section of "man portmaster" for details
about rebuilding all ports, there's a nice example on how
to perform the "update all installed ports" steps.

There are alternatives, for example to use portupgrade.
It's also possible to wipe /usr/local, use mtree to
rebuild the directory structure, and then manually build
all your ports and install them with "make install".
This isn't nice, but works as well. I can't even
recommend it. :-)



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...


More information about the freebsd-questions mailing list