On 13 Oct 2006, at 04:58, Nicola Pero wrote:
Things should be decoupled ... -make and -base don't really talk
or depend
on each other.
Not entirely true. Currently -base depends on -make for
configuration.
Thanks, I see your point ... which is a very good one :-)
You're suggesting that, for example, in a binary distribution (say,
Debian)
you could install gnustep-base without installing gnustep-make.
Then you can also install any other GNUstep software that is binary
packaged
by the distribution. You don't need gnustep-make, because
everything is
in the FHS locations and you're not building anything, you're just
installing
binary packages.
I agree it would be a nice thing :-)
In that case, yes, you would need GNUstep.conf, yet you have no
gnustep-make
installed.
I suppose the right way of addressing the issue is to create a
'gnustep-common'
package, that only installs GNUstep.conf.
Then, on top of that, you can install gnustep-make and/or gnustep-
base;
you only
install gnustep-make if you want to build.
We could make all this explicit by extracting the creation of
GNUstep.conf
into
a separate software ... to be installed before gnustep-make. It
sounds
very clumsy
though ;-)
At the moment, I'd leave everything as it is (a packager could still
install GNUstep.conf
in a separate package to get the effect above).
This all sounds complex ... and seems to be based on accepting both
that gnustep-base depends on gnustep-make for configuration and the
assumption that this is a problem.
The flaw in that is that base does not depend on make for config
information (unless it's been broken recently), it merely uses it at
configure/build time if it is present and not overridden. Even if
base did depend on make for config information, I don't see it as
much of a problem, since if we ever had another package capable of
building the base library I'm sure it could be made able to provide
any necessary config information for it too.
Moving the creation of GNUstep.conf into gnustep-base doesn't make
much
sense,
because gnustep-make can't work without it. You may want to use
gnustep-make
without gnustep-base (eg, for building documentation or resources
or java
stuff,
or for building using non-gnustep-base foundation libraries, eg on
apple-apple-apple
or gnu-fd-nil), and at the moment you can't build gnustep-base without
gnustep-make
anyway ;-)
Yes, gnustep-make required GNUstep.conf, but gnustep-base does not.
But even if it was required by base, we could deal with the problem
when we produced another package capable of building base.
Anyway, good idea to keep it in mind, I mean, yes, conceptually,
the step
of creating
GNUstep.conf is separate from gnustep-make and gnustep-base. It's a
"preliminary" step
if you want. ;-)
Yes, analagous to running a configure script ... it's where you set
up various options.
Yes ... we're not really "almost done". :-( ... we also need to have
gnustep-base load
the directory structure from GNUstep.conf and use it when
searching for
stuff
at runtime :-/
For long lived processes this might be fine but for short lived tools
you're
imposing a considerable startup delay.
There is already such a delay, since we are already reading
GNUstep.conf.
I doubt
adding ten more lines or so to read would make any difference in
speed.
If we could avoid
reading the file altogether, that would be faster. ;-)
Yes, but not much faster ... on my system it takes half a millisecond
to do the whole process of reading and parsing configuration info ...
that includes loading both the system GNUstep.conf and my user
specific one overriding some values in the system-wide one.
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev