Skip to content

handle sloppy source.properties files

Looks like they put the intern on the v35.0.1 release, this is source.properties:

Pkg.UserSrc=false
Pkg.UserSrc=false
Pkg.Revision=35.0.1
#Pkg.Revision=35.0.0 rc4h

https://dl.google.com/android/repository/build-tools_r35.0.1_linux.zip

So no strict parsing for us! Otherwise: https://gitlab.com/eighthave/fdroidserver/-/jobs/8902149631

$ sdkmanager "tools" "platform-tools" "build-tools;31.0.0"
Traceback (most recent call last):
  File "/usr/bin/sdkmanager", line 33, in <module>
Downloading https://fdroid.gitlab.io/android-sdk-transparency-log/checksums.json.asc into /root/.cache/sdkmanager/checksums.json.asc
Downloading https://fdroid.gitlab.io/android-sdk-transparency-log/checksums.json into /root/.cache/sdkmanager/checksums.json
    sys.exit(load_entry_point('sdkmanager==0.6.10', 'console_scripts', 'sdkmanager')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sdkmanager.py", line 1236, in main
    build_package_list(use_net=False)
  File "/usr/lib/python3/dist-packages/sdkmanager.py", line 919, in build_package_list
    _process_checksums(r.json())
  File "/usr/lib/python3/dist-packages/sdkmanager.py", line 930, in _process_checksums
    parse_build_tools(url, entry)
  File "/usr/lib/python3/dist-packages/sdkmanager.py", line 648, in parse_build_tools
    source_properties = get_properties_dict(d['source.properties'])
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sdkmanager.py", line 636, in get_properties_dict
    config.read_string('[DEFAULT]\n' + string)
  File "/usr/lib/python3.11/configparser.py", line 739, in read_string
    self.read_file(sfile, source)
  File "/usr/lib/python3.11/configparser.py", line 734, in read_file
    self._read(f, source)
  File "/usr/lib/python3.11/configparser.py", line 1112, in _read
    raise DuplicateOptionError(sectname, optname,
configparser.DuplicateOptionError: While reading from '<string>' [line  3]: option 'pkg.usersrc' in section 'DEFAULT' already exists

Merge request reports

Loading