secdev / secdev/scapy

doc/scapy is not reproducibly built

Open
#3,871 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug doc help wanted
Dominant language
Python
Stars
12.6k
Forks
2.2k
Avg merge
1d 4h
Merged PRs (30d)
56

Description

Brief description

Hi

There is an ongoing effort regarding reproducible builds in Debian so we have tests checking for it. scapy - actually python-scapy-doc package which contains scapy's documentation - is currently not building reproducibly. There are some places where the date/time of the build is embedded and others are randomly generated.

The html pages that differ are:

  • html/api/scapy.contrib.dtp.html
  • html/api/scapy.contrib.gtp.html
  • html/api/scapy.contrib.http2.html
  • html/api/scapy.contrib.skinny.html
  • html/api/scapy.layers.inet.html
  • html/api/scapy.layers.kerberos.html
  • html/api/scapy.layers.snmp.html
  • html/api/scapy.layers.x509.html

I'll attach the diffoscope output here because github doesn't let me paste it ;-)

experiment-1.diffoscope.txt

Scapy version

2.5.0

Python version

3.10

Operating system

Debian unstable

Additional environment information

No response

How to reproduce

Diffoscope two different builds of scapy's documentation

Actual result

No response

Expected result

No response

Related resources

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing two documentation builds with diffoscope, using the attached output and the listed HTML pages as the investigation points. Trace the differing date/time and randomly generated values back to their build inputs. Done means repeated builds produce identical documentation and the Debian reproducibility check passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, documentation
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.