Upgrade to Pro — share decks privately, control downloads, hide ads and more …

reproducible builds and openSUSE

reproducible builds and openSUSE

Bernhard M. Wiedemann

June 27, 2016
Tweet

More Decks by Bernhard M. Wiedemann

Other Decks in Technology

Transcript

  1. 4 What are reproducible builds? • Get the same results

    from building sources • Two use-cases ‒ ideally bit-by-bit identical (thus same hashes) ‒ weaker: same content after applying some filters (via build-compare)
  2. 5 Why reproducible builds? • Need less trust in the

    build hosts • Reduced load on build-service from rebuilds
  3. 6 Typical problems • embedded timestamps, hostname • embedded rebuild

    counters • random .o file link order changes optimization • compile-time CPU detection
  4. 8 Work done • 71 submit-requests • 6 bugs filed

    • 4 upstream fixes merged • some build-compare filters added (e.g. for javadoc)
  5. 9 rebuild-test-scripts • available from https://github.com/bmwiedemann/reproducibl eopensuse • including this

    presentation's source https://github.com/bmwiedemann/reproducible opensuse/blob/master/presentation/reproduci ble.md
  6. 10 How reproducible can we get? • bit-identical with rpm+build

    from home:bmwiedemann:reproducible repo and effort ‒ https://build.opensuse.org/package/rdiff/home:bmw iedemann:reproducible/build?linkrev=base&rev=2
  7. 11 Where do we want to go? • fix all

    build-compare issues • not yet produce fully bit-identical rpms
  8. Corporate Headquarters Maxfeldstrasse 5 90409 Nuremberg Germany +49 911 740

    53 0 (Worldwide) www.suse.com Join us on: www.opensuse.org 14