branches, updates, buildworld

Todor Genov todor.genov at za.verizonbusiness.com
Wed Sep 10 15:46:16 UTC 2008




relay.lists at gmail.com wrote:
> Hi,
> 
> I'm new to FreeBSD and I'd like to give it a try as a PostgreSQL test
> server on an ancient box.
> 
> Since I have a lot to learn about this OS, I chose FreeBSD-7.0-RELEASE.
> (It's the most current production-ready release now, right?).
> 
> On the other hand I'd like to make every possible speed improvement,
> because the CPU is Pentium-2 at 400MHz. So, my questions are:
> 
> 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).

 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

> 
> 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.

> 
> 4) Will "make buildworld" fail with a make.conf like this:
> 
> ########
> PERL_VER=5.8.8
> PERL_VERSION=5.8.8
> BDECFLAGS="-march=pentium2 -mmmx -pipe -O3 -fomit-frame-pointer \
> -combine -fno-strict-aliasing"
> 
> CFLAGS+=${BDECFLAGS}
> CXXFLAGS=${CFLAGS}
> COPTFLAGS="-march=pentium2 -mmmx -pipe -O3 -fomit-frame-pointer \
> -combine -fno-strict-aliasing"
> 
> BOOTWAIT=3000
> DOC_LANG=en
> NO_SHAREDOCS=True
> 
> WITHOUT_MODULES="INET6 zfs wlan firewire lpt joy iscsi cpufreq coda \
> coda5 3dfx acpi unionfs ilpt srv4 smbfs reiserfs pccard palm uscanner \
> xfs audiocs emu10k1 fm801 neomagic t4dwave cmi emu10kx hda sb16 uaudio \
>  ad1816 cs4281 envy24 ich sb8 via8233 als4000 csa envy24ht maestro \
> via82c686 atiixp driver es137x maestro3 solo vibes au88x0 ds1 mss \
> spicds"
> ########

Seems OK on first inspection. Guess you won't know till you run the
buildworld :)



Regards,

Todor Genov
Systems Operations

Verizon Business South Africa (Pty) Ltd

todor.genov at za.verizonbusiness.com
Tel: +27 11 235 6500
Fax: 086 692 0543



More information about the freebsd-questions mailing list