1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-20 13:50:12 +01:00

update sample and add error to reflect the default basedir: .*/fdroid/repo

For user-generated repos, the default path/URL is .*/fdroid/repo, with
fdroid/ as the root where the 'fdroid' tool operates.  This makes for a URL
that is quite unique and easily matched automatically using patterns, like
in fdroidclient.

For those who don't like the standard, they can override the errror from
config.py using nonstandardwebroot = True
This commit is contained in:
Hans-Christoph Steiner 2013-12-04 15:28:41 -05:00
parent c21ab7dbdf
commit 71020a9e6d
3 changed files with 27 additions and 8 deletions

View File

@ -87,9 +87,15 @@ keyaliases['com.example.app'] = 'example'
#the @ prefix. #the @ prefix.
keyaliases['com.example.another.plugin'] = '@com.example.another' keyaliases['com.example.another.plugin'] = '@com.example.another'
#The ssh path to the server's public web root directory. This is used for # The full path to the root of the repository. It must be specified in
#uploading data, etc. # rsync/ssh format for a remote host/path. This is used for syncing a locally
serverwebroot = 'user@example:/var/www/repo' # 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 details
wiki_protocol = "http" wiki_protocol = "http"

View File

@ -102,12 +102,12 @@ def main():
prefix = tmp prefix = tmp
examplesdir = prefix examplesdir = prefix
repodir = os.getcwd() fdroiddir = os.getcwd()
if not os.path.exists('config.py') and not os.path.exists('repo'): if not os.path.exists('config.py') and not os.path.exists('repo'):
# 'metadata' and 'tmp' are created in fdroid # 'metadata' and 'tmp' are created in fdroid
os.mkdir('repo') 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') shutil.copyfile(os.path.join(examplesdir, 'config.sample.py'), 'config.py')
os.chmod('config.py', 0o0600) os.chmod('config.py', 0o0600)
else: else:
@ -206,13 +206,14 @@ def main():
write_to_config('keydname', keydname) write_to_config('keydname', keydname)
genkey(keystore, repo_keyalias, password, 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:\t\t\t' + sdk_path)
print(' Android SDK Build Tools:\t' + os.path.dirname(aapt)) print(' Android SDK Build Tools:\t' + os.path.dirname(aapt))
print(' Android NDK (optional):\t' + ndk_path) print(' Android NDK (optional):\t' + ndk_path)
print(' Keystore for signing key:\t' + keystore) print(' Keystore for signing key:\t' + keystore)
print('\nTo complete the setup, add your APKs to "' + 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 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 "config.py" to set the URL, repo name, and more. You should also set up

View File

@ -47,7 +47,19 @@ def main():
print "The only commands currently supported are 'init' and 'update'" print "The only commands currently supported are 'init' and 'update'"
sys.exit(1) 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'] repodirs = ['repo']
if config['archive_older'] != 0: if config['archive_older'] != 0: