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
