branches, updates, buildworld

2008-09-10 Thread relay.lists

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 [EMAIL PROTECTED] 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?

2) If I'm wrong about (1) how should I update the -release sources in
order to make buildworld with additional gcc optimisations?

3) make buildworld re-compiles _everything_ or the base system only?

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

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: branches, updates, buildworld

2008-09-10 Thread Todor Genov



[EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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

[EMAIL PROTECTED]
Tel: +27 11 235 6500
Fax: 086 692 0543

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: branches, updates, buildworld

2008-09-10 Thread Lister Notifies
On 9/10/08, Todor Genov [EMAIL PROTECTED] wrote:

  [EMAIL PROTECTED] 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.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: branches, updates, buildworld

2008-09-10 Thread Kevin Kinsey

Lister Notifies wrote:


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.


I'll agree with rock-stable as it relates to FBSD;
however, realize that the -STABLE tag mostly refers
to the fact that the developers aren't allowed to make
sweeping changes to subsystems/API's without permission
from a consensus of developers and perhaps even 
notification of the userbase.  It's not a guarantee of

usability, etc.  As noted, RELENG is what you want for
now; it's never going to be changed for the sake of a
feature, only for security related patching.


  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.


First, let me hopefully give you a little comfort, that as
long as you're only tracking a RELENG branch, this (breakage
of a port) will Hardly Ever Happen(tm).

I think another poster already pointed you to portupgrade
(which is well-known in the community and perhaps even mentioned
in the official FBSD Docs, although it's a port itself ...
take a gander at /usr/ports/port-mgmt for an idea of what's
there to manage your ports.

Now, let me caution you that updating the *ports* is more
likely to cause issues than the updating of the base system.
If you, for example, happen to upgrade expat or something
basic to a bunch of ports, things can go pretty haywire until
everything's back up-to-date.  But, then again, that's what
the ports-mgmt tools are supposed to help with.

snip


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


Well, welcome to *the* community.  FBSD's community is often that
way.

Kevin Kinsey
--
In every hierarchy the cream rises until it sours.
-- Dr. Laurence J. Peter
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: branches, updates, buildworld

2008-09-10 Thread Todor Genov
 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
 ##

 The pre-compiled binary depends on certain system calls and library
APIs to function. As long as those don't change the binary will continue
to work. It's highly unlikely to have any such changes occur between
RELEASE-p? versions unless they are extremely critical updates. In fact
in most cases you will probably find that your binary will continue to
work between RELEASE versions (7.0, 7.1 etc).

 We trust the developers won't go and and change libc without giving us
a heads-up, but you should still read the changelog before upgrading the
base system and know what to expect.

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

 You can always reinstall it from ports which will compile and link
software according to your existing environment.

 To manage already installed packages you can use portaudit and
portupgrade both of which can be found in the ports tree as well as the
pkg_* tools included in the base system.

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

 Take a look at /usr/share/examples/etc/make.conf and use that as your
starting point if you haven't already done so. Most of your options seem
to be in line with the recommended defaults except maybe -combined - I
have no idea how it will affect the build. I would use -O2 rather than
-O3 as there's a good chance you'll end up with broken code rather than
any noticeable performance gains.

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

Glad I could be of help.

Regards,

Todor Genov
Systems Operations

Verizon Business South Africa (Pty) Ltd

Tel: +27 11 235 6500
Fax: 086 692 0543
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: branches, updates, buildworld

2008-09-10 Thread Pieter de Goeje
On Wednesday 10 September 2008, [EMAIL PROTECTED] wrote:
 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

Setting COPTFLAGS is discouraged, because you risk breaking the kernel. In 
particular, the kernel can not use any floating point operations including 
simd operations, which you explicitly enable above. May I suggest that you 
first try to rebuild the base system without any CFLAGS set but simply 

CPUTYPE?=pentium2

Note that by default the system is build with -O2 -fno-strict-aliasing -pipe. 

-- 
Pieter de Goeje

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]