aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenedikt Morbach <bmorbach@redhat.com>2014-08-07 17:57:00 +0200
committerBenedikt Morbach <bmorbach@redhat.com>2014-08-21 16:50:10 +0200
commit5725c38fc0280287b770ed7869c3c5258441f4fd (patch)
treecb5620a0a1f6a1d7c6379998b5c566f0c778792a
parentf8844d7508fd6fe81b161b14320b2dcd8ec88315 (diff)
downloadexternal_python_setuptools-5725c38fc0280287b770ed7869c3c5258441f4fd.tar.gz
external_python_setuptools-5725c38fc0280287b770ed7869c3c5258441f4fd.tar.bz2
external_python_setuptools-5725c38fc0280287b770ed7869c3c5258441f4fd.zip
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.
-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):