On 2015-08-09 23:30, luiz americo pereira camara wrote: > I would download from the SCM ( > git/svn) directly, like bower does. The data necessary to register the > package would be name, description, dependencies, the SCM type, and the > repository URL.
I would suggest the same idea. Take a look at how the FreeBSD "ports" system works. Much can be learned from that. For those that don't know FreeBSD ports system, here is a short explanation: * The ports information lives in a directory hierarchy. The first level defines the group in which each packages belongs: eg: devel, editors, games, audio etc. Then inside those you have a directory for each package. * Each package directory contains a couple of files and one "files" directory: - distinfo: lists the source archive name, its size and SHA256 checksum value - Makefile: describes the version number of the package, category the package belongs too, where the port can be downloaded from (straight from SF.net, Github etc), package maintainer's email address, dependencies and compiler options (user configurable at build time). - pkg-descr: full multi-line description of the package - pkg-plist: full list of installed files (including path information) - files/ any small patches that get applied to the unpacked source archive before it gets compiled. The whole "ports" directory hierarchy lives in a code repository. The end-user (developer in this case) can update their local copy from time to time. Package source code (release archives) get downloaded directly from each projects original location on SF.net, Github, etc. Unpacking the source archive for compilation happens in a temp directory inside each package directory in the ports tree. Packages can also be marked as Broken or Suspended for various reasons (eg: original source archive is not available for download any more) For Lazarus, the ports repository is the only "bandwidth" the Lazarus server will use. A gui front-end can be written to update and search the local ports tree. A star rating system (optional) would probably need to be implemented at the GUI front-end level, and could submit a rating via some web service. Login could be made optional, but a simple registration will most likely reduce "spam" and allow to keep track of who made ratings against what packages. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus