Re: Cyrus Imap and Automake

2011-08-08 Thread Jeroen van Meeuwen (Kolab Systems)
Ondřej Surý wrote:
 On Wed, Aug 3, 2011 at 17:59, Jeroen van Meeuwen (Kolab Systems)
 
 vanmeeu...@kolabsys.com wrote:
  Thomas Jarosch wrote:
  Hi Дилян,
  
  here's some feedback about your build system question.
  Note: I'm not one of the cyrus core developers.
  
   if I rewrite the build system of Cyrus imap 2.4(.10) to use Automake
   to generate the Makefile.in-files, will the patch be accepted in
   reasonable time in git/master?
  
  Have you considered alternatives to GNU Autotools?
  
  We have experience with GNU Autotools in our company projects as well as
  open source projects for several years now.
  
  We have found that it has several shortcomings:
  
  1. Autotools version conflicts
  
  You can compile a released source package without any Autotools on your
  system. But as soon as you
  
  a) want to develop
  b) want to install a patch which modifies the build system (like a new
  path to a library, something that adds a new file,...). This is often
  happens as part of packaging for .rpm or .deb.
  
  you need Autotools on your machine. If the Autotools version on your
  machine and the one used to build the release are not compatible you
  can't build.
  
  Installing a different Autotools version on a given distribution without
  breaking something or fixing a huge list of dependency problems is
  nearly impossible. I have experience with this...
  
  I have quite the experience with .rpm and .deb building myself as well,
  and while I agree autotools *can* be problematic at times, I recon the
  Linux distributions are not the biggest of problems - the culprit, I
  think, is with the number of custom / site-specific builds out there,
  ranging from Sun Solaris to FreeBSD and who knows what versions of
  autotools are on these systems.
 
 With my fancy debian maintainer hat on - I agree, we learnt how to cope
 with different versions of autotools, that's the minor thing.
 
 I personally I would love to have cyrus projects automakized. It's much
 easy to mangle :).
 

Between the two of us, Debian and Fedora maintainers, are we both saying yes 
please, no objections?

Kind regards,

Jeroen van Meeuwen

-- 
Senior Engineer, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
t: +44 144 340 9500
m: +44 74 2516 3817
w: http://www.kolabsys.com

pgp: 9342 BF08


Re: Cyrus Imap and Automake

2011-08-08 Thread Patrick Welche
On Wed, Jul 27, 2011 at 03:58:53PM +0200, ??  wrote:
 if I rewrite the build system of Cyrus imap 2.4(.10) to use Automake
 to generate the Makefile.in-files, will the patch be accepted in
 reasonable time in git/master?

Sadly this thread seems to have degenerated again - I think the above
question is extremely valid. It takes effort to write such patches, and
it is a shame when they sit in bugzilla etc.

Hoping for a yes please! from a commiter...

Cheers,

Patrick


Re: Cyrus Imap and Automake

2011-08-03 Thread Ondřej Surý
On Wed, Aug 3, 2011 at 17:59, Jeroen van Meeuwen (Kolab Systems)
vanmeeu...@kolabsys.com wrote:
 Thomas Jarosch wrote:
 Hi Дилян,

 here's some feedback about your build system question.
 Note: I'm not one of the cyrus core developers.

  if I rewrite the build system of Cyrus imap 2.4(.10) to use Automake to
  generate the Makefile.in-files, will the patch be accepted in reasonable
  time in git/master?

 Have you considered alternatives to GNU Autotools?

 We have experience with GNU Autotools in our company projects as well as
 open source projects for several years now.

 We have found that it has several shortcomings:

 1. Autotools version conflicts

 You can compile a released source package without any Autotools on your
 system. But as soon as you

 a) want to develop
 b) want to install a patch which modifies the build system (like a new path
 to a library, something that adds a new file,...). This is often happens
 as part of packaging for .rpm or .deb.

 you need Autotools on your machine. If the Autotools version on your
 machine and the one used to build the release are not compatible you can't
 build.

 Installing a different Autotools version on a given distribution without
 breaking something or fixing a huge list of dependency problems is nearly
 impossible. I have experience with this...


 I have quite the experience with .rpm and .deb building myself as well, and
 while I agree autotools *can* be problematic at times, I recon the Linux
 distributions are not the biggest of problems - the culprit, I think, is with
 the number of custom / site-specific builds out there, ranging from Sun
 Solaris to FreeBSD and who knows what versions of autotools are on these
 systems.

With my fancy debian maintainer hat on - I agree, we learnt how to cope with
different versions of autotools, that's the minor thing.

I personally I would love to have cyrus projects automakized. It's much easy
to mangle :).

O.
-- 
Ondřej Surý ond...@sury.org


Re: Cyrus Imap and Automake

2011-07-29 Thread Thomas Jarosch
Hi Дилян,

here's some feedback about your build system question.
Note: I'm not one of the cyrus core developers.

 if I rewrite the build system of Cyrus imap 2.4(.10) to use Automake to
 generate the Makefile.in-files, will the patch be accepted in reasonable
 time in git/master?

Have you considered alternatives to GNU Autotools?

We have experience with GNU Autotools in our company projects as well as 
open source projects for several years now.

We have found that it has several shortcomings:

1. Autotools version conflicts

You can compile a released source package without any Autotools on your 
system. But as soon as you

a) want to develop
b) want to install a patch which modifies the build system (like a new path 
to a library, something that adds a new file,...). This is often happens
as part of packaging for .rpm or .deb.

you need Autotools on your machine. If the Autotools version on your machine 
and the one used to build the release are not compatible you can't build.

Installing a different Autotools version on a given distribution without 
breaking something or fixing a huge list of dependency problems is nearly 
impossible. I have experience with this...

2. Build speed and parallelization

The configure run can't be run on multiple cpu cores at once and is usually 
slow. 

Running compile jobs on multiple cores at once can become tricky if you have 
internal dependencies like libs that are included in your project. Sometimes 
we experienced race conditions or cases where you had to start the build 
process two or three times to get a successful build.

3. Documentation and learning

There is a book about Autotools (http://sourceware.org/autobook/). I have 
read it and don't think that it explains how to use and troubleshoot 
Autotools in a good way. Maybe it's hard to explain because in Autotools 
everything is a macro that calls a macro that calls a macro...

I think the learning curve of Autotools is very steep and finding out what's
really happening during troubleshooting is very time consuming.

Because of these shortcomings we have used CMake for new projects for about 
a year. We have made good experience with it. We have now started to port 
all Autotools projects over to CMake.

Please take a look at CMake and consider it before you
start investing time into Autotools.

Best regards,
Thomas


Re: Cyrus Imap and Automake

2011-07-29 Thread Дилян Палаузов

Hello Thomas,

Thanks for your feedback.   

My idea is to improve the current build system by generating the 
Makefile(s).in by automake.


I have some experience with Autotools.  I have absolutely nothing 
against CMake or other build systems, except I have no coding experience 
with them.  If you think that CMake is more suitable than Autotools, if 
somebody wants to change the build system to make use of CMake and if 
there are no objections for cyrus imapd + CMake, then I have no problems 
with CMake.


Parallelization race conditions will be avoided by having a single 
Makefile.in for all subdirectories.


Със здраве
  Дилян


Please take a look at CMake and consider it before you start investing time 
into Autotools.


That is why I posted the question before starting.


On 29.07.2011 18:14, Thomas Jarosch wrote:

Hi Дилян,

here's some feedback about your build system question.
Note: I'm not one of the cyrus core developers.


if I rewrite the build system of Cyrus imap 2.4(.10) to use Automake to
generate the Makefile.in-files, will the patch be accepted in reasonable
time in git/master?


Have you considered alternatives to GNU Autotools?

We have experience with GNU Autotools in our company projects as well as
open source projects for several years now.

We have found that it has several shortcomings:

1. Autotools version conflicts

You can compile a released source package without any Autotools on your
system. But as soon as you

a) want to develop
b) want to install a patch which modifies the build system (like a new path
to a library, something that adds a new file,...). This is often happens
as part of packaging for .rpm or .deb.

you need Autotools on your machine. If the Autotools version on your machine
and the one used to build the release are not compatible you can't build.

Installing a different Autotools version on a given distribution without
breaking something or fixing a huge list of dependency problems is nearly
impossible. I have experience with this...

2. Build speed and parallelization

The configure run can't be run on multiple cpu cores at once and is usually
slow.

Running compile jobs on multiple cores at once can become tricky if you have
internal dependencies like libs that are included in your project. Sometimes
we experienced race conditions or cases where you had to start the build
process two or three times to get a successful build.

3. Documentation and learning

There is a book about Autotools (http://sourceware.org/autobook/). I have
read it and don't think that it explains how to use and troubleshoot
Autotools in a good way. Maybe it's hard to explain because in Autotools
everything is a macro that calls a macro that calls a macro...

I think the learning curve of Autotools is very steep and finding out what's
really happening during troubleshooting is very time consuming.

Because of these shortcomings we have used CMake for new projects for about
a year. We have made good experience with it. We have now started to port
all Autotools projects over to CMake.

Please take a look at CMake and consider it before you
start investing time into Autotools.

Best regards,
Thomas


Re: Cyrus Imap and Automake

2011-07-29 Thread Greg Banks



Sent from my iPhone

On 30/07/2011, at 5:48, Дилян Палаузов  
dilyan.palau...@aegee.org wrote:





I have some experience with Autotools.  I have absolutely nothing  
against CMake or other build systems, except I have no coding  
experience with them.


Me too :(

In my experience autotools can be convinced, with sufficient blunt  
force, to do most things. I don't doubt that better tools exist, but  
autotools is the lingua franca.


Greg.