|
Greetings!
I know I'm probably gonna be in over my head with this one, which is why im requesting some help. I wanna make a bash script based package system that can be used on any major distro and have dependency handling.
I already have a rough idea on a design. However I'm clueless where to start.
Basic Idea:
1. Packages will be bzip'ed and sort of like slackware packages. They will need some extra files in them however. There will be a license.txt a deps.txt kernel.txt an install.sh script a category.txt and of course the program.
2. To install the package, there will be 2 ways. One would be to open the gui prog and "find" the package and install it with that, the other will be via terminal via maybe install packagename.extension or installpackage packagename.extension
3. The installer when using the gui prog will first extract the package in a temp directory, then load the license.txt which the user will have to agree to. Then the installer will look at the kernel.txt to see which version the package was compiled for. aka 2.4 or 2.6 etc then check the system to see if the kernel is the right one for the package. Then the installer will check the deps.txt file for the package names of the dependencies which it will first check the distro for, then if not found check an internet repository for the package. if it doesnt find the deps there it will tell the user what the names of the dependencies are and to install them before trying to install the package.
4. If all deps are met, the installer will then check what distro the installer is on (aka debian, fedora, suse, etc) then install the files to the directories they are "supposed" to be is based on a "distro template". Then the installer will configure the program based on the install.sh file. Also the installer needs to ask if shortcuts should be made in the menu and on the desktop. The shortcut formats and places will be determined via the "window manager templates" and "filesystem templates".
5. Filesystem "templates" will be text files containing the basic structure of the filesystem for each major distro. It will then compaire the template to the package and install the package where its "supposed" to be.
6. The window manager templates will basically be for placing shortcuts and menu entries based on what window managers are on the system. aka kde, gnome, xfce, icewm, blackbox, etc.
6. There should also be a gui to list all packages that are installed and allow uninstalling, reinstalling via a sort of checkbox kinda thing simular to the pkgtool in slackware but with a gui and have the progs in categories. The category.txt will tell the prog what category the prog is under.
I know my description isnt that grand and prob needs more work to make it "just right". I also know a lot of people will and have flamed me and said all sorts of bad things to me for my efforts to unify certain parts of linux. i dont care who "yells" at me or what anyone calls me. I'm on a mission and will not stop till i'm done or till god tells me to stop.
anyway, if anyone wants to help me with this, id be more than happy and glad for the help.
|