Skip to content

Loading…

cabal init / cabal check inconsistency #1074

Open
dudebout opened this Issue · 5 comments

3 participants

@dudebout

cabal init allows me to specify a license that it does not recognize, by using option 11. However, cabal check, which is used by hackage, rejects an unrecognized field, such as ISC.

@byorgey
Haskell member

Thanks for the report. As things currently stand, I'm not sure whether this counts as a bug (or what should be done about it). The specification of the .cabal format allows unrecognized licenses. However, cabal check does not check whether a .cabal file is valid, but whether it would be accepted by Hackage. Hackage apparently does not allow arbitrary licenses. That is, the policy (as implemented -- whether intentional or not) is that only packages with one of a list of recognized license types may be distributed on Hackage.

So it is not technically an inconsistency. The question is whether Hackage should allow unrecognized licenses. I will let others weigh in there.

@dudebout

Ross Paterson told me Hackage was using cabal check to determine if it should accept a package. It seems that we have a circular dependency here ;-)

@byorgey
Haskell member

Haha! OK, point taken. =) In any case, it seems to me there are three options:

  1. Change cabal check (and therefore Hackage as well) to accept unrecognized licenses.
  2. Change cabal init so it does not allow specifying an unrecognized license.
  3. Do nothing.

I have chimed in here since as the maintainer of cabal init, I would implement option (2) if that is decided upon. But I am really not sure which option is best. Perhaps someone else with more knowledge about Hackage and the history/reasoning behind the current choice can comment.

@dudebout

My only concern with (2) is that unrecognized licences is a feature that has been added in the last version of cabal init. This addresses the following issue: http://www.haskell.org/pipermail/cabal-devel/2011-June/007568.html

On another note, I do not see (3) as an option. Offering a choice in cabal init that cannot be uploaded on Hackage is not really friendly.

@byorgey
Haskell member

Ah, I see. For reference, it looks like the unrecognized license feature was added by @dcoutts in @d448be2.

@ttuegel ttuegel added the bug label
@ttuegel ttuegel added this to the Cabal-1.24 milestone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.