Larson, Timothy E. wrote:

> Looking at all that Etoile is (a framework, an window manager, several handy 
> apps of
> various kinds), I think there are two possible ways to go about packaging it, 
> but I don't
> know which way is more beneficial to users.
>
> 1) Package pieces separately (i.e. core framework, Azalea, Melodie, etc.) 
> with a
> meta-package for the whole of "Etoile".  Pro: if you want just a particular 
> app you
> could build just that.  Cons: more maintenance for packaging, more 
> understanding
> needed on part of the packager.
>
> 2) Single package.  Pro: probably the simplest and quickest approach.  Cons: 
> have to
> install the whole thing even if you only want part of it, harder to 
> categorize since so
> many different kinds of things are included, failure of any component to 
> build properly
> means the entire package wouldn't be available.
>
> What are other packagers doing?  Looking at how other similar software (KDE,
> Gnome, GNUstep) is packaged in pkgsrc, it looks like #1 is preferred.  How 
> feasible is
> this to do with the current structure and build system?  Is this as easy as 
> descending
> to the subdir for the component and running make from there?  Are dependencies
> within Etoile detailed somewhere (other than makefiles themselves)?

When I did some experimental packaging of Étoilé about a year ago, I
made one package per framework/application/bundle. This is clearly the
most beneficial to users since they can install e.g. Corner + Vindaloo
+ Melodie, and get exactly the set of frameworks required to run those
apps. A meta package for installing the typical desktop is of course
handy, and possibly also necessary. One for installing everything
could also be useful for some, I guess, although I would personally
never really want that.

I never got to the point of setting up a GNUstep Archlinux repository,
like I was planning. One reason was that I stopped using the packages
myself, and just installed the Étoilé tree with make install because I
was recompiling it so often. Another reason was that I was not
entirely sure what versions would be best for Joe User. I was using
trunk versions of everything myself, and was jumping through hoops in
order to make GNUstep use its own libobjc rather than the one already
installed by GCC. Then there were other decisions, like what the file
system layout should look like. I was using a slightly modified
fhs-system layout to match the existing wmaker package.

Perhaps I will pick up the ball again one day, and publish a
repository - if I can make up my mind about those decisions, and think
I am willing to track the Étoilé modules.

There was one little trick I was using in my build scripts, however,
that may or may not be useful to other packagers. Normally, building
an Étoilé module requires you to check out the tree all the way from
the root because each makefile includes etoile.make. This did not fit
the way packages for Archlinux are usually built - you want each build
script to check out only the module it is building. To make that work,
I added these two lines to my build scripts;

  svn cat -r {$pkgver} $_svnroot/etoile.make > etoile.make
  find -name GNUmakefile -exec sed -i s:../../etoile.make:etoile.make: {} \;

This way, I could check out a single module + etoile.make, and have it
compile in isolation.

-Truls

_______________________________________________
Etoile-packaging mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-packaging

Reply via email to