Skip to content

Commit 0f22a0c

Browse files
committed
Fix gitian-build.py --verify option
The gitian-builder/bin/gverify script returns the exit code 1 if a signature verification ends with 'BAD SIGNATURE' or 'MISMATCH' by design. This commit allows to see the verification results for all signatures without a premature fail of the gitian-build.py script.
1 parent 4c56a79 commit 0f22a0c

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

contrib/gitian-build.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,20 +118,36 @@ def sign():
118118

119119
def verify():
120120
global args, workdir
121+
rc = 0
121122
os.chdir('gitian-builder')
122123

123124
print('\nVerifying v'+args.version+' Linux\n')
124-
subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-linux', '../bitcoin/contrib/gitian-descriptors/gitian-linux.yml'])
125+
if subprocess.call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-linux', '../bitcoin/contrib/gitian-descriptors/gitian-linux.yml']):
126+
print('Verifying v'+args.version+' Linux FAILED\n')
127+
rc = 1
128+
125129
print('\nVerifying v'+args.version+' Windows\n')
126-
subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-win-unsigned', '../bitcoin/contrib/gitian-descriptors/gitian-win.yml'])
130+
if subprocess.call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-win-unsigned', '../bitcoin/contrib/gitian-descriptors/gitian-win.yml']):
131+
print('Verifying v'+args.version+' Windows FAILED\n')
132+
rc = 1
133+
127134
print('\nVerifying v'+args.version+' MacOS\n')
128-
subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-osx-unsigned', '../bitcoin/contrib/gitian-descriptors/gitian-osx.yml'])
135+
if subprocess.call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-osx-unsigned', '../bitcoin/contrib/gitian-descriptors/gitian-osx.yml']):
136+
print('Verifying v'+args.version+' MacOS FAILED\n')
137+
rc = 1
138+
129139
print('\nVerifying v'+args.version+' Signed Windows\n')
130-
subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-win-signed', '../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml'])
140+
if subprocess.call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-win-signed', '../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml']):
141+
print('Verifying v'+args.version+' Signed Windows FAILED\n')
142+
rc = 1
143+
131144
print('\nVerifying v'+args.version+' Signed MacOS\n')
132-
subprocess.check_call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-osx-signed', '../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml'])
145+
if subprocess.call(['bin/gverify', '-v', '-d', '../gitian.sigs/', '-r', args.version+'-osx-signed', '../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml']):
146+
print('Verifying v'+args.version+' Signed MacOS FAILED\n')
147+
rc = 1
133148

134149
os.chdir(workdir)
150+
return rc
135151

136152
def main():
137153
global args, workdir
@@ -237,7 +253,7 @@ def main():
237253
os.chdir('gitian.sigs')
238254
subprocess.check_call(['git', 'pull'])
239255
os.chdir(workdir)
240-
verify()
256+
sys.exit(verify())
241257

242258
if __name__ == '__main__':
243259
main()

0 commit comments

Comments
 (0)