Bug#844431: Packages should be reproducible

2017-08-17 Thread Georg Faerber
On 17-08-17 14:38:38, Edroman wrote:
> Regarding to reproducible, I would suggest Debian should consider
> integrating Nix[0] into Debian; as Nix's website mentions
> 
> Nix builds packages in isolation from each other. This ensures that
> they are reproducible and don’t have undeclared dependencies, so if a
> package works on one machine, it will also work on another.

I doubt that building packages in isolation from each other makes
them reproducible, especially in the context which is discussed in this
bug.

Cheers,
Georg


signature.asc
Description: Digital signature


Bug#844431: Packages should be reproducible

2017-08-17 Thread Edroman
Regarding to reproducible, I would suggest Debian should consider integrating 
Nix[0] into Debian; as Nix's website mentions

Nix builds packages in isolation from each other. This ensures that they are 
reproducible and don’t have undeclared dependencies, so if a package works on 
one machine, it will also work on another.

[0]. https://nixos.org/nix/

Bug#844431: Packages should be reproducible

2017-05-07 Thread Daniel Shahaf
Chris Lamb wrote on Thu, Nov 17, 2016 at 12:30:44 +0100:
> +++ b/policy.sgml
> @@ -2503,6 +2503,20 @@ endif
> +  

Note that the id should be changed before applying, since there already
is a sect with this id value.



Bug#844431: Packages should be reproducible

2016-11-17 Thread Chris Lamb
Henrique de Moraes Holschuh wrote:

> I don't think there will be much of a contention about this.

Great :)

> Please propose wording (i.e. the diff to the policy text), but
> I recommend that you do *not* use "should" or "must" to make such
> reproducibility mandatory right now.

Completely agreed. Any requirement would be counter-productive and
ultimately premature at this stage.

I've attached an initial wording to get us going. I'm not 100% convinced
with it myself but it should help start any discussion in this area.


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-
diff --git a/policy.sgml b/policy.sgml
index ee1e9f4..fd7c3d7 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -2503,6 +2503,20 @@ endif
  multiple times to generate different binary packages).

   
+
+  
+   Reproducibility
+
+   
+ It is recommended that packages build in a reproducible manner, ie.
+ bit-for-bit identical binaries are always generated from a given
+ source.
+   
+
+   
+ In the future, this will become a requirement.
+   
+  
 
 
 


Bug#844431: Packages should be reproducible

2016-11-15 Thread Henrique de Moraes Holschuh
On Tue, 15 Nov 2016, Chris Lamb wrote:
> [As a mild suggestion to streamline this; we should probably come to some
> consensus on principle of this addition to Policy first and only then
> move to the more difficult topic of defining exactly what reproducibility
> means in a technical sense.]

I don't think there will be much of a contention about this.

Please propose wording (i.e. the diff to the policy text), but I
recommend that you do *not* use "should" or "must" to make such
reproducibility mandatory right now, only to define stuff like "*if* it
is built for reproducibility, it must do so in such a way that...", etc.

Enforcing package reproducibility (should/must in policy) has to wait
until a majority of the package is effectively being reproducibly built
for a small while (to shaken up any issues), and the tooling echosystem
is complete so that it is actually usable to verify things.  IMHO, this
would be best done only after stretch is released, even if we reach >85%
reproducibility levels *and* a full, working toolset before that.

As a suggestion, since a "may build reproducibly" policy is not going to
give the readers the desired idea, the policy text proposal could use
words to the effect that "it is recommended that", and "in the future,
this will become a requirement".

Any packages that absolutely cannot be built in a reproducible way[1],
can become oficially allowed exceptions -- and we could likely teach the
verification tools that specific regions of a package/file are to be
random, and ignore those when comparing for reproducibility, too.  But
this would be tackled on in the future, between an already implemented
policy of SHOULD is out, and >95% of the packages are being built
reproducibly and policy is about to be changed to MUST.  Therefore, the
initial proposal just needs to acknowledge that this fact could happen
and will be dealt with in time.

[1] Such as random noise added to kernel and firmware data structures
during local builds, to be used as a last defense to avoid the *herd
using same keys* effects, etc.

-- 
  Henrique Holschuh



Bug#844431: Packages should be reproducible

2016-11-15 Thread Chris Lamb
Package: debian-policy
Version: 3.9.8.0
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Dear Policy maintainers,

Whilst anyone can inspect the source code in Debian for malicious
flaws, we distribute pre-compiled to end users. The motivation behind
the Reproducible Builds effort is to permit verification that no flaws
have been introduced — either maliciously or accidentally — during this
compilation process by promising identical results are always generated
from a given source, thus allowing multiple third-parties to come to a
consensus on whether a build was compromised.

Debian has been making great strides to make itself reproducible,
contributing 100s patches, not only within Debian itself but also to
upstream projects. We have also been running a comprehensive and non-
trivial CI framework to test for reproducibility of packages for quite
some time.

However, the recent arrival of the final pieces of the toolchain into
unstable encourages me to propose that we add a recommendation that
packages in Debian should be reproducible.

This would be act both as documentation of a modern best practice, but
also act as a "placeholder" so that we can increase its severity at some
future date.

[As a mild suggestion to streamline this; we should probably come to some
consensus on principle of this addition to Policy first and only then
move to the more difficult topic of defining exactly what reproducibility
means in a technical sense.]


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-