NOTE: Unsure if this belongs on Server Fault at this stage... please move as necessary!
I'm working on a project that has its own package management software and have come to a stage where I need a centralised and simple mechanism for creating new packages in a master repository.
The following are my requirements:
- Front-facing web UI allows a tarball to be uploaded. These tarballs contain a directory layout already well-defined with respect to our "package build system", and would be built after upload and approval (depending on user privileges, discussed later).
- Packages will have metadata that should be searchable, and is displayed in a web user interface - to get an idea of what I mean, see Ubuntu's package site.
- User levels with different permissions: "standard" can upload potential packages to be moderated, "developer" can upload packages without moderation, "administrator" can upload packages without moderation and perform moderation tasks on packages uploaded by "standard" users.
Ideally, something like buildbot integration for actual package builds would be used. This way users could see the results of package builds, and we as developers can see graphical representations of regressions (using builbot's web UI).
I'm uncertain if something like this exists if only because figuring out keywords to search for in this area is very difficult. I was thinking about maybe modifying bugzilla or something like that to get the required behaviour, but if something more targeted to what I want to do already exists it would be much easier. PHP + mysql is preferred 开发者_运维百科over other solutions, but I'm not overly picky at the moment.
If the answer is "none exists, write your own" - that's okay. I just want to make certain nothing exists that's similar enough that it could be modified to suit these requirements before I start working on such a thing.
You may want to look at PEAR for package management in combination with PEAR_Frontend_Web for package installation and a PEAR channel server for package upload and distribution:
- http://www.pirum-project.org/
- http://pear.chiaraquartet.net/index.php?package=Chiara_PEAR_Server_Web
- http://pear2.php.net/PEAR2_SimpleChannelServer
精彩评论