New index format patch

Isaac Jones ijones at
Sun Aug 20 19:36:00 EDT 2006

Paolo Martini <paolo at> writes:

> Hello,
> OK good news! Here's a patch to make cabal-install use the tarball
> index format discussed in the previous email.
> (I finally gave up in trying to do a whole refactoring, which I
> started from scratch many times, and started a more seamless
> integration of ideas in the existing code.)
> Since we don't rely on any program to do the QA, check that the
> packagename directory and the name of the tarball and the name inside
> the .cabal file are the same case-sensitively before adding it.
> The instructions for those eager of making a repository:

>   1.  mkdir -p packages/packagename
>   2.  cp package-version.tar.gz packages/packagename/
>   3.  GOTO 1 for each package you want in the repository
>   4.  tar --create --gzip --file packages/00-index.tar.gz --exclude
> '*.tar.gz' --directory packages/ .
>   # don't miss the last dot in the above command!

Coolness!  Simple & elegent.  Have you played w/ the
cabal-server-install program at all yet?

> I need help on one matter--I am not sure about pkgUrl:
> If I enable multiple repositories and scan the local hierarchy after
> having downloaded the files from all of them, it becomes impossible
> to map files to urls.
> So the solution could be having multiple repositories whose names are
> the urlEncoded strings of the actual repositories' urls.

I think it's worth it to enable multiple repositories right away.  Go
for it!

> If having just one repository doesn't bother anyone too much, I'd like
> to know what do you think it's worth doing next.  Also, I'd like  to
> have some feedback on this patch, I am not sure I did not make any
> mistake!

I haven't had a chance to look at it.  I hope someone else does.
Please do push it to the repo and get people playing with it :)

Is there a properly-formated repo on hackage or somewhere that people
can play with?  Does cabal-install come preconfigured to find this



More information about the cabal-devel mailing list