For many years, Debian had something not existing in many other distributions - way to configure packages, when installing. Another approach to not allow to configure packages, while installing is better in many ways, but lacks for many people.
The idea is about how to connect both world:
- Allow to configure applications/packages, before or after installing it
- Force normal packages to been configured by default
Repositories should contains links to interactive pre-configure and (non-interactive) post-configure script for each package, that needs it. Package managers could allows to install an package normally or to select configure option (if available for a given package). This option will download pre-configure package contains JavaScript + HTML code and run it and post-configure script. User may use this web page to write configuration in some special place (/var/run/new-packages ?) and this web page could selects another packages to install, like data, additional modules, etc. When user install original package, post-configure script will be run, which reads data from /var/run/new-packages/package-name and configure newly installed packages. User could rerun pre-configure script at any time. Pre-configure could be distro-agnostic and created by program maintainers, while post-configure could be distro dependent.
Use case:
I decided to install MySQL, but don’t know how to configure it, so I select “Configure before install” option. Package manager will read link to pre-configure script and post-configre script and run pre-configure script. After launch it, I can configure mysql and check PhpMyAdmin to install. After installation done, system will run post-configure scirpt.
Use case 2:
I decided to install Mysql. Install it in normal way. After all I don’t know how to configure it, so I run package manager, search for Mysql package (installed) and click configure option.
Questions:
How to handle situation, when user change configuration by hand and will run configure scripts? Introduce new script, to convert distro dependent configuration into pre-configure understood format?