> I think, if the user adds ("localhost" . "http://localhost:9191/") to package-archives, package.el will fetch http://localhost:9191/archive-contents just fine.

Haha, how stupid am I... Never really thought about that! :) Don't mind my comments then!

> I agree that we should definitely keep the index, but I think we should really make it optional. Small archives for unit tests really don't need an index on the disk.

If we auto generate the index if it does not exists, why not write it the disc at the same time?