chiark / gitweb /
add force_build_tools config option
[fdroidserver.git] / examples / config.py
1 #!/usr/bin/env python3
2
3 # Copy this file to config.py, then amend the settings below according to
4 # your system configuration.
5
6 # Custom path to the Android SDK, defaults to $ANDROID_HOME
7 # sdk_path = "$ANDROID_HOME"
8
9 # Custom paths to various versions of the Android NDK, defaults to 'r10e' set
10 # to $ANDROID_NDK. Most users will have the latest at $ANDROID_NDK, which is
11 # used by default. If a version is missing or assigned to None, it is assumed
12 # not installed.
13 # ndk_paths = {
14 #     'r9b': None,
15 #     'r10e': "$ANDROID_NDK",
16 # }
17
18 # If you want to build apps that use retrolambda and Java 1.8, you'll need to
19 # have both 1.7 and 1.8 installed.
20 # java_paths = {
21 #     '1.7': "/usr/lib/jvm/java-7-openjdk",
22 #     '1.8': None,
23 # }
24
25 # Build tools version to be used
26 # build_tools = "23.0.3"
27
28 # Force all build to use the above version of build -tools, good for testing
29 # builds without having all of the possible build-tools installed.
30 # force_build_tools = True
31
32 # Command or path to binary for running Ant
33 # ant = "ant"
34
35 # Command or path to binary for running maven 3
36 # mvn3 = "mvn"
37
38 # Command or path to binary for running Gradle
39 # gradle = "gradle"
40
41 # Set the maximum age (in days) of an index that a client should accept from
42 # this repo. Setting it to 0 or not setting it at all disables this
43 # functionality. If you do set this to a non-zero value, you need to ensure
44 # that your index is updated much more frequently than the specified interval.
45 # The same policy is applied to the archive repo, if there is one.
46 # repo_maxage = 0
47
48 repo_url = "https://MyFirstFDroidRepo.org/fdroid/repo"
49 repo_name = "My First F-Droid Repo Demo"
50 repo_icon = "fdroid-icon.png"
51 repo_description = """
52 This is a repository of apps to be used with F-Droid. Applications in this
53 repository are either official binaries built by the original application
54 developers, or are binaries built from source by the admin of f-droid.org
55 using the tools on https://gitlab.com/u/fdroid.
56 """
57
58 # As above, but for the archive repo.
59 # archive_older sets the number of versions kept in the main repo, with all
60 # older ones going to the archive. Set it to 0, and there will be no archive
61 # repository, and no need to define the other archive_ values.
62 archive_older = 3
63 archive_url = "https://f-droid.org/archive"
64 archive_name = "My First F-Droid Archive Demo"
65 archive_icon = "fdroid-icon.png"
66 archive_description = """
67 The repository of older versions of applications from the main demo repository.
68 """
69
70 # Normally, all apps are collected into a single app repository, like on
71 # https://f-droid.org. For certain situations, it is better to make a repo
72 # that is made up of APKs only from a single app. For example, an automated
73 # build server that publishes nightly builds.
74 # per_app_repos = True
75
76 # `fdroid update` will create a link to the current version of a given app.
77 # This provides a static path to the current APK. To disable the creation of
78 # this link, uncomment this:
79 # make_current_version_link = False
80
81 # By default, the "current version" link will be based on the "Name" of the
82 # app from the metadata. You can change it to use a different field from the
83 # metadata here:
84 # current_version_name_source = 'id'
85
86 # Optionally, override home directory for gpg
87 # gpghome = /home/fdroid/somewhere/else/.gnupg
88
89 # The ID of a GPG key for making detached signatures for apks. Optional.
90 # gpgkey = '1DBA2E89'
91
92 # The key (from the keystore defined below) to be used for signing the
93 # repository itself. This is the same name you would give to keytool or
94 # jarsigner using -alias. (Not needed in an unsigned repository).
95 # repo_keyalias = "fdroidrepo"
96
97 # Optionally, the public key for the key defined by repo_keyalias above can
98 # be specified here. There is no need to do this, as the public key can and
99 # will be retrieved from the keystore when needed. However, specifying it
100 # manually can allow some processing to take place without access to the
101 # keystore.
102 # repo_pubkey = "..."
103
104 # The keystore to use for release keys when building. This needs to be
105 # somewhere safe and secure, and backed up!  The best way to manage these
106 # sensitive keys is to use a "smartcard" (aka Hardware Security Module). To
107 # configure F-Droid to use a smartcard, set the keystore file using the keyword
108 # "NONE" (i.e. keystore = "NONE"). That makes Java find the keystore on the
109 # smartcard based on 'smartcardoptions' below.
110 # keystore = "~/.local/share/fdroidserver/keystore.jks"
111
112 # You should not need to change these at all, unless you have a very
113 # customized setup for using smartcards in Java with keytool/jarsigner
114 # smartcardoptions = "-storetype PKCS11 -providerName SunPKCS11-OpenSC \
115 #    -providerClass sun.security.pkcs11.SunPKCS11 \
116 #    -providerArg opensc-fdroid.cfg"
117
118 # The password for the keystore (at least 6 characters). If this password is
119 # different than the keypass below, it can be OK to store the password in this
120 # file for real use. But in general, sensitive passwords should not be stored
121 # in text files!
122 # keystorepass = "password1"
123
124 # The password for keys - the same is used for each auto-generated key as well
125 # as for the repository key. You should not normally store this password in a
126 # file since it is a sensitive password.
127 # keypass = "password2"
128
129 # The distinguished name used for all keys.
130 # keydname = "CN=Birdman, OU=Cell, O=Alcatraz, L=Alcatraz, S=California, C=US"
131
132 # Use this to override the auto-generated key aliases with specific ones
133 # for particular applications. Normally, just leave it empty.
134 # keyaliases = {}
135 # keyaliases['com.example.app'] = 'example'
136 # You can also force an app to use the same key alias as another one, using
137 # the @ prefix.
138 # keyaliases['com.example.another.plugin'] = '@com.example.another'
139
140
141 # The full path to the root of the repository. It must be specified in
142 # rsync/ssh format for a remote host/path. This is used for syncing a locally
143 # generated repo to the server that is it hosted on. It must end in the
144 # standard public repo name of "/fdroid", but can be in up to three levels of
145 # sub-directories (i.e. /var/www/packagerepos/fdroid). You can include
146 # multiple servers to sync to by wrapping the whole thing in {} or [], and
147 # including the serverwebroot strings in a comma-separated list.
148 #
149 # serverwebroot = 'user@example:/var/www/fdroid'
150 # serverwebroot = {
151 #     'foo.com:/usr/share/nginx/www/fdroid',
152 #     'bar.info:/var/www/fdroid',
153 #     }
154
155 # Any mirrors of this repo, for example all of the servers declared in
156 # serverwebroot, will automatically be used by the client.  If one
157 # mirror is not working, then the client will try another.  If the
158 # client has Tor enabled, then the client will prefer mirrors with
159 # .onion addresses. This base URL will be used for both the main repo
160 # and the archive, if it is enabled.  So these URLs should end in the
161 # 'fdroid' base of the F-Droid part of the web server like serverwebroot.
162 #
163 # mirrors = {
164 #     'https://foo.bar/fdroid',
165 #     'http://foobarfoobarfoobar.onion/fdroid',
166 # }
167
168 # optionally specific which identity file to use when using rsync over SSH
169 #
170 # identity_file = '~/.ssh/fdroid_id_rsa'
171
172
173 # If you are running the repo signing process on a completely offline machine,
174 # which provides the best security, then you can specify a folder to sync the
175 # repo to when running `fdroid server update`. This is most likely going to
176 # be a USB thumb drive, SD Card, or some other kind of removable media. Make
177 # sure it is mounted before running `fdroid server update`. Using the
178 # standard folder called 'fdroid' as the specified folder is recommended, like
179 # with serverwebroot.
180 #
181 # local_copy_dir = '/media/MyUSBThumbDrive/fdroid'
182
183
184 # If you are using local_copy_dir on an offline build/signing server, once the
185 # thumb drive has been plugged into the online machine, it will need to be
186 # synced to the copy on the online machine. To make that happen
187 # automatically, set sync_from_local_copy_dir to True:
188 #
189 # sync_from_local_copy_dir = True
190
191
192 # To upload the repo to an Amazon S3 bucket using `fdroid server update`.
193 # Warning, this deletes and recreates the whole fdroid/ directory each
194 # time. This is based on apache-libcloud, which supports basically all cloud
195 # storage services, so it should be easy to port the fdroid server tools to
196 # any of them.
197 #
198 # awsbucket = 'myawsfdroid'
199 # awsaccesskeyid = 'SEE0CHAITHEIMAUR2USA'
200 # awssecretkey = 'yourverysecretkeywordpassphraserighthere'
201
202
203 # If you want to force 'fdroid server' to use a non-standard serverwebroot
204 #
205 # nonstandardwebroot = False
206
207
208 # The build logs can be posted to a mediawiki instance, like on f-droid.org.
209 # wiki_protocol = "http"
210 # wiki_server = "server"
211 # wiki_path = "/wiki/"
212 # wiki_user = "login"
213 # wiki_password = "1234"
214
215 # Only set this to true when running a repository where you want to generate
216 # stats, and only then on the master build servers, not a development
217 # machine.
218 # update_stats = True
219
220 # When used with stats, this is a list of IP addresses that are ignored for
221 # calculation purposes.
222 # stats_ignore = []
223
224 # Server stats logs are retrieved from. Required when update_stats is True.
225 # stats_server = "example.com"
226
227 # User stats logs are retrieved from. Required when update_stats is True.
228 # stats_user = "bob"
229
230 # Use the following to push stats to a Carbon instance:
231 # stats_to_carbon = False
232 # carbon_host = '0.0.0.0'
233 # carbon_port = 2003
234
235 # Set this to true to always use a build server. This saves specifying the
236 # --server option on dedicated secure build server hosts.
237 # build_server_always = True
238
239 # By default, fdroid will use YAML .yml and the custom .txt metadata formats. It
240 # is also possible to have metadata in JSON and XML by adding 'json' and
241 # 'xml'.
242 # accepted_formats = ['txt', 'yml']
243
244 # Limit in number of characters that fields can take up
245 # Only the fields listed here are supported, defaults shown
246 # char_limits = {
247 #     'Summary': 80,
248 #     'Description': 4000,
249 # }