Hello,

I was thinking about packages and installation in an GNUstep based environments,
such as Etoile. Basically, there are three different environments:

1. Host OS (Linux, MS-Windows, OS-X, ...)
2. GNUstep runtime environment (guest)
3. GNUstep based system (Live-CD is a prototype of such thing)

For the time being we keep the #3 out. I think that GNUstep by its nature is a
separate, independend and (kind of) self-sufficient environment on any host OS.
It has mechanisms (interfaces) to interact with the outer world, such as D&D,
filesystem, networking, ports,... Installing and uninstalling gnustep should be
as easy as unpacking/removing a directory plus running few
configuration/cleanup scripts.

By default, everything that uses GNUstep is part of the environment and can not
be separated (*). That means that MyApp.app is a part of the environment, and
it should be obvious that it can be used only from GNUstep (**). Any
application, framework or a bundle can be considered as a GNUstep environment
module. Yes, it is an application, but it plugs inside the GNUstep and can not
live without it. The applications/frameworks/bundles make the integrated
environment - they are integral cooperating parts.

Some extreme analogies, where left side is GNUstep and right side is
application/framework/bundle:

Java - Java applications
MS Office (Word, Excel) - Visual basic applications/macros
Oracle DB suite - enterprise applications provided by Oracle

and many others you can think of. The right part can not live without the left
part.

Now let us go to the packages. We have:

- Host OS packages (deb, rpm, tar.gz, Install.EXE, ...)
- GNUstep packages (no standard format defined yet)

We need to distinguish between them and handle them separately if possible. That
means that we get following package management applications:

1. manage host os packages
2. manage gnustep environment packages
3. manage host os packages and gnustep environment packages
4. manage gnustep system packages

We do not have to care about the #1 packager. #2 packages should be available
everywhere where GNUstep environment is installed - on MS Windows, Linux, OS-X.
It should handle ONLY gnustep packages. #3 should not be a priority and should
be offered as option to the GNUstep likers to manage all their packages on
their system. The #4 is like #3, but is native to its system.

This was my point of view to environments and packages. How do you see it and
how do you think it should be handled in Etoile?

Regards,

Stefan Urbanek

Footnotes:

(*) - there is that 'by default' which means that it is valid for most of
GNUstep usages. Static linking or other specialities are different cases.

(**) - this does not contradicts the fact that there should be tools that can
make access to the gnustep internals from host environment easier (Windows
start menu integration, for example). Note that GNUstep will never feel native
in its host environments, you can only make it feel closer to native.
--
http://stefan.agentfarms.net

First they ignore you, then they laugh at you, then they fight you, then
you win.
- Mahatma Gandhi

Reply via email to