mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-06-03 06:10:10 +02:00
Merge branch 'python3.12' into 'master'
Add support for Python 3.12 See merge request fdroid/fdroidserver!1403
This commit is contained in:
commit
c4424a5e1a
|
@ -57,7 +57,7 @@ import defusedxml.ElementTree as XMLElementTree
|
||||||
from base64 import urlsafe_b64encode
|
from base64 import urlsafe_b64encode
|
||||||
from binascii import hexlify
|
from binascii import hexlify
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
from distutils.version import LooseVersion
|
from packaging.version import Version
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
|
|
||||||
|
@ -656,7 +656,7 @@ def find_apksigner(config):
|
||||||
if not os.path.isdir(os.path.join(build_tools_path, f)):
|
if not os.path.isdir(os.path.join(build_tools_path, f)):
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
if LooseVersion(f) < LooseVersion(MINIMUM_APKSIGNER_BUILD_TOOLS_VERSION):
|
if Version(f) < Version(MINIMUM_APKSIGNER_BUILD_TOOLS_VERSION):
|
||||||
logging.debug("Local Android SDK only has outdated apksigner versions")
|
logging.debug("Local Android SDK only has outdated apksigner versions")
|
||||||
return
|
return
|
||||||
except TypeError:
|
except TypeError:
|
||||||
|
@ -717,9 +717,9 @@ def test_aapt_version(aapt):
|
||||||
# the Debian package has the version string like "v0.2-23.0.2"
|
# the Debian package has the version string like "v0.2-23.0.2"
|
||||||
too_old = False
|
too_old = False
|
||||||
if '.' in bugfix:
|
if '.' in bugfix:
|
||||||
if LooseVersion(bugfix) < LooseVersion(MINIMUM_AAPT_BUILD_TOOLS_VERSION):
|
if Version(bugfix) < Version(MINIMUM_AAPT_BUILD_TOOLS_VERSION):
|
||||||
too_old = True
|
too_old = True
|
||||||
elif LooseVersion('.'.join((major, minor, bugfix))) < LooseVersion('0.2.4062713'):
|
elif Version('.'.join((major, minor, bugfix))) < Version('0.2.4062713'):
|
||||||
too_old = True
|
too_old = True
|
||||||
if too_old:
|
if too_old:
|
||||||
logging.warning(_("'{aapt}' is too old, fdroid requires build-tools-{version} or newer!")
|
logging.warning(_("'{aapt}' is too old, fdroid requires build-tools-{version} or newer!")
|
||||||
|
|
1
setup.py
1
setup.py
|
@ -98,6 +98,7 @@ setup(
|
||||||
'paramiko',
|
'paramiko',
|
||||||
'Pillow',
|
'Pillow',
|
||||||
'apache-libcloud >= 0.14.1',
|
'apache-libcloud >= 0.14.1',
|
||||||
|
'packaging',
|
||||||
'pyasn1 >=0.4.1, < 0.5.0',
|
'pyasn1 >=0.4.1, < 0.5.0',
|
||||||
'pyasn1-modules >= 0.2.1, < 0.3',
|
'pyasn1-modules >= 0.2.1, < 0.3',
|
||||||
'python-vagrant',
|
'python-vagrant',
|
||||||
|
|
|
@ -21,7 +21,7 @@ import unittest
|
||||||
import textwrap
|
import textwrap
|
||||||
import yaml
|
import yaml
|
||||||
import gzip
|
import gzip
|
||||||
from distutils.version import LooseVersion
|
from packaging.version import Version
|
||||||
from zipfile import BadZipFile, ZipFile
|
from zipfile import BadZipFile, ZipFile
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
@ -852,9 +852,9 @@ class CommonTest(unittest.TestCase):
|
||||||
v = bt.split('/')[-2]
|
v = bt.split('/')[-2]
|
||||||
if v == 'debian':
|
if v == 'debian':
|
||||||
continue
|
continue
|
||||||
if LooseVersion(version) < LooseVersion(v):
|
if Version(version) < Version(v):
|
||||||
version = v
|
version = v
|
||||||
if LooseVersion(version) < LooseVersion(min_version):
|
if Version(version) < Version(min_version):
|
||||||
self.skipTest('SKIPPING since build-tools %s or higher is required!' % min_version)
|
self.skipTest('SKIPPING since build-tools %s or higher is required!' % min_version)
|
||||||
fdroidserver.common.config = {'sdk_path': android_home}
|
fdroidserver.common.config = {'sdk_path': android_home}
|
||||||
with mock.patch.dict(os.environ, clear=True):
|
with mock.patch.dict(os.environ, clear=True):
|
||||||
|
@ -2374,10 +2374,10 @@ class CommonTest(unittest.TestCase):
|
||||||
import sdkmanager
|
import sdkmanager
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
|
|
||||||
sdkmanager_version = LooseVersion(
|
sdkmanager_version = Version(
|
||||||
pkg_resources.get_distribution('sdkmanager').version
|
pkg_resources.get_distribution('sdkmanager').version
|
||||||
)
|
)
|
||||||
if sdkmanager_version < LooseVersion('0.6.4'):
|
if sdkmanager_version < Version('0.6.4'):
|
||||||
raise unittest.SkipTest('needs fdroid sdkmanager >= 0.6.4')
|
raise unittest.SkipTest('needs fdroid sdkmanager >= 0.6.4')
|
||||||
|
|
||||||
fdroidserver.common.config = {'sdk_path': 'placeholder'}
|
fdroidserver.common.config = {'sdk_path': 'placeholder'}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import requests
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
from colorama import Fore, Style
|
from colorama import Fore, Style
|
||||||
from distutils.version import LooseVersion
|
from packaging.version import Version
|
||||||
|
|
||||||
|
|
||||||
checksums = None
|
checksums = None
|
||||||
|
@ -52,7 +52,7 @@ for url, checksum in config['CACHE_FILES']:
|
||||||
# error if makebuildserver is missing the latest version
|
# error if makebuildserver is missing the latest version
|
||||||
for version in sorted(versions.keys()):
|
for version in sorted(versions.keys()):
|
||||||
if version not in makebuildserver_versions \
|
if version not in makebuildserver_versions \
|
||||||
and LooseVersion(version) > LooseVersion(sorted(makebuildserver_versions)[-1]):
|
and Version(version) > Version(sorted(makebuildserver_versions)[-1]):
|
||||||
add_before = """ ('https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin',"""
|
add_before = """ ('https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin',"""
|
||||||
new = to_compile.replace(
|
new = to_compile.replace(
|
||||||
add_before,
|
add_before,
|
||||||
|
@ -78,14 +78,14 @@ for m in get_sha_pat.finditer(gradlew_fdroid):
|
||||||
+ Style.RESET_ALL)
|
+ Style.RESET_ALL)
|
||||||
errors += 1
|
errors += 1
|
||||||
new = ''
|
new = ''
|
||||||
for version in sorted(versions.keys(), key=LooseVersion):
|
for version in sorted(versions.keys(), key=Version):
|
||||||
sha256 = versions[version]
|
sha256 = versions[version]
|
||||||
spaces = ''
|
spaces = ''
|
||||||
for i in range(6 - len(version)):
|
for i in range(6 - len(version)):
|
||||||
spaces += ' '
|
spaces += ' '
|
||||||
new += """ '%s')%s echo '%s' ;;\n""" % (version, spaces, sha256)
|
new += """ '%s')%s echo '%s' ;;\n""" % (version, spaces, sha256)
|
||||||
gradlew_fdroid = gradlew_fdroid.replace(current, new)
|
gradlew_fdroid = gradlew_fdroid.replace(current, new)
|
||||||
plugin_v = ' '.join(sorted(versions.keys(), key=LooseVersion, reverse=True))
|
plugin_v = ' '.join(sorted(versions.keys(), key=Version, reverse=True))
|
||||||
plugin_v_pat = re.compile(r'\nplugin_v=\(([0-9. ]+)\)')
|
plugin_v_pat = re.compile(r'\nplugin_v=\(([0-9. ]+)\)')
|
||||||
with open('gradlew-fdroid', 'w') as fp:
|
with open('gradlew-fdroid', 'w') as fp:
|
||||||
fp.write(plugin_v_pat.sub('\nplugin_v=(%s)' % plugin_v, gradlew_fdroid))
|
fp.write(plugin_v_pat.sub('\nplugin_v=(%s)' % plugin_v, gradlew_fdroid))
|
||||||
|
|
|
@ -21,7 +21,7 @@ import yaml
|
||||||
import zipfile
|
import zipfile
|
||||||
import textwrap
|
import textwrap
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from distutils.version import LooseVersion
|
from packaging.version import Version
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from testcommon import TmpCwd, mkdtemp
|
from testcommon import TmpCwd, mkdtemp
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
@ -1041,7 +1041,7 @@ class UpdateTest(unittest.TestCase):
|
||||||
|
|
||||||
javac = config['jarsigner'].replace('jarsigner', 'javac')
|
javac = config['jarsigner'].replace('jarsigner', 'javac')
|
||||||
v = subprocess.check_output([javac, '-version'], stderr=subprocess.STDOUT)[6:-1].decode('utf-8')
|
v = subprocess.check_output([javac, '-version'], stderr=subprocess.STDOUT)[6:-1].decode('utf-8')
|
||||||
if LooseVersion(v) < LooseVersion('1.8.0_132'):
|
if Version(v) < Version('1.8.0_132'):
|
||||||
print('SKIPPING: running tests with old Java (' + v + ')')
|
print('SKIPPING: running tests with old Java (' + v + ')')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user