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

reproducible builds and openSUSE

reproducible builds and openSUSE

Avatar for Bernhard M. Wiedemann

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