Where do we get dark magic, evil-looking sacrificial knives and virgins?[1]

Hi, Some weeks ago someone metioned that we need a C++ variant of CPAN or CTAN. The idea is really great. But I have no clue where we would start. How should that service look like, and work internally? I think we need some identifcation service for authors, maybe some access control on the packages stored in the serivce. The client frontend will need something to select mirrors, track dependencies to other packages. An auto build, intstall and test feature would be nice too. As Martin Wille just mentioned, something with some of these features already exists. Gentoos portage [2], written in python handles, dependencies, integrates a mirror selector, automatically build installs and uinstalls packages fetched as source code. The package scripts are shared using rsync[3]. The package source files are automatically distributed into their mirror system. The only missing thing is the author identification and access control part. Gentoo "works" with an indirect system, requiring authors to provide scripts, or users to beg for packages in their bugzilla system. Another interesting system could be provided by monotone[4], a very nice distributed version control system. We could use monotone to replace rsync, in the suggestion above. Monotone provides a secure system to get the build scripts anonymously, and allows identifying authors. The distributive character of monotone allows very intersting use cases, in which authors are able to update and provide new versions of their software. [1] http://www.cpan.org/misc/cpan-faq.html#How_does_the_CPAN_work [2] http://www.gentoo.org/main/en/about.xml [3] http://samba.anu.edu.au/rsync/ [4] http://venge.net/monotone/ Regards Andreas Pokorny

Andreas Pokorny <andreas.pokorny <at> gmx.de> writes:
Hi, Some weeks ago someone metioned that we need a C++ variant of CPAN or CTAN. The idea is really great.
Yes!
But I have no clue where we would start. How should that service look like, and work internally? We need a comfortable web frontend *g*.
I think we need some identifcation service for authors, maybe some access control on the packages stored in the serivce. The client frontend will need something to select mirrors, track dependencies to other packages. Let me note that using BitTorrent for that would reduce the cost of such a system.
An auto build, intstall and test feature would be nice too. But pretty hard.
As Martin Wille just mentioned, something with some of these features already exists. Gentoos portage [2], written in python handles, dependencies, integrates a mirror selector, automatically build installs and uinstalls packages fetched as source code. The package scripts are shared using rsync[3]. The package source files are automatically distributed into their mirror system. The only missing thing is the author identification and access control part. Gentoo "works" with an indirect system, requiring authors to provide scripts, or users to beg for packages in their bugzilla system. Well, surely ideas can be stolen from Portage.
Another interesting system could be provided by monotone[4], a very nice distributed version control system. We could use monotone to replace rsync, in the suggestion above. Monotone provides a secure system to get the build scripts anonymously, and allows identifying authors. The distributive character of monotone allows very intersting use cases, in which authors are able to update and provide new versions of their software. I do not think monotone is what we need here. The problem is that you cannot checkout from a monotone server without downloading all prior versions. Monotone is really made for distributed development and not for such services.
Regards Andreas Pokorny Sincerely, too, Aristid Breitkreuz
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

On 10/15/05, Aristid Breitkreuz <aribrei@arcor.de> wrote:
Andreas Pokorny <andreas.pokorny <at> gmx.de> writes:
Another interesting system could be provided by monotone[4], a very nice distributed version control system. We could use monotone to replace rsync, in the suggestion above. Monotone provides a secure system to get the build scripts anonymously, and allows identifying authors. The distributive character of monotone allows very intersting use cases, in which authors are able to update and provide new versions of their software. I do not think monotone is what we need here. The problem is that you cannot checkout from a monotone server without downloading all prior versions. Monotone is really made for distributed development and not for such services.
Monotone does not allow that yet, but I think it's in their development plan. Ideally, you only need to download the revisions you are interested in, and keep them in your local database. (Although, as you already know, at the moment it downloads all versions.) -- Julio M. Merino Vidal <jmmv84@gmail.com> http://www.livejournal.com/users/jmmv/ The NetBSD Project - http://www.NetBSD.org/
participants (3)
-
Andreas Pokorny
-
Aristid Breitkreuz
-
Julio M. Merino Vidal