[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Reproducible builds and GHC interface and profiling files



Hi!

Reproducible builds for Debian are very much a work-in-progress [1].
With David Suárez, we've recently the build+rebuild of a large number of
package to see how varying time and build path would affect their
reproducibility.

Good news is that in the set of 6887 source packages, there were many
Haskell packages which produced matching binary packages [2]:
haskell-aeson-pretty, haskell-appar, haskell-asn1-parse,
haskell-asn1-types, haskell-base64-conduit, haskell-blaze-svg,
haskell-bmp, haskell-boundedchan, haskell-byteable, haskell-chell-hunit,
haskell-classy-prelude, haskell-connection, haskell-control-monad-loop,
haskell-crypto-pubkey, haskell-data-pprint, haskell-devscripts,
haskell-dual-tree, haskell-errors, haskell-gitlib, haskell-groups,
haskell-happstack-heist, haskell-hedis, haskell-heist, haskell-hslua,
haskell-hsx-jmacro, haskell-http-attoparsec, haskell-idna,
haskell-intern, haskell-intervals, haskell-iproute, haskell-ircbot,
haskell-jmacro, haskell-mmorph, haskell-monadprompt,
haskell-monoid-extras, haskell-mueval, haskell-objectname, haskell-ofx,
haskell-osm, haskell-pipes-parse, haskell-pipes-safe,
haskell-pipes-zlib, haskell-punycode, haskell-quickcheck-io,
haskell-readargs, haskell-reform-blaze, haskell-reform-hamlet,
haskell-reform-happstack, haskell-reform-hsp, haskell-reform,
haskell-sandi, haskell-simple-reflect, haskell-stringbuilder,
haskell-stringprep, haskell-tabular, haskell-tasty-hspec,
haskell-tasty-hunit, haskell-tasty-quickcheck, haskell-tasty-rerun,
haskell-tensor, haskell-time-compat, haskell-web-plugins,
haskell-x509-store, haskell-x509, haskell-xmlhtml, haskell-yesod-bin,
haskell-yesod-default, haskell-yesod-markdown.

That's great! :)

More puzzling are varations in GHC interface (.hi) and profiling (.p_hi)
files. See for example the `diffp` output of haskell-cipher-des which
shows both issues:
http://reproducible.alioth.debian.org/logs-20140126/haskell-cipher-des_0.0.6-1_unstable_build.diffp.gz
or haskell-setenv which only exhibits the problem with profiling files:
http://reproducible.alioth.debian.org/logs-20140126/haskell-setenv_0.1.0-2_unstable_build.diffp.gz

Would you have any idea of what could make these files differ from one
build to another?

[1] https://wiki.debian.org/ReproducibleBuilds
[2] As #722186 has been fixed since the previous rebuild.

-- 
Lunar                                .''`. 
lunar@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   

Attachment: signature.asc
Description: Digital signature


Reply to: