[arch-haskell] Re: [extra] haskell-parallel

Peter Hercek phercek at gmail.com
Thu Nov 11 15:39:05 EST 2010


On 11/11/2010 08:21 PM, Peter Simons wrote:
> Hi Peter,
>
>   >  Hmm, what we would need is so that when haskell-pandoc is being built
>   >  it's PKGFILE is updated so that it requires haskell-http 4000.0.9
>   >  exactly. Then an attempt to uninstall haskell-hp-http later would
>   >  require an uninstallation of haskell-pandoc too.
>
> fortunately, Pacman does that already:
>
>   | # pacman -R haskell-http
>   | checking dependencies...
>   | error: failed to prepare transaction (could not satisfy dependencies)
>   | :: haskell-pandoc: requires haskell-http>=4000.0.5
>
> It's not possible to remove a package that another installed package
> depends on.
>
> It's a different story, though, when a prerequisite is updated. Suppose
> that pandoc has been installed. Now, an update of haskell-http shows up
> an AUR. Pacman will perform that update, and it will break pandoc in the
> process.
Will pacman do the update (without requiring haskell-pandoc removal) 
even if haskell-pandoc had specified haskell-http=4000.0.9 as dependency?

I would expect pacman to require haskell-pandoc removal in such a case 
but I did not test it.

That is what we want. If something (Y) was built against a given version 
of X then Y must be there if and only if the right X is there. Would be 
great if pacman can ensure this for us. Well, this is needed only for 
haskell libraries though.

>   This is why we have to bump pandoc's $pkgrel at the same time
> we publish the update of haskell-http. In other words, an update of
> package X requires $pkgrel bumps of all other packages that directly or
> indirectly depend on X.
Lets say Y depends on X.
Then this pkgrel update is so that when someone installs the latest 
version of Y then he gets the right (the newer) version of X too. If the 
Y pkgrel would not be updated then the package would still want the 
original (old) version of X.


More information about the arch-haskell mailing list