Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1012354 > unrolled thread

Bug#962050: sasmodels: regression in debian/patches/reproducible-c-models.patch

Started by"Chris Lamb" <lamby@debian.org>
First post2020-06-02 17:10 +0200
Last post2020-07-29 06:00 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#962050: sasmodels: regression in debian/patches/reproducible-c-models.patch "Chris Lamb" <lamby@debian.org> - 2020-06-02 17:10 +0200
    Bug#962050: sasmodels: 1 Drew Parsons <dparsons@debian.org> - 2020-07-28 08:30 +0200
    Bug#962050: sasmodels: regression in debian/patches/reproducible-c-models.patch Drew Parsons <dparsons@debian.org> - 2020-07-29 05:40 +0200
      Bug#962050: sasmodels: regression in debian/patches/reproducible-c-models.patch Drew Parsons <dparsons@debian.org> - 2020-07-29 06:00 +0200

#1012354 — Bug#962050: sasmodels: regression in debian/patches/reproducible-c-models.patch

From"Chris Lamb" <lamby@debian.org>
Date2020-06-02 17:10 +0200
SubjectBug#962050: sasmodels: regression in debian/patches/reproducible-c-models.patch
Message-ID<AdgIa-5TN-15@gated-at.bofh.it>
Package: sasmodels
Version: 1.0.2-1
Severity: wishlist
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org

Hi,

There appears to be a regression in the handling of the
debian/patches/reproducible-c-models.patch patch to make the build
reproducible:

  - /usr/lib/sasmodels/compiled_models/sas64_constrained_ellipsoid_23EC36B6.so
  - /usr/lib/sasmodels/compiled_models/sas64_constrained_ellipsoid_C3C21C46.so
  + /usr/lib/sasmodels/compiled_models/sas64_constrained_ellipsoid_19FD229F.so
  + /usr/lib/sasmodels/compiled_models/sas64_constrained_ellipsoid_F9D3086F.so

ie. we are back to using the `tempfile.mkstemp` filenames again.
Filing a bug (without a patch) as you will likely be able to fixup
your existing patch quicker than me (and the presence of that patch
implies you are already invested in having a reproducible build.)


Regards,

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

[toc] | [next] | [standalone]


#1019553 — Bug#962050: sasmodels: 1

FromDrew Parsons <dparsons@debian.org>
Date2020-07-28 08:30 +0200
SubjectBug#962050: sasmodels: 1
Message-ID<AxrhD-7Wp-1@gated-at.bofh.it>
In reply to#1012354
Source: sasmodels
Followup-For: Bug #962050

https://github.com/SasView/sasmodels/commit/889cb59426c62c1c948b0f4a79f179da32bf60c2#diff-2af361fda8379737ecef6b4d3de26874
suggests to me that this hash is not a tmpfile randomisation.  It's a
hash of the source file for the given plugin, and added deliberately
to help keep track of the plugins.

As such it shouldn't be changing from build to build (except where the
source itself changes), so not actually a reproducibility regression.

Let's monitor the file to confirm if that's actually the case.

Note that with the new upstream commit, all the plugins now have the
hash, but in our last build only sas64_constrained_ellipsoid had a
hash. That's a bit weird, not clear why sas64_constrained_ellipsoid
would have been out of sync with the other plugins.  Also weird that
there are two builds of sas64_constrained_ellipsoid. Probably the
reason for that is related to the non-reproducibility, if it continues
to misbehave so.

I'll upload the update and we'll see.

[toc] | [prev] | [next] | [standalone]


#1019659

FromDrew Parsons <dparsons@debian.org>
Date2020-07-29 05:40 +0200
Message-ID<AxL6F-32T-3@gated-at.bofh.it>
In reply to#1012354
So, with 1.0.4-1 the build seems to be reproducible, in the sense that 
it generates the same two
   sas64_constrained_ellipsoid_7FA82C95.so
   sas64_constrained_ellipsoid_9F860665.so
each time.

Not obvious to me why there is a double provisioning of 
sas64_constrained_ellipsoid. They're both generated right at the 
beginning of dh_auto_install (running build_py, before running 
install_lib). None of the other compiled_models are listed at that 
point.

All the other compiled_models are built earlier, during 
override_dh_auto_build.

It must be related to the  _constrained_ property.  The actual model is 
just "ellipsoid", "sas64" and "constrained" are build tags.  No other 
model is built as "_constrained_", only ellipsoid.  So it might be that 
_7FA82C95 and _9F860665 distinguish between two distinct constraint 
conditions.

[toc] | [prev] | [next] | [standalone]


#1019661

FromDrew Parsons <dparsons@debian.org>
Date2020-07-29 06:00 +0200
Message-ID<AxLq1-39s-3@gated-at.bofh.it>
In reply to#1019659
On 2020-07-29 11:37, Drew Parsons wrote:
> 
> It must be related to the  _constrained_ property.

Probably, sas64_constrained_ellipsoid_ is being generated by build-time 
tests.  The constrained tag is added by reparameterize() in core.py, and 
is called (twice) with ellipsoid by test_reparameterize() in 
test_reparameterize().

I think that means we should just delete 
sas64_constrained_ellipsoid_*.so. In sasview, there's only one listing 
for model Ellipsoid/ellipsoid (distinct from core_shell_ellipsoid), so 
the alternative constrained variants don't seem to be directly 
accessible anyway.

But the upstream build system should be cleaning up after itself if it's 
generating test reparameterisations that are not intended to be 
installed.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web