Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#50691 - [mitmproxy] [python2-construct] mitmproxy broken because python2-construct 2.6.2 is pre-release

Attached to Project: Community Packages
Opened by Jan Holthuis (Holzhaus) - Wednesday, 07 September 2016, 11:09 GMT
Last edited by Felix Yan (felixonmars) - Thursday, 08 September 2016, 06:39 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Felix Yan (felixonmars)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
mitmproxy does not work, because it relies on python2-construct < 2.6, but the version in the repositories is 2.6.2. pacman won't report a dependency error, but mitmproxy will crash instantly because of an API change introduced in 2.6.1.

See https://github.com/construct/construct/issues/92 for details (2.5.5 has been renamed to 2.6.1).

Currently, python2-construct 2.6.2 is in the community repo, which is a pre-release version according to the Github releases page: https://github.com/construct/construct/releases

The latest stable version of python2-construct is 2.5.3.


Additional info:
community/mitmproxy 0.17-2
community/python2-construct 2.6.2-1


Steps to reproduce:

# pacman -Syu mitmproxy

$ mitmproxy --help
Traceback (most recent call last):
File "/usr/bin/mitmproxy", line 9, in <module>
load_entry_point('mitmproxy==0.17', 'console_scripts', 'mitmproxy')()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 565, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2589, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2249, in load
return self.resolve()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2255, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python2.7/site-packages/mitmproxy/main.py", line 7, in <module>
from . import version, cmdline
File "/usr/lib/python2.7/site-packages/mitmproxy/cmdline.py", line 11, in <module>
from .proxy import config
File "/usr/lib/python2.7/site-packages/mitmproxy/proxy/__init__.py", line 3, in <module>
from .server import ProxyServer, DummyServer
File "/usr/lib/python2.7/site-packages/mitmproxy/proxy/server.py", line 12, in <module>
from ..protocol import Kill
File "/usr/lib/python2.7/site-packages/mitmproxy/protocol/__init__.py", line 30, in <module>
from .tls import TlsLayer
File "/usr/lib/python2.7/site-packages/mitmproxy/protocol/tls.py", line 11, in <module>
from ..contrib.tls._constructs import ClientHello
File "/usr/lib/python2.7/site-packages/mitmproxy/contrib/tls/_constructs.py", line 69, in <module>
PascalString("name", length_field=UBInt16("length")),
TypeError: __init__() got an unexpected keyword argument 'length_field'
This task depends upon

Closed by  Felix Yan (felixonmars)
Thursday, 08 September 2016, 06:39 GMT
Reason for closing:  Fixed
Additional comments about closing:  mitmproxy-0.17-3
Comment by Chih-Hsuan Yen (yan12125) - Wednesday, 07 September 2016, 19:49 GMT Comment by Chih-Hsuan Yen (yan12125) - Wednesday, 07 September 2016, 20:20 GMT
As jan Holthuis said, mitmproxy depends on construct < 2.6, so the solution should be downgrading python-construct. A similar case is OpenSSL, which bumps to 1.1.0 while most packages are not ready yet. Maybe Arch needs an info box to indicate why a package is not updated.
Comment by Felix Yan (felixonmars) - Thursday, 08 September 2016, 06:39 GMT
Added a simple patch in mitmproxy 0.17-3 for now. I'll consider downgrading construct if problems like this arise again.

Loading...