1# ##### BEGIN GPL LICENSE BLOCK #####
2#
3#  This program is free software; you can redistribute it and/or
4#  modify it under the terms of the GNU General Public License
5#  as published by the Free Software Foundation; either version 2
6#  of the License, or (at your option) any later version.
7#
8#  This program is distributed in the hope that it will be useful,
9#  but WITHOUT ANY WARRANTY; without even the implied warranty of
10#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11#  GNU General Public License for more details.
12#
13#  You should have received a copy of the GNU General Public License
14#  along with this program; if not, write to the Free Software Foundation,
15#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16#
17# ##### END GPL LICENSE BLOCK #####
18
19# <pep8 compliant>
20
21# Configuration of a code signer which is specific to the code signing server.
22#
23# NOTE: DO NOT put any sensitive information here, put it in an actual
24# configuration on the signing machine.
25
26from pathlib import Path
27
28from codesign.config_common import *
29
30CODESIGN_DIRECTORY = Path(__file__).absolute().parent
31BLENDER_GIT_ROOT_DIRECTORY = CODESIGN_DIRECTORY.parent.parent.parent
32
33################################################################################
34# Common configuration.
35
36# Directory where folders for codesign requests and signed result are stored.
37# For example, /data/codesign
38SHARED_STORAGE_DIR: Path
39
40################################################################################
41# macOS-specific configuration.
42
43MACOS_ENTITLEMENTS_FILE = \
44    BLENDER_GIT_ROOT_DIRECTORY / 'release' / 'darwin' / 'entitlements.plist'
45
46# Identity of the Developer ID Application certificate which is to be used for
47# codesign tool.
48# Use `security find-identity -v -p codesigning` to find the identity.
49#
50# NOTE: This identity is just an example from release/darwin/README.txt.
51MACOS_CODESIGN_IDENTITY = 'AE825E26F12D08B692F360133210AF46F4CF7B97'
52
53# User name (Apple ID) which will be used to request notarization.
54MACOS_XCRUN_USERNAME = 'me@example.com'
55
56# One-time application password which will be used to request notarization.
57MACOS_XCRUN_PASSWORD = '@keychain:altool-password'
58
59# Timeout in seconds within which the notarial office is supposed to reply.
60MACOS_NOTARIZE_TIMEOUT_IN_SECONDS = 60 * 60
61
62################################################################################
63# Windows-specific configuration.
64
65# URL to the timestamping authority.
66WIN_TIMESTAMP_AUTHORITY_URL = 'http://timestamp.digicert.com'
67
68# Full path to the certificate used for signing.
69#
70# The path and expected file format might vary depending on a platform.
71#
72# On Windows it is usually is a PKCS #12 key (.pfx), so the path will look
73# like Path('C:\\Secret\\Blender.pfx').
74WIN_CERTIFICATE_FILEPATH: Path
75
76################################################################################
77# Logging configuration, common for all platforms.
78
79# https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema
80LOGGING = {
81    'version': 1,
82    'formatters': {
83        'default': {'format': '%(asctime)-15s %(levelname)8s %(name)s %(message)s'}
84    },
85    'handlers': {
86        'console': {
87            'class': 'logging.StreamHandler',
88            'formatter': 'default',
89            'stream': 'ext://sys.stderr',
90        }
91    },
92    'loggers': {
93        'codesign': {'level': 'INFO'},
94    },
95    'root': {
96        'level': 'WARNING',
97        'handlers': [
98            'console',
99        ],
100    }
101}
102