File: add-entitlements.sh

package info (click to toggle)
qtwebkit 2.3.4.dfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 290,116 kB
  • ctags: 272,544
  • sloc: cpp: 1,417,496; python: 85,048; ansic: 39,353; perl: 38,858; ruby: 10,313; objc: 9,505; xml: 8,679; asm: 3,864; yacc: 2,458; sh: 1,237; lex: 813; makefile: 592; java: 228; php: 79
file content (39 lines) | stat: -rwxr-xr-x 1,097 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh

# This script is needed because adding entitlements through Xcode configuration doesn't get dependencies right in some cases, <rdar://problem/10783446>.

app_path="${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}"
app_binary_path="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"
entitlement_file=PluginProcess/mac/PluginProcess.entitlements

if [[ ${CONFIGURATION} == "Production" ]]; then
    exit
fi

osx_version=$(sw_vers -productVersion | cut -d. -f 2)
if (( ${osx_version} <= 6 )); then
    exit
fi

needs_signing=0

# If the signature is invalid (e.g. due to updated resources), we need to re-sign it.
codesign --verify "${app_path}" 2> /dev/null
if [[ $? != 0 ]]; then
    needs_signing=1
else
    # If the entitlements file is newer than the binary, we need to re-sign the app.
    if [[ "${entitlement_file}" -nt "${app_binary_path}" ]]; then
        needs_signing=1
    fi
fi

if [[ $needs_signing == 0 ]]; then
    exit
fi

if [ ! $CODESIGN_ALLOCATE ]; then
    export CODESIGN_ALLOCATE=$(xcrun -find codesign_allocate)
fi

codesign -f -s - --entitlements "${entitlement_file}" "${app_path}"