Package: fdroidserver
Version: 0.7.0-1~bpo8+1
Severity: important

Dear Maintainer,

the Jessie backport of fdroidserver has only an unversioned recommend
on aapt, so the Jessie version gets pulled in. "fdroid update" chokes
on the output of "aapt dump badging <apk>", particularly the
"uses-permissions:" line:

=== Begin ===
sascha.silbe@twin:~/somewhere$ fdroid update --create-metadata
CRITICAL: Unknown exception found!
Traceback (most recent call last):
  File "/usr/bin/fdroid", line 147, in <module>
    main()
  File "/usr/bin/fdroid", line 124, in main
    mod.main()
  File "/usr/lib/python3/dist-packages/fdroidserver/update.py", line 1397, in 
main
    apks, cachechanged = scan_apks(apps, apkcache, repodirs[0], knownapks, 
options.use_date_from_apk)
  File "/usr/lib/python3/dist-packages/fdroidserver/update.py", line 639, in 
scan_apks
    perm_match = re.match(permission_pat, line).groupdict()
AttributeError: 'NoneType' object has no attribute 'groupdict'
=== End ===

This is the pattern it uses to match:

    permission_pat = 
re.compile(".*(name='(?P<name>.*?)')(.*maxSdkVersion='(?P<maxSdkVersion>.*?)')?.*")


These are the actual uses-permission: output lines from aapt:

uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.ACCESS_FINE_LOCATION'
uses-permission:'android.permission.INTERNET'
uses-permission:'android.permission.READ_EXTERNAL_STORAGE'


aapt from Stretch isn't installable (requires libstdc++6 from
Stretch), but pointing fdroid at a copy of the Android SDK managed by
Android Studio worked fine:

=== Begin ===
sascha.silbe@twin:~/somewhere$ ANDROID_HOME="${HOME}/android-jail/Android/Sdk" 
fdroid update --create-metadata
INFO: Generated skeleton metadata for some.package.id
INFO: Creating signed index with this key (SHA256):
[...]
INFO: Finished.
=== End ===

So it looks like aapt from Jessie is too old for the fdroidserver
package in jessie-backports.

As the bug affects the primary use case (creating and publishing an
F-Droid repository) but there is a work-around (albeit using non-free
software) I've set the severity to important. Please adjust if you
disagree with my assessment.

-- System Information:
Debian Release: 8.7
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates'), (100, 'testing'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-0.bpo.2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages fdroidserver depends on:
ii  default-jdk             2:1.7-52
ii  openjdk-7-jdk           7u121-2.6.8-2~deb8u1
ii  python3                 3.4.2-2
ii  python3-clint           0.3.7-1
ii  python3-libcloud        0.15.1-1
ii  python3-paramiko        1.15.1-1
ii  python3-pil             2.6.1-2+deb8u3
ii  python3-pyasn1          0.1.9-1~bpo8+1
ii  python3-pyasn1-modules  0.0.5-0.1
ii  python3-requests        2.4.3-6
ii  python3-yaml            3.11-2
pn  python3:any             <none>
ii  rsync                   3.1.1-3

Versions of packages fdroidserver recommends:
ii  aapt      21-2
pn  adb       <none>
ii  git       1:2.11.0-2
ii  opensc    0.14.0-2
ii  zipalign  21-4

Versions of packages fdroidserver suggests:
ii  bzr              2.6.0+bzr6595-6
pn  gradle           <none>
pn  maven            <none>
ii  mercurial        3.1.2-2+deb8u3
pn  php5             <none>
ii  ruby             1:2.1.5+deb8u2
ii  subversion       1.8.10-6+deb8u4
pn  vagrant          <none>
pn  vagrant-cachier  <none>
pn  vagrant-libvirt  <none>
pn  virtualbox       <none>

-- no debconf information

Reply via email to