[arch-haskell] RFQ: Proposal for new versioning of packages
Magnus Therning
magnus at therning.org
Thu Apr 30 05:43:34 UTC 2015
On 30 April 2015 at 01:10, Xyne <xyne at archlinux.ca> wrote:
> On 2015-04-29 22:11 +0200
> Magnus Therning wrote:
>
>>I've slowly been working away on some way to deal with the addition of
>>x-revisions in Cabal files. My plan at the moment is to include it in
>>the `pkgrel` in this way
>>
>> haskell-zlib-0.5.4.2-76-x86_64.pkg.tar.xz
>>
>>becomes
>>
>> haskell-zlib-0.5.4.2-0.76-x86_64.pkg.tar.xz
>>
>>given that the x-revision is 0.
>>
>>This of course has the slight drawback that everyone will have to
>>re-install all packages :(
>>
>>I'd love to hear if anyone has a better suggestion, in particular if
>>it means not having to re-install. (I think I've found a way that
>>won't require a re-build.)
>>
>>/M
>
> The pkgrel should be an integer that is incremented by 1 with each release so it should not be included there. I don't know what x-revisions are but perhaps you can (ab)use the PKGBUILD "epoch" to managed them: https://wiki.archlinux.org/index.php/PKGBUILD#epoch
I know they are supposed to be integers, but it seems to work even if
they are not :)
Unfortunately epoch won't work :(
> If not, can you explain what they are and how they are used?
An x-revision is a change made via Hackage. When a Haskell package is
uploaded to Hackage it typically has no x-revision field (it's then
treated as having x-revision 0). On each modification made via
Hackage to the Cabal file in the index the x-revision is increased by
1 (allowed changes include, among a few other things, changing
dependency ranges). This means that there effectively is a new
version of the package, but the version number itself is untouched.
So, instead of dealing with a pair of `(pgkver, pkgrel)` we now have a
triple of `(pkgver,xrev,pkgrel)`. The issue then becomes how to
convert this triple into a pair. In particular, how to do it so the
version ordering rules that `pacman` uses results in the wanted
behaviour.
/M
--
Magnus Therning OpenPGP: 0xAB4DFBA4
email: magnus at therning.org jabber: magnus at therning.org
twitter: magthe http://therning.org/magnus
More information about the arch-haskell
mailing list