.comment-link {margin-left:.6em;}

sticky scratch

Saturday, April 02, 2005

The Final Package System for Slackware

Intro:
I'm almost sure this idea is not new but when i look to other distros
(not slackware) i really believe it's becoming urgent.
I'm talking about creating a Wrapper/frontend for any slackware package
manager. Yes, i mean "any". This happens because the native Slackware
package manager is very limited specially when we compare it with other
major distros. Developing another package manager featuring all of them
together would be another option but it would take much more work and
maintenance (which could lead into less quality and speed of
development).

Concept:
The idea is to create a user friendly system (GTK/ncurses) with its own
API to extend its functionality to any already existing package manager.
Then, for each package manager used (emerde, swaret, slackpkg,
slapt-get, whatever,...) we would create its own template for the main
operations (install pkg, upgrade pkg, list available pkg, ...). This
way, the system would just use the correct syntax according each package
manager and show its results in a nice gui in an higher layer where the
user doesn't need to know how things are installed, or how the system
works. I am considering on giving Advanced Options to advanced users
make that possible.

Features:
I will just list here some of the main goals of this project:
- simple GUI to simple users.
- advanced options to advanced users.
- option to build packages (using checkinstall)
- option to use deps (*)
- option to list installed packages
- option to install and remove packages
- option to get information about packages which can be installed or not
(i am considering using SPI project for that)
- Search option, including regex and wildcards...
- option to upgrade the entire system or single package(s) to newer
versions(*)
- option to load more package managers very easily (simple python
classes or XML). I'm even considering on making a system to create those
template files easily from scratch.
- Categorization of packages (*2)
- text mode usage (ncurses and command-line) (*2)
- option to update the package system (this requires the update of
one/all package managers used)

(*) - if there is any package manager loaded with support for that.

(*2) - Not a priority for technical reasons but still very important to
my porpuse.

Implementation:
My idea is to use something OO like Python with GTK, ncurses and
command-line. Simplicity, versability, power and transparency are some
of my
key words on this project. It's appearance and features will have many
things in common with y2pkg from SuSE:
http://www.suse.de/~sh/YaST2-Package-Manager/screen-shots.html
The original idea os to make this to Slackware since its KISS philosophy
makes the work much easier for me than any other distro but its support
could be available to other systems.

Ideas, support, contributions, would be very appreciated...
Please don't hesitate with questions and comments.

Thanks in advance

0 Comments:

Post a Comment

<< Home