[Python-modules-team] Bug#905487: django-q breaks hyperkitty (ftbfs? and autopkgtest): ImportError: cannot import name Async

Paul Gevers elbrus at debian.org
Sun Aug 5 11:07:25 BST 2018


Source: hyperkitty, django-q
Version: hyperkitty/1.1.4-6
Version: django-q/0.9.4-2
Tags: ftbfs
User: debian-ci at lists.debian.org
Usertags: breaks needs-update

Dear maintainers,

With a recent upload of django-q the building of hyperkitty in its
autpkgtest started to fail in unstable and testing. I copied the output
below.

Currently this regression is delaying the migration of django-q to
testing by 13 days. Looking at the error message and the changelog of
django-q, this seems (but I could be wrong) to be caused by the
python3.7 compatibility fix. However, django-q the chosen solution seems
to break backward compatibility. I believe that the following actions
should be taken:
- evaluate the severity of this bug and raise it as appropriate
- check if the python3.7 compatibility change can be done in a backward
  compatible manner (I have seen examples of that), if so, reassign this
  bug to django-q only
- if the change is going to stay:
  * add an appropriate versioned Breaks on hyperkitty (I guess for
    normal hyperkitty functionality, but if not, at least for
    unstable-to-testing migration purposes)
  * clone this bug, reassign both bugs to one and the other package and
    adapt hyperkitty to cope with the new situation (don't forget to
    have a versioned Depends).

Could you please investigate the situation and check that my assessment
made any sense?

More information about this bug and the reason for filing it can be
found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

https://ci.debian.net/data/autopkgtest/testing/amd64/h/hyperkitty/773733/log.gz
for python in python2.7; do \
	$python /usr/bin/django-admin test --pythonpath=.
--settings=hyperkitty.tests.settings_test hyperkitty; \
done
Creating test database for alias 'default'...
Traceback (most recent call last):
  File "/usr/bin/django-admin", line 21, in <module>
    management.execute_from_command_line()
  File
"/usr/lib/python2.7/dist-packages/django/core/management/__init__.py",
line 364, in execute_from_command_line
    utility.execute()
  File
"/usr/lib/python2.7/dist-packages/django/core/management/__init__.py",
line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/commands/test.py",
line 29, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/base.py", line
283, in run_from_argv
    self.execute(*args, **cmd_options)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/base.py", line
330, in execute
    output = self.handle(*args, **options)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/commands/test.py",
line 62, in handle
    failures = test_runner.run_tests(test_labels)
  File "/usr/lib/python2.7/dist-packages/django/test/runner.py", line
602, in run_tests
    self.run_checks()
  File "/usr/lib/python2.7/dist-packages/django/test/runner.py", line
562, in run_checks
    call_command('check', verbosity=self.verbosity)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/__init__.py",
line 131, in call_command
    return command.execute(*args, **defaults)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/base.py", line
330, in execute
    output = self.handle(*args, **options)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/commands/check.py",
line 68, in handle
    fail_level=getattr(checks, options['fail_level']),
  File
"/usr/lib/python2.7/dist-packages/django/core/management/base.py", line
359, in check
    include_deployment_checks=include_deployment_checks,
  File
"/usr/lib/python2.7/dist-packages/django/core/management/base.py", line
346, in _run_checks
    return checks.run_checks(**kwargs)
  File
"/usr/lib/python2.7/dist-packages/django/core/checks/registry.py", line
81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/usr/lib/python2.7/dist-packages/django/core/checks/urls.py",
line 16, in check_url_config
    return check_resolver(resolver)
  File "/usr/lib/python2.7/dist-packages/django/core/checks/urls.py",
line 26, in check_resolver
    return check_method()
  File "/usr/lib/python2.7/dist-packages/django/urls/resolvers.py", line
256, in check
    for pattern in self.url_patterns:
  File "/usr/lib/python2.7/dist-packages/django/utils/functional.py",
line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/dist-packages/django/urls/resolvers.py", line
407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
  File "/usr/lib/python2.7/dist-packages/django/utils/functional.py",
line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/dist-packages/django/urls/resolvers.py", line
400, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "./hyperkitty/tests/urls_test.py", line 27, in <module>
    url(r'', include('hyperkitty.urls')),
  File "/usr/lib/python2.7/dist-packages/django/conf/urls/__init__.py",
line 50, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "./hyperkitty/urls.py", line 32, in <module>
    from hyperkitty.views import (
  File "./hyperkitty/views/mailman.py", line 38, in <module>
    from hyperkitty.lib.incoming import add_to_list, DuplicateMessage
  File "./hyperkitty/lib/incoming.py", line 36, in <module>
    from hyperkitty.tasks import update_from_mailman, sender_mailman_id
  File "./hyperkitty/tasks.py", line 36, in <module>
    from django_q.tasks import Async
ImportError: cannot import name Async

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/python-modules-team/attachments/20180805/1f66765c/attachment-0001.sig>


More information about the Python-modules-team mailing list