#the @ prefix.
keyaliases['com.example.another.plugin'] = '@com.example.another'
-#The ssh path to the server's public web root directory. This is used for
-#uploading data, etc.
-serverwebroot = 'user@example:/var/www/repo'
+# The full path to the root of the repository. It must be specified in
+# rsync/ssh format for a remote host/path. This is used for syncing a locally
+# generated repo to the server that is it hosted on. It must end in the
+# standard public repo name of "/fdroid", but can be in up to three levels of
+# sub-directories (i.e. /var/www/packagerepos/fdroid).
+serverwebroot = 'user@example:/var/www/fdroid'
+
+# If you want to force 'fdroid server' to use a non-standard serverwebroot
+#nonstandardwebroot = True
#Wiki details
wiki_protocol = "http"
prefix = tmp
examplesdir = prefix
- repodir = os.getcwd()
+ fdroiddir = os.getcwd()
if not os.path.exists('config.py') and not os.path.exists('repo'):
# 'metadata' and 'tmp' are created in fdroid
os.mkdir('repo')
- shutil.copy(os.path.join(examplesdir, 'fdroid-icon.png'), repodir)
+ shutil.copy(os.path.join(examplesdir, 'fdroid-icon.png'), fdroiddir)
shutil.copyfile(os.path.join(examplesdir, 'config.sample.py'), 'config.py')
os.chmod('config.py', 0o0600)
else:
write_to_config('keydname', keydname)
genkey(keystore, repo_keyalias, password, keydname)
- print('Built repo in "' + repodir + '" with this config:')
+ print('Built repo based in "' + fdroiddir + '"')
+ print('with this config:')
print(' Android SDK:\t\t\t' + sdk_path)
print(' Android SDK Build Tools:\t' + os.path.dirname(aapt))
print(' Android NDK (optional):\t' + ndk_path)
print(' Keystore for signing key:\t' + keystore)
print('\nTo complete the setup, add your APKs to "' +
- os.path.join(repodir, 'repo') + '"' +
+ os.path.join(fdroiddir, 'repo') + '"' +
'''
then run "fdroid update -c; fdroid update". You might also want to edit
"config.py" to set the URL, repo name, and more. You should also set up
print "The only commands currently supported are 'init' and 'update'"
sys.exit(1)
- host, fdroiddir = config['serverwebroot'].split(':')
+ serverwebroot = config['serverwebroot'].rstrip('/').replace('//', '/')
+ host, fdroiddir = serverwebroot.split(':')
+ serverrepobase = os.path.basename(fdroiddir)
+ if 'nonstandardwebroot' in config and config['nonstandardwebroot'] == True:
+ standardwebroot = False
+ else:
+ standardwebroot = True
+ if serverrepobase != 'fdroid' and standardwebroot:
+ print('ERROR: serverwebroot does not end with "fdroid", '
+ + 'perhaps you meant one of these:\n\t'
+ + serverwebroot.rstrip('/') + '/fdroid\n\t'
+ + serverwebroot.rstrip('/').rstrip(serverrepobase) + 'fdroid')
+ sys.exit(1)
repodirs = ['repo']
if config['archive_older'] != 0: