From c80d68dcc055359ea8856e850490aeb7742c295c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 18 Oct 2017 13:40:32 +0200 Subject: [PATCH 01/12] travis-ci: get OSX tests running again... Java9 is starting to roll out on some of the Travis CI machines, but the Android SDK does not yet work on Java9, it throws: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema --- .travis.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8d491b3d..9d78587c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ matrix: - os: linux language: android - os: osx - osx_image: xcode9 + osx_image: xcode9.1 env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk env: ANDROID_HOME=/usr/local/share/android-sdk - os: osx @@ -46,13 +46,21 @@ android: - 'android-sdk-license-.+' # the PPA is needed on Ubuntu 14.04 precise, and with python3, trusty too -# the pip thing is a hack that can go away with trusty +# the pip thing is a hack that can go away with trusty. +# +# * ensure java8 is installed since Android SDK doesn't work with Java9 +# * Java needs to be at least 1.8.0_131 to have MD5 properly disabled +# https://blogs.oracle.com/java-platform-group/oracle-jre-will-no-longer-trust-md5-signed-code-by-default +# https://opsech.io/posts/2017/Jun/09/openjdk-april-2017-security-update-131-8u131-and-md5-signed-jars.html install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update > /dev/null; brew install dash bash python3 gradle jenv; brew install gnu-sed --with-default-names; - brew cask reinstall java; + if ! ruby -e 'v = `javac -version 2>&1`.split()[1].gsub("_", "."); exit Gem::Dependency.new("", "~> 1.8.0.131").match?("", v)'; then + brew cask uninstall java --force; + brew cask install caskroom/versions/java8; + fi; brew cask install android-sdk; mkdir -p "$ANDROID_HOME/licenses"; From af0d8ab84c2374d632ac32650e731bcd328d3a42 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 18 Oct 2017 14:58:07 +0200 Subject: [PATCH 02/12] tests: make `pip3 install` quieter for shorter CI logs --- tests/complete-ci-tests | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/complete-ci-tests b/tests/complete-ci-tests index 9792b5bf..bd7e7366 100755 --- a/tests/complete-ci-tests +++ b/tests/complete-ci-tests @@ -69,8 +69,8 @@ rm -rf $WORKSPACE/env $pyvenv $WORKSPACE/env . $WORKSPACE/env/bin/activate # workaround https://github.com/pypa/setuptools/issues/937 -pip3 install setuptools==33.1.1 -pip3 install dist/fdroidserver-*.tar.gz +pip3 install --quiet setuptools==33.1.1 +pip3 install --quiet dist/fdroidserver-*.tar.gz # run tests in new pip+pyvenv install fdroid=$WORKSPACE/env/bin/fdroid $WORKSPACE/tests/run-tests $apksource @@ -83,8 +83,8 @@ rm -rf $WORKSPACE/env $pyvenv $WORKSPACE/env . $WORKSPACE/env/bin/activate # workaround https://github.com/pypa/setuptools/issues/937 -pip3 install setuptools==33.1.1 -pip3 install -e $WORKSPACE +pip3 install --quiet setuptools==33.1.1 +pip3 install --quiet -e $WORKSPACE python3 setup.py install # run tests in new pip+pyvenv install From 7d4e354f25c8524ca0d24977ad3f3499ec9164e1 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 20:37:39 +0200 Subject: [PATCH 03/12] FDroidException handle Exceptions that return things other than str This is related to a4c4a16ed9a600b09ff7b62d78eaceb377cf3a9c --- fdroidserver/exception.py | 5 ++- tests/exception.TestCase | 65 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100755 tests/exception.TestCase diff --git a/fdroidserver/exception.py b/fdroidserver/exception.py index 4a3570d2..51481c56 100644 --- a/fdroidserver/exception.py +++ b/fdroidserver/exception.py @@ -17,7 +17,10 @@ class FDroidException(Exception): return ret def __str__(self): - ret = self.value + if self.value is None: + ret = __name__ + else: + ret = str(self.value) if self.detail: ret += "\n==== detail begin ====\n%s\n==== detail end ====" % ''.join(self.detail).strip() return ret diff --git a/tests/exception.TestCase b/tests/exception.TestCase new file mode 100755 index 00000000..01d0a5af --- /dev/null +++ b/tests/exception.TestCase @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 + +# http://www.drdobbs.com/testing/unit-testing-with-python/240165163 + +import inspect +import optparse +import os +import sys +import unittest + +localmodule = os.path.realpath( + os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..')) +print('localmodule: ' + localmodule) +if localmodule not in sys.path: + sys.path.insert(0, localmodule) + +import fdroidserver.common +import fdroidserver.exception + + +class ExceptionTest(unittest.TestCase): + '''fdroidserver/exception.py''' + + def test_FDroidException(self): + try: + raise fdroidserver.exception.FDroidException() + except fdroidserver.exception.FDroidException as e: + str(e) + + try: + raise fdroidserver.exception.FDroidException(9) + except fdroidserver.exception.FDroidException as e: + str(e) + + try: + raise fdroidserver.exception.FDroidException(-123.12234) + except fdroidserver.exception.FDroidException as e: + str(e) + + try: + raise fdroidserver.exception.FDroidException("this is a string") + except fdroidserver.exception.FDroidException as e: + str(e) + + try: + raise fdroidserver.exception.FDroidException(['one', 'two', 'three']) + except fdroidserver.exception.FDroidException as e: + str(e) + + try: + raise fdroidserver.exception.FDroidException(('one', 'two', 'three')) + except fdroidserver.exception.FDroidException as e: + str(e) + + +if __name__ == "__main__": + parser = optparse.OptionParser() + parser.add_option("-v", "--verbose", action="store_true", default=False, + help="Spew out even more information than normal") + (fdroidserver.exception.options, args) = parser.parse_args(['--verbose']) + fdroidserver.common.options = fdroidserver.exception.options + + newSuite = unittest.TestSuite() + newSuite.addTest(unittest.makeSuite(ExceptionTest)) + unittest.main() From d4865ec0384cdf636bc05233358a199e9cfe170f Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 16:41:47 +0200 Subject: [PATCH 04/12] include README.rst in official release source tarball README.rst is still the standard for Python libs. --- .gitignore | 2 +- MANIFEST.in | 2 +- setup.py | 21 +++++++++++++-------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 3bccb197..dda5ae97 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ env/ fdroidserver.egg-info/ pylint.parseable /.testfiles/ -docs/html/ +README.rst # files generated by tests tmp/ diff --git a/MANIFEST.in b/MANIFEST.in index 031fccc6..10f4c7ce 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -27,7 +27,7 @@ include examples/template.yml include fdroid include LICENSE include makebuildserver -include README.md +include README.rst include tests/androguard_test.py include tests/bad-unicode-*.apk include tests/build.TestCase diff --git a/setup.py b/setup.py index 15544732..4a680536 100644 --- a/setup.py +++ b/setup.py @@ -12,15 +12,20 @@ else: data_prefix = '.' # PyPI accepts reST not Markdown -if shutil.which('pandoc'): - print('Using reST README') - import subprocess - readme = subprocess.check_output(['pandoc', '--from=markdown', '--to=rst', 'README.md'], - universal_newlines=True) +if os.path.exists('README.md'): + if shutil.which('pandoc'): + print('Using reST README') + import subprocess + subprocess.check_call(['pandoc', '--from=markdown', '--to=rst', 'README.md', + '--output=README.rst'], universal_newlines=True) + with open('README.rst') as fp: + readme = fp.read() + else: + print('Using Markdown README') + with open('README.md') as fp: + readme = fp.read() else: - print('Using Markdown README') - with open('README.md') as fp: - readme = fp.read() + readme = '' setup(name='fdroidserver', version='0.8', From 927104a4e38c741f76ac178077211372466ae8cd Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 20:52:15 +0200 Subject: [PATCH 05/12] update: make strings translatable --- fdroid | 2 +- fdroidserver/update.py | 114 +++++++------ locale/bo/LC_MESSAGES/fdroidserver.po | 184 +++++++++++++++++++- locale/de/LC_MESSAGES/fdroidserver.po | 186 ++++++++++++++++++++- locale/es/LC_MESSAGES/fdroidserver.po | 185 +++++++++++++++++++- locale/es_AR/LC_MESSAGES/fdroidserver.po | 184 +++++++++++++++++++- locale/fa/LC_MESSAGES/fdroidserver.po | 183 +++++++++++++++++++- locale/fdroidserver.pot | 185 +++++++++++++++++++- locale/fr/LC_MESSAGES/fdroidserver.po | 184 +++++++++++++++++++- locale/it/LC_MESSAGES/fdroidserver.po | 183 +++++++++++++++++++- locale/kab/LC_MESSAGES/fdroidserver.po | 183 +++++++++++++++++++- locale/nb_NO/LC_MESSAGES/fdroidserver.po | 183 +++++++++++++++++++- locale/pt_BR/LC_MESSAGES/fdroidserver.po | 184 +++++++++++++++++++- locale/pt_PT/LC_MESSAGES/fdroidserver.po | 183 +++++++++++++++++++- locale/tr/LC_MESSAGES/fdroidserver.po | 184 +++++++++++++++++++- locale/uk/LC_MESSAGES/fdroidserver.po | 186 ++++++++++++++++++++- locale/zh_Hans/LC_MESSAGES/fdroidserver.po | 184 +++++++++++++++++++- locale/zh_Hant/LC_MESSAGES/fdroidserver.po | 184 +++++++++++++++++++- 18 files changed, 2900 insertions(+), 161 deletions(-) diff --git a/fdroid b/fdroid index 044a344c..74aa0400 100755 --- a/fdroid +++ b/fdroid @@ -51,7 +51,7 @@ commands = OrderedDict([ def print_help(): - print(_("usage: fdroid [-h|--help|--version] []")) + print(_("usage: ") + _("fdroid [-h|--help|--version] []")) print("") print(_("Valid commands are:")) for cmd, summary in commands.items(): diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 526372b8..6b31f162 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -373,7 +373,7 @@ def resize_icon(iconpath, density): im.save(iconpath, "PNG") except Exception as e: - logging.error("Failed resizing {0} - {1}".format(iconpath, e)) + logging.error(_("Failed resizing {path}: {error}".format(path=iconpath, error=e))) finally: if fp: @@ -407,10 +407,10 @@ def getsig(apkpath): certs = [n for n in apk.namelist() if common.CERT_PATH_REGEX.match(n)] if len(certs) < 1: - logging.error("Found no signing certificates on %s" % apkpath) + logging.error(_("No signing certificates found in {path}").format(path=apkpath)) return None if len(certs) > 1: - logging.error("Found multiple signing certificates on %s" % apkpath) + logging.error(_("Found multiple signing certificates in {path}").format(path=apkpath)) return None cert = apk.read(certs[0]) @@ -518,9 +518,11 @@ def has_known_vulnerability(filename): if (version.startswith('1.0.1') and len(version) > 5 and version[5] >= 'r') \ or (version.startswith('1.0.2') and len(version) > 5 and version[5] >= 'f') \ or re.match(r'[1-9]\.[1-9]\.[0-9].*', version): - logging.debug('"%s" contains recent %s (%s)', filename, name, version) + logging.debug(_('"{path}" contains recent {name} ({version})') + .format(path=filename, name=name, version=version)) else: - logging.warning('"%s" contains outdated %s (%s)', filename, name, version) + logging.warning(_('"{path}" contains outdated {name} ({version})') + .format(path=filename, name=name, version=version)) return True break elif name == 'AndroidManifest.xml' or name == 'classes.dex' or name.endswith('.so'): @@ -548,9 +550,9 @@ def insert_obbs(repodir, apps, apks): """ def obbWarnDelete(f, msg): - logging.warning(msg + f) + logging.warning(msg + ' ' + f) if options.delete_unknown: - logging.error("Deleting unknown file: " + f) + logging.error(_("Deleting unknown file: {path}").format(path=f)) os.remove(f) obbs = [] @@ -561,24 +563,25 @@ def insert_obbs(repodir, apps, apks): # obbfile looks like: [main|patch]...obb chunks = obbfile.split('.') if chunks[0] != 'main' and chunks[0] != 'patch': - obbWarnDelete(f, 'OBB filename must start with "main." or "patch.": ') + obbWarnDelete(f, _('OBB filename must start with "main." or "patch.":')) continue if not re.match(r'^-?[0-9]+$', chunks[1]): - obbWarnDelete('The OBB version code must come after "' + chunks[0] + '.": ') + obbWarnDelete(f, _('The OBB version code must come after "{name}.":') + .format(name=chunks[0])) continue versionCode = int(chunks[1]) packagename = ".".join(chunks[2:-1]) highestVersionCode = java_Integer_MIN_VALUE if packagename not in currentPackageNames: - obbWarnDelete(f, "OBB's packagename does not match a supported APK: ") + obbWarnDelete(f, _("OBB's packagename does not match a supported APK:")) continue for apk in apks: if packagename == apk['packageName'] and apk['versionCode'] > highestVersionCode: highestVersionCode = apk['versionCode'] if versionCode > highestVersionCode: - obbWarnDelete(f, 'OBB file has newer versionCode(' + str(versionCode) - + ') than any APK: ') + obbWarnDelete(f, _('OBB file has newer versionCode({integer}) than any APK:') + .format(integer=str(versionCode))) continue obbsha256 = sha256sum(f) obbs.append((packagename, versionCode, obbfile, obbsha256)) @@ -883,13 +886,15 @@ def scan_repo_files(apkcache, repodir, knownapks, use_date_from_file=False): filename = os.path.join(repodir, name) name_utf8 = name.decode('utf-8') if filename.endswith(b'_src.tar.gz'): - logging.debug('skipping source tarball: ' + filename.decode('utf-8')) + logging.debug(_('skipping source tarball: {path}') + .format(path=filename.decode('utf-8'))) continue if not common.is_repo_file(filename): continue stat = os.stat(filename) if stat.st_size == 0: - raise FDroidException(filename + ' is zero size!') + raise FDroidException(_('{path} is zero size!') + .format(path=filename)) shasum = sha256sum(filename) usecache = False @@ -903,10 +908,12 @@ def scan_repo_files(apkcache, repodir, knownapks, use_date_from_file=False): else: repo_file['added'] = datetime(*a[:6]) if repo_file.get('hash') == shasum: - logging.debug("Reading " + name_utf8 + " from cache") + logging.debug(_("Reading {apkfilename} from cache") + .format(apkfilename=name_utf8)) usecache = True else: - logging.debug("Ignoring stale cache data for " + name_utf8) + logging.debug(_("Ignoring stale cache data for {apkfilename}") + .format(apkfilename=name_utf8)) if not usecache: logging.debug(_("Processing {apkfilename}").format(apkfilename=name_utf8)) @@ -1005,13 +1012,13 @@ def scan_apk_aapt(apk, apkfile): if p.returncode != 0: if options.delete_unknown: if os.path.exists(apkfile): - logging.error("Failed to get apk information, deleting " + apkfile) + logging.error(_("Failed to get apk information, deleting {path}").format(path=apkfile)) os.remove(apkfile) else: logging.error("Could not find {0} to remove it".format(apkfile)) else: - logging.error("Failed to get apk information, skipping " + apkfile) - raise BuildException("Invalid APK") + logging.error(_("Failed to get apk information, skipping {path}").format(path=apkfile)) + raise BuildException(_("Invalid APK")) for line in p.output.splitlines(): if line.startswith("package:"): try: @@ -1104,18 +1111,21 @@ def scan_apk_androguard(apk, apkfile): else: if options.delete_unknown: if os.path.exists(apkfile): - logging.error("Failed to get apk information, deleting " + apkfile) + logging.error(_("Failed to get apk information, deleting {path}") + .format(path=apkfile)) os.remove(apkfile) else: - logging.error("Could not find {0} to remove it".format(apkfile)) + logging.error(_("Could not find {path} to remove it") + .format(path=apkfile)) else: - logging.error("Failed to get apk information, skipping " + apkfile) - raise BuildException("Invaild APK") + logging.error(_("Failed to get apk information, skipping {path}") + .format(path=apkfile)) + raise BuildException(_("Invalid APK")) except ImportError: raise FDroidException("androguard library is not installed and aapt not present") except FileNotFoundError: - logging.error("Could not open apk file for analysis") - raise BuildException("Invalid APK") + logging.error(_("Could not open apk file for analysis")) + raise BuildException(_("Invalid APK")) apk['packageName'] = apkobject.get_package() apk['versionCode'] = int(apkobject.get_androidversion_code()) @@ -1214,10 +1224,12 @@ def process_apk(apkcache, apkfilename, repodir, knownapks, use_date_from_apk=Fal if apkfilename in apkcache: apk = apkcache[apkfilename] if apk.get('hash') == sha256sum(apkfile): - logging.debug("Reading " + apkfilename + " from cache") + logging.debug(_("Reading {apkfilename} from cache") + .format(apkfilename=apkfilename)) usecache = True else: - logging.debug("Ignoring stale cache data for " + apkfilename) + logging.debug(_("Ignoring stale cache data for {apkfilename}") + .format(apkfilename=apkfilename)) if not usecache: logging.debug(_("Processing {apkfilename}").format(apkfilename=apkfilename)) @@ -1275,10 +1287,12 @@ def process_apk(apkcache, apkfilename, repodir, knownapks, use_date_from_apk=Fal if skipapk: if archive_bad_sig: - logging.warning('Archiving "' + apkfilename + '" with invalid signature!') + logging.warning(_('Archiving {apkfilename} with invalid signature!') + .format(apkfilename=apkfilename)) move_apk_between_sections(repodir, 'archive', apk) else: - logging.warning('Skipping "' + apkfilename + '" with invalid signature!') + logging.warning(_('Skipping {apkfilename} with invalid signature!') + .format(apkfilename=apkfilename)) return True, None, False apkzip = zipfile.ZipFile(apkfile, 'r') @@ -1290,7 +1304,7 @@ def process_apk(apkcache, apkfilename, repodir, knownapks, use_date_from_apk=Fal # store timezone info manifest = apkzip.getinfo('AndroidManifest.xml') if manifest.date_time[1] == 0: # month can't be zero - logging.debug('AndroidManifest.xml has no date') + logging.debug(_('AndroidManifest.xml has no date')) else: dt_obj = datetime(*manifest.date_time) checkdt = dt_obj - timedelta(1) @@ -1425,7 +1439,8 @@ def extract_apk_icons(icon_filename, apk, apkzip, repo_dir): empty_densities.remove(density) break except Exception as e: - logging.warning("Failed reading {0} - {1}".format(icon_path, e)) + logging.warning(_("Failed reading {path}: {error}") + .format(path=icon_path, error=e)) if apk['icons']: apk['icon'] = icon_filename @@ -1564,8 +1579,8 @@ def archive_old_apks(apps, apks, archapks, repodir, archivedir, defaultkeepversi else: keepversions = defaultkeepversions - logging.debug("Checking archiving for {0} - apks:{1}, keepversions:{2}, archapks:{3}" - .format(appid, len(apks), keepversions, len(archapks))) + logging.debug(_("Checking archiving for {appid} - apks:{integer}, keepversions:{keep}, archapks:{arch}") + .format(appid=appid, integer=len(apks), keep=keepversions, arch=len(archapks))) current_app_apks = filter_apk_list_sorted(apks) if len(current_app_apks) > keepversions: @@ -1626,7 +1641,7 @@ def add_apks_to_per_app_repos(repodir, apks): apks_per_app[apk['packageName']] = apk if not os.path.exists(apk['per_app_icons']): - logging.info('Adding new repo for only ' + apk['packageName']) + logging.info(_('Adding new repo for only {name}').format(name=apk['packageName'])) os.makedirs(apk['per_app_icons']) apkpath = os.path.join(repodir, apk['apkName']) @@ -1659,7 +1674,8 @@ def create_metadata_from_template(apk): metatxt, flags=re.IGNORECASE | re.MULTILINE) else: - logging.warning(apk['packageName'] + ' does not have a name! Using package name instead.') + logging.warning(_('{appid} does not have a name! Using package name instead.') + .format(appid=apk['packageName'])) metatxt = re.sub(r'^(((Auto)?Name|Summary):).*$', r'\1 ' + apk['packageName'], metatxt, @@ -1679,11 +1695,12 @@ def create_metadata_from_template(apk): if 'name' in apk and apk['name'] != '': app['Name'] = apk['name'] else: - logging.warning(apk['packageName'] + ' does not have a name! Using package name instead.') + logging.warning(_('{appid} does not have a name! Using package name instead.') + .format(appid=apk['packageName'])) app['Name'] = apk['packageName'] with open(os.path.join('metadata', apk['packageName'] + '.yml'), 'w') as f: yaml.dump(app, f, default_flow_style=False) - logging.info("Generated skeleton metadata for " + apk['packageName']) + logging.info(_("Generated skeleton metadata for {appid}").format(appid=apk['packageName'])) config = None @@ -1710,8 +1727,8 @@ def main(): parser.add_argument("-I", "--icons", action="store_true", default=False, help=_("Resize all the icons exceeding the max pixel size and exit")) parser.add_argument("-e", "--editor", default="/etc/alternatives/editor", - help=_("Specify editor to use in interactive mode. Default ") + - "is /etc/alternatives/editor") + help=_("Specify editor to use in interactive mode. Default " + + "is {path}").format(path='/etc/alternatives/editor')) parser.add_argument("-w", "--wiki", default=False, action="store_true", help=_("Update the wiki")) parser.add_argument("--pretty", action="store_true", default=False, @@ -1733,7 +1750,7 @@ def main(): config = common.read_config(options) if not ('jarsigner' in config and 'keytool' in config): - raise FDroidException('Java JDK not found! Install in standard location or set java_paths!') + raise FDroidException(_('Java JDK not found! Install in standard location or set java_paths!')) repodirs = ['repo'] if config['archive_older'] != 0: @@ -1752,13 +1769,14 @@ def main(): for k in ['repo_icon', 'archive_icon']: if k in config: if not os.path.exists(config[k]): - logging.critical(k + ' "' + config[k] + '" does not exist! Correct it in config.py.') + logging.critical(_('{name} "{path}" does not exist! Correct it in config.py.') + .format(name=k, path=config[k])) sys.exit(1) # if the user asks to create a keystore, do it now, reusing whatever it can if options.create_key: if os.path.exists(config['keystore']): - logging.critical("Cowardily refusing to overwrite existing signing key setup!") + logging.critical(_("Cowardily refusing to overwrite existing signing key setup!")) logging.critical("\t'" + config['keystore'] + "'") sys.exit(1) @@ -1811,16 +1829,18 @@ def main(): create_metadata_from_template(apk) apps = metadata.read_metadata() else: - msg = apk['apkName'] + " (" + apk['packageName'] + ") has no metadata!" + msg = _("{apkfilename} ({appid}) has no metadata!") \ + .format(apkfilename=apk['apkName'], appid=apk['packageName']) if options.delete_unknown: - logging.warn(msg + "\n\tdeleting: repo/" + apk['apkName']) + logging.warn(msg + '\n\t' + _("deleting: repo/{apkfilename}") + .format(apkfilename=apk['apkName'])) rmf = os.path.join(repodirs[0], apk['apkName']) if not os.path.exists(rmf): - logging.error("Could not find {0} to remove it".format(rmf)) + logging.error(_("Could not find {path} to remove it").format(path=rmf)) else: os.remove(rmf) else: - logging.warn(msg + "\n\tUse `fdroid update -c` to create it.") + logging.warn(msg + '\n\t' + _("Use `fdroid update -c` to create it.")) copy_triple_t_store_metadata(apps) insert_obbs(repodirs[0], apps, apks) @@ -1854,7 +1874,7 @@ def main(): if os.path.isdir(repodir): index.make(appdict, [appid], apks, repodir, False) else: - logging.info('Skipping index generation for ' + appid) + logging.info(_('Skipping index generation for {appid}').format(appid=appid)) return if len(repodirs) > 1: diff --git a/locale/bo/LC_MESSAGES/fdroidserver.po b/locale/bo/LC_MESSAGES/fdroidserver.po index 23d966fe..81bf9d6a 100644 --- a/locale/bo/LC_MESSAGES/fdroidserver.po +++ b/locale/bo/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: 2017-07-17 18:35+0000\n" "Last-Translator: Lobsang \n" "Language-Team: Tibetan []" +msgstr "བེད་སྤྱོད་: ཨེཕ་རོཌ་ [-h|-རོགས་པ་|--ཐོན་རིམ་] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1419,6 +1564,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1444,7 +1594,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1463,11 +1613,31 @@ msgid "{0} app, {1} key aliases" msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/de/LC_MESSAGES/fdroidserver.po b/locale/de/LC_MESSAGES/fdroidserver.po index 5ddfeea6..dc14894a 100644 --- a/locale/de/LC_MESSAGES/fdroidserver.po +++ b/locale/de/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:50+0200\n" "PO-Revision-Date: 2017-07-16 20:06+0000\n" "Last-Translator: Claus Rüdinger \n" "Language-Team: German []" +msgstr "Sprachgebrauch: fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1447,6 +1594,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1472,7 +1624,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1492,11 +1644,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/es/LC_MESSAGES/fdroidserver.po b/locale/es/LC_MESSAGES/fdroidserver.po index aeb3b68d..b76b7e7c 100644 --- a/locale/es/LC_MESSAGES/fdroidserver.po +++ b/locale/es/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:50+0200\n" "PO-Revision-Date: 2017-07-03 15:20+0000\n" "Last-Translator: José Rodrigo Baires Quezada \n" "Language-Team: Spanish []" +msgstr "Uso: fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1441,6 +1587,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1466,7 +1617,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1486,11 +1637,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/es_AR/LC_MESSAGES/fdroidserver.po b/locale/es_AR/LC_MESSAGES/fdroidserver.po index 4b23d8c3..31aa8690 100644 --- a/locale/es_AR/LC_MESSAGES/fdroidserver.po +++ b/locale/es_AR/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: 2017-10-01 01:48+0000\n" "Last-Translator: who cares? \n" "Language-Team: Spanish (Argentina) []" +msgstr "uso: fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1437,6 +1582,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1462,7 +1612,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1482,11 +1632,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/fa/LC_MESSAGES/fdroidserver.po b/locale/fa/LC_MESSAGES/fdroidserver.po index 3db98eab..0f1f1a60 100644 --- a/locale/fa/LC_MESSAGES/fdroidserver.po +++ b/locale/fa/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -21,6 +21,16 @@ msgstr "" msgid "\"%s/\" has no matching metadata file!" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "\"{path}\" contains outdated {name} ({version})" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "\"{path}\" contains recent {name} ({version})" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py #, python-format msgid "%(option)s option requires %(number)d argument" @@ -57,19 +67,19 @@ msgstr "" msgid "%s option does not take a value" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keypass' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystore' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystorepass' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'repo_keyalias' not found in config.py!" msgstr "" @@ -130,6 +140,11 @@ msgstr "" msgid "Add gpg signatures for packages in repo" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Adding new repo for only {name}" +msgstr "" + #: ../fdroidserver/init.py msgid "Alias of the repo signing key in the keystore" msgstr "" @@ -168,6 +183,10 @@ msgstr "" msgid "Android SDK path '{path}' is not a directory!" msgstr "" +#: ../fdroidserver/update.py +msgid "AndroidManifest.xml has no date" +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "App is in '{repo}' but has a link to {url}" @@ -177,6 +196,11 @@ msgstr "" msgid "Appending .git is not necessary" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Archiving {apkfilename} with invalid signature!" +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "Branch '{branch}' used as commit in build '{versionName}'" @@ -231,6 +255,13 @@ msgstr "" msgid "Check for updates to applications" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "" +"Checking archiving for {appid} - apks:{integer}, keepversions:{keep}, " +"archapks:{arch}" +msgstr "" + #: ../fdroidserver/dscanner.py msgid "Clean after all scans have finished" msgstr "" @@ -268,6 +299,15 @@ msgstr "" msgid "Could not find '{command}' on your system" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Could not find {path} to remove it" +msgstr "" + +#: ../fdroidserver/update.py +msgid "Could not open apk file for analysis" +msgstr "" + #: ../fdroidserver/import.py msgid "Couldn't find latest version code" msgstr "" @@ -280,6 +320,10 @@ msgstr "" msgid "Couldn't find package ID" msgstr "" +#: ../fdroidserver/update.py +msgid "Cowardily refusing to overwrite existing signing key setup!" +msgstr "" + #: ../fdroidserver/update.py msgid "Create a repo signing key in a keystore" msgstr "" @@ -323,6 +367,11 @@ msgstr "" msgid "Delete APKs and/or OBBs without metadata from the repo" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Deleting unknown file: {path}" +msgstr "" + #: ../fdroidserver/lint.py #, python-format msgid "Description '%s' is just the app's summary" @@ -406,6 +455,16 @@ msgstr "" msgid "Failed fetching signatures for '{apkfilename}': {error}" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed reading {path}: {error}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed resizing {path}: {error}" +msgstr "" + #: ../fdroidserver/publish.py msgid "Failed to align application" msgstr "" @@ -419,6 +478,16 @@ msgstr "" msgid "Failed to get APK manifest information" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed to get apk information, deleting {path}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed to get apk information, skipping {path}" +msgstr "" + #: ../fdroidserver/install.py #, python-brace-format msgid "Failed to install '{apkfilename}' on {dev}: {error}" @@ -462,6 +531,11 @@ msgstr "" msgid "Found multiple signing certificates for repository." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Found multiple signing certificates in {path}" +msgstr "" + #: ../fdroidserver/index.py msgid "Found no signing certificates for repository." msgstr "" @@ -471,6 +545,11 @@ msgstr "" msgid "Found non-file at %s" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Generated skeleton metadata for {appid}" +msgstr "" + #: ../fdroidserver/common.py #, python-format msgid "Git checkout of '%s' failed" @@ -504,6 +583,11 @@ msgstr "" msgid "Ignoring package without metadata: " msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Ignoring stale cache data for {apkfilename}" +msgstr "" + #: ../fdroidserver/rewritemeta.py #, python-brace-format msgid "Ignoring {ext} file at '{path}'" @@ -543,6 +627,10 @@ msgstr "" msgid "Interactively ask about things that need updating." msgstr "" +#: ../fdroidserver/update.py +msgid "Invalid APK" +msgstr "" + #: ../fdroidserver/lint.py msgid "Invalid bulleted list" msgstr "" @@ -567,7 +655,7 @@ msgstr "" msgid "Invalid package name {0}" msgstr "" -#: ../fdroidserver/publish.py +#: ../fdroidserver/publish.py ../fdroidserver/update.py msgid "Java JDK not found! Install in standard location or set java_paths!" msgstr "" @@ -665,6 +753,11 @@ msgstr "" msgid "No signed output directory - nothing to do" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "No signing certificates found in {path}" +msgstr "" + #: ../fdroidserver/common.py #, python-format msgid "No such package: %s" @@ -688,6 +781,19 @@ msgstr "" msgid "Nothing to do for {appid}." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "OBB file has newer versionCode({integer}) than any APK:" +msgstr "" + +#: ../fdroidserver/update.py +msgid "OBB filename must start with \"main.\" or \"patch.\":" +msgstr "" + +#: ../fdroidserver/update.py +msgid "OBB's packagename does not match a supported APK:" +msgstr "" + #: ../fdroidserver/checkupdates.py msgid "Only print differences with the Play Store" msgstr "" @@ -808,6 +914,11 @@ msgid "" "'{apkfilename}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Reading {apkfilename} from cache" +msgstr "" + #: ../fdroidserver/stats.py msgid "" "Recalculate aggregate stats - use when changes have been made that would " @@ -904,6 +1015,16 @@ msgstr "" msgid "Skipping '{apkfilename}' with invalid signature!" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Skipping index generation for {appid}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Skipping {apkfilename} with invalid signature!" +msgstr "" + #: ../fdroidserver/scanner.py #, python-brace-format msgid "Skipping {appid}: disabled" @@ -930,6 +1051,11 @@ msgstr "" msgid "Specify editor to use in interactive mode. Default %s" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Specify editor to use in interactive mode. Default is {path}" +msgstr "" + #: ../fdroidserver/build.py msgid "Specify that we're running on the build server" msgstr "" @@ -954,6 +1080,11 @@ msgid "" "the output already exists." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "The OBB version code must come after \"{name}.\":" +msgstr "" + #: ../fdroidserver/btlog.py msgid "The base URL for the repo to log (default: https://f-droid.org)" msgstr "" @@ -1076,6 +1207,10 @@ msgstr "" msgid "Use /HEAD instead of /master to point at a file in the default branch" msgstr "" +#: ../fdroidserver/update.py +msgid "Use `fdroid update -c` to create it." +msgstr "" + #: ../fdroidserver/build.py msgid "Use build server" msgstr "" @@ -1191,6 +1326,11 @@ msgid_plural "conflicting option strings: %s" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "deleting: repo/{apkfilename}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "dest= is required for options like %r" @@ -1215,6 +1355,10 @@ msgstr "" msgid "expected one argument" msgstr "" +#: ../fdroid +msgid "fdroid [-h|--help|--version] []" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1386,6 +1530,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1411,7 +1560,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1431,11 +1580,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/fdroidserver.pot b/locale/fdroidserver.pot index c49eff0c..fcc7b692 100644 --- a/locale/fdroidserver.pot +++ b/locale/fdroidserver.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: fdroidserver 0.8-135-g16dd6d28\n" +"Project-Id-Version: fdroidserver 0.8-150-g4e4415d\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-13 12:47+0000\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,6 +22,16 @@ msgstr "" msgid "\"%s/\" has no matching metadata file!" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "\"{path}\" contains outdated {name} ({version})" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "\"{path}\" contains recent {name} ({version})" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py #, python-format msgid "%(option)s option requires %(number)d argument" @@ -58,19 +68,19 @@ msgstr "" msgid "%s option does not take a value" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keypass' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystore' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystorepass' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'repo_keyalias' not found in config.py!" msgstr "" @@ -131,6 +141,11 @@ msgstr "" msgid "Add gpg signatures for packages in repo" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Adding new repo for only {name}" +msgstr "" + #: ../fdroidserver/init.py msgid "Alias of the repo signing key in the keystore" msgstr "" @@ -169,6 +184,10 @@ msgstr "" msgid "Android SDK path '{path}' is not a directory!" msgstr "" +#: ../fdroidserver/update.py +msgid "AndroidManifest.xml has no date" +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "App is in '{repo}' but has a link to {url}" @@ -178,6 +197,11 @@ msgstr "" msgid "Appending .git is not necessary" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Archiving {apkfilename} with invalid signature!" +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "Branch '{branch}' used as commit in build '{versionName}'" @@ -232,6 +256,13 @@ msgstr "" msgid "Check for updates to applications" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "" +"Checking archiving for {appid} - apks:{integer}, keepversions:{keep}, " +"archapks:{arch}" +msgstr "" + #: ../fdroidserver/dscanner.py msgid "Clean after all scans have finished" msgstr "" @@ -269,6 +300,15 @@ msgstr "" msgid "Could not find '{command}' on your system" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Could not find {path} to remove it" +msgstr "" + +#: ../fdroidserver/update.py +msgid "Could not open apk file for analysis" +msgstr "" + #: ../fdroidserver/import.py msgid "Couldn't find latest version code" msgstr "" @@ -281,6 +321,10 @@ msgstr "" msgid "Couldn't find package ID" msgstr "" +#: ../fdroidserver/update.py +msgid "Cowardily refusing to overwrite existing signing key setup!" +msgstr "" + #: ../fdroidserver/update.py msgid "Create a repo signing key in a keystore" msgstr "" @@ -324,6 +368,11 @@ msgstr "" msgid "Delete APKs and/or OBBs without metadata from the repo" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Deleting unknown file: {path}" +msgstr "" + #: ../fdroidserver/lint.py #, python-format msgid "Description '%s' is just the app's summary" @@ -407,6 +456,16 @@ msgstr "" msgid "Failed fetching signatures for '{apkfilename}': {error}" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed reading {path}: {error}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed resizing {path}: {error}" +msgstr "" + #: ../fdroidserver/publish.py msgid "Failed to align application" msgstr "" @@ -420,6 +479,16 @@ msgstr "" msgid "Failed to get APK manifest information" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed to get apk information, deleting {path}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed to get apk information, skipping {path}" +msgstr "" + #: ../fdroidserver/install.py #, python-brace-format msgid "Failed to install '{apkfilename}' on {dev}: {error}" @@ -463,6 +532,11 @@ msgstr "" msgid "Found multiple signing certificates for repository." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Found multiple signing certificates in {path}" +msgstr "" + #: ../fdroidserver/index.py msgid "Found no signing certificates for repository." msgstr "" @@ -472,6 +546,11 @@ msgstr "" msgid "Found non-file at %s" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Generated skeleton metadata for {appid}" +msgstr "" + #: ../fdroidserver/common.py #, python-format msgid "Git checkout of '%s' failed" @@ -505,6 +584,11 @@ msgstr "" msgid "Ignoring package without metadata: " msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Ignoring stale cache data for {apkfilename}" +msgstr "" + #: ../fdroidserver/rewritemeta.py #, python-brace-format msgid "Ignoring {ext} file at '{path}'" @@ -544,6 +628,10 @@ msgstr "" msgid "Interactively ask about things that need updating." msgstr "" +#: ../fdroidserver/update.py +msgid "Invalid APK" +msgstr "" + #: ../fdroidserver/lint.py msgid "Invalid bulleted list" msgstr "" @@ -568,7 +656,7 @@ msgstr "" msgid "Invalid package name {0}" msgstr "" -#: ../fdroidserver/publish.py +#: ../fdroidserver/publish.py ../fdroidserver/update.py msgid "Java JDK not found! Install in standard location or set java_paths!" msgstr "" @@ -666,6 +754,11 @@ msgstr "" msgid "No signed output directory - nothing to do" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "No signing certificates found in {path}" +msgstr "" + #: ../fdroidserver/common.py #, python-format msgid "No such package: %s" @@ -689,6 +782,19 @@ msgstr "" msgid "Nothing to do for {appid}." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "OBB file has newer versionCode({integer}) than any APK:" +msgstr "" + +#: ../fdroidserver/update.py +msgid "OBB filename must start with \"main.\" or \"patch.\":" +msgstr "" + +#: ../fdroidserver/update.py +msgid "OBB's packagename does not match a supported APK:" +msgstr "" + #: ../fdroidserver/checkupdates.py msgid "Only print differences with the Play Store" msgstr "" @@ -809,6 +915,11 @@ msgid "" "'{apkfilename}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Reading {apkfilename} from cache" +msgstr "" + #: ../fdroidserver/stats.py msgid "" "Recalculate aggregate stats - use when changes have been made that would " @@ -905,6 +1016,16 @@ msgstr "" msgid "Skipping '{apkfilename}' with invalid signature!" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Skipping index generation for {appid}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Skipping {apkfilename} with invalid signature!" +msgstr "" + #: ../fdroidserver/scanner.py #, python-brace-format msgid "Skipping {appid}: disabled" @@ -931,6 +1052,11 @@ msgstr "" msgid "Specify editor to use in interactive mode. Default %s" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Specify editor to use in interactive mode. Default is {path}" +msgstr "" + #: ../fdroidserver/build.py msgid "Specify that we're running on the build server" msgstr "" @@ -955,6 +1081,11 @@ msgid "" "the output already exists." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "The OBB version code must come after \"{name}.\":" +msgstr "" + #: ../fdroidserver/btlog.py msgid "The base URL for the repo to log (default: https://f-droid.org)" msgstr "" @@ -1077,6 +1208,10 @@ msgstr "" msgid "Use /HEAD instead of /master to point at a file in the default branch" msgstr "" +#: ../fdroidserver/update.py +msgid "Use `fdroid update -c` to create it." +msgstr "" + #: ../fdroidserver/build.py msgid "Use build server" msgstr "" @@ -1192,6 +1327,11 @@ msgid_plural "conflicting option strings: %s" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "deleting: repo/{apkfilename}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "dest= is required for options like %r" @@ -1216,6 +1356,10 @@ msgstr "" msgid "expected one argument" msgstr "" +#: ../fdroid +msgid "fdroid [-h|--help|--version] []" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1387,6 +1531,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1412,7 +1561,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1432,11 +1581,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/fr/LC_MESSAGES/fdroidserver.po b/locale/fr/LC_MESSAGES/fdroidserver.po index 2ee1aa12..d455a396 100644 --- a/locale/fr/LC_MESSAGES/fdroidserver.po +++ b/locale/fr/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: 2017-10-17 11:46+0000\n" "Last-Translator: xin \n" "Language-Team: French []" +msgstr "utilisation : fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1420,6 +1565,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1445,7 +1595,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1465,11 +1615,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/it/LC_MESSAGES/fdroidserver.po b/locale/it/LC_MESSAGES/fdroidserver.po index 0d123ff2..0fc67027 100644 --- a/locale/it/LC_MESSAGES/fdroidserver.po +++ b/locale/it/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: 2017-07-12 15:24+0000\n" "Last-Translator: Roberto Albano De Rosa \n" "Language-Team: Italian []" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1390,6 +1534,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1415,7 +1564,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1435,11 +1584,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/kab/LC_MESSAGES/fdroidserver.po b/locale/kab/LC_MESSAGES/fdroidserver.po index 809edeaf..dd82b7d4 100644 --- a/locale/kab/LC_MESSAGES/fdroidserver.po +++ b/locale/kab/LC_MESSAGES/fdroidserver.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Kabyle (F-Droid)\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: 2017-08-11 19:09+0100\n" "Last-Translator: Belkacem Mohammed \n" "Language-Team: Kabyle []" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1384,6 +1528,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1409,7 +1558,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1429,11 +1578,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/nb_NO/LC_MESSAGES/fdroidserver.po b/locale/nb_NO/LC_MESSAGES/fdroidserver.po index b8b4612f..fdc17af2 100644 --- a/locale/nb_NO/LC_MESSAGES/fdroidserver.po +++ b/locale/nb_NO/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: fdroidserver 0.8-74-ga380b9f\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: 2017-10-17 14:20+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål []" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1394,6 +1538,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1419,7 +1568,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1439,11 +1588,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/pt_BR/LC_MESSAGES/fdroidserver.po b/locale/pt_BR/LC_MESSAGES/fdroidserver.po index 765f38c7..1d33ff30 100644 --- a/locale/pt_BR/LC_MESSAGES/fdroidserver.po +++ b/locale/pt_BR/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:50+0200\n" "PO-Revision-Date: 2017-09-02 13:48+0000\n" "Last-Translator: Edgar Moraes Diniz \n" "Language-Team: Portuguese (Brazil) []" +msgstr "uso: fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1436,6 +1581,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1461,7 +1611,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1481,11 +1631,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/pt_PT/LC_MESSAGES/fdroidserver.po b/locale/pt_PT/LC_MESSAGES/fdroidserver.po index cde8cf86..e338e13a 100644 --- a/locale/pt_PT/LC_MESSAGES/fdroidserver.po +++ b/locale/pt_PT/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:50+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -21,6 +21,16 @@ msgstr "" msgid "\"%s/\" has no matching metadata file!" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "\"{path}\" contains outdated {name} ({version})" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "\"{path}\" contains recent {name} ({version})" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py #, python-format msgid "%(option)s option requires %(number)d argument" @@ -57,19 +67,19 @@ msgstr "" msgid "%s option does not take a value" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keypass' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystore' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystorepass' not found in config.py!" msgstr "" -#: ../fdroidserver/index.py +#: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'repo_keyalias' not found in config.py!" msgstr "" @@ -130,6 +140,11 @@ msgstr "" msgid "Add gpg signatures for packages in repo" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Adding new repo for only {name}" +msgstr "" + #: ../fdroidserver/init.py msgid "Alias of the repo signing key in the keystore" msgstr "" @@ -168,6 +183,10 @@ msgstr "" msgid "Android SDK path '{path}' is not a directory!" msgstr "" +#: ../fdroidserver/update.py +msgid "AndroidManifest.xml has no date" +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "App is in '{repo}' but has a link to {url}" @@ -177,6 +196,11 @@ msgstr "" msgid "Appending .git is not necessary" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Archiving {apkfilename} with invalid signature!" +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "Branch '{branch}' used as commit in build '{versionName}'" @@ -231,6 +255,13 @@ msgstr "" msgid "Check for updates to applications" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "" +"Checking archiving for {appid} - apks:{integer}, keepversions:{keep}, " +"archapks:{arch}" +msgstr "" + #: ../fdroidserver/dscanner.py msgid "Clean after all scans have finished" msgstr "" @@ -268,6 +299,15 @@ msgstr "" msgid "Could not find '{command}' on your system" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Could not find {path} to remove it" +msgstr "" + +#: ../fdroidserver/update.py +msgid "Could not open apk file for analysis" +msgstr "" + #: ../fdroidserver/import.py msgid "Couldn't find latest version code" msgstr "" @@ -280,6 +320,10 @@ msgstr "" msgid "Couldn't find package ID" msgstr "" +#: ../fdroidserver/update.py +msgid "Cowardily refusing to overwrite existing signing key setup!" +msgstr "" + #: ../fdroidserver/update.py msgid "Create a repo signing key in a keystore" msgstr "" @@ -323,6 +367,11 @@ msgstr "" msgid "Delete APKs and/or OBBs without metadata from the repo" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Deleting unknown file: {path}" +msgstr "" + #: ../fdroidserver/lint.py #, python-format msgid "Description '%s' is just the app's summary" @@ -406,6 +455,16 @@ msgstr "" msgid "Failed fetching signatures for '{apkfilename}': {error}" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed reading {path}: {error}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed resizing {path}: {error}" +msgstr "" + #: ../fdroidserver/publish.py msgid "Failed to align application" msgstr "" @@ -419,6 +478,16 @@ msgstr "" msgid "Failed to get APK manifest information" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed to get apk information, deleting {path}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Failed to get apk information, skipping {path}" +msgstr "" + #: ../fdroidserver/install.py #, python-brace-format msgid "Failed to install '{apkfilename}' on {dev}: {error}" @@ -462,6 +531,11 @@ msgstr "" msgid "Found multiple signing certificates for repository." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Found multiple signing certificates in {path}" +msgstr "" + #: ../fdroidserver/index.py msgid "Found no signing certificates for repository." msgstr "" @@ -471,6 +545,11 @@ msgstr "" msgid "Found non-file at %s" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Generated skeleton metadata for {appid}" +msgstr "" + #: ../fdroidserver/common.py #, python-format msgid "Git checkout of '%s' failed" @@ -504,6 +583,11 @@ msgstr "" msgid "Ignoring package without metadata: " msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Ignoring stale cache data for {apkfilename}" +msgstr "" + #: ../fdroidserver/rewritemeta.py #, python-brace-format msgid "Ignoring {ext} file at '{path}'" @@ -543,6 +627,10 @@ msgstr "" msgid "Interactively ask about things that need updating." msgstr "" +#: ../fdroidserver/update.py +msgid "Invalid APK" +msgstr "" + #: ../fdroidserver/lint.py msgid "Invalid bulleted list" msgstr "" @@ -567,7 +655,7 @@ msgstr "" msgid "Invalid package name {0}" msgstr "" -#: ../fdroidserver/publish.py +#: ../fdroidserver/publish.py ../fdroidserver/update.py msgid "Java JDK not found! Install in standard location or set java_paths!" msgstr "" @@ -665,6 +753,11 @@ msgstr "" msgid "No signed output directory - nothing to do" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "No signing certificates found in {path}" +msgstr "" + #: ../fdroidserver/common.py #, python-format msgid "No such package: %s" @@ -688,6 +781,19 @@ msgstr "" msgid "Nothing to do for {appid}." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "OBB file has newer versionCode({integer}) than any APK:" +msgstr "" + +#: ../fdroidserver/update.py +msgid "OBB filename must start with \"main.\" or \"patch.\":" +msgstr "" + +#: ../fdroidserver/update.py +msgid "OBB's packagename does not match a supported APK:" +msgstr "" + #: ../fdroidserver/checkupdates.py msgid "Only print differences with the Play Store" msgstr "" @@ -808,6 +914,11 @@ msgid "" "'{apkfilename}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Reading {apkfilename} from cache" +msgstr "" + #: ../fdroidserver/stats.py msgid "" "Recalculate aggregate stats - use when changes have been made that would " @@ -904,6 +1015,16 @@ msgstr "" msgid "Skipping '{apkfilename}' with invalid signature!" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Skipping index generation for {appid}" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Skipping {apkfilename} with invalid signature!" +msgstr "" + #: ../fdroidserver/scanner.py #, python-brace-format msgid "Skipping {appid}: disabled" @@ -930,6 +1051,11 @@ msgstr "" msgid "Specify editor to use in interactive mode. Default %s" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Specify editor to use in interactive mode. Default is {path}" +msgstr "" + #: ../fdroidserver/build.py msgid "Specify that we're running on the build server" msgstr "" @@ -954,6 +1080,11 @@ msgid "" "the output already exists." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "The OBB version code must come after \"{name}.\":" +msgstr "" + #: ../fdroidserver/btlog.py msgid "The base URL for the repo to log (default: https://f-droid.org)" msgstr "" @@ -1076,6 +1207,10 @@ msgstr "" msgid "Use /HEAD instead of /master to point at a file in the default branch" msgstr "" +#: ../fdroidserver/update.py +msgid "Use `fdroid update -c` to create it." +msgstr "" + #: ../fdroidserver/build.py msgid "Use build server" msgstr "" @@ -1191,6 +1326,11 @@ msgid_plural "conflicting option strings: %s" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "deleting: repo/{apkfilename}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "dest= is required for options like %r" @@ -1215,6 +1355,10 @@ msgstr "" msgid "expected one argument" msgstr "" +#: ../fdroid +msgid "fdroid [-h|--help|--version] []" +msgstr "" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1386,6 +1530,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1411,7 +1560,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1431,11 +1580,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/tr/LC_MESSAGES/fdroidserver.po b/locale/tr/LC_MESSAGES/fdroidserver.po index 123a458e..406524b0 100644 --- a/locale/tr/LC_MESSAGES/fdroidserver.po +++ b/locale/tr/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:50+0200\n" "PO-Revision-Date: 2017-06-23 14:47+0000\n" "Last-Translator: monolifed \n" "Language-Team: Turkish []" +msgstr "kullanım: fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1422,6 +1567,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1447,7 +1597,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1467,11 +1617,31 @@ msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" msgstr[1] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/uk/LC_MESSAGES/fdroidserver.po b/locale/uk/LC_MESSAGES/fdroidserver.po index 844410ed..45d38ca7 100644 --- a/locale/uk/LC_MESSAGES/fdroidserver.po +++ b/locale/uk/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:52+0200\n" "PO-Revision-Date: 2017-10-01 11:53+0000\n" "Last-Translator: Володимир Бриняк \n" "Language-Team: Ukrainian []" +msgstr "використання: fdroid [-h|--help|--version] <команда> [<аргументи>]" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1436,6 +1583,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1461,7 +1613,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1482,11 +1634,31 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/zh_Hans/LC_MESSAGES/fdroidserver.po b/locale/zh_Hans/LC_MESSAGES/fdroidserver.po index d03fbed3..140fcc6d 100644 --- a/locale/zh_Hans/LC_MESSAGES/fdroidserver.po +++ b/locale/zh_Hans/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:50+0200\n" "PO-Revision-Date: 2017-07-24 02:40+0000\n" "Last-Translator: sima \n" "Language-Team: Chinese (Simplified) []" +msgstr "用法:fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1402,6 +1547,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1427,7 +1577,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1446,11 +1596,31 @@ msgid "{0} app, {1} key aliases" msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" diff --git a/locale/zh_Hant/LC_MESSAGES/fdroidserver.po b/locale/zh_Hant/LC_MESSAGES/fdroidserver.po index da0b852a..80f07530 100644 --- a/locale/zh_Hant/LC_MESSAGES/fdroidserver.po +++ b/locale/zh_Hant/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-17 17:48+0200\n" +"POT-Creation-Date: 2017-10-19 20:50+0200\n" "PO-Revision-Date: 2017-08-31 02:59+0000\n" "Last-Translator: ezjerry liao \n" "Language-Team: Chinese (Traditional) []" +msgstr "用法:fdroid [-h|--help|--version] []" + #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py msgid "floating-point" msgstr "" @@ -1402,6 +1547,11 @@ msgstr "" msgid "signed APK, either a file-path or HTTPS URL." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "skipping source tarball: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "the following arguments are required: %s" @@ -1427,7 +1577,7 @@ msgstr "" msgid "unsafe permissions on '{config_file}' (should be 0600)!" msgstr "" -#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py +#: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py ../fdroid msgid "usage: " msgstr "" @@ -1446,11 +1596,31 @@ msgid "{0} app, {1} key aliases" msgid_plural "{0} apps, {1} key aliases" msgstr[0] "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{apkfilename} ({appid}) has no metadata!" +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{appid} does not have a name! Using package name instead." +msgstr "" + #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{name} \"{path}\" does not exist! Correct it in config.py." +msgstr "" + +#: ../fdroidserver/update.py +#, python-brace-format +msgid "{path} is zero size!" +msgstr "" + #: ../fdroidserver/build.py msgid "{} build failed" msgid_plural "{} builds failed" From 57c3c60f0ed7afab493d07082ee01c1f50787a72 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 17:35:29 +0200 Subject: [PATCH 06/12] include in source tarball: be de es es_AR fr nb pt_BR tr uk zh_Hans zh_Hant The way to officially include a new language in the source tarball is to add it to the MANIFEST.in. Otherwise, it will not be included in the source tarball, and therefore won't be installed when using apt, pip, etc. --- MANIFEST.in | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/MANIFEST.in b/MANIFEST.in index 10f4c7ce..6e8c0d03 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -26,6 +26,17 @@ include examples/public-read-only-s3-bucket-policy.json include examples/template.yml include fdroid include LICENSE +include locale/bo/LC_MESSAGES/fdroidserver.mo +include locale/de/LC_MESSAGES/fdroidserver.mo +include locale/es_AR/LC_MESSAGES/fdroidserver.mo +include locale/es/LC_MESSAGES/fdroidserver.mo +include locale/fr/LC_MESSAGES/fdroidserver.mo +include locale/nb_NO/LC_MESSAGES/fdroidserver.mo +include locale/pt_BR/LC_MESSAGES/fdroidserver.mo +include locale/tr/LC_MESSAGES/fdroidserver.mo +include locale/uk/LC_MESSAGES/fdroidserver.mo +include locale/zh_Hans/LC_MESSAGES/fdroidserver.mo +include locale/zh_Hant/LC_MESSAGES/fdroidserver.mo include makebuildserver include README.rst include tests/androguard_test.py From 49bd5a6462c8928b913ba445a18e6d276a7451bb Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 18:00:04 +0200 Subject: [PATCH 07/12] use Babel to compile localizations and include in source tarball python3-babel was also included in the gitlab-ci docker image: https://gitlab.com/fdroid/ci-images-server/commit/ffc08dbc1daabfda725de41b712497708213b00e --- .travis.yml | 1 + setup.cfg | 36 +++++++++++++++++++++++++++++++++++- setup.py | 38 +++++++++++++++++++++++--------------- tests/complete-ci-tests | 15 ++++++++++++--- 4 files changed, 71 insertions(+), 19 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9d78587c..3dab550a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,6 +28,7 @@ addons: - dash - pylint - pep8 + - python3-babel - python3-dev - python3-pip - python3-ruamel.yaml diff --git a/setup.cfg b/setup.cfg index 1cca6643..afaf13e2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,37 @@ [aliases] -release = register sdist upload --sign +release = register compile_catalog sdist upload --sign + +# All this below is for Babel config. Ideally we would only use +# Babel, but it is still missing some key features that gettext gives +# us. So for now, this Babel setup is just to make it easy for Python +# people who are used to it. Babel is missing: +# +# * properly tagging various Python formats in the comments +# * --add-location=file +# * --join-existing +# * --sort-output on update +# +# So for now the canonical way to update the template and translation +# files is: `make -C locale` + +[extract_messages] +keywords = _ +charset = UTF-8 +sort_output = true +no_location = true +add-comments = true +output_file = locale/fdroidserver.pot +msgid-bugs-address = https://gitlab.com/fdroid/fdroidserver/issues + +[update_catalog] +output_dir = locale +input_file = locale/fdroidserver.pot + +[init_catalog] +input_file = locale/fdroidserver.pot +output_dir = locale + +[compile_catalog] +domain = fdroidserver +directory = locale diff --git a/setup.py b/setup.py index 4a680536..03638db0 100644 --- a/setup.py +++ b/setup.py @@ -2,14 +2,31 @@ from setuptools import setup import os +import re import shutil import sys -# workaround issue on OSX or --user installs, where sys.prefix is not an installable location -if os.access(sys.prefix, os.W_OK | os.X_OK): - data_prefix = sys.prefix -else: - data_prefix = '.' + +def get_data_files(): + # workaround issue on OSX or --user installs, where sys.prefix is not an installable location + if os.access(sys.prefix, os.W_OK | os.X_OK): + data_prefix = sys.prefix + else: + data_prefix = '.' + + data_files = [] + with open('MANIFEST.in') as fp: + data = fp.read() + + data_files.append((data_prefix + '/share/doc/fdroidserver/examples', + ['buildserver/config.buildserver.py', ] + + re.findall(r'include (examples/.*)', data))) + + for f in re.findall(r'include (locale/[a-z][a-z][a-zA-Z_]*/LC_MESSAGES/fdroidserver.mo)', data): + d = os.path.join(data_prefix, 'share', os.path.dirname(f)) + data_files.append((d, [f, ])) + return data_files + # PyPI accepts reST not Markdown if os.path.exists('README.md'): @@ -37,16 +54,7 @@ setup(name='fdroidserver', license='AGPL-3.0', packages=['fdroidserver', 'fdroidserver.asynchronousfilereader'], scripts=['fdroid', 'fd-commit', 'makebuildserver'], - data_files=[ - (data_prefix + '/share/doc/fdroidserver/examples', - ['buildserver/config.buildserver.py', - 'examples/config.py', - 'examples/fdroid-icon.png', - 'examples/makebuildserver.config.py', - 'examples/opensc-fdroid.cfg', - 'examples/public-read-only-s3-bucket-policy.json', - 'examples/template.yml']), - ], + data_files=get_data_files(), python_requires='>=3.4', install_requires=[ 'clint', diff --git a/tests/complete-ci-tests b/tests/complete-ci-tests index bd7e7366..1959f858 100755 --- a/tests/complete-ci-tests +++ b/tests/complete-ci-tests @@ -63,7 +63,10 @@ fi #------------------------------------------------------------------------------# # test building the source tarball, then installing it cd $WORKSPACE -python3 setup.py sdist +python3 setup.py compile_catalog sdist + +# make sure translation files got compiled and included +tar tzf dist/fdroidserver-*.tar.gz | grep locale/de/LC_MESSAGES/fdroidserver.mo rm -rf $WORKSPACE/env $pyvenv $WORKSPACE/env @@ -72,6 +75,9 @@ $pyvenv $WORKSPACE/env pip3 install --quiet setuptools==33.1.1 pip3 install --quiet dist/fdroidserver-*.tar.gz +# make sure translation files were installed +test -e $WORKSPACE/env/share/locale/de/LC_MESSAGES/fdroidserver.mo + # run tests in new pip+pyvenv install fdroid=$WORKSPACE/env/bin/fdroid $WORKSPACE/tests/run-tests $apksource @@ -83,9 +89,12 @@ rm -rf $WORKSPACE/env $pyvenv $WORKSPACE/env . $WORKSPACE/env/bin/activate # workaround https://github.com/pypa/setuptools/issues/937 -pip3 install --quiet setuptools==33.1.1 +pip3 install --quiet setuptools==33.1.1 Babel pip3 install --quiet -e $WORKSPACE -python3 setup.py install +python3 setup.py compile_catalog install + +# make sure translation files were installed +test -e $WORKSPACE/env/share/locale/de/LC_MESSAGES/fdroidserver.mo # run tests in new pip+pyvenv install fdroid=$WORKSPACE/env/bin/fdroid $WORKSPACE/tests/run-tests $apksource From 35c7c1e8051fb490ce4f11c0401533d04a47269e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 18:02:00 +0200 Subject: [PATCH 08/12] update localization source files with `make -C locale` * `make -C locale` updates all the sources * `make -C locale compile` can compile the binaries, but the preferred way is `python3 setup.py compile_catalog`. --- locale/Makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/Makefile b/locale/Makefile index 3bbd79e7..32096093 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -13,16 +13,16 @@ TEMPLATE = fdroidserver.pot VERSION = $(shell git describe) -# generate .mo files from the .po files -all-local: $(MOFILES) - -clean-local: - -rm -f -- $(MOFILES) - -rm -f -- $(POFILES:=~) - # refresh everything from the source code update: $(POFILES) +# generate .mo files from the .po files +compile: $(MOFILES) + +clean: + -rm -f -- $(MOFILES) + -rm -f -- $(POFILES:=~) + $(TEMPLATE): $(FILES) xgettext --join-existing --from-code=UTF-8 \ --language=Python --keyword=_ \ @@ -40,4 +40,4 @@ $(TEMPLATE): $(FILES) msgfmt --check -o $@ $(@:mo=po) -.PHONY = all-local clean-local template +.PHONY = compile clean update From f227af817f2f75818f7906ea00def828fac9bcf9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 21:07:50 +0200 Subject: [PATCH 09/12] standardize on "build-tools" as the name of that Android SDK component --- fdroidserver/common.py | 2 +- locale/bo/LC_MESSAGES/fdroidserver.po | 2 +- locale/de/LC_MESSAGES/fdroidserver.po | 2 +- locale/es/LC_MESSAGES/fdroidserver.po | 2 +- locale/es_AR/LC_MESSAGES/fdroidserver.po | 2 +- locale/fa/LC_MESSAGES/fdroidserver.po | 2 +- locale/fdroidserver.pot | 2 +- locale/fr/LC_MESSAGES/fdroidserver.po | 2 +- locale/it/LC_MESSAGES/fdroidserver.po | 2 +- locale/kab/LC_MESSAGES/fdroidserver.po | 2 +- locale/nb_NO/LC_MESSAGES/fdroidserver.po | 2 +- locale/pt_BR/LC_MESSAGES/fdroidserver.po | 2 +- locale/pt_PT/LC_MESSAGES/fdroidserver.po | 2 +- locale/tr/LC_MESSAGES/fdroidserver.po | 2 +- locale/uk/LC_MESSAGES/fdroidserver.po | 2 +- locale/zh_Hans/LC_MESSAGES/fdroidserver.po | 2 +- locale/zh_Hant/LC_MESSAGES/fdroidserver.po | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 5f18f3b7..984f4636 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -416,7 +416,7 @@ def ensure_build_tools_exists(thisconfig): versioned_build_tools = os.path.join(build_tools, thisconfig['build_tools']) if not os.path.isdir(versioned_build_tools): raise FDroidException( - _("Android Build Tools path '{path}' does not exist!") + _("Android build-tools path '{path}' does not exist!") .format(path=versioned_build_tools)) diff --git a/locale/bo/LC_MESSAGES/fdroidserver.po b/locale/bo/LC_MESSAGES/fdroidserver.po index 81bf9d6a..fdb82b82 100644 --- a/locale/bo/LC_MESSAGES/fdroidserver.po +++ b/locale/bo/LC_MESSAGES/fdroidserver.po @@ -167,7 +167,7 @@ msgstr "མ་ཟད་བཀོད་སྒྲིག་བྱས་པའི་ #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/de/LC_MESSAGES/fdroidserver.po b/locale/de/LC_MESSAGES/fdroidserver.po index dc14894a..2a9ff3b3 100644 --- a/locale/de/LC_MESSAGES/fdroidserver.po +++ b/locale/de/LC_MESSAGES/fdroidserver.po @@ -168,7 +168,7 @@ msgstr "Auch vor Formatierungsfehler warnen, wie etwa \"rewritemeta -l\"" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/es/LC_MESSAGES/fdroidserver.po b/locale/es/LC_MESSAGES/fdroidserver.po index b76b7e7c..edff5306 100644 --- a/locale/es/LC_MESSAGES/fdroidserver.po +++ b/locale/es/LC_MESSAGES/fdroidserver.po @@ -168,7 +168,7 @@ msgstr "También advierta sobre problemas de formato, como r rewritemeta-l" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/es_AR/LC_MESSAGES/fdroidserver.po b/locale/es_AR/LC_MESSAGES/fdroidserver.po index 31aa8690..d50d3543 100644 --- a/locale/es_AR/LC_MESSAGES/fdroidserver.po +++ b/locale/es_AR/LC_MESSAGES/fdroidserver.po @@ -168,7 +168,7 @@ msgstr "También advertir sobre problemas de formateo, como ser rewritemeta -l" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/fa/LC_MESSAGES/fdroidserver.po b/locale/fa/LC_MESSAGES/fdroidserver.po index 0f1f1a60..7c014626 100644 --- a/locale/fa/LC_MESSAGES/fdroidserver.po +++ b/locale/fa/LC_MESSAGES/fdroidserver.po @@ -161,7 +161,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/fdroidserver.pot b/locale/fdroidserver.pot index fcc7b692..1a0bec5c 100644 --- a/locale/fdroidserver.pot +++ b/locale/fdroidserver.pot @@ -162,7 +162,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/fr/LC_MESSAGES/fdroidserver.po b/locale/fr/LC_MESSAGES/fdroidserver.po index d455a396..a0cab226 100644 --- a/locale/fr/LC_MESSAGES/fdroidserver.po +++ b/locale/fr/LC_MESSAGES/fdroidserver.po @@ -166,7 +166,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/it/LC_MESSAGES/fdroidserver.po b/locale/it/LC_MESSAGES/fdroidserver.po index 0fc67027..f21cf8bb 100644 --- a/locale/it/LC_MESSAGES/fdroidserver.po +++ b/locale/it/LC_MESSAGES/fdroidserver.po @@ -164,7 +164,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/kab/LC_MESSAGES/fdroidserver.po b/locale/kab/LC_MESSAGES/fdroidserver.po index dd82b7d4..82847790 100644 --- a/locale/kab/LC_MESSAGES/fdroidserver.po +++ b/locale/kab/LC_MESSAGES/fdroidserver.po @@ -159,7 +159,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/nb_NO/LC_MESSAGES/fdroidserver.po b/locale/nb_NO/LC_MESSAGES/fdroidserver.po index fdc17af2..434a9b3c 100644 --- a/locale/nb_NO/LC_MESSAGES/fdroidserver.po +++ b/locale/nb_NO/LC_MESSAGES/fdroidserver.po @@ -169,7 +169,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/pt_BR/LC_MESSAGES/fdroidserver.po b/locale/pt_BR/LC_MESSAGES/fdroidserver.po index 1d33ff30..ff33600c 100644 --- a/locale/pt_BR/LC_MESSAGES/fdroidserver.po +++ b/locale/pt_BR/LC_MESSAGES/fdroidserver.po @@ -168,7 +168,7 @@ msgstr "Também avisar sobre problemas de formatação, como rewritemeta -l" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/pt_PT/LC_MESSAGES/fdroidserver.po b/locale/pt_PT/LC_MESSAGES/fdroidserver.po index e338e13a..c670f7fd 100644 --- a/locale/pt_PT/LC_MESSAGES/fdroidserver.po +++ b/locale/pt_PT/LC_MESSAGES/fdroidserver.po @@ -161,7 +161,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/tr/LC_MESSAGES/fdroidserver.po b/locale/tr/LC_MESSAGES/fdroidserver.po index 406524b0..e2fcc4d8 100644 --- a/locale/tr/LC_MESSAGES/fdroidserver.po +++ b/locale/tr/LC_MESSAGES/fdroidserver.po @@ -168,7 +168,7 @@ msgstr "Ayrıca biçimlendirme sorunları hakkında uyar, rewritemeta -l gibi" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/uk/LC_MESSAGES/fdroidserver.po b/locale/uk/LC_MESSAGES/fdroidserver.po index 45d38ca7..66dbf540 100644 --- a/locale/uk/LC_MESSAGES/fdroidserver.po +++ b/locale/uk/LC_MESSAGES/fdroidserver.po @@ -168,7 +168,7 @@ msgstr "Також попередити про проблеми форматув #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/zh_Hans/LC_MESSAGES/fdroidserver.po b/locale/zh_Hans/LC_MESSAGES/fdroidserver.po index 140fcc6d..272b6f81 100644 --- a/locale/zh_Hans/LC_MESSAGES/fdroidserver.po +++ b/locale/zh_Hans/LC_MESSAGES/fdroidserver.po @@ -165,7 +165,7 @@ msgstr "同时提示格式问题,如 rewritemeta -l" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py diff --git a/locale/zh_Hant/LC_MESSAGES/fdroidserver.po b/locale/zh_Hant/LC_MESSAGES/fdroidserver.po index 80f07530..71bade74 100644 --- a/locale/zh_Hant/LC_MESSAGES/fdroidserver.po +++ b/locale/zh_Hant/LC_MESSAGES/fdroidserver.po @@ -165,7 +165,7 @@ msgstr "還要提醒格式化問題,如 rewritemeta -l" #: ../fdroidserver/common.py #, python-brace-format -msgid "Android Build Tools path '{path}' does not exist!" +msgid "Android build-tools path '{path}' does not exist!" msgstr "" #: ../fdroidserver/common.py From 03005530209680c95f54f8f86e60c7c102427b71 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 22:13:52 +0200 Subject: [PATCH 10/12] add some context to some strings that are confusing to translators --- locale/bo/LC_MESSAGES/fdroidserver.po | 94 +++++++++++++------ locale/de/LC_MESSAGES/fdroidserver.po | 98 +++++++++++++------- locale/es/LC_MESSAGES/fdroidserver.po | 96 ++++++++++++++------ locale/es_AR/LC_MESSAGES/fdroidserver.po | 97 ++++++++++++++------ locale/fa/LC_MESSAGES/fdroidserver.po | 71 +++++++++------ locale/fdroidserver.pot | 73 +++++++++------ locale/fr/LC_MESSAGES/fdroidserver.po | 84 +++++++++++------ locale/it/LC_MESSAGES/fdroidserver.po | 71 +++++++++------ locale/kab/LC_MESSAGES/fdroidserver.po | 71 +++++++++------ locale/nb_NO/LC_MESSAGES/fdroidserver.po | 74 +++++++++------ locale/pt_BR/LC_MESSAGES/fdroidserver.po | 100 ++++++++++++++------- locale/pt_PT/LC_MESSAGES/fdroidserver.po | 71 +++++++++------ locale/tr/LC_MESSAGES/fdroidserver.po | 95 ++++++++++++++------ locale/uk/LC_MESSAGES/fdroidserver.po | 95 ++++++++++++++------ locale/zh_Hans/LC_MESSAGES/fdroidserver.po | 94 +++++++++++++------ locale/zh_Hant/LC_MESSAGES/fdroidserver.po | 94 +++++++++++++------ 16 files changed, 928 insertions(+), 450 deletions(-) diff --git a/locale/bo/LC_MESSAGES/fdroidserver.po b/locale/bo/LC_MESSAGES/fdroidserver.po index fdb82b82..54aa7d3c 100644 --- a/locale/bo/LC_MESSAGES/fdroidserver.po +++ b/locale/bo/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-19 20:52+0200\n" +"POT-Creation-Date: 2017-10-19 22:13+0200\n" "PO-Revision-Date: 2017-07-17 18:35+0000\n" "Last-Translator: Lobsang \n" "Language-Team: Tibetan \n" "Language-Team: German \n" "Language-Team: Spanish \n" "Language-Team: Spanish (Argentina) \n" "Language-Team: LANGUAGE \n" @@ -92,6 +92,9 @@ msgstr "" msgid "'sdk_path' not set in 'config.py'!" msgstr "" +#. Translators: "build-tools" is the file name of a package from +#. Google, it is part of the Android SDK. So it probably shouldn't be +#. translated or transliterated. #: ../fdroidserver/common.py #, python-brace-format msgid "'{aapt}' is too old, fdroid requires build-tools-23.0.0 or newer!" @@ -127,9 +130,6 @@ msgstr "" msgid "/issues is missing" msgstr "" -msgid "Add PGP signatures for packages in repo using GnuPG" -msgstr "" - #: ../fdroid msgid "Add PGP signatures using GnuPG for packages in repo" msgstr "" @@ -138,9 +138,6 @@ msgstr "" msgid "Add a new application from its source code" msgstr "" -msgid "Add gpg signatures for packages in repo" -msgstr "" - #: ../fdroidserver/update.py #, python-brace-format msgid "Adding new repo for only {name}" @@ -160,11 +157,6 @@ msgstr "" msgid "Also warn about formatting issues, like rewritemeta -l" msgstr "" -#: ../fdroidserver/common.py -#, python-brace-format -msgid "Android build-tools path '{path}' does not exist!" -msgstr "" - #: ../fdroidserver/common.py #, python-brace-format msgid "Android SDK '{path}' does not have '{dirname}' installed!" @@ -184,6 +176,14 @@ msgstr "" msgid "Android SDK path '{path}' is not a directory!" msgstr "" +#. Translators: "build-tools" is the file name of a package from +#. Google, it is part of the Android SDK. So it probably shouldn't be +#. translated or transliterated. +#: ../fdroidserver/common.py +#, python-brace-format +msgid "Android build-tools path '{path}' does not exist!" +msgstr "" + #: ../fdroidserver/update.py msgid "AndroidManifest.xml has no date" msgstr "" @@ -202,6 +202,7 @@ msgstr "" msgid "Archiving {apkfilename} with invalid signature!" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vname #: ../fdroidserver/lint.py #, python-brace-format msgid "Branch '{branch}' used as commit in build '{versionName}'" @@ -279,9 +280,6 @@ msgstr "" msgid "Clean update - don't uses caches, reprocess all APKs" msgstr "" -msgid "Clean update - don't uses caches, reprocess all apks" -msgstr "" - #: ../fdroidserver/import.py msgid "Comma separated list of categories." msgstr "" @@ -309,10 +307,12 @@ msgstr "" msgid "Could not open apk file for analysis" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/import.py msgid "Couldn't find latest version code" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vname #: ../fdroidserver/import.py msgid "Couldn't find latest version name" msgstr "" @@ -520,10 +520,16 @@ msgid "" "Only allowed in test mode." msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Found \"{path}\" graphic without metadata for app \"{name}\"!" +msgstr "" + #: ../fdroidserver/common.py msgid "Found invalid appids in arguments" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/common.py msgid "Found invalid versionCodes for some apps" msgstr "" @@ -764,6 +770,7 @@ msgstr "" msgid "No such package: %s" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/common.py #, python-brace-format msgid "No such versionCode {versionCode} for app {appid}" @@ -782,6 +789,7 @@ msgstr "" msgid "Nothing to do for {appid}." msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/update.py #, python-brace-format msgid "OBB file has newer versionCode({integer}) than any APK:" @@ -795,6 +803,11 @@ msgstr "" msgid "OBB's packagename does not match a supported APK:" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Only PNG and JPEG are supported for graphics, found: {path}" +msgstr "" + #: ../fdroidserver/checkupdates.py msgid "Only print differences with the Play Store" msgstr "" @@ -908,6 +921,8 @@ msgstr "" msgid "Reading '{config_file}'" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode +#. https://developer.android.com/guide/topics/manifest/manifest-element.html#vname #: ../fdroidserver/common.py #, python-brace-format msgid "" @@ -1081,6 +1096,7 @@ msgid "" "the output already exists." msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/update.py #, python-brace-format msgid "The OBB version code must come after \"{name}.\":" @@ -1139,6 +1155,7 @@ msgstr "" msgid "Unknown exception found!" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vname #: ../fdroidserver/lint.py #, python-brace-format msgid "Unknown file '{filename}' in build '{versionName}'" @@ -1160,6 +1177,11 @@ msgstr "" msgid "Unnecessary trailing space" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "Unsupported graphics file found: {path}" +msgstr "" + #: ../fdroidserver/rewritemeta.py #, python-brace-format msgid "Unsupported metadata format, use: --to [{supported}]" @@ -1257,6 +1279,11 @@ msgstr "" msgid "You can use ANDROID_HOME to set the path to your SDK, i.e.:" msgstr "" +#: ../fdroidserver/update.py +#, python-brace-format +msgid "adding to {name}: {path}" +msgstr "" + #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #, python-format msgid "ambiguous option: %(option)s could match %(matches)s" @@ -1267,18 +1294,6 @@ msgstr "" msgid "ambiguous option: %s (%s?)" msgstr "" -msgid "app-id in the form APPID" -msgstr "" - -msgid "app-id to check for updates" -msgstr "" - -msgid "app-id with optional versionCode in the form APPID[:VERCODE]" -msgstr "" - -msgid "app-id with optional versioncode in the form APPID[:VERCODE]" -msgstr "" - #: ../fdroidserver/lint.py ../fdroidserver/rewritemeta.py msgid "applicationId in the form APPID" msgstr "" @@ -1287,6 +1302,7 @@ msgstr "" msgid "applicationId to check for updates" msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/verify.py ../fdroidserver/publish.py #: ../fdroidserver/dscanner.py ../fdroidserver/build.py #: ../fdroidserver/scanner.py ../fdroidserver/install.py @@ -1591,6 +1607,7 @@ msgstr "" msgid "{appid} does not have a name! Using package name instead." msgstr "" +#. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vname #: ../fdroidserver/lint.py #, python-brace-format msgid "{appid}: Unknown extlib {path} in build '{versionName}'" diff --git a/locale/fr/LC_MESSAGES/fdroidserver.po b/locale/fr/LC_MESSAGES/fdroidserver.po index a0cab226..721fb92f 100644 --- a/locale/fr/LC_MESSAGES/fdroidserver.po +++ b/locale/fr/LC_MESSAGES/fdroidserver.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" -"POT-Creation-Date: 2017-10-19 20:52+0200\n" +"POT-Creation-Date: 2017-10-19 22:13+0200\n" "PO-Revision-Date: 2017-10-17 11:46+0000\n" "Last-Translator: xin \n" "Language-Team: French \n" "Language-Team: Italian \n" "Language-Team: Kabyle \n" "Language-Team: Norwegian Bokmål \n" "Language-Team: Portuguese (Brazil) \n" "Language-Team: Turkish \n" "Language-Team: Ukrainian \n" "Language-Team: Chinese (Simplified) \n" "Language-Team: Chinese (Traditional) Date: Thu, 19 Oct 2017 22:36:19 +0200 Subject: [PATCH 11/12] fix finding translation files when installed --- fdroidserver/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fdroidserver/__init__.py b/fdroidserver/__init__.py index 2e88551a..c3f64721 100644 --- a/fdroidserver/__init__.py +++ b/fdroidserver/__init__.py @@ -8,7 +8,7 @@ import sys # support running straight from git and standard installs rootpaths = [ os.path.realpath(os.path.join(os.path.dirname(__file__), '..')), - sys.prefix + 'share', + os.path.join(sys.prefix, 'share'), ] localedir = None From 4ff50e9099afb1c992eba6abf7eb2a5743a66315 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Oct 2017 22:48:38 +0200 Subject: [PATCH 12/12] fix egg-link and easy_install support for Python3 Wow, this is hacky and weird, but its been there for a long time. I don't know if its even relevant anymore, but is isolated so it shouldn't hurt anything. Plus there is a test for it in tests/complete-ci-tests, so it seems worth fixing. --- fdroidserver/__init__.py | 1 + fdroidserver/init.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fdroidserver/__init__.py b/fdroidserver/__init__.py index c3f64721..bad9cefa 100644 --- a/fdroidserver/__init__.py +++ b/fdroidserver/__init__.py @@ -8,6 +8,7 @@ import sys # support running straight from git and standard installs rootpaths = [ os.path.realpath(os.path.join(os.path.dirname(__file__), '..')), + os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', 'share')), os.path.join(sys.prefix, 'share'), ] diff --git a/fdroidserver/init.py b/fdroidserver/init.py index 3aa0b61a..36c2bf44 100644 --- a/fdroidserver/init.py +++ b/fdroidserver/init.py @@ -69,10 +69,11 @@ def main(): tmp = os.path.dirname(sys.argv[0]) examplesdir = None if os.path.basename(tmp) == 'bin': - egg_link = os.path.join(tmp, '..', 'local/lib/python2.7/site-packages/fdroidserver.egg-link') - if os.path.exists(egg_link): + egg_links = glob.glob(os.path.join(tmp, '..', + 'local/lib/python3.*/site-packages/fdroidserver.egg-link')) + if egg_links: # installed from local git repo - examplesdir = os.path.join(open(egg_link).readline().rstrip(), 'examples') + examplesdir = os.path.join(open(egg_links[0]).readline().rstrip(), 'examples') else: # try .egg layout examplesdir = os.path.dirname(os.path.dirname(__file__)) + '/share/doc/fdroidserver/examples'