Hi.

This it to clarify some things that resulted in misunderstandings about my 
messages. I hope that some people involved in courier development take the 
time to read this.

Gentoo is what we call a meta-distribution. The distribution itself consists 
of only machine-readable build-instructions. All users get this instructions 
(size comparable to Debians package information tree) on a so-called "sync", 
along with some meta-informations (MD5sums, build-helper-tools, ...).

We call those instructions ebuilds. A minimal ebuild file consists of only two 
lines: A brief description of the package and where to get the source 
tarball. More Information can be added: Dependancies, USE-flags (see later) 
and custom build-instructions.

The Gentoo build system, called "Portage" then downloads the vanilla source 
tarball, checks it's checksum and runs essentially
  ./configure ; make ; make install DESTDIR="/var/tmp/[...]"
Ebuild authors can modify and extend those three commands when needed. Patches 
can be included, custom configure- or make-commands executed and so on.
A core feature is to export configure options as Gentoo-USE-Flags to let the 
user customize his system. 
All that is absolutely transparent to the user. He just types in "emerge 
courier" and portage pulls in all dependancies and compiles the package. 

Okay, nothing further about the user's point.


I want to clarify why Gentoo is a huge benefit for application developers. As 
all Gentoo packages are built on the client machines from plain vanilla 
source packages, you get thousands of different and unique build environments 
for your code. GNU people (and others) did a good job with autotools to 
handle those situations. But the needed scripts are complex and there are 
errors some times. You may not see them for years but some time, any user has 
that one build system that fails.
Most distributions only make binary packages. So if some tricks (like 
re-running autotools) are needed, the maintainer does so and it's okay. But 
on Gentoo, this affects every user. So Gentoo maintainers try to resolve such 
issues upstream. This affects bugs *and* possible improvements. 

Example: Gentoo uses GCC since it's available. A very great amount of 
gcc-4.0-compile issues were reported by gentoo long before e.g. Debian 
introduced gcc-4.0 at all. So most packages fixed their bugs and other 
distros did not have that much problems.

Other Example: Many Gentoo users run parallel building and 
LDFLAGS="-Wl,--as-needed". If there are dependancy-problems, something will 
break. In case of binary distributions, this get solved by changing the 
compile-Flags temporarily. Gentoo tries to resolve the Problem and send 
patches upstream.

It's clear that an application developer cannot change everything so that it 
runs fine in Gentoo. But in many cases, the build process can be optimized 
for all.


So what does this have to do with courier?

The courier ebuild does make some ugly things to get courier compiled. When I 
look at the ebuild, it seems like it's done by someone who did not really 
know what to do but somehow managed to get it compiled. Someone else may have 
added some special cases with even more ugly stuff.
At the moment, courier-0.53.2 is the latest stable version and 0.55.1 is the 
latest developer version. If there's no one updating the ebuild file, courier 
will get kicked off the distribution.

As mentioned above, I am not a developer. But also not a beginner, too. But 
I'm a user of courier and I want courier to stay available in Gentoo Linux.

My mission is to look at each line of the gentoo ebuild and think about if 
that is needed and if it could be made better or (the best solution) it could 
be made upstream. So at the gentoo-dev-list, I ask stuff about an application 
that noone cares about and here at the courier-list, I ask stuff about a 
distribution noone cares about. :)
My job is to get some snippets of valuable information from both sides and 
bring the ebuild file up to date.

I hope you can see my problem. :)


So please don't deny changes just because "compiling at the production system 
is dumb" or "this bug only affects the package builder". 

But it's okay to say "This won't get fixed because it breaks something else". 
So we can work around that on the Gentoo side. 

regards,
Bernd

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

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
courier-users mailing list
courier-users@lists.sourceforge.net
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to