Reproducible Builds in Fedora

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

 



Hi,

I have been working on having Reproducible Builds in Fedora for some
time.

At this point, I think I have something demoable. Ensuring Reproducible
Builds is a big task and I want your feedback, ideas, code and support.

Please see https://github.com/kholia/ReproducibleBuilds for details.

I would like to thank Debian and Ubuntu folks for starting similar
projects (and inspiring this work).

Reproducible Builds
===================

It should be possible to reproduce every build of every package in
Fedora.

We want to be able to show that our binary was the result of our source
code from our compiler and nobody added anything along the way.

Can we (upstream / vendor) show that one of our rpms was built from the
source we ship?

It should be possible for the users to verify that the binary matches
what the source intended to produce, in an independent fashion. We (the
distribution provider) shouldn't be forced to say "Trust Us" to our
users at all.

Steps Involved
==============

* Recording the build environment (DONE)

  - Koji does this automatically :-)

* Re-producing the build environment (DONE)

  - Retrieve "brootid" (buildrootID) corresponding to the NVR we want to
    test from Koji (DONE)

  - Replicate this buildroot (DONE)
   
  - Create replica build environment using "Mock" (DONE)
   
* Do re-builds locally using mock (DONE)
  
* Verify new build against upstream (DONE, Steve's script works great)

Current State
=============

* Packages like git, john and qpdf are 100% reproducible as far as code
  is concerned :-)

Current Challenges
==================

See http://tinyurl.com/ReproducibleBuildsProblems

* python-epydoc will add timestamps to the HTML file it produces (
  needs FIXING).

* javadoc will add timestamps to the HTML file it produces (needs
  FIXING).
  
Links
=====

https://wiki.debian.org/ReproducibleBuilds

http://fedoraproject.org/wiki/Releases/FeatureBuildId#Unique_build_ID

http://blogs.kde.org/2013/06/19/really-source-code-software

https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise

https://trac.torproject.org/projects/tor/ticket/5837

https://trac.torproject.org/projects/tor/ticket/3688

http://bazaar.launchpad.net/~ubuntu-security/ubuntu-security-tools/trunk/files/head:/package-tools/

-- 
Dhiru
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux