All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
@ 2008-10-09  2:20 Christian Parpart
  2008-10-09  5:55 ` Christoph Hellwig
  2008-10-09 10:45 ` David Woodhouse
  0 siblings, 2 replies; 9+ messages in thread
From: Christian Parpart @ 2008-10-09  2:20 UTC (permalink / raw)
  To: linux-btrfs

Hi,

this now makes use of autoconf/automake/libtool suite,
thus, enabling a wider range of platforms etc.
Although, I've split up the build into tools, lib, and tests,
making it possible for 3rd-parties to link against libbtrfs now.

Patch URL:
http://ninchens.net/~trapni/btrfs/btrfs-progs-autotooled-splitup.diff

Best regards,
Christian Parpart.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-09  2:20 [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests} Christian Parpart
@ 2008-10-09  5:55 ` Christoph Hellwig
  2008-10-09  6:47   ` Christian Parpart
  2008-10-09 10:45 ` David Woodhouse
  1 sibling, 1 reply; 9+ messages in thread
From: Christoph Hellwig @ 2008-10-09  5:55 UTC (permalink / raw)
  To: Christian Parpart; +Cc: linux-btrfs

On Thu, Oct 09, 2008 at 04:20:49AM +0200, Christian Parpart wrote:
> Hi,
> 
> this now makes use of autoconf/automake/libtool suite,
> thus, enabling a wider range of platforms etc.
> Although, I've split up the build into tools, lib, and tests,
> making it possible for 3rd-parties to link against libbtrfs now.

I don't think allowing 3rd parties to link against it is a good idea.
It's basically the kernel code with a few wrappers around it, and will
change a lot over time.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-09  5:55 ` Christoph Hellwig
@ 2008-10-09  6:47   ` Christian Parpart
  0 siblings, 0 replies; 9+ messages in thread
From: Christian Parpart @ 2008-10-09  6:47 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: linux-btrfs

On Thursday 09 October 2008 07:55:58 Christoph Hellwig wrote:
> On Thu, Oct 09, 2008 at 04:20:49AM +0200, Christian Parpart wrote:
> > Hi,
> >
> > this now makes use of autoconf/automake/libtool suite,
> > thus, enabling a wider range of platforms etc.
> > Although, I've split up the build into tools, lib, and tests,
> > making it possible for 3rd-parties to link against libbtrfs now.
>
> I don't think allowing 3rd parties to link against it is a good idea.
> It's basically the kernel code with a few wrappers around it, and will
> change a lot over time.

I already noticed that, and this is another thing:
Why is the kernel module and the userland duplicating so much code?
As of ZFS, they've written a set of libraries (libzfs, libzpool, kernel compat 
libs, ...) that are shared between userland and kernel, thus, making porting 
to other platforms lots of easier.

If btrfs would do the same aproach, it could also benifit from a fuse frontend 
(aside the kernel module) to be used for debugging purposes, think of gdb, 
valgrind (or cachegrind) to mention the most interesting ones.

I talked to yangzheng about this, and he said that this just seems to lag a 
volunteer to do, however, *after* the disk format is completed.

Regards,
Christian Parpart.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-09  2:20 [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests} Christian Parpart
  2008-10-09  5:55 ` Christoph Hellwig
@ 2008-10-09 10:45 ` David Woodhouse
  2008-10-09 13:55   ` Christian Parpart
  1 sibling, 1 reply; 9+ messages in thread
From: David Woodhouse @ 2008-10-09 10:45 UTC (permalink / raw)
  To: Christian Parpart; +Cc: linux-btrfs

On Thu, 2008-10-09 at 04:20 +0200, Christian Parpart wrote:
> this now makes use of autoconf/automake/libtool suite,

Please, God, no.

I will personally buy a licence for GNU make for anyone who needs one.

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-09 10:45 ` David Woodhouse
@ 2008-10-09 13:55   ` Christian Parpart
  2008-10-09 21:52     ` Eric Anopolsky
  0 siblings, 1 reply; 9+ messages in thread
From: Christian Parpart @ 2008-10-09 13:55 UTC (permalink / raw)
  To: David Woodhouse; +Cc: linux-btrfs

On Thursday 09 October 2008 12:45:06 David Woodhouse wrote:
> On Thu, 2008-10-09 at 04:20 +0200, Christian Parpart wrote:
> > this now makes use of autoconf/automake/libtool suite,
>
> Please, God, no.
>
> I will personally buy a licence for GNU make for anyone who needs one.

In that case, you shall know what license automake is under, too,
and despite your impressions i read above, if you don't want it, fine with me, 
but stick to reasonable facts instead of religios talk next time you press a 
reply button.

Regards,
Christian Parpart.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-09 13:55   ` Christian Parpart
@ 2008-10-09 21:52     ` Eric Anopolsky
  2008-10-09 22:07       ` David Woodhouse
  0 siblings, 1 reply; 9+ messages in thread
From: Eric Anopolsky @ 2008-10-09 21:52 UTC (permalink / raw)
  To: Christian Parpart; +Cc: David Woodhouse, linux-btrfs

[-- Attachment #1: Type: text/plain, Size: 2481 bytes --]

On Thu, 2008-10-09 at 15:55 +0200, Christian Parpart wrote:
> On Thursday 09 October 2008 12:45:06 David Woodhouse wrote:
> > On Thu, 2008-10-09 at 04:20 +0200, Christian Parpart wrote:
> > > this now makes use of autoconf/automake/libtool suite,
> >
> > Please, God, no.
> >
> > I will personally buy a licence for GNU make for anyone who needs one.
> 
> In that case, you shall know what license automake is under, too,
> and despite your impressions i read above, if you don't want it, fine with me, 
> but stick to reasonable facts instead of religios talk next time you press a 
> reply button.

I nearly tried to make an argument against the autotools last night.
Today, I decided that I would rather explain why I had such a visceral
reaction to the announcement and not try to convince anyone of anything.

The GNU autotools kept me out of FOSS development for the better part of
a decade.

They obviously solve a common and important problem, or they wouldn't be
so widespread. But the knowledge gap between what can be gleaned from a
"learn C" book the knowledge required to navigate a project built with
autotools is enormous. At first I thought I was alone, but when I shared
my frustration with my programming friends I found all but one had the
same problem. 

I tried reading the entire collection of autotools documentation, but
that didn't help very much. I tried installing anjuta, hoping that it
would cover up the complexity of the build process and just let me hack,
but it never seemed to work correctly.

The problem, in my opinion, is that the autotools are chock full of
solutions to problems that many programmers have not yet encountered.
Viewed through that lens, they look like cruft. And if files associated
with autoconf and automake look like cruft to someone, that's a truly
massive amount of cruft to wade through just to get started programming.

There's no way for me to tell whether bringing autotools to the btrfs
userspace code will help or hinder the project. However, I feel fairly
certain that it will exclude a large class of potential contributors
from the development process.

Maybe people are opposed to growing the btrfs development community by
incorporating programmers who are not well versed in the problems that
arise when porting software across different distributions and
platforms. Maybe only bad programmers don't like autoconf. Decide for
yourselves. :)

Cheers,
Eric


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-09 21:52     ` Eric Anopolsky
@ 2008-10-09 22:07       ` David Woodhouse
  2008-10-10  1:01         ` Christian Parpart
  0 siblings, 1 reply; 9+ messages in thread
From: David Woodhouse @ 2008-10-09 22:07 UTC (permalink / raw)
  To: Eric Anopolsky; +Cc: Christian Parpart, linux-btrfs

On Thu, 2008-10-09 at 15:52 -0600, Eric Anopolsky wrote:
> On Thu, 2008-10-09 at 15:55 +0200, Christian Parpart wrote:
> > On Thursday 09 October 2008 12:45:06 David Woodhouse wrote:
> > > On Thu, 2008-10-09 at 04:20 +0200, Christian Parpart wrote:
> > > > this now makes use of autoconf/automake/libtool suite,
> > >
> > > Please, God, no.
> > >
> > > I will personally buy a licence for GNU make for anyone who needs one.
> > 
> > In that case, you shall know what license automake is under, too,
> > and despite your impressions i read above, if you don't want it, fine with me, 
> > but stick to reasonable facts instead of religios talk next time you press a 
> > reply button.
> 
> I nearly tried to make an argument against the autotools last night.
> Today, I decided that I would rather explain why I had such a visceral
> reaction to the announcement and not try to convince anyone of anything.
> 
> The GNU autotools kept me out of FOSS development for the better part of
> a decade.
> 
> They obviously solve a common and important problem, or they wouldn't be
> so widespread.

Really, do they? In my experience, they cause more problems than they
solve. It's mostly just cargo-cult programming.

If you have decent, portable code, and decent makefiles, you really
don't need the baroque pile of turd that autotools inflicts on you.

If I ever see a btrfs-progs build trying to detect what kind of FORTRAN
compiler I have on the system, I'm never going to touch btrfs-progs
again. Life's just too bloody short to deal with that kind of crap.

-- 
dwmw2


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-09 22:07       ` David Woodhouse
@ 2008-10-10  1:01         ` Christian Parpart
  2008-10-10  6:38           ` David Woodhouse
  0 siblings, 1 reply; 9+ messages in thread
From: Christian Parpart @ 2008-10-10  1:01 UTC (permalink / raw)
  To: David Woodhouse; +Cc: Eric Anopolsky, linux-btrfs

On Friday 10 October 2008 00:07:23 David Woodhouse wrote:
> On Thu, 2008-10-09 at 15:52 -0600, Eric Anopolsky wrote:
> > On Thu, 2008-10-09 at 15:55 +0200, Christian Parpart wrote:
> > > On Thursday 09 October 2008 12:45:06 David Woodhouse wrote:
> > > > On Thu, 2008-10-09 at 04:20 +0200, Christian Parpart wrote:
> > > > > this now makes use of autoconf/automake/libtool suite,
> > > >
> > > > Please, God, no.
> > > >
> > > > I will personally buy a licence for GNU make for anyone who needs
> > > > one.
> > >
> > > In that case, you shall know what license automake is under, too,
> > > and despite your impressions i read above, if you don't want it, fine
> > > with me, but stick to reasonable facts instead of religios talk next
> > > time you press a reply button.
> >
> > I nearly tried to make an argument against the autotools last night.
> > Today, I decided that I would rather explain why I had such a visceral
> > reaction to the announcement and not try to convince anyone of anything.
> >
> > The GNU autotools kept me out of FOSS development for the better part of
> > a decade.
> >
> > They obviously solve a common and important problem, or they wouldn't be
> > so widespread.
>
> Really, do they? In my experience, they cause more problems than they
> solve. It's mostly just cargo-cult programming.
>
> If you have decent, portable code, and decent makefiles, you really
> don't need the baroque pile of turd that autotools inflicts on you.
>
> If I ever see a btrfs-progs build trying to detect what kind of FORTRAN
> compiler I have on the system, I'm never going to touch btrfs-progs
> again. Life's just too bloody short to deal with that kind of crap.

whether  btrfs to be using autotools or not, the other kind this patch 
addressed seems to be more important to me: project modularization.

So please let me clarify why. The code being shared between kernel space and 
user space is much more then a single fragment of code, this can be verified 
using your favorite diff tools, although, the wiki states it is just to be 
meant this way, to share as much code as possible, which (from my point of 
view) seems to be quite logic, though, making a libbtrfs.a(or .so for user 
space) out of it is the very certain way to go from here.
And while the kernel land code seems more up-to-date than the one found in 
user-land, it's been at least a start, from project structure point of view, 
and for the sake of a clean project design.

Despite that, there actually are other tools that might benifit from libbtrfs, 
think of low-level backup tools (e.g. partimage), analytical tools, a fuse-
btrfs frontend (makes debugging/developing easier), and maybe more.

Best regards,
Christian Parpart.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests}
  2008-10-10  1:01         ` Christian Parpart
@ 2008-10-10  6:38           ` David Woodhouse
  0 siblings, 0 replies; 9+ messages in thread
From: David Woodhouse @ 2008-10-10  6:38 UTC (permalink / raw)
  To: Christian Parpart; +Cc: Eric Anopolsky, linux-btrfs

On Fri, 2008-10-10 at 03:01 +0200, Christian Parpart wrote:
> whether  btrfs to be using autotools or not, the other kind this patch 
> addressed seems to be more important to me: project modularization.

That makes a certain amount of sense, but should definitely be submitted
as a separate patch. And it would probably be best to generate it with
'git-diff -M' so that renamed files are shown as such. rather than
deletion and addition. That'll make your patch far more reviewable.

I'm still not convinced that third party code should be linking against
a libbtrfs just yet, but that doesn't mean it shouldn't be set up to
allow that to happen in future.

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-10-10  6:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-09  2:20 [PATCH] btrfs-progs: autotoolized and splitup into {libbtrfs,tools,tests} Christian Parpart
2008-10-09  5:55 ` Christoph Hellwig
2008-10-09  6:47   ` Christian Parpart
2008-10-09 10:45 ` David Woodhouse
2008-10-09 13:55   ` Christian Parpart
2008-10-09 21:52     ` Eric Anopolsky
2008-10-09 22:07       ` David Woodhouse
2008-10-10  1:01         ` Christian Parpart
2008-10-10  6:38           ` David Woodhouse

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.