mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-07 07:50:11 +01:00
Merge commit 'refs/merge-requests/132' of gitorious.org:f-droid/fdroidserver
This commit is contained in:
commit
55492655a5
@ -85,9 +85,15 @@ keyaliases['com.example.app'] = 'example'
|
||||
#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"
|
||||
|
@ -102,12 +102,12 @@ def main():
|
||||
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:
|
||||
@ -206,13 +206,14 @@ def main():
|
||||
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
|
||||
|
@ -26,6 +26,7 @@ import common
|
||||
config = None
|
||||
options = None
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
global config, options
|
||||
@ -42,8 +43,22 @@ def main():
|
||||
print "Specify a single command"
|
||||
sys.exit(1)
|
||||
|
||||
if args[0] != 'update':
|
||||
print "The only command currently supported is 'update'"
|
||||
if args[0] != 'init' and args[0] != 'update':
|
||||
print "The only commands currently supported are 'init' and 'update'"
|
||||
sys.exit(1)
|
||||
|
||||
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']
|
||||
@ -51,21 +66,27 @@ def main():
|
||||
repodirs.append('archive')
|
||||
|
||||
for repodir in repodirs:
|
||||
index = os.path.join(repodir, 'index.xml')
|
||||
indexjar = os.path.join(repodir, 'index.jar')
|
||||
if subprocess.call(['rsync', '-u', '-v', '-r', '--delete',
|
||||
'--exclude', index, '--exclude', indexjar, repodir, config['serverwebroot']]) != 0:
|
||||
sys.exit(1)
|
||||
if subprocess.call(['rsync', '-u', '-v', '-r', '--delete',
|
||||
index, config['serverwebroot'] + '/' + repodir]) != 0:
|
||||
sys.exit(1)
|
||||
if subprocess.call(['rsync', '-u', '-v', '-r', '--delete',
|
||||
indexjar, config['serverwebroot'] + '/' + repodir]) != 0:
|
||||
sys.exit(1)
|
||||
if args[0] == 'init':
|
||||
if subprocess.call(['ssh', '-v', host,
|
||||
'mkdir -p', fdroiddir + '/' + repodir]) != 0:
|
||||
sys.exit(1)
|
||||
elif args[0] == 'update':
|
||||
index = os.path.join(repodir, 'index.xml')
|
||||
indexjar = os.path.join(repodir, 'index.jar')
|
||||
if subprocess.call(['rsync', '-u', '-v', '-r', '--delete',
|
||||
'--exclude', index, '--exclude', indexjar,
|
||||
repodir, config['serverwebroot']]) != 0:
|
||||
sys.exit(1)
|
||||
if subprocess.call(['rsync', '-u', '-v', '-r', '--delete',
|
||||
index,
|
||||
config['serverwebroot'] + '/' + repodir]) != 0:
|
||||
sys.exit(1)
|
||||
if subprocess.call(['rsync', '-u', '-v', '-r', '--delete',
|
||||
indexjar,
|
||||
config['serverwebroot'] + '/' + repodir]) != 0:
|
||||
sys.exit(1)
|
||||
|
||||
sys.exit(0)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user