Commit 3cf8b314 by finswimmer Committed by GitHub

Merge pull request #1541 from aloisklink/add-mtime-to-sdist

Set mtime on setup.py/PKG-INFO when building sdist
parents 8131859a 7a0698d1
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
import os import os
import re import re
import tarfile import tarfile
import time
from collections import defaultdict from collections import defaultdict
from copy import copy from copy import copy
...@@ -83,12 +84,14 @@ class SdistBuilder(Builder): ...@@ -83,12 +84,14 @@ class SdistBuilder(Builder):
setup = self.build_setup() setup = self.build_setup()
tar_info = tarfile.TarInfo(pjoin(tar_dir, "setup.py")) tar_info = tarfile.TarInfo(pjoin(tar_dir, "setup.py"))
tar_info.size = len(setup) tar_info.size = len(setup)
tar_info.mtime = time.time()
tar.addfile(tar_info, BytesIO(setup)) tar.addfile(tar_info, BytesIO(setup))
pkg_info = self.build_pkg_info() pkg_info = self.build_pkg_info()
tar_info = tarfile.TarInfo(pjoin(tar_dir, "PKG-INFO")) tar_info = tarfile.TarInfo(pjoin(tar_dir, "PKG-INFO"))
tar_info.size = len(pkg_info) tar_info.size = len(pkg_info)
tar_info.mtime = time.time()
tar.addfile(tar_info, BytesIO(pkg_info)) tar.addfile(tar_info, BytesIO(pkg_info))
finally: finally:
tar.close() tar.close()
......
...@@ -408,6 +408,9 @@ def test_default_with_excluded_data(mocker): ...@@ -408,6 +408,9 @@ def test_default_with_excluded_data(mocker):
assert "my-package-1.2.3/pyproject.toml" in names assert "my-package-1.2.3/pyproject.toml" in names
assert "my-package-1.2.3/setup.py" in names assert "my-package-1.2.3/setup.py" in names
assert "my-package-1.2.3/PKG-INFO" in names assert "my-package-1.2.3/PKG-INFO" in names
# all last modified times should be set to a valid timestamp
for tarinfo in tar.getmembers():
assert 0 < tarinfo.mtime
def test_src_excluded_nested_data(): def test_src_excluded_nested_data():
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment