[Haskell-cafe] Hackage inconsistent? (pandoc.cabal in 1.13.1)

Peter Simons simons at cryp.to
Thu Oct 30 11:01:09 UTC 2014


Hi Andreas,

 > On 28.10.2014 01:38, Mateusz Kowalczyk wrote:
 >
 >> 4. I make changes to ap-1.0.0.0, Hackage generates ap-1.0.0.0-fix1
 >> package with identical content but new info without any extra effort
 >> on my side.
 >
 > Basically you suggest that there should be a last digit in the
 > version number that is only used for dependency fixes and is handled
 > automatically by cabal and hackage.

the important part of Mateusz suggestion is that the version number
ought to *change* after an edit. The exact mechanics of that change --
i.e. whether Hackage bumps some digit or appends a tag or whatever --
aren't very important. What is important is that it's possible to
distinguish the edited version from the original one. As of now, users
cannot tell which variant of the package they've installed.


 > We could as well say that Hackage generates
 >
 >   ap-1.0.0.0.1
 >   ap-1.0.0.0.2  -- for the next dependency fix

That would be one possible solution, yes. Personally, I think these kind
of version numbers are a bit silly, so I would prefer to append a tag,
but I don't feel strongly about that.


 > You cannot specify the 5th digit in cabal commands, so when you say
 >
 >   cabal install ap-1.0.0.0
 >
 > you get the latest, i.e. ap-1.0.0.0.2.

Hackage edits are destructive: the original version is gone afterwards,
and it's no longer possible to install it. As such, this point doesn't
seem relevant. What is relevant, however, that people who have installed
version ap-1.0.0.0.1 prior to the edit can actually tell that there is
an update available -- ap-1.0.0.0.2 is *newer*. In the current state of
affairs, it's not possible to tell that a package has been updated
("edited") just by looking at its version number.

Best regards,
Peter



More information about the Haskell-Cafe mailing list