Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Matthew Seaman

Freddie Cash wrote:


All that's really needed is a more formalised process for handling
upgrading config files, with as much as possible managed via the ports
framework itself.  Something that dictates the name of the config
file, and that compares the config file from the port against the
installed config file (or against an md5 of the port config file) and
only replaces it if it is unchanged.  Something that is part of the
make system.


Most ports that install configuration files actually do this already.
It's generally why you'll find that a sample configuration file is
considered part of the port, but the actuall live configuration file
is not.  The port will only feel free to meddle with the config file if
it is still identical to the sample file.

Cheers,

Matthew
--
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
 Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
 Kent, CT11 9PW



signature.asc
Description: OpenPGP digital signature


Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Eirik Øverby

On Mar 23, 2008, at 08:28, Matthew Seaman wrote:


Freddie Cash wrote:


All that's really needed is a more formalised process for handling
upgrading config files, with as much as possible managed via the  
ports

framework itself.  Something that dictates the name of the config
file, and that compares the config file from the port against the
installed config file (or against an md5 of the port config file) and
only replaces it if it is unchanged.  Something that is part of the
make system.


Most ports that install configuration files actually do this already.
It's generally why you'll find that a sample configuration file is
considered part of the port, but the actuall live configuration file
is not.  The port will only feel free to meddle with the config file  
if

it is still identical to the sample file.


There are a few exceptions to this rule: The courier authdaemon ports,  
for instance, are notorious for overwriting my carefully-crafted  
configuration files when upgrading. I loathe those ports (or apps -  
not sure who's to blame) for that reason alone. In fact, it not only  
installs a config.dist file (which is fine), but it ALSO overwrites  
the current config. A cardinal sin, if there ever were any..


Now I must say I'm with the people who think that one should follow  
the one-port-one-configfile approach; however for a somewhat different  
reason: The closer a port sticks with the default configuration  
files, or samples if you will, of the software in question, the less  
FreeBSD-specific knowledge needs to be built to manage the port. If  
debian splits up the config into a forest of includefiles and  
symlinks, that might be good for a particular purpose, but it's  
something I'd prefer to do myself if the need is there. I've done  
similiar things on some occations, but that is, and IMO should be,  
homebrew.


Also, making ports adhere to a much stricter configuration regime  
would make the uptake of new ports slow down considerably. I believe  
(though I have no numbers to back this up, so it is of course pure  
speculation) that the large number of ports available is at least  
partly due to the fact that making an initial port is relatively easy  
and straight forward.


Just my 2 cents.

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


Re: gcc -O2 error

2008-03-23 Thread Mikael Ikivesi
On Sat, 22 Mar 2008 19:39:32 +0100
Kris Kennaway [EMAIL PROTECTED] wrote:
 So, did you consider perhaps following this advice? ;-)
 
 Kris
 

Yes I did.

The reason I send to this list also is that in make.conf manual says:

CFLAGS(str) Controls the compiler setting when compiling C code.
   Optimization levels other than -O and -O2 are not
sup- ported.


That means that -O2 should be supported in FreeBSD. And now it happens
to produce bad code.

GCC people think that this should be fixed in gcc 4.3.
I have not yet installed and verified that. However I tried the code
with linux installation with gcc 4.1.2 and it was ok.

As I don't known if gcc has some maintaining done in FreeBSD tree by
patching or just by integrating the next snapshot from time to time.
So I just though to report it in case that maintainers of
FreeBSD version of gcc might want to take a look at this.


-Mikael

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


Re: gcc -O2 error

2008-03-23 Thread Kris Kennaway

Mikael Ikivesi wrote:

On Sat, 22 Mar 2008 19:39:32 +0100
Kris Kennaway [EMAIL PROTECTED] wrote:

So, did you consider perhaps following this advice? ;-)

Kris



Yes I did.

The reason I send to this list also is that in make.conf manual says:

CFLAGS(str) Controls the compiler setting when compiling C code.
   Optimization levels other than -O and -O2 are not
sup- ported.


That means that -O2 should be supported in FreeBSD. And now it happens
to produce bad code.

GCC people think that this should be fixed in gcc 4.3.
I have not yet installed and verified that. However I tried the code
with linux installation with gcc 4.1.2 and it was ok.

As I don't known if gcc has some maintaining done in FreeBSD tree by
patching or just by integrating the next snapshot from time to time.
So I just though to report it in case that maintainers of
FreeBSD version of gcc might want to take a look at this.


-Mikael




The latter.  When the gcc people fix it, if there is a patch that 
applies to 4.2 then we could import it.


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


Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Torfinn Ingolfsen
On Sun, 23 Mar 2008 08:40:31 +0100
Eirik Øverby [EMAIL PROTECTED] wrote:

 There are a few exceptions to this rule: The courier authdaemon
 ports, for instance, are notorious for overwriting my
 carefully-crafted configuration files when upgrading. I loathe those

Then I hope you have filed a PR for this bug?
There should be no exceptions - ports should never overwrite config
files.
-- 
Regards,
Torfinn Ingolfsen

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


Re: gcc -O2 error

2008-03-23 Thread Jeremy Chadwick
On Sat, Mar 22, 2008 at 07:24:33PM +0200, Mikael Ikivesi wrote:
 #include wchar.h
 #include stdio.h
 
 #define max_word_len64
 
 wchar_t *wrong(wchar_t *wordlist, wchar_t *word)
 {   wchar_t buffer[max_word_len+2];
 buffer[max_word_len+2]=0;
 
   STRIPPED PART
 
 if(wcsstr(wordlist,buffer)==0) wcscpy(wordlist,buffer);
 
   STRIPPED PART
 
 return wordlist;
 }

There's an off-by-one error in your code, which is very likely tickling
a bug in gcc.

That said, gcc shouldn't crash or be generating working code depending
upon which optimisation flags you use, so as Kris said, file a bug with
the gcc team for that.

-- 
| Jeremy Chadwickjdc at parodius.com |
| Parodius Networking   http://www.parodius.com/ |
| UNIX Systems Administrator  Mountain View, CA, USA |
| Making life hard for others since 1977.  PGP: 4BD6C0CB |

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


Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Stefan Lambrev

Greetings,

Eirik Øverby wrote:

On Mar 23, 2008, at 08:28, Matthew Seaman wrote:


Freddie Cash wrote:


All that's really needed is a more formalised process for handling
upgrading config files, with as much as possible managed via the ports
framework itself.  Something that dictates the name of the config
file, and that compares the config file from the port against the
installed config file (or against an md5 of the port config file) and
only replaces it if it is unchanged.  Something that is part of the
make system.


Most ports that install configuration files actually do this already.
It's generally why you'll find that a sample configuration file is
considered part of the port, but the actuall live configuration file
is not.  The port will only feel free to meddle with the config file if
it is still identical to the sample file.


There are a few exceptions to this rule: The courier authdaemon ports, 
for instance, are notorious for overwriting my carefully-crafted 
configuration files when upgrading. I loathe those ports (or apps - 
not sure who's to blame) for that reason alone. In fact, it not only 
installs a config.dist file (which is fine), but it ALSO overwrites 
the current config. A cardinal sin, if there ever were any..
I'm using FreeBSD + courrier for imap/pop3 and auth for more then 2 
years till now and this never happen to me.

Though I'm using portupgrade to upgrade those ports.
The only port that destroyed my configuration file is blocksshd, I 
reported it and it was fixed in 2 days.


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


Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Stefan Lambrev

Garrett Wollman wrote:

In article [EMAIL PROTECTED],
Freddie Cash writes:

  

Oh, gods, please, no!  That is one of the things I absolutely hate
about Debian (and its derivatives).  There are some packages on Debian
where they use separate text files for each configuration option
(ProFTPd, for examples).  It is a huge mess of directories and files
that makes it a *royal* PITA to edit at the CLI.

Yes, a scheme like that is better for GUI tools, but it really makes
things more difficult for non-GUI users/uses (like headless servers
managed via SSH).



Try managing a few hundred mostly-but-not-entirely-identical machines
and you really begin to appreciate the value of this approach.  It is
orders of magnitude easier to drop one file into the central config
repository that does *one thing* than it is to manage a dozen
not-quite-identical copies of a monolithic configuration file, keeping
in sync the parts that are supposed to be in sync, and keeping the
parts that are supposed to be different, different.

If FreeBSD were able to do this, it might have a bit more traction at
my place of employment.
  
I'm little puzzled. What actually FreeBSD and current portsystem + tools 
are not able to do?!?!

You mean I do not know how to do it may be?


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


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


Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Freddie Cash
On Sat, Mar 22, 2008 at 9:20 PM, Garrett Wollman
[EMAIL PROTECTED] wrote:
 In article [EMAIL PROTECTED],

 Freddie Cash writes:
  Oh, gods, please, no!  That is one of the things I absolutely hate
  about Debian (and its derivatives).  There are some packages on Debian
  where they use separate text files for each configuration option
  (ProFTPd, for examples).  It is a huge mess of directories and files
  that makes it a *royal* PITA to edit at the CLI.
  
  Yes, a scheme like that is better for GUI tools, but it really makes
  things more difficult for non-GUI users/uses (like headless servers
  managed via SSH).

  Try managing a few hundred mostly-but-not-entirely-identical machines
  and you really begin to appreciate the value of this approach.  It is
  orders of magnitude easier to drop one file into the central config
  repository that does *one thing* than it is to manage a dozen
  not-quite-identical copies of a monolithic configuration file, keeping
  in sync the parts that are supposed to be in sync, and keeping the
  parts that are supposed to be different, different.

  If FreeBSD were able to do this, it might have a bit more traction at
  my place of employment.

We do, using a include file setup.  A main, monolothic config file
for everything that is common between all systems, and then include a
separate file that is specific to that machine.  We based this on the
/etc/rc.conf vs /etc/rc.conf.local setup.  Works quite nicely across
our 100+ servers.

No need to break things down to the multiple directories full of
symlinks and itty-bitty files setup, though.

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


Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Freddie Cash
On Sat, Mar 22, 2008 at 10:21 PM, Michael Gratton [EMAIL PROTECTED] wrote:
 On Sat, 2008-03-22 at 20:59 -0700, Freddie Cash wrote:
   On Sat, Mar 22, 2008 at 5:07 PM, Anders Nordby [EMAIL PROTECTED] wrote:

conf.d (custom configuration)
 sites-available (virtualhost configuration)
 sites-enabled (symlinks for enabled virtualhosts)
 mods-available (available Apache modles)
 mods-enabled (symlinks for enabled Apache modules)
  
   Oh, gods, please, no!  That is one of the things I absolutely hate
   about Debian (and its derivatives).  There are some packages on Debian
   where they use separate text files for each configuration option
   (ProFTPd, for examples).  It is a huge mess of directories and files
   that makes it a *royal* PITA to edit at the CLI.

  Actually, it makes two things really easy:

  1. Automated installation of configuration required by other packages,
  without them all munging and potentially breaking a single, central
  config file. For example, you have Apache installed, and you want to
  install PHP, the PHP port/package drops a file with the needed config
  files into /etc/apache2/conf.d. No ad-hoc editing of httpd.conf
  required, no loss of the work you did to customise it in the first
  place.

A conf.d/ type directory for other ports to put config snippets into
might be useful, as it follows from the include this file setup.
Or, install the PHP config details into /usr/local/share/php/conf/ or
similar (since it's part of PHP) and then Include it into your
httpd.conf as needed.

  2. As someone else pointed out, managing large numbers of vhosts (which
  is really just a special case of #1.

Same as above.  No multitude of directories full of symlinks needed.
Although this is more of a personal preference than anything (we keep
all our virtualhosts in a single config file included into the main
httpd.conf so we can edit them all at once, which we do quite a bit).

   One of the things I *really* like about FreeBSD is that it has the
   one config file per app/system setup.

  Until you install that one last port that breaks the config file you
  spent hours tweaking.

Which is why the ports framework needs more support (or better details
of the support in the Porter's Handbook) for maintainers to say this
is the config file, install it as config.sample, compare MD5 to
installed config, replace iff identical, without having to write
custom install targets for each port.

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

Re: gcc -O2 error

2008-03-23 Thread Mikael Ikivesi
On Sun, 23 Mar 2008 04:58:01 -0700
Jeremy Chadwick [EMAIL PROTECTED] wrote:
 
 There's an off-by-one error in your code, which is very likely
 tickling a bug in gcc.

Thanks..
I know...took me a while to find it.
And as code still seemed to work when built without -O2 it was hard
to spot. I sent bug report to gcc team as the -O2 did bork it,
regardless of my buggy coding :)


-Mikael

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


Re: gcc -O2 error

2008-03-23 Thread Jeremy Chadwick
On Sun, Mar 23, 2008 at 09:27:45PM +0200, Mikael Ikivesi wrote:
 On Sun, 23 Mar 2008 04:58:01 -0700
 Jeremy Chadwick [EMAIL PROTECTED] wrote:
  
  There's an off-by-one error in your code, which is very likely
  tickling a bug in gcc.
 
 Thanks..
 I know...took me a while to find it.
 And as code still seemed to work when built without -O2 it was hard
 to spot. I sent bug report to gcc team as the -O2 did bork it,
 regardless of my buggy coding :)

Thumbs up!  :-)  Despite the error, gcc still shouldn't behave that way,
so I do hope they fix it.

-- 
| Jeremy Chadwickjdc at parodius.com |
| Parodius Networking   http://www.parodius.com/ |
| UNIX Systems Administrator  Mountain View, CA, USA |
| Making life hard for others since 1977.  PGP: 4BD6C0CB |

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


Re: Upgrading to 7.0 - stupid requirements

2008-03-23 Thread Michael Gratton
On Sun, 2008-03-23 at 10:06 -0700, Freddie Cash wrote:
 On Sat, Mar 22, 2008 at 10:21 PM, Michael Gratton [EMAIL PROTECTED] wrote:
   Actually, it makes two things really easy:
 
   1. Automated installation of configuration required by other packages,
   without them all munging and potentially breaking a single, central
   config file. For example, you have Apache installed, and you want to
   install PHP, the PHP port/package drops a file with the needed config
   files into /etc/apache2/conf.d. No ad-hoc editing of httpd.conf
   required, no loss of the work you did to customise it in the first
   place.
 
 A conf.d/ type directory for other ports to put config snippets into
 might be useful, as it follows from the include this file setup.
 Or, install the PHP config details into /usr/local/share/php/conf/ or
 similar (since it's part of PHP) and then Include it into your
 httpd.conf as needed.

Yes, conf.f is very useful. Having to add a manual Include (if the
software even supports it is less so, if you quite reasonably expect a
port/package to Just Work after having installed it.

   2. As someone else pointed out, managing large numbers of vhosts (which
   is really just a special case of #1.
 
 Same as above.  No multitude of directories full of symlinks needed.

It does seem like overkill, until you start using it.

The main reason it is useful (apart from avoiding the risk of a bad edit
nuking some or all of your config) is that you can use standard command
line tools, or very basic custom scripts to easily add, delete, enable,
disable and query vhosts. All without having to write a parser for the
script or having to navigate the config file in a text editor.

Done right, the same tools can be used for many different servers that
support the same config file scheme.

If you really need to edit all in one hit, use `vi *' or sed or
something.

 httpd.conf so we can edit them all at once, which we do quite a bit).

Why do you frequently need to edit all vhosts at once? Do you like to
change the location for everyone's log files, making it fun for people
to find them? :) But seriously, I find this surprising - once running,
the only thing most need to do is enable/disable or delete one here or
there, or perform the occasional requested config tweak.

 Which is why the ports framework needs more support (or better details
 of the support in the Porter's Handbook) for maintainers to say this
 is the config file, install it as config.sample, compare MD5 to
 installed config, replace iff identical, without having to write
 custom install targets for each port.

Yes, and that works fine until you install PHP and it nukes your Apache
config file...

/Mike

-- 
Michael Gratton [EMAIL PROTECTED] 
Quuxo Software http://web.quuxo.com/


signature.asc
Description: This is a digitally signed message part


Re: The Design and Implementation of the FreeBSD Operating System

2008-03-23 Thread Wes Peters
On Thu, Mar 20, 2008 at 12:50 PM, Jeremie Le Hen [EMAIL PROTECTED] wrote:
 Hi,


  On Fri, Mar 14, 2008 at 07:41:30AM -0700, Unga wrote:
   Is the following book still relevant to FreeBSD 7.X
   and upcoming FreeBSD 8.X?  Is there a 2nd edition
   coming soon?
  
   The Design and Implementation of the FreeBSD Operating
   System
   By Marshall Kirk McKusick, George V. Neville-Neil
   Published Aug 2, 2004 by Addison Wesley Professional.
   1st. Edition
   ISBN-10: 0-201-70245-2
   http://www.informit.com/title/0201702452

  FWIW there has been rumours about the next edition of this book covering
  a recenter version.  That's all I know :).

You could probably ask [EMAIL PROTECTED] about that.  :)

-- 
Against stupidity the very gods Themselves contend in vain.
 Friedrich Schiller
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to [EMAIL PROTECTED]