 |
Home | Changes | Index | Search | Go
Hi,
i just collected a few thoughts about an installation GUI for PLG and I believe it is better to
share them with all developers, as I will probably not have enough time to implement them myself.
Feel free to add to or edit the following list.
Christian (cost)
Why do we need this?
I think our aim should be to make our life and the life of those wanting to try PLG (potential developers!) as easy as possible, so we can concentrate on our real
tasks and they have the feeling we are interested in them as users, testers, artists and developers. A project which accepts only users masochistic enough to
install LG3D? the current way, will never reach all people interested in it, because they become frightened ("Help! A shell script !!") and turn away. The huge
success of Ubuntu (in contrast to traditional Debian) makes this point clear.
Requirements
An installation GUI should
- be easy to use
- run on most standard linux installations
- check wether the PLG dependencies are already resolved or not
- if not, download and install the missing dependencies
- allow the user to choose which version of PLG to install (cvs, daily build, release)
- download and install PLG
- configure xorg.conf, if not done and set required environment variables(e.g.
OSTYPE on Debian based systems)
How to achieve these goals
- The first two points lead - according to my opinion - to the following thoughts:
- One has to use some interpreted language. Java is no good choice, because we do not know wether Java is already installed or not
and may want to replace it with a newer version during the installation progress. I suggest Python with pygtk.
- Dependencies can be checked by looking for environment variables, binaries etc. a script language is ideal in these regards, too.
- When installing missing dependencies, one should use the distribution's own upgrade/installation progress.
Perhaps one could out-source this code-part into different modules (one for every distro) with defined interfaces, so the whole code does not have to be changed in order to add a new distribution. Each module should contain: One or more specifics, in order to detect the distro and the name and syntax of the main-package-management tool (apt-get, yum, yast, emerge, ...)
- Configuration of xorg.conf mainly consists of using some regular expressions in order to replace stuff like driver="keyboard"
through driver="kbd", check for the right graphic-config etc. 3D-Drivers belong to the dependencies and should be already checked.
I think it will not take very much time to implement these ideas, but they would make our project much more attractive to newcomers.
|