#37159: Implement reproducible artifact builds
-------------------------------------+-------------------------------------
     Reporter:  Jacob Walls          |                    Owner:  Jacob
         Type:                       |  Walls
  Cleanup/optimization               |                   Status:  assigned
    Component:  Packaging            |                  Version:  dev
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:  Accepted
    Has patch:  1                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by Charles Roelli):

 * has_patch:  0 => 1

Comment:

 I've linked a PR to switch to `hatchling`. Moving away from `setuptools`
 also allows us to remove `MANIFEST.in` (#36740).

 This is the file listing diff from the unpacked setuptools sdist to the
 unpacked hatchling sdist.

 {{{
 $ diff -u <(find setuptools/django-6.2.dev20260611202632 -printf '%P\n')
 <(find hatchling/django-6.2.dev20260615084851/ -printf '%P\n')
 @@ -6436,7 +6436,6 @@
  tests/signing
  tests/signing/tests.py
  tests/signing/__init__.py
 -tests/.coveragerc
  tests/sites_framework
  tests/sites_framework/tests.py
  tests/sites_framework/migrations
 @@ -10276,18 +10275,10 @@
  docs/releases/3.0.2.txt
  docs/lint.py
  pyproject.toml
 -MANIFEST.in
  LICENSE
 +.gitignore
  AUTHORS
  Gruntfile.js
  INSTALL
  LICENSE.python
 -Django.egg-info
 -Django.egg-info/entry_points.txt
 -Django.egg-info/requires.txt
 -Django.egg-info/PKG-INFO
 -Django.egg-info/top_level.txt
 -Django.egg-info/dependency_links.txt
 -Django.egg-info/SOURCES.txt
 -setup.cfg
  CONTRIBUTING.rst
 }}}

 For the wheel, we have:

 {{{
 $ diff -u <(find setuptools/django-6.2.dist-info/ -printf '%P\n') <(find
 hatchling/django-6.2.dev20260615084851.dist-info/ -printf '%P\n')
 @@ -7,4 +7,3 @@
  licenses/AUTHORS
  licenses/LICENSE.python
  METADATA
 -top_level.txt
 $ diff -u <(find setuptools/django/ -printf '%P\n') <(find
 hatchling/django/ -printf '%P\n')
 (empty)
 }}}

 The hashes for the hatchling artifact build which are hopefully
 reproducible:

 {{{
 ~/Code/django/hatchling-build$ sha256sum dist/*
 275b282ec5efdb0d85926de3abf36d9f25cd4a1f7e010a8582b00f325123ae1c
 dist/django-6.2.dev20260615084851-py3-none-any.whl
 50e81862ee1a860fb17386201d739d4415e3ec2695cee38ea12a06cd3749fe5b
 dist/django-6.2.dev20260615084851.tar.gz
 }}}
-- 
Ticket URL: <https://code.djangoproject.com/ticket/37159#comment:6>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/django-updates/0107019ecb317148-55765fef-f5a9-4f63-a3ec-3c2175f342d2-000000%40eu-central-1.amazonses.com.

Reply via email to