Date: Wed, 10 Sep 2014 23:14:03 +0200 From: Roland Smith <rsmith@xs4all.nl> To: Dave Babb <dcbdbis@comcast.net> Cc: freebsd-questions@freebsd.org Subject: Re: Request for buildworld clarification Message-ID: <20140910211403.GC20274@slackbox.erewhon.home> In-Reply-To: <541093BB.5030808@comcast.net> References: <541093BB.5030808@comcast.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--WfZ7S8PLGjBY9Voh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Sep 10, 2014 at 12:08:59PM -0600, Dave Babb wrote: > 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. > > Under Gentoo, when you rebuilt your world, everything got rebuilt. Every > package that you had installed in your system including the base. > > Am I understanding that in FreeBSD this is a two step process. "make > buildworld" simply rebuilds the base system from source. 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? In this context, you can consider a typical FreeBSD installation to consist= of two separate parts; 1) the base system; kernel, libraries, utilities, documentation 2) ports; everything that isn't in base. Using `make buildworld` *rebuilds* most components of the base system, but = *not the kernel*. You need to run `make buildkernel` to rebuild the kernel. Note that in both these case rebuilding does *not* include installation! To install the newly built kernel and/or world you need to run `make installkernel` first and reboot (to start the new kernel). It is *advised* = to run `make installworld` from single-user mode. Note that this is a general overview. Read the section COMMON ITEMS in /usr/src/UPDATING and the Handbook for more detailed instructions. As for ports, in general it is almost never necessary to rebuild *all* port= s. Two situations that can occur are; * You are upgrading to a new major FreeBSD version (e.g. from 9.x to 10.x).= In this case it is *advised* to make a list of all ports, remove all ports a= nd re-install them. This is to prevent new ports from linking to old librari= es that might still be around, especially if e.g. the library version of libc or libm has been changed because of incompatible changes. * The shared library version of a fundamental library like e.g. gettext (wh= ich is used by a lot of packages) has changed. In this case `portmaster -R -r <portname>` is usually sufficient. In any case, read /usr/ports/UPDATING after updating the ports tree but *before* updating the ports themselves. Follow all special instructions that apply to your situation. Roland --=20 R.F.Smith http://rsmith.home.xs4all.nl/ [plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated] pgp: 5753 3324 1661 B0FE 8D93 FCED 40F6 D5DC A38A 33E0 (keyID: A38A33E0) --WfZ7S8PLGjBY9Voh Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJUEL8bAAoJEED21dyjijPgYdcP/jex/D0xaTkDNxpTmcWiRcUd BEm25w1F29sQJlLSm8iHE9wq0meMpfP0BZZZhrF6DsJjI4cho6CV96o5qRBhUEJm Ad/LQv19V/bmKTQyW3D4ievloPb9jo4csPySGf8uPSDMHUNCCeD8740VJ/8Q+HMe SSrmEEPVsRqn5qLlZqKjlFtwvKZ07ttmKOiojEtEjMufxXTLqMcvEeQlC2VtOoO9 F6kwuV6+zU2Rc6eBiftKeIoc7sM0w8OfdpMQdfZt2fViXMbHPBR5lBlU29r2Kfqk ibdCNMl9wkJcq3y6yKrnAp5ylpdZUbhluOzKIuaQv4AipAhi/1BrfSxEh/nHHlxS J6jt44fto4uwISLxyBWZLbR6hxLBgMolzZRU8aAqjcqcJTDK/O7dWVw1/LTcfDtu MgbZHCkIS4C9jlh1Xp/7ZADWuSuoYFOlcfeGFO5GPuL36frMj5lDSrROxxvtvZ8H rmV0MCfgIEdfQ0/Ij5qJLUDPFPdHv/1A+BN8e1Rgn09lzwdoCAtbDG4KzH1T4W87 GVflc1pIjFXGp6ilv1jiRGLT7SUjme24A8XrcdLkGFIFRGWuX/I8Jhjyp6pipMQn 9QeyLj4lLt6MhnMlsphOPOccLTlVi4TTdj2tMVBOIF9d20yPkk4CtEuE93WNTW2V mKiRx6Vb7MPachQDQj2c =ueyb -----END PGP SIGNATURE----- --WfZ7S8PLGjBY9Voh--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140910211403.GC20274>