gecko-dev/security/nss/coreconf/shlibsign.py

31 строка
947 B
Python

#!/usr/bin/env python2
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
import subprocess
import sys
def main():
for lib_file in sys.argv[1:]:
if os.path.isfile(lib_file):
sign(lib_file)
def sign(lib_file):
ld_lib_path = os.path.realpath(os.path.join(lib_file, '..'))
bin_path = os.path.realpath(os.path.join(ld_lib_path, '../bin'))
env = os.environ.copy()
if sys.platform == 'win32':
env['PATH'] = os.pathsep.join((env['PATH'], ld_lib_path))
else:
env['LD_LIBRARY_PATH'] = env['DYLD_LIBRARY_PATH'] = ld_lib_path
dev_null = open(os.devnull, 'wb')
subprocess.check_call([os.path.join(bin_path, 'shlibsign'), '-v', '-i', lib_file], env=env, stdout=dev_null, stderr=dev_null)
if __name__ == '__main__':
main()