So, I saw this, and I feel like sharing this. I am working on quite a big project since a year now - the drag0n installer, short: d0.
d0 is a PHP-CLI based programm to manage and install software....yah i know, sounds similar. But which package manager could install mods for games like Minecraft - natively? It also brings a GUI interface and can be commanded thru an URI scheme which is close to the CLI interface - though the URI one needs user-verification since we dont want people to install malware into our systems.
I am planning on a web-service which currently goes by the codename "ph03nix" which will give developers a web-access to create their own repositories for d0.
Benefits in d0:
- Everyone can upload their packages.
- The system knows so-called "Trusted Resources" which can be added by a name instead of a full URL. Like, if there was a dev-team called BugNutz and they registered a trusted resource by the name "bugnutz", then a user will not need to type in a long URL and instead can just type in a simple name and is good to go. Untrusted resources will be highlighted if they arent found in a database of the software.
- The same as above can be archived for packages.
- It supports every *NIX platform, and will be ported to Windows once it works. Because of its rather minimal requirement, it may be ported to handhelts. The extraction-process of a package and the configuration files are fully parsed by PHP. The only thing which is not PHP, is the way the GUI is created - in a web-interface. To spawn such, we use appJS. But within the browser, we have PHP running with Yii 1.1.11 :3
- It does not modify any system files during installation and can be drag-and-drop installed.
- Developers can declare pre and post scritps for install, update, remove and reinstall.
- d0 supports source-code installations with its pre and post scripts. The source will be saved somewhere, where the user may have access to.
- d0 will install its packages into the system default locations - no stupid PATH editing. It will just fit right within to avoid having the same library seven times on the system, each located to a different PKmanager.
- Allows to be controlled via GUI, CLI and URI (d0:-scheme)
- Own package-format which manages to shrink 90MB to 50MB...so it has a good compression.
- Installation is also possible from other files. Developers can extend Drag0nPackage in PHP and add their own types - like DebianPackage?
- Completely open-source and no obfuscation.
- Runs on technically every version of PHP 5.x - but once I decide to namespace it, it will only work with php 5.3+
- Does not require any additional thing. But if you want to install a source-code, d0 will tell you to download neccessary things first.
- Finds and lists already installed things, like the native OS, so packages can be OS-dependent.
- Dependency check. Allows to recrusively install all dependencies.
Once I have finished editing some files I might upload the current version. The one on GitHub is absolutely crap, and is only ment to give a basic idea on how it may look like behind the scenes. Suggestions, and help, is welcome. Email me at firstname.lastname@example.org because this forum refuses to send me emails x)