diff --git a/docs/gendocs.sh b/docs/gendocs.sh index 906afa14..c13f166b 100755 --- a/docs/gendocs.sh +++ b/docs/gendocs.sh @@ -273,7 +273,7 @@ echo "Making output for $srcfile" echo " in `pwd`" mkdir -p "$outdir/" -taropts="--mtime=@$timestamp --mode=go=rX,u+rw,a-s" +taropts="--mtime=@$timestamp --mode=go=rX,u+rw,a-s --sort=name" cmd="$SETLANG $MAKEINFO -o $PACKAGE.info $commonarg $infoarg \"$srcfile\"" echo "Generating info... ($cmd)" eval "$cmd" diff --git a/examples/config.py b/examples/config.py index d33ddfac..43eceb1d 100644 --- a/examples/config.py +++ b/examples/config.py @@ -248,9 +248,9 @@ The repository of older versions of applications from the main demo repository. # } # It is possible for the server operator to specify lists of apps that -# must be installed or deleted on the client (aka "push installs). If -# the user has opted in, or the device is already setup to respond to -# these requests, then fdroidclient will automatically install/delete +# must be installed or uninstalled on the client (aka "push installs). +# If the user has opted in, or the device is already setup to respond +# to these requests, then F-Droid will automatically install/uninstall # the packageNames listed. This is protected by the same signing key # as the app index metadata. # @@ -260,7 +260,7 @@ The repository of older versions of applications from the main demo repository. # 'us.replicant', # } # -# delete_list = { +# uninstall_list = { # 'com.facebook.orca', # 'com.android.vending', # } diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 9f1ad43c..b1ebfd35 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -895,11 +895,17 @@ def make_index(apps, sortedids, apks, repodir, archive, categories): repoel = doc.createElement("repo") mirrorcheckfailed = False + mirrors = [] for mirror in config.get('mirrors', []): base = os.path.basename(urllib.parse.urlparse(mirror).path.rstrip('/')) if config.get('nonstandardwebroot') is not True and base != 'fdroid': logging.error("mirror '" + mirror + "' does not end with 'fdroid'!") mirrorcheckfailed = True + # must end with / or urljoin strips a whole path segment + if mirror.endswith('/'): + mirrors.append(mirror) + else: + mirrors.append(mirror + '/') if mirrorcheckfailed: sys.exit(1) @@ -911,7 +917,7 @@ def make_index(apps, sortedids, apks, repodir, archive, categories): repoel.setAttribute("url", config['archive_url']) addElement('description', config['archive_description'], doc, repoel) urlbasepath = os.path.basename(urllib.parse.urlparse(config['archive_url']).path) - for mirror in config.get('mirrors', []): + for mirror in mirrors: addElement('mirror', urllib.parse.urljoin(mirror, urlbasepath), doc, repoel) else: @@ -922,7 +928,7 @@ def make_index(apps, sortedids, apks, repodir, archive, categories): repoel.setAttribute("url", config['repo_url']) addElement('description', config['repo_description'], doc, repoel) urlbasepath = os.path.basename(urllib.parse.urlparse(config['repo_url']).path) - for mirror in config.get('mirrors', []): + for mirror in mirrors: addElement('mirror', urllib.parse.urljoin(mirror, urlbasepath), doc, repoel) repoel.setAttribute("version", str(METADATA_VERSION)) @@ -953,7 +959,7 @@ def make_index(apps, sortedids, apks, repodir, archive, categories): repoel.setAttribute("pubkey", extract_pubkey().decode('utf-8')) root.appendChild(repoel) - for command in ('install', 'delete'): + for command in ('install', 'uninstall'): packageNames = [] key = command + '_list' if key in config: diff --git a/tests/run-tests b/tests/run-tests index 7e0eb2aa..c681a2ba 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -147,13 +147,13 @@ $fdroid init cp -a $WORKSPACE/tests/metadata $WORKSPACE/tests/repo $REPOROOT/ echo "accepted_formats = ['json', 'txt', 'xml', 'yml']" >> config.py echo "install_list = 'org.adaway'" >> config.py -echo "delete_list = {'com.android.vending', 'com.facebook.orca',}" >> config.py +echo "uninstall_list = {'com.android.vending', 'com.facebook.orca',}" >> config.py $fdroid update --verbose test -e repo/index.xml test -e repo/index.jar grep -F '