On 3/2/07, Chris Frey <[EMAIL PROTECTED]> wrote:
> On Fri, Mar 02, 2007 at 03:58:20PM -0800, troy engel wrote:
> > Surely -- when I get time I'll cook it up and submit, it will of
>
> Sounds great, thanks!

(long winded here, sorry)

OK I played around last night and took some notes; the short comment
here is that "btool/bcharge et. al are a no brainer, gui/ creates some
options how to do it". So I'd like to get some feedback on which way
you want to go before wasting time. All code is 'DESTDIR' install
friendly which makes it great for us RPM/DEB people.

Basically out of my notes it works like this: tools/ is just a generic
compile that requires libusb(-devel) and g++, alone and by itself run
from the top level ./configure it'll install cleanly and I could
package that alone in minutes. (NOTE: udev/ and hotplug/ aren't
installed by make install, is it supposed to be that way?)

Now comes gui/ - in order to compile it realtime without libbarry
installed you have to do a little voodoo with gui/configure, like so:

  cd gui/
  export PKG_CONFIG_PATH=../; export CXXFLAGS=-I../..; export
LDFLAGS=-L../../src;
 ./configure (option option option option, tons of --options)

This allows the subconfigure to find all the parts that were
previously built for tools/; I can then do a normal make/make install
without problems. The compile of this, however, requires a litany of
dependencies; lemme just paste my "yum install" output for various
pieces I had to go get:

==snip==
yum install gtkmm24-devel:
Installing:
  gtkmm24-devel
Installing for dependencies:
  cairomm
  cairomm-devel
 glibmm24
  glibmm24-devel
 gtkmm24
  libsigc++20
  libsigc++20-devel
  perl-XML-Parser
  perl-libwww-perl

yum install libglademm24-devel:
Installing:
  libglademm24-devel
Installing for dependencies:
 libglademm24

yum install libtar-devel:
Installing:
  libtar-devel
==snip==

(NOTE: libtar-devel was not checked for during ./configure, I had to
compile-and-fail to discover that it was needed. bug? If so I'll
report.)

OK that's the picture; the question is now how should we approach it?
There are several options, each with it's pluses and minuses:

A) Create one SPEC file to rule them all. The spec file would require
optional parameters passed into it like so: 'rpmbuild -ba barry.spec
--with gui --with opensync'  Internally the spec file would then
dynamically adjust it's BuildRequires: and Requires: lines and so
forth to tighten up the needs on the fly.

  Positive: one file to maintain, one command builds everything as desired
  Negative: you have to "know" to pass in --with gui, etc. Not n00b friendly.

B) Create separate SPEC files for each piece, since there are actually
3 different, separate, unique ./configures within the barry tarball.
barry.spec, barry-gui.spec, and barry-opensync.spec. gui and opensync
would require libbarry-devel.rpm installed, etc.

  Positive: able to release separate compiles of sub-pieces, can have
different maintainers, distributions, etc.
  Negative: three files to maintain (which might be a positive), have
to compile pieces separately, etc.

C) Break apart the original barry tarball, and not distribute gui/ and
opensync/ as part of the main ball of joy. barry-tools.tar.gz,
barry-gui.tar.gz, barry-opensync.tar.gz.

  Positive: distro maintainers can more easily maintain and patch (do
a "yum list libopensync* for example to see other opensync plugins).
Code could be easier to add unique developers to (i.e. only opensync
coders). Compile problems could be addressed uniquely.
  Negative: more work for barry project to maintain and release.
Possibly introduce out-of-sync problems (but not likely).

D) Rework the top level ./configure to integrate the subprojects, one
SPEC file and one ./configure. This doesn't much change from (A)
above, but is cleaner all around. All positive/negative are pretty
much the same.

E) Go drink beers and watch hockey.

Personally I'm a fan of (E) being the choice made, but I'm sure the
Barry project won't go for it. :) Or maybe they will! Let's fly to
Waterloo/Mississauga and take RIM out (or let them take us out,
heelllooo).

Seriously, I'd love some input.
-te

PS: gmail caught that I misspelled Mississauga. tight. :)

-- 
some live, some die
in the way of the samurai

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to