Questions about freebsd-update

Valeri Galtsev galtsev at
Fri Jul 10 22:12:55 UTC 2015

On Fri, July 10, 2015 4:51 pm, Quartz wrote:
>>>>>> The tools involved here are already part of the base system (except
they got manually removed, which renders the OS somehow
>>>>>> A system installation typically uses compiler, assembler, linker,
installer, and make, which are all contained in the base
>>>>>> distribution
>>>>>> of the OS.
>>>>> Wait.... isn't all the build stuff part of the 'src' option during
>>>> No. The "src" distribution contains the sources which will
>>>> be available in the /usr/src subtree.
>>>>> If you unselect that, how does make/install apply patches if the
files it's patching aren't there?
>>>> It doesn't do that, but the tools make, install, and patch
>>>> themselves will be available.
>>> I understand that the utils themselves are still installed regardless,
but in order for the 'patch' command to have something to patch
>>> doesn't 'src' have to be installed also?
>> Yes, /usr/src _has to be_ present - either by installing src.txz, as a
result of freebsd-update's component src, or via SVN checkout. The
process then involves building from source of course. This is the most
transparent way to deal with updates.
> I'm still confused here.
> I was under the impression that if I ever wanted to be able to update
the system via patches, I had to leave the 'src' option selected during
install. Are you saying that is or is not true?

Patch is the way of making necessary change to source code. Say you
changed the text (the code of your C program) then patch is effectively
the difference between new program and old program (each of them is just
and ASCII text).

So now it should be straightforward. If you want to update your system
using patches, you will need to have all sources. Once patch is released,
you will need to apply it which effectively change patched programs from
older version to new. After that you will have to recompile all what is
relevant, and install it.

As it was said, "svn checkout.." or "svn update..." will do the same good
job as applying patches to the source tree, and it is more transparent
way. Still recompiling and installing (and rebooting or restarting
relevant daemons) will be necessary to complete the update.


Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247

More information about the freebsd-questions mailing list