summaryrefslogtreecommitdiff
path: root/setuptools/command/egg_info.py
diff options
context:
space:
mode:
authorBenedikt Morbach <bmorbach@redhat.com>2014-08-07 17:57:00 +0200
committerBenedikt Morbach <bmorbach@redhat.com>2014-08-07 17:57:00 +0200
commit23703937ffda63fd512f57a5f7a1b953f0bd3c2b (patch)
treef992f8819ee66bc464652004d744d5cf05dacba5 /setuptools/command/egg_info.py
parent6f1779122c639b9c8f3c844c9c526545aa10981d (diff)
downloadpython-setuptools-bitbucket-23703937ffda63fd512f57a5f7a1b953f0bd3c2b.tar.gz
make order of lines in top_level.txt deterministic
without this, every build produces a different result, as the lines are ordered randomly. This makes builds reproducible. If you build a package two times, you get the same result, as you would expect. Basically the same thing was already done for requirements and entry_points.txt It is useful e.g. if you want to rebuild a package that you downloaded, to ensure that no-one tampered with it, or even if you just want to examine the differences between two builds/versions of one package.
Diffstat (limited to 'setuptools/command/egg_info.py')
-rwxr-xr-xsetuptools/command/egg_info.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py
index 72493d0b..06764a17 100755
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
@@ -389,7 +389,7 @@ def write_toplevel_names(cmd, basename, filename):
for k in cmd.distribution.iter_distribution_names()
]
)
- cmd.write_file("top-level names", filename, '\n'.join(pkgs) + '\n')
+ cmd.write_file("top-level names", filename, '\n'.join(sorted(pkgs)) + '\n')
def overwrite_arg(cmd, basename, filename):