[arch-haskell] Road to binary repository

Rémy Oudompheng remyoudompheng at gmail.com
Sat Oct 12 07:37:18 UTC 2013

On 2010/10/22 Peter Simons <simons at cryp.to> wrote:
> Hi Rémy,
>  > http://github.com/remyoudompheng/archhaskell-build
> this is really quite impressive! Great job. I have some question, and I
> hope that you can help me understand how the whole things works:
>  1) The file PKGLIST determines the set of Cabal files to be converted
>    into PKGBUILDs. At the same time, PKGLIST is generated from the set
>    of available PKGBUILDs. This is looks like a circular dependency to
>    me. Am I missing something?

The generation of PKGLIST from the habs tree was only there to take a
snapshot of the current state of our packages.

>  2) The main build step appears to be "makeworld". Is that script
>    capable of performing incremental builds?
>    To give you a concrete example, assume that makeworld has run
>    successfully and that the entire binary repository is up-to-date.
>    Now, there arrives an update to "hledger-lib", which necessitates
>    that two packages ought to be re-built, namely "hledger-lib" and
>    "hledger". Will running "makeworld" again do that?

makeworld does not rebuild an already built package, based on its filename.

The missing part is:
* use the revdeps script [#] to compute reverse dependencies
* use some sed magic or shell script to increment pkgrel in the PKGLIST.
* add to manycabal2arch the ability to:
  - not regenerate already generated packages
  - read pkgrel from the PKGLIST
* makeworld checks only existence of files to know whether something
has to be rebuilt, if the pkgrel has changed, the package filename
changes, hence the package has to be rebuilt.

[#] http://github.com/archhaskell/archlinux/blob/master/scripts/reverse_deps.hs

> Take care,
> Peter

More information about the arch-haskell mailing list