Hi. Since the idea of creating something like CPAN is something folks wants, I figure it would be good to collect as many thoughts and information as possible in one place.
(I'd also appreciate links to relevant threads) My thoughts, specifically, were for the client to be fairly similar in function to apt-get. (from the user's perspective) The core commands would be: INSTALL package_name -- queries a server (set in configuration files), gets an absolute link to the package, and a list of dependencies. Downloads the package, and then any dependencies, and takes care of unpacking, verifying, compiling, storing, etc. anything that needs to be done. The package would have to have meta-data attached in some fashion. REMOVE package_name -- just has to remove all the relevant files, and clean up any references to the package in the storage system. May want to check dependencies and alert the user. UPDATE [package_name] -- could be called to check all packages (by not specifying a package name) or to update a specific package. Warn the user of any dependencies that could be broken. My thought was that the package manager could, itself, be a package (but, hopefully, one that would be included by default). I wouldn't imagine that the current code base would need to be modified a whole lot. I was thinking that most of this project could be written in Guile. Does that make sense? Some thoughts I heard were: using stowfs to handle storing the packages intelligently use dorodango to handle most of the acquisition For the server design: I was envisioning a website to navigate packages (like http://packages.debian.org/stable/). My thought is to do everything over HTTP (seems like that would work well with Dorodango). Doesn't seem like a hugely complicated issue? Questions about the server: How would the central repository be maintained? Give trusted developers the ability to make changes to their personal packages at will? How will packages be nominated / selected for inclusion? That's all I can think of, right now. I'm sure there's more but I want to start a discussion. Thanks, Paul R