From 4bab1eeaa1e89ba5934ebf170ef6c8d5168c3d8c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 2 May 2017 11:10:35 +0530 Subject: [PATCH] Fix #1687540 [calibre does not build reproducibly](https://bugs.launchpad.net/calibre/+bug/1687540) --- setup/gui.py | 5 ++--- src/calibre/linux.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/setup/gui.py b/setup/gui.py index 3d780a52cb..1db58d0776 100644 --- a/setup/gui.py +++ b/setup/gui.py @@ -10,6 +10,7 @@ import os from setup import Command, __appname__ + class GUI(Command): description = 'Compile all GUI forms' PATH = os.path.join(Command.SRC, __appname__, 'gui2') @@ -53,7 +54,7 @@ class GUI(Command): self.info('Creating images.qrc') for s in sources: files.append('%s'%s) - manifest = '\n\n%s\n\n'%'\n'.join(files) + manifest = '\n\n%s\n\n'%'\n'.join(sorted(files)) with open('images.qrc', 'wb') as f: f.write(manifest) finally: @@ -71,5 +72,3 @@ class GUI(Command): os.remove(c) if os.path.exists(self.QRC): os.remove(self.QRC) - - diff --git a/src/calibre/linux.py b/src/calibre/linux.py index cf56486859..99af1e85bf 100644 --- a/src/calibre/linux.py +++ b/src/calibre/linux.py @@ -954,7 +954,7 @@ def opts_and_exts(name, op, exts, cover_opts=('--cover',), opf_opts=(), extras = [] for eopts, eexts in ((cover_opts, "${pics}"), (opf_opts, "'@(opf)'")): for opt in eopts: - extras.append(special_exts_template%(opt, eexts)) + extras.append(special_exts_template%(opt, sorted(eexts))) extras = '\n'.join(extras) return '_'+fname+'()'+\ @@ -985,7 +985,7 @@ def opts_and_exts(name, op, exts, cover_opts=('--cover',), opf_opts=(), } complete -o filenames -F _'''%dict(pics=spics, - opts=opts, extras=extras, exts=exts) + fname + ' ' + name +"\n\n" + opts=opts, extras=extras, exts=sorted(exts)) + fname + ' ' + name +"\n\n" VIEWER = '''\