summaryrefslogtreecommitdiff
path: root/nss/coreconf/shlibsign.py
diff options
context:
space:
mode:
Diffstat (limited to 'nss/coreconf/shlibsign.py')
-rw-r--r--nss/coreconf/shlibsign.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/nss/coreconf/shlibsign.py b/nss/coreconf/shlibsign.py
new file mode 100644
index 0000000..dc40a8c
--- /dev/null
+++ b/nss/coreconf/shlibsign.py
@@ -0,0 +1,30 @@
+#!/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()