[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#960885: marked as done (buster-pu: package fdroidserver_1.1.7-1~deb10u1)



Your message dated Sat, 01 Aug 2020 12:51:28 +0100
with message-id <43535efb498a168cf81452ca0c326f004f46adc6.camel@adam-barratt.org.uk>
and subject line Closing bugs for fixes included in 10.5 point release
has caused the Debian Bug report #960885,
regarding buster-pu: package fdroidserver_1.1.7-1~deb10u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
960885: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960885
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu

Hi release team,

This is a stable upstream release targeted for Debian/buster.  It fixes
some key usability bugs.  I'm part of upstream, and we did
our Debian/buster bug fix work in our stable 1.1.x branch, so the
changes are mostly in the upstream source tarball.  There were also a
series of uploads to troubleshoot an issue with binfmt_misc on
ci.debian.net.  Most of the debdiff is the README being properly
included in the python egg-info.

We worked out this plan to keep fdroidserver update in buster in the
previous release.debian.org bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935809

This package has an extensive autopkgtest suite.  The debian/changelog
mostly shows fixes to the test runs:

fdroidserver (1.1.7-1~deb10u1) buster; urgency=medium

  * New upstream release targeted for Debian/buster (Closes: #954070)
  * Remove "Recommends" test, ci.debian.net do not support binfmt_misc:
    https://salsa.debian.org/ci-team/debian-ci-config/-/issues/1

 -- Hans-Christoph Steiner <hans@eds.org>  Sat, 16 May 2020 22:15:14 +0200

fdroidserver (1.1.6-4) unstable; urgency=medium

  * fix running Recommends: test in containers

 -- Hans-Christoph Steiner <hans@eds.org>  Wed, 13 May 2020 20:13:06 +0200

fdroidserver (1.1.6-3) unstable; urgency=medium

  * only run Recommends: test in VM, not base test

 -- Hans-Christoph Steiner <hans@eds.org>  Tue, 12 May 2020 11:57:26 +0200

fdroidserver (1.1.6-2) unstable; urgency=medium

  * fix autopkgtest: run in VM so binfmt can be properly setup (Closes:
#954395)

 -- Hans-Christoph Steiner <hans@eds.org>  Mon, 11 May 2020 21:55:14 +0200

fdroidserver (1.1.6-1) unstable; urgency=medium

  * New upstream release targeted for Debian/buster

 -- Hans-Christoph Steiner <hans@eds.org>  Tue, 17 Dec 2019 14:54:02 +0100




diff --git a/PKG-INFO b/PKG-INFO
index 63697869..ac4ea350 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,121 @@
 Metadata-Version: 2.1
 Name: fdroidserver
-Version: 1.1.4
+Version: 1.1.7
 Summary: F-Droid Server Tools
 Home-page: https://f-droid.org
 Author: The F-Droid Project
 Author-email: team@f-droid.org
 License: AGPL-3.0
-Description: README.md
+Description: <a name="build-status"></a>
+        
+        | CI Builds                |  fdroidserver | buildserver | fdroid build --all | publishing tools |
+        |--------------------------|:-------------:|:-----------:|:------------------:|:----------------:|
+        | Debian                   | [![fdroidserver status on Debian](https://gitlab.com/fdroid/fdroidserver/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidserver/builds) | [![buildserver status](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment/badge/icon)](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment) | [![fdroid build all status](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/) | [![fdroid test status](https://jenkins.debian.net/job/reproducible_fdroid_test/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_test/) |
+        | macOS & Ubuntu/trusty    | [![fdroidserver status on macOS & Ubuntu/LTS](https://travis-ci.org/fdroidtravis/fdroidserver.svg?branch=master)](https://travis-ci.org/fdroidtravis/fdroidserver) | | | |
+        
+        
+        # F-Droid Server
+        
+        Server for [F-Droid](https://f-droid.org), the Free Software repository system
+        for Android.
+        
+        The F-Droid server tools provide various scripts and tools that are
+        used to maintain the main
+        [F-Droid application repository](https://f-droid.org/packages).  You
+        can use these same tools to create your own additional or alternative
+        repository for publishing, or to assist in creating, testing and
+        submitting metadata to the main repository.
+        
+        For documentation, please see <https://f-droid.org/docs/>, or you can
+        find the source for the documentation in
+        [fdroid/fdroid-website](https://gitlab.com/fdroid/fdroid-website).
+        
+        
+        ### What is F-Droid?
+        
+        F-Droid is an installable catalogue of FOSS (Free and Open Source Software)
+        applications for the Android platform. The client makes it easy to browse,
+        install, and keep track of updates on your device.
+        
+        
+        ### Installing
+        
+        There are many ways to install _fdroidserver_, they are documented on
+        the website:
+        https://f-droid.org/docs/Installing_the_Server_and_Repo_Tools
+        
+        All sorts of other documentation lives there as well.
+        
+        
+        ### Tests
+        
+        There are many components to all of the tests for the components in
+        this git repo.  The most commonly used parts of well tested, while
+        some parts still lack tests.  This test suite has built over time a
+        bit haphazardly, so it is not as clean, organized, or complete as it
+        could be.  We welcome contributions.  Before rearchitecting any parts
+        of it, be sure to [contact us](https://f-droid.org/about) to discuss
+        the changes beforehand.
+        
+        
+        #### `fdroid` commands
+        
+        The test suite for all of the `fdroid` commands is in the _tests/_
+        subdir.  _.gitlab-ci.yml_ and _.travis.yml_ run this test suite on
+        various configurations.
+        
+        * _tests/complete-ci-tests_ runs _pylint_ and all tests on two
+          different pyvenvs
+        * _tests/run-tests_ runs the whole test suite
+        * _tests/*.TestCase_ are individual unit tests for all of the `fdroid`
+          commands, which can be run separately, e.g. `./update.TestCase`.
+        
+        
+        #### Additional tests for different linux distributions
+        
+        These tests are also run on various distributions through GitLab CI. This is
+        only enabled for `master@fdroid/fdroidserver` because it'll take longer to
+        complete than the regular CI tests.  Most of the time you won't need to worry
+        about them but sometimes it might make sense to also run them for your merge
+        request. In that case you need to remove [these lines from
+        .gitlab-ci.yml](https://gitlab.com/fdroid/fdroidserver/blob/master/.gitlab-ci.yml#L34-35)
+        and push this to a new branch of your fork.
+        
+        Alternatively [run them
+        locally](https://docs.gitlab.com/runner/commands/README.html#gitlab-runner-exec)
+        like this: `gitlab-runner exec docker ubuntu_lts`
+        
+        #### buildserver
+        
+        The tests for the whole build server setup are entirely separate
+        because they require at least 200GB of disk space, and 8GB of
+        RAM. These test scripts are in the root of the project, all starting
+        with _jenkins-_ since they are run on https://jenkins.debian.net.
+        
+        
+        
+        ### Drozer Scanner
+        
+        There is a new feature under development that can scan any APK in a
+        repo, or any build, using Drozer.  Drozer is a dynamic exploit
+        scanner, it runs an app in the emulator and runs known exploits on it.
+        
+        This setup requires specific versions of two Python modules:
+        _docker-py_ 1.9.0 and _requests_ older than 2.11.  Other versions
+        might cause the docker-py connection to break with the containers.
+        Newer versions of docker-py might have this fixed already.
+        
+        For Debian based distributions:
+        
+        	apt-get install libffi-dev libssl-dev python-docker
+        
+        ## Translation
+        
+        Everything can be translated.  See
+        [Translation and Localization](https://f-droid.org/docs/Translation_and_Localization)
+        for more info.
+        [![translation status](https://hosted.weblate.org/widgets/f-droid/-/fdroidserver/multi-auto.svg)](https://hosted.weblate.org/engage/f-droid/?utm_source=widget)
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Developers
diff --git a/debian/changelog b/debian/changelog
index 773e4c47..f8c70f46 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,41 @@
-fdroidserver (1.1.4-1~deb10u1) buster; urgency=medium
+fdroidserver (1.1.7-1~deb10u1) buster; urgency=medium
+
+  * New upstream release targeted for Debian/buster (Closes: #954070)
+  * Remove "Recommends" test, ci.debian.net do not support binfmt_misc:
+    https://salsa.debian.org/ci-team/debian-ci-config/-/issues/1
+
+ -- Hans-Christoph Steiner <hans@eds.org>  Sat, 16 May 2020 22:15:14 +0200
+
+fdroidserver (1.1.6-4) unstable; urgency=medium
+
+  * fix running Recommends: test in containers
+
+ -- Hans-Christoph Steiner <hans@eds.org>  Wed, 13 May 2020 20:13:06 +0200
+
+fdroidserver (1.1.6-3) unstable; urgency=medium
+
+  * only run Recommends: test in VM, not base test
+
+ -- Hans-Christoph Steiner <hans@eds.org>  Tue, 12 May 2020 11:57:26 +0200
+
+fdroidserver (1.1.6-2) unstable; urgency=medium
+
+  * fix autopkgtest: run in VM so binfmt can be properly setup (Closes: #954395)
+
+ -- Hans-Christoph Steiner <hans@eds.org>  Mon, 11 May 2020 21:55:14 +0200
+
+fdroidserver (1.1.6-1) unstable; urgency=medium
+
+  * New upstream release targeted for Debian/buster
+
+ -- Hans-Christoph Steiner <hans@eds.org>  Tue, 17 Dec 2019 14:54:02 +0100
+
+fdroidserver (1.1.4-1) unstable; urgency=medium
 
   * New upstream release targeted for Debian/buster
   * remove upstreamed patches
 
- -- Hans-Christoph Steiner <hans@eds.org>  Mon, 26 Aug 2019 14:48:22 +0200
+ -- Hans-Christoph Steiner <hans@eds.org>  Thu, 15 Aug 2019 10:49:30 +0200
 
 fdroidserver (1.1.3-3) unstable; urgency=medium
 
diff --git a/debian/tests/control b/debian/tests/control
index 8d282af8..737e057b 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,7 +1,3 @@
 Restrictions: isolation-container, allow-stderr
 Test-Command: echo Depends; export LANG=C.UTF-8 ANDROID_HOME=/usr/lib/android-sdk TRAVIS_OS_NAME=osx; fdroid=/usr/bin/fdroid ./tests/run-tests
 Depends: @, aapt, python3-setuptools, git, zipalign,
-
-Restrictions: isolation-container, needs-recommends, allow-stderr
-Test-Command: echo Recommends; export LANG=C.UTF-8 ANDROID_HOME=/usr/lib/android-sdk TRAVIS_OS_NAME=osx; fdroid=/usr/bin/fdroid ./tests/run-tests
-Depends: @, python3-setuptools,
diff --git a/fdroidserver.egg-info/PKG-INFO b/fdroidserver.egg-info/PKG-INFO
index 63697869..ac4ea350 100644
--- a/fdroidserver.egg-info/PKG-INFO
+++ b/fdroidserver.egg-info/PKG-INFO
@@ -1,12 +1,121 @@
 Metadata-Version: 2.1
 Name: fdroidserver
-Version: 1.1.4
+Version: 1.1.7
 Summary: F-Droid Server Tools
 Home-page: https://f-droid.org
 Author: The F-Droid Project
 Author-email: team@f-droid.org
 License: AGPL-3.0
-Description: README.md
+Description: <a name="build-status"></a>
+        
+        | CI Builds                |  fdroidserver | buildserver | fdroid build --all | publishing tools |
+        |--------------------------|:-------------:|:-----------:|:------------------:|:----------------:|
+        | Debian                   | [![fdroidserver status on Debian](https://gitlab.com/fdroid/fdroidserver/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidserver/builds) | [![buildserver status](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment/badge/icon)](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment) | [![fdroid build all status](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/) | [![fdroid test status](https://jenkins.debian.net/job/reproducible_fdroid_test/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_test/) |
+        | macOS & Ubuntu/trusty    | [![fdroidserver status on macOS & Ubuntu/LTS](https://travis-ci.org/fdroidtravis/fdroidserver.svg?branch=master)](https://travis-ci.org/fdroidtravis/fdroidserver) | | | |
+        
+        
+        # F-Droid Server
+        
+        Server for [F-Droid](https://f-droid.org), the Free Software repository system
+        for Android.
+        
+        The F-Droid server tools provide various scripts and tools that are
+        used to maintain the main
+        [F-Droid application repository](https://f-droid.org/packages).  You
+        can use these same tools to create your own additional or alternative
+        repository for publishing, or to assist in creating, testing and
+        submitting metadata to the main repository.
+        
+        For documentation, please see <https://f-droid.org/docs/>, or you can
+        find the source for the documentation in
+        [fdroid/fdroid-website](https://gitlab.com/fdroid/fdroid-website).
+        
+        
+        ### What is F-Droid?
+        
+        F-Droid is an installable catalogue of FOSS (Free and Open Source Software)
+        applications for the Android platform. The client makes it easy to browse,
+        install, and keep track of updates on your device.
+        
+        
+        ### Installing
+        
+        There are many ways to install _fdroidserver_, they are documented on
+        the website:
+        https://f-droid.org/docs/Installing_the_Server_and_Repo_Tools
+        
+        All sorts of other documentation lives there as well.
+        
+        
+        ### Tests
+        
+        There are many components to all of the tests for the components in
+        this git repo.  The most commonly used parts of well tested, while
+        some parts still lack tests.  This test suite has built over time a
+        bit haphazardly, so it is not as clean, organized, or complete as it
+        could be.  We welcome contributions.  Before rearchitecting any parts
+        of it, be sure to [contact us](https://f-droid.org/about) to discuss
+        the changes beforehand.
+        
+        
+        #### `fdroid` commands
+        
+        The test suite for all of the `fdroid` commands is in the _tests/_
+        subdir.  _.gitlab-ci.yml_ and _.travis.yml_ run this test suite on
+        various configurations.
+        
+        * _tests/complete-ci-tests_ runs _pylint_ and all tests on two
+          different pyvenvs
+        * _tests/run-tests_ runs the whole test suite
+        * _tests/*.TestCase_ are individual unit tests for all of the `fdroid`
+          commands, which can be run separately, e.g. `./update.TestCase`.
+        
+        
+        #### Additional tests for different linux distributions
+        
+        These tests are also run on various distributions through GitLab CI. This is
+        only enabled for `master@fdroid/fdroidserver` because it'll take longer to
+        complete than the regular CI tests.  Most of the time you won't need to worry
+        about them but sometimes it might make sense to also run them for your merge
+        request. In that case you need to remove [these lines from
+        .gitlab-ci.yml](https://gitlab.com/fdroid/fdroidserver/blob/master/.gitlab-ci.yml#L34-35)
+        and push this to a new branch of your fork.
+        
+        Alternatively [run them
+        locally](https://docs.gitlab.com/runner/commands/README.html#gitlab-runner-exec)
+        like this: `gitlab-runner exec docker ubuntu_lts`
+        
+        #### buildserver
+        
+        The tests for the whole build server setup are entirely separate
+        because they require at least 200GB of disk space, and 8GB of
+        RAM. These test scripts are in the root of the project, all starting
+        with _jenkins-_ since they are run on https://jenkins.debian.net.
+        
+        
+        
+        ### Drozer Scanner
+        
+        There is a new feature under development that can scan any APK in a
+        repo, or any build, using Drozer.  Drozer is a dynamic exploit
+        scanner, it runs an app in the emulator and runs known exploits on it.
+        
+        This setup requires specific versions of two Python modules:
+        _docker-py_ 1.9.0 and _requests_ older than 2.11.  Other versions
+        might cause the docker-py connection to break with the containers.
+        Newer versions of docker-py might have this fixed already.
+        
+        For Debian based distributions:
+        
+        	apt-get install libffi-dev libssl-dev python-docker
+        
+        ## Translation
+        
+        Everything can be translated.  See
+        [Translation and Localization](https://f-droid.org/docs/Translation_and_Localization)
+        for more info.
+        [![translation status](https://hosted.weblate.org/widgets/f-droid/-/fdroidserver/multi-auto.svg)](https://hosted.weblate.org/engage/f-droid/?utm_source=widget)
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Developers
diff --git a/fdroidserver.egg-info/requires.txt b/fdroidserver.egg-info/requires.txt
index dd403933..e5ccbafc 100644
--- a/fdroidserver.egg-info/requires.txt
+++ b/fdroidserver.egg-info/requires.txt
@@ -13,4 +13,4 @@ pyasn1<0.5.0,>=0.4.1
 python-vagrant
 qrcode
 requests!=2.11.0,!=2.12.2,!=2.18.0,>=2.5.2
-ruamel.yaml>=0.13
+ruamel.yaml>=0.15
diff --git a/fdroidserver/index.py b/fdroidserver/index.py
index 7fbbea44..fd659407 100644
--- a/fdroidserver/index.py
+++ b/fdroidserver/index.py
@@ -317,13 +317,17 @@ def make_v0(apps, apks, repodir, repodict, requestsdict, fdroid_signing_key_fing
         parent.appendChild(el)
 
     def addElementCheckLocalized(name, app, key, doc, parent, default=''):
-        '''Fill in field from metadata or localized block
+        """Fill in field from metadata or localized block
 
         For name/summary/description, they can come only from the app source,
         or from a dir in fdroiddata.  They can be entirely missing from the
         metadata file if there is localized versions.  This will fetch those
         from the localized version if its not available in the metadata file.
-        '''
+
+        Attributes should be alpha-sorted, so they must be added in
+        alpha- sort order.
+
+        """
 
         el = doc.createElement(name)
         value = app.get(key)
@@ -349,21 +353,20 @@ def make_v0(apps, apks, repodir, repodict, requestsdict, fdroid_signing_key_fing
     doc.appendChild(root)
 
     repoel = doc.createElement("repo")
-
-    repoel.setAttribute("name", repodict['name'])
+    repoel.setAttribute("icon", os.path.basename(repodict['icon']))
     if 'maxage' in repodict:
         repoel.setAttribute("maxage", str(repodict['maxage']))
-    repoel.setAttribute("icon", os.path.basename(repodict['icon']))
+    repoel.setAttribute("name", repodict['name'])
+    pubkey, repo_pubkey_fingerprint = extract_pubkey()
+    repoel.setAttribute("pubkey", pubkey.decode('utf-8'))
+    repoel.setAttribute("timestamp", '%d' % repodict['timestamp'].timestamp())
     repoel.setAttribute("url", repodict['address'])
+    repoel.setAttribute("version", str(repodict['version']))
+
     addElement('description', repodict['description'], doc, repoel)
     for mirror in repodict.get('mirrors', []):
         addElement('mirror', mirror, doc, repoel)
 
-    repoel.setAttribute("version", str(repodict['version']))
-    repoel.setAttribute("timestamp", '%d' % repodict['timestamp'].timestamp())
-
-    pubkey, repo_pubkey_fingerprint = extract_pubkey()
-    repoel.setAttribute("pubkey", pubkey.decode('utf-8'))
     root.appendChild(repoel)
 
     for command in ('install', 'uninstall'):
@@ -541,16 +544,16 @@ def make_v0(apps, apks, repodir, repodict, requestsdict, fdroid_signing_key_fing
 
                 for permission in sorted_permissions:
                     permel = doc.createElement('uses-permission')
-                    permel.setAttribute('name', permission[0])
                     if permission[1] is not None:
                         permel.setAttribute('maxSdkVersion', '%d' % permission[1])
                         apkel.appendChild(permel)
+                    permel.setAttribute('name', permission[0])
                 for permission_sdk_23 in sorted(apk['uses-permission-sdk-23']):
                     permel = doc.createElement('uses-permission-sdk-23')
-                    permel.setAttribute('name', permission_sdk_23[0])
                     if permission_sdk_23[1] is not None:
                         permel.setAttribute('maxSdkVersion', '%d' % permission_sdk_23[1])
                         apkel.appendChild(permel)
+                    permel.setAttribute('name', permission_sdk_23[0])
                 if 'nativecode' in apk:
                     addElement('nativecode', ','.join(sorted(apk['nativecode'])), doc, apkel)
                 addElementNonEmpty('features', ','.join(sorted(apk['features'])), doc, apkel)
diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py
index d8ed98b9..e8bde005 100644
--- a/fdroidserver/metadata.py
+++ b/fdroidserver/metadata.py
@@ -457,7 +457,7 @@ valuetypes = {
                    ["Bitcoin"]),
 
     FieldValidator("Litecoin address",
-                   r'^L[a-zA-Z0-9]{33}$',
+                   r'^[LM3][a-km-zA-HJ-NP-Z1-9]{26,33}$',
                    ["Litecoin"]),
 
     FieldValidator("Repo Type",
diff --git a/fdroidserver/nightly.py b/fdroidserver/nightly.py
index 7a90294d..b67a4097 100644
--- a/fdroidserver/nightly.py
+++ b/fdroidserver/nightly.py
@@ -102,7 +102,7 @@ def main():
                         help=_('The file to be included in the repo (path or glob)'))
     parser.add_argument("--no-checksum", action="store_true", default=False,
                         help=_("Don't use rsync checksums"))
-    parser.add_argument("--archive-older", default=20,
+    parser.add_argument("--archive-older", type=int, default=20,
                         help=_("Set maximum releases in repo before older ones are archived"))
     # TODO add --with-btlog
     options = parser.parse_args()
@@ -232,9 +232,11 @@ Last updated: {date}'''.format(repo_git_base=repo_git_base,
         config += "repo_name = '%s'\n" % repo_git_base
         config += "repo_url = '%s'\n" % repo_url
         config += "repo_icon = 'icon.png'\n"
+        config += "repo_description = 'Nightly builds from %s'\n" % git_user_email
         config += "archive_name = '%s'\n" % (repo_git_base + ' archive')
         config += "archive_url = '%s'\n" % (repo_base + '/archive')
         config += "archive_icon = 'icon.png'\n"
+        config += "archive_description = 'Old nightly builds that have been archived.'\n"
         config += "archive_older = %i\n" % options.archive_older
         config += "servergitmirrors = '%s'\n" % servergitmirror
         config += "keystore = '%s'\n" % KEYSTORE_FILE
diff --git a/setup.py b/setup.py
index 61b4e6e1..2ffcc1fd 100755
--- a/setup.py
+++ b/setup.py
@@ -49,10 +49,14 @@ def get_data_files():
     return data_files
 
 
+with open("README.md", "r") as fh:
+    long_description = fh.read()
+
+
 setup(name='fdroidserver',
-      version='1.1.4',
+      version='1.1.7',
       description='F-Droid Server Tools',
-      long_description='README.md',
+      long_description=long_description,
       long_description_content_type='text/markdown',
       author='The F-Droid Project',
       author_email='team@f-droid.org',
@@ -80,7 +84,7 @@ setup(name='fdroidserver',
           'python-vagrant',
           'PyYAML',
           'qrcode',
-          'ruamel.yaml >= 0.13',
+          'ruamel.yaml >= 0.15',
           'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0',
           'docker-py >= 1.9, < 2.0',
       ],
diff --git a/tests/metadata.TestCase b/tests/metadata.TestCase
index dc786095..d7b72f71 100755
--- a/tests/metadata.TestCase
+++ b/tests/metadata.TestCase
@@ -39,7 +39,7 @@ class MetadataTest(unittest.TestCase):
             os.makedirs(self.tmpdir)
         os.chdir(self.basedir)
 
-    def test_FieldValidator(self):
+    def test_FieldValidator_BitcoinAddress(self):
         validator = None
         for vali in fdroidserver.metadata.valuetypes:
             if vali.name == 'Bitcoin address':
@@ -54,9 +54,9 @@ class MetadataTest(unittest.TestCase):
         self.assertIsNone(validator.check('3JrrrrWrEZr3rNrrvrecrnyirrnqRhWNLy', 'fake.app.id'))
         self.assertIsNone(validator.check('bc1qar0srrr7xrkvr5lr43lrdnwrre5rgtrzrf5rrq', 'fake.app.id'))
 
-        # some invalid addresses (various special use/testnet addresses)
+        # some invalid addresses
         self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
-                          '21BvMrSYsrWrtrrrn5Au4m4GFr7rrarrN2', 'fake.app.id')
+                          '21BvMrSYsrWrtrrlL5A10mlGFr7rrarrN2', 'fake.app.id')
         self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
                           '5Hrgr3ur5rGLrfKrrrrrrHSrqJrroGrrzrQrrrrrrLNrsrDrrrA', 'fake.app.id')
         self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
@@ -68,6 +68,35 @@ class MetadataTest(unittest.TestCase):
         self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
                           'tb1qw5r8drrejxrrg4y5rrrrrraryrrrrwrkxrjrsx', 'fake.app.id')
 
+    def test_FieldValidator_LitecoinAddress(self):
+        validator = None
+        for vali in fdroidserver.metadata.valuetypes:
+            if vali.name == 'Litecoin address':
+                validator = vali
+                break
+        self.assertIsNotNone(validator, "could not find 'Litecoin address' validator")
+
+        fdroidserver.metadata.warnings_action = 'error'
+
+        # some valid addresses (L, M, 3)
+        self.assertIsNone(validator.check('LgeGrrrrJAxyXprrPrrBrrX5Qrrrrrrrrd', 'fake.app.id'))
+        self.assertIsNone(validator.check('MrrrrrrrJAxyXpanPtrrRAX5QHxvUJo8id', 'fake.app.id'))
+        self.assertIsNone(validator.check('3rereVr9rAryrranrrrrrAXrrHx', 'fake.app.id'))
+
+        # some invalid addresses (various special use/testnet addresses, invalid chars)
+        self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
+                          '21BvMrSYsrWrtrrrn5Au4l4GFr7rrarrN2', 'fake.app.id')
+        self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
+                          '5Hrgr3ur5rGLrfKrrrrrr1SrqJrroGrrzrQrrrrrrLNrsrDrrrA', 'fake.app.id')
+        self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
+                          '92rr46rUrgTrrromrVrirW6r1rrrdrerrdbJrrrhrCsYrrrrrrc', 'fake.app.id')
+        self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
+                          'K1BvMrSYsrWrtrrrn5Au4m4GFr7rrarrN2', 'fake.app.id')
+        self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
+                          'L0000rSYsrWrtrrrn5Au4m4GFr7rrarrN2', 'fake.app.id')
+        self.assertRaises(fdroidserver.exception.MetaDataException, validator.check,
+                          'tb1qw5r8drrejxrrg4y5rrrrrraryrrrrwrkxrjrsx', 'fake.app.id')
+
     def test_read_metadata(self):
 
         def _build_yaml_representer(dumper, data):

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 10.5

Hi,

Each of these bugs relates to an update that was included in today's
stable point release.

Regards,

Adam

--- End Message ---

Reply to: