branches, updates, buildworld

Lister Notifies relay.lists at gmail.com
Wed Sep 10 17:48:23 UTC 2008


On 9/10/08, Todor Genov <todor.genov at za.verizonbusiness.com> wrote:
>
>  relay.lists at gmail.com wrote:
>  > Hi,

--snip--

> > 1) After reading the docs I remained with the impression that sources
>  > should be updated for "-current" and "-stable" branches only. Is this
>  > correct?
>
>  The STABLE and CURRENT branch are works-in-progress and change daily,
>  thus if you wish to follow them you need to update your sources quite
>  frequently.
>
>   The only time the RELEASE branch changes (and needs to be updated) is
>  when security and bug fixes are applied to the current source tree -
>  these are known as RELEASE-p? versions. You can follow these updates at
>  http://security.freebsd.org/advisories and on the
>  freebsd-security-notifications mailing list.
>
>
>  > 2) If I'm wrong about (1) how should I update the "-release" sources in
>  > order to "make buildworld" with additional gcc optimisations?
>
>
> make buildworld in /usr/src will  compile whatever sources you have in
>  the directory. Whether the compiled code is optimized depends on what
>  you put in /etc/make.conf
>
>   If you haven't done a cvsup since your installation then you have the
>  7.0-RELEASE source  which was on the CD.
>
>   If you want to obtain the latest 7.0-RELEASE-p? source you need to
>  cvsup with tag=RELENG_7_0 in the cvsup config file. Thereafter you do a
>  buildworld/installworld (and buildkernel/installkernel) which will then
>   give you the latest -RELEASE version (7.0-RELEASE-p4 if I am not mistaken).


Thank you! Exactly what I wanted to know.

>   Similarly tag=RELENG_7 will fetch the -STABLE branch and tag=. will
>  fetch the -CURRENT branch, but you should probably stick with RELENG_7_0


Nope, it's too soon for me to deal with moving targets. So, I guess I
need the rock-stable
version until I get familiar with the OS.

>  >
>  > 3) "make buildworld" re-compiles _everything_ or the "base system" only?
>
>
>  It recompiles the base system. For updates to packages installed from
>  ports look at portupgrade.

OK. It brings another question. For example Postgres is not a part of
the base system. Will it break if i make:
##
pkg_add -r postgresql83-server.tbz
cvsup /usr/share/examples/cvsup/standard-supfile
make buildworld
make buildkernel
make installkernel
reboot (in single mode)
mergemaster -p
make installworld
mergemaster
reboot
##

...And what should I do if Postgres (or any other arbitrary binary
package) breaks afterwards? How should I keep the binary packages
up-todate? Actually I intend to
compile Postgres from the ports after success in re-building and
installing the base system, but the question still remains.


>  >
>  > 4) Will "make buildworld" fail with a make.conf like this:
>
> Seems OK on first inspection. Guess you won't know till you run the
>  buildworld :)

I was kind of hoping not to figure out the optimal combination of gcc
flags by following the "generate and test" method on Pentium-2. :)

Last but not least: Thanks for the fast and detailed response. I
appreciate it very much.


More information about the freebsd-questions mailing list