Hi, Jody and Eriberto.

Thanks for the quick reply.

The tests conducted before 2020-10-13 were using jdupes 1.18.2 (all
tests passed). I only introduced the package in September (after 1.18.2
was released) so I don't know if this was a problem before that release.

Cheers,
Charles

On Wed, Nov 25, 2020 at 12:46:53PM -0500, Jody Bruchon wrote:
> The files are arriving during recursion in a different order, so the primary
> link target is also being chosen in a different order.
> 
> What version was in use and working properly before the switch to v1.19.0?
> 
> On 2020-11-25 12:20, Eriberto wrote:
> > Hi Charles and Jody!
> > 
> > Charles, thanks a lot for your detailed report.
> > 
> > Jody, can you help us with the issue described below? jdupes is very
> > important for Debian because some packages use it to remove duplicate
> > files when building .deb binaries.
> > 
> > Thanks a lot in advance.
> > 
> > Cheers,
> > 
> > Eriberto
> > 
> > Em ter., 24 de nov. de 2020 às 23:21, Carlos Henrique Lima Melara
> > <charlesmel...@outlook.com> escreveu:
> > > Package: jdupes
> > > Version: 1.19.0-1
> > > Severity: normal
> > > X-Debbugs-Cc: charlesmel...@outlook.com
> > > 
> > > Dear Maintainer, hello.
> > > 
> > > I use jdupes in the build process of a package I maintain [1]. It's an 
> > > icon
> > > theme and lots of png files are equal so jdupes is used to symlink them. 
> > > The
> > > package uses salsa CI and previous versions (before October) passed 
> > > reprotest
> > > (reproducibility test) on salsa [2] and on debian infrastructure [3]. But 
> > > this
> > > week I started to rearrange some things on the package and noticed that it
> > > was failing salsa CI reprotest [6]. Then I also checked the Debian tests 
> > > and
> > > a strange thing showed up [3], only one test failed after October.
> > > 
> > > Snippet of debian/rules:
> > > 
> > >   override_dh_auto_install:
> > >          dh_auto_install
> > >          # Removes duplicate files using softlinks
> > >          jdupes -lr debian/paper-icon-theme/usr/share/icons
> > > 
> > > I went the to check both logs. The first from salsa CI indicated that the
> > > .deb were different (I will attach the whole debdiff in this report). As
> > > an example you can see a small part of it bellow:
> > > 
> > >    Files in second .deb but not in first
> > >    -rw-r--r--  root/root   
> > > /usr/share/icons/Paper/16x16/apps/cmake-setup.png
> > >    lrwxrwxrwx  root/root   
> > > /usr/share/icons/Paper/16x16/apps/CMakeSetup.png -> cmake-setup.png
> > >    lrwxrwxrwx  root/root   /usr/share/icons/Paper/16x16/apps/cmake.png -> 
> > > cmake-setup.png
> > >    Files in first .deb but not in second
> > >    -rw-r--r--  root/root   /usr/share/icons/Paper/16x16/apps/cmake.png
> > >    lrwxrwxrwx  root/root   
> > > /usr/share/icons/Paper/16x16/apps/CMakeSetup.png -> cmake.png
> > >    lrwxrwxrwx  root/root   
> > > /usr/share/icons/Paper/16x16/apps/cmake-setup.png -> cmake.png
> > > 
> > > The same story is seen on Debian infrastructure test (in the one that 
> > > failed)
> > > [4].
> > > 
> > > So I decided to test if jdupes was the source of the problem (this 
> > > happened
> > > before I had viewed the diffs) creating a branch on salsa to build without
> > > jdupes. It went perfect [5] - but doubled the .deb size :( .
> > > 
> > > Next step was trying to find some way out of this, I tried the --order
> > > parameter with 'time' and 'name' unsuccessfully.
> > > 
> > > The release of 1.19.0 in Debian was on 2020-10-13 so I suspect that the
> > > irreproducibility was introduced in this version. Although some Debian
> > > tests passed even with this new version of jdupes [3] I wasn't able to
> > > replicate this behaviour on the salsa CI reprotest test, they all failed.
> > > 
> > > I'm not exactly sure if reproducibility is a focus of jdupes but it seems
> > > to be a raising concern for the Debian community and I would be very happy
> > > if jdupes were to be reproducible friendly.
> > > 
> > > Sorry for the long report but it might be useful for other maintainers
> > > using jdupes too and hopefully also for fixing this issue.
> > > 
> > > Regards,
> > > Charles
> > > 
> > > [1] https://tracker.debian.org/pkg/paper-icon-theme
> > > [2] https://salsa.debian.org/debian/paper-icon-theme/-/jobs/997903
> > > [3] 
> > > https://tests.reproducible-builds.org/debian/history/paper-icon-theme.html
> > > [4] 
> > > https://tests.reproducible-builds.org/debian/rb-pkg/unstable/armhf/diffoscope-results/paper-icon-theme.html
> > > [5] 
> > > https://salsa.debian.org/debian/paper-icon-theme/-/commit/6c3787ce6d3f7dcedf1c55d4b2518e3421230e44/pipelines?ref=reprod_build
> > > [6] https://salsa.debian.org/debian/paper-icon-theme/-/jobs/1185645
> > > 
> > > -- System Information:
> > > Debian Release: bullseye/sid
> > >    APT prefers unstable
> > >    APT policy: (500, 'unstable')
> > > Architecture: amd64 (x86_64)
> > > 
> > > Kernel: Linux 5.9.0-2-amd64 (SMP w/8 CPU threads)
> > > Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
> > > set to C.UTF-8), LANGUAGE=C.UTF-8
> > > Shell: /bin/sh linked to /usr/bin/dash
> > > Init: unable to detect
> > > 
> > > Versions of packages jdupes depends on:
> > > ii  libc6  2.31-4
> > > 
> > > jdupes recommends no packages.
> > > 
> > > jdupes suggests no packages.
> > > 
> > > -- no debconf information
> 

Reply via email to