Hi Carl, That's right, upload to multiple repo's doesn't work at all, for multiple reasons. The advantage of multiple remote-repo's is that cabal-install pulls from all repo's when installing a package. So you can have packages depend on both private packages, and packages from the public hackage, and install them with a simple 'cabal install'.
For upload, we've written a simple command line utility. I can share part of the code, if you want. Or you can just use the web interface to upload to your private hackage. I think the 'right' solution for cabal upload and multiple remote repo's is to have sections in the cabal file, and have fields like username and password belong to a remote repo section. The upload command then probably needs a flag to indicate to which remote repo you want to upload. Erik On Tue, Jan 10, 2012 at 10:09, Carl Baatz <carl.ba...@gmail.com> wrote: > Hi Erik, > > thanks for the suggestion! I tried that, though it appears that the > cabal-install upload command picks up the last repo specified when running > the upload command (Distribution.Client.Upload:65), without an option to > instead use one of the other repos. It's not clear to me what the advantage > of specifying > 1 remote-repo in the config file is. > > The idea we had was to enable 'cabal upload' both for public packages going > to public Hackage and for private packages going to a private Hackage. > > Does that make sense or am I missing something? > > Carl > > > On 10/01/2012 09:33, Erik Hesselink wrote: >> >> Hi Carl, >> >> At Silk, we use a private hackage. You can just enter it in your main >> cabal config (~/.cabal/config) as an extra entry: >> >> remote-repo: >> hackage.haskell.org:http://hackage.haskell.org/packages/archive >> remote-repo:<our-hackage-name>:<our-hackage-url> >> >> The only thing that doesn't work well, is the username/password for >> 'cabal upload': these are not per remote repo, but they should be. >> >> Hope this helps, >> >> Erik >> >> On Mon, Jan 9, 2012 at 23:27, Carl Baatz<carl.ba...@gmail.com> wrote: >>> >>> Hi all, >>> >>> for packages that aren't for public consumption, we would like to specify >>> a >>> private Hackage repo location. The simplest way we could think of to do >>> this >>> was to read a config file in the same format as the user config >>> (~/.cabal/config) from the current directory and let any flags set in >>> that >>> file override the user config. >>> >>> The attached patch implements this, reading any file with a >>> .cabal-install >>> extension (including '.cabal-install'). It errors out if more than one >>> .cabal-install file is found or if there's a parse error on the >>> .cabal-install file. >>> >>> Does this sound like a good idea? If not, any ideas for alternative ways >>> of >>> handling non-public packages? >>> >>> Many thanks, >>> >>> Carl >>> >>> _______________________________________________ >>> cabal-devel mailing list >>> cabal-devel@haskell.org >>> http://www.haskell.org/mailman/listinfo/cabal-devel >>> > _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel