mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-10 05:34:36 +00:00
Sign OS X app at package time rather than build time.
This commit is contained in:
parent
b2c8e779bd
commit
933474400c
@ -963,7 +963,6 @@
|
|||||||
C01FCF4C08A954540054247B /* release */ = {
|
C01FCF4C08A954540054247B /* release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
|
||||||
DEPLOYMENT_LOCATION = YES;
|
DEPLOYMENT_LOCATION = YES;
|
||||||
DEPLOYMENT_POSTPROCESSING = YES;
|
DEPLOYMENT_POSTPROCESSING = YES;
|
||||||
DSTROOT = /;
|
DSTROOT = /;
|
||||||
@ -1006,7 +1005,6 @@
|
|||||||
CED596C6111AF56D00C0CF2B /* dev */ = {
|
CED596C6111AF56D00C0CF2B /* dev */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
|
||||||
DEPLOYMENT_LOCATION = YES;
|
DEPLOYMENT_LOCATION = YES;
|
||||||
DEPLOYMENT_POSTPROCESSING = YES;
|
DEPLOYMENT_POSTPROCESSING = YES;
|
||||||
DSTROOT = /;
|
DSTROOT = /;
|
||||||
|
@ -968,7 +968,6 @@
|
|||||||
C01FCF4C08A954540054247B /* release */ = {
|
C01FCF4C08A954540054247B /* release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
|
||||||
DEPLOYMENT_LOCATION = YES;
|
DEPLOYMENT_LOCATION = YES;
|
||||||
DEPLOYMENT_POSTPROCESSING = YES;
|
DEPLOYMENT_POSTPROCESSING = YES;
|
||||||
DSTROOT = /;
|
DSTROOT = /;
|
||||||
@ -1011,7 +1010,6 @@
|
|||||||
CEE00FF1111AF37400BC1A77 /* dev */ = {
|
CEE00FF1111AF37400BC1A77 /* dev */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
|
||||||
DEPLOYMENT_LOCATION = YES;
|
DEPLOYMENT_LOCATION = YES;
|
||||||
DEPLOYMENT_POSTPROCESSING = YES;
|
DEPLOYMENT_POSTPROCESSING = YES;
|
||||||
DSTROOT = /;
|
DSTROOT = /;
|
||||||
|
@ -947,7 +947,6 @@
|
|||||||
C01FCF4C08A954540054247B /* release */ = {
|
C01FCF4C08A954540054247B /* release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
|
||||||
DEPLOYMENT_LOCATION = YES;
|
DEPLOYMENT_LOCATION = YES;
|
||||||
DEPLOYMENT_POSTPROCESSING = YES;
|
DEPLOYMENT_POSTPROCESSING = YES;
|
||||||
DSTROOT = /;
|
DSTROOT = /;
|
||||||
@ -986,7 +985,6 @@
|
|||||||
CE85E850111AF63D00187B0D /* dev */ = {
|
CE85E850111AF63D00187B0D /* dev */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
|
||||||
DEPLOYMENT_LOCATION = YES;
|
DEPLOYMENT_LOCATION = YES;
|
||||||
DEPLOYMENT_POSTPROCESSING = YES;
|
DEPLOYMENT_POSTPROCESSING = YES;
|
||||||
DSTROOT = /;
|
DSTROOT = /;
|
||||||
|
22
package.py
22
package.py
@ -6,23 +6,38 @@
|
|||||||
# which should be included with this package. The terms are also available at
|
# which should be included with this package. The terms are also available at
|
||||||
# http://www.hardcoded.net/licenses/bsd_license
|
# http://www.hardcoded.net/licenses/bsd_license
|
||||||
|
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
import os.path as op
|
import os.path as op
|
||||||
import compileall
|
import compileall
|
||||||
import shutil
|
import shutil
|
||||||
import json
|
import json
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
from hscommon.plat import ISWINDOWS, ISLINUX
|
from hscommon.plat import ISWINDOWS, ISLINUX
|
||||||
from hscommon.build import (build_dmg, add_to_pythonpath, print_and_do, copy_packages,
|
from hscommon.build import (build_dmg, add_to_pythonpath, print_and_do, copy_packages,
|
||||||
build_debian_changelog, copy_qt_plugins, get_module_version)
|
build_debian_changelog, copy_qt_plugins, get_module_version)
|
||||||
|
|
||||||
def package_cocoa(edition):
|
def parse_args():
|
||||||
|
parser = ArgumentParser()
|
||||||
|
parser.add_argument('--sign', dest='sign_identity',
|
||||||
|
help="Sign app under specified identity before packaging (OS X only)")
|
||||||
|
args = parser.parse_args()
|
||||||
|
return args
|
||||||
|
|
||||||
|
def package_cocoa(edition, sign_identity):
|
||||||
app_path = {
|
app_path = {
|
||||||
'se': 'cocoa/se/dupeGuru.app',
|
'se': 'cocoa/se/dupeGuru.app',
|
||||||
'me': 'cocoa/me/dupeGuru ME.app',
|
'me': 'cocoa/me/dupeGuru ME.app',
|
||||||
'pe': 'cocoa/pe/dupeGuru PE.app',
|
'pe': 'cocoa/pe/dupeGuru PE.app',
|
||||||
}[edition]
|
}[edition]
|
||||||
|
# Rather than signing our app in XCode during the build phase, we sign it during the package
|
||||||
|
# phase because running the app before packaging can modify it and we want to be sure to have
|
||||||
|
# a valid signature.
|
||||||
|
if sign_identity:
|
||||||
|
sign_identity = "Developer ID Application: {}".format(sign_identity)
|
||||||
|
print_and_do('codesign --force --sign "{}" "{}"'.format(sign_identity, app_path))
|
||||||
|
else:
|
||||||
|
print("WARNING: packaging an unsigned application")
|
||||||
build_dmg(app_path, '.')
|
build_dmg(app_path, '.')
|
||||||
|
|
||||||
def package_windows(edition, dev):
|
def package_windows(edition, dev):
|
||||||
@ -107,13 +122,14 @@ def package_debian(edition):
|
|||||||
os.system("dpkg-buildpackage")
|
os.system("dpkg-buildpackage")
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
args = parse_args()
|
||||||
conf = json.load(open('conf.json'))
|
conf = json.load(open('conf.json'))
|
||||||
edition = conf['edition']
|
edition = conf['edition']
|
||||||
ui = conf['ui']
|
ui = conf['ui']
|
||||||
dev = conf['dev']
|
dev = conf['dev']
|
||||||
print("Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui))
|
print("Packaging dupeGuru {0} with UI {1}".format(edition.upper(), ui))
|
||||||
if ui == 'cocoa':
|
if ui == 'cocoa':
|
||||||
package_cocoa(edition)
|
package_cocoa(edition, args.sign_identity)
|
||||||
elif ui == 'qt':
|
elif ui == 'qt':
|
||||||
if ISWINDOWS:
|
if ISWINDOWS:
|
||||||
package_windows(edition, dev)
|
package_windows(edition, dev)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user