Skip to content

chore: drop the MANIFEST.in lines that match nothing (#1794) - #1813

Merged
JarryShaw merged 1 commit into
mainfrom
chore/1794-manifest-noops
Oct 16, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
chore/1794-manifest-noops

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

Please follow the guide below

What is the purpose of your pull request?

Tick the commit type your subject line carries.

  • fix — corrects a defect
  • feat — adds a feature
  • perf — changes performance, not behaviour
  • refactor — changes neither behaviour nor performance
  • test — tests only
  • docs — documentation only
  • ci — workflows or build tooling
  • release — bumps the version or rolls up a distribution
  • chore — anything else

Summary

MANIFEST.in had lines that matched nothing, as #1794 measured. All are removed; none needed correcting.

  • global-include *.rst: every tracked .rst is under docs/, which prune docs drops.
  • include pcapkit/_extern: include matches files, not a directory. The conda recipe builds the wheel straight from the tree with pip install ., never an sdist, and the vendored modules reach the wheel through package discovery either way.
  • exclude pcapkit/protocols/*/NotImplemented: the placeholders are directories, so the pattern matched nothing. They ship either way, as documentation.rst says.
  • Evidence: plain sdist and wheel listings are identical before and after, and both build warnings are gone. With a conda-style _extern, only two vendored .rst files that nothing reads drop out.
  • Test: tests/project/test_build_leftovers_1773.py gains a guard that every non-prune directive changes the selection; it fails on main on exactly these lines.

Closes #1794

- global-include *.rst: every tracked .rst is under docs/, which prune
  docs drops. Only with a conda _extern tree did it ship anything: two
  vendored files, aenum/doc/aenum.rst and html5lib's dist-info
  AUTHORS.rst, neither read at runtime.
- include pcapkit/_extern: include matches files, not a directory. The
  conda recipe runs pip install . on the tree and builds no sdist;
  _extern's modules reach the wheel through package discovery.
- exclude pcapkit/protocols/*/NotImplemented: the placeholders are
  directories; they ship either way, as documentation.rst records.
- MANIFEST.in comments and documentation.rst stop citing *.rst.
- ManifestTests: dropping any non-prune line must change what the
  template selects; on origin/main it fails on exactly these lines.

sdist 1249 and wheel 534 entries, unchanged; both warnings gone.
tests/project: 951 passed, 1 skipped.

Closes #1794
@JarryShaw JarryShaw added the chore Maintenance work: tooling, repo hygiene, no library behaviour change label Oct 16, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Verdict: GOOD TO GO at 6d63caaa3. A Sonnet cross-review (author: Opus) ran its own sdist and wheel builds, with and without a conda-style _extern, and confirmed the author's listings and that both warnings are gone. The new guard fails on exactly these lines and catches added no-op lines. The review's one wording point, a MANIFEST.in comment claim, is fixed at this head (comment-only amend, verified).

@JarryShaw JarryShaw added the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 16, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 89.60% (unit tier, Python 3.15, 6d63caaa3, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 3 20 3 95.16%
pcapkit/const 18862 954 2368 868 91.06%
pcapkit/corekit 2462 69 780 35 96.55%
pcapkit/dumpkit 276 3 100 3 98.40%
pcapkit/foundation 2915 164 1016 34 93.59%
pcapkit/interface 138 7 52 5 93.68%
pcapkit/protocols 17197 224 4580 189 98.09%
pcapkit/toolkit 872 177 298 8 77.18%
pcapkit/utilities 512 2 158 4 99.10%
pcapkit/vendor 4417 2342 1010 157 43.38%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw

Copy link
Copy Markdown
Owner Author

_extern are for Conda distros iirc.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Yes, pcapkit/_extern is the conda recipe's vendor directory: conda/pypcapkit/build.sh and bld.bat fill it from conda/requirements.txt. The removed line never shipped it, though. I re-measured just now with setuptools' own FileList on a tree that has pcapkit/_extern/certifi/{__init__.py,cacert.pem}:

  • include pcapkit/_extern matches nothing (warning: no files found matching 'pcapkit/_extern'), because include matches file patterns, not directories.
  • recursive-include pcapkit/_extern * picks up all three files, including cacert.pem.

So conda builds today get the vendored .py modules through package discovery and none of their data files. #1814 tracks that gap. This PR only drops the dead line and records why, so #1814's fix (most likely the recursive-include form, or package-data) can replace it. If you would rather keep a placeholder line here until then, say so and I will restore it.

@JarryShaw
JarryShaw merged commit b7488c6 into main Oct 16, 2026
56 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 16, 2026
@JarryShaw
JarryShaw deleted the chore/1794-manifest-noops branch October 16, 2026 13:19
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance work: tooling, repo hygiene, no library behaviour change

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

chore: three MANIFEST.in lines match nothing

1 participant