Bug#963486: tkabber-plugins: please make the build reproducible

Chris Lamb lamby at debian.org
Mon Jun 22 11:15:51 BST 2020


Source: tkabber-plugins
Version: 1.1.2+20170328-1
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: filesystem
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0] I noticed that
tkabber-plugins could not be built reproducibly.

This is because the upstream tarball contains the following files:

  ./attline/readme
  ./checkers/readme
  ./ctcomp/readme
  ./floatingcontact/readme
  ./jidlink/readme
  ./otr/readme
  ./otr/tclotr/readme
  ./presencecmd/readme
  ./quotelastmsg/readme
  ./receipts/readme

... but the following code in debian/docify.sh that is meant to loop over
each of the `attline`, `checkers`, top-level directories to rename and move
the documentation into place did not take filesystem ordering into
consideration:

    for f in ` find "$d" -type f \( \
            -iname README \
            -o -iname proto \
            \) `; do
        mv "$f" "$DOCDIR/`basename \"$f\"`.`basename \"$d\"`"
    done

For example, when $d was pointing to $(CURDIR)/otr/, the above code was
either iterating over the filesystem in the "human expected" way:

  ./otr/README
  ./otr/tclotr/README

... but it would also process them in the following order:

  ./otr/tclotr/README
  ./otr/README

This would mean that /usr/share/doc/tkabber-plugins/README.otr in the
generated .deb would non-deterministically include `otr/tclotr/README`
or `otr/README`.

Patch attached that, via `-maxdepth 1` ensures only the top-level
version is used. Note that stopping on the first result (without
sorting) is not a solution as it would simply reverse the
non-deterministic logic result we are currently observing.

 [0] https://reproducible-builds.org/


Regards,

--
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: tkabber-plugins.diff.txt
URL: <http://alioth-lists.debian.net/pipermail/reproducible-bugs/attachments/20200622/b953d243/attachment-0001.txt>


More information about the Reproducible-bugs mailing list