Source: flit
Version: 2.3.0-3
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0] we noticed that
flit could not be built reproducibly.

This is because it:

  a) It embeds a RECORD file that contains non-deterministic filename
  contents. 99% sure this is being generated by build.py.

  b) The manpage is being generated incorrectly, and actually is a
  manual page depicting an error message:

    .TH TRACEBACK "1" "July 2020" "Traceback (most recent call last):" "User 
Commands"
    .SH NAME
    Traceback \- manual page for Traceback (most recent call last):
    .SH DESCRIPTION
    .SS "Traceback (most recent call last):"
    .IP
    File "debian/flit/usr/bin/flit", line 2, in <module>
    .IP
    from flit import main
    .PP
    ModuleNotFoundError: No module named 'flit'
    .IP
    File "debian/flit/usr/bin/flit", line 2, in <module>

Patch attached. For a), we simply delete this file and for b) we fix
the generation by setting the right/full PYTHONPATH.

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


Regards,

--
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/rules      2020-07-07 10:56:23.073323225 +0100
--- b/debian/rules      2020-07-07 11:11:43.945880028 +0100
@@ -17,6 +17,7 @@
 override_dh_auto_install:
        cp debian/build.py .
        python3 build.py
+       find -type f -name RECORD -delete
        rm -f build.py
        dh_install
 
@@ -24,7 +25,7 @@
        dh_python3 -p flit
 
 override_dh_installman:
-       PYTHONPATH=$(CURDIR) help2man -n flit -s 1 \
+       PYTHONPATH=$(CURDIR):$(CURDIR)/flit_core help2man -n flit -s 1 \
                -o debian/flit.1 \
                --version-string=$(pkgversion) \
                --no-discard-stderr --no-info \

Reply via email to