Weblate: Addition of gobject-introspection dependency prevents upgrading

Created on 18 Jul 2019  路  5Comments  路  Source: WeblateOrg/weblate

Describe the bug
We'd like to take advantage of the Celery updates and the new notifications queue because we're having some issues processing these in the current set-up. However, we're unable to upgrade to the latest version because the gobject-introspection system library has been added as a dependency and our host does not (yet) support it.

This means we're unable to continue upgrading Weblate to take advantage of new features/bugfixes and security fixes. This feels like a breaking change.

To Reproduce
Steps to reproduce the behavior:

  1. Install 3.6 on a host without gobject-introspection
  2. Everything works fine
  3. Try to upgrade to 3.7
  4. See that your installation is now broken and you're stuck on Weblate 3.6

Expected behavior
A smooth upgrade to 3.7 without new system packages (these would be expected in 4.0).

Server configuration and status
Please paste the output of list_versions and check --deploy commands over
here. Depending on installation these can be executed in different way, please
consult https://docs.weblate.org/en/latest/admin/management.html for more
details.

Seeing as pygobject failed to install these commands don't work.

Traceback (most recent call last):
  File "/app/.global/bin/weblate", line 11, in <module>
    sys.exit(main())
  File "/app/.global/lib/python3.7/site-packages/weblate/runner.py", line 34, in main
    execute_from_command_line(argv)
  File "/app/.global/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/app/.global/lib/python3.7/site-packages/django/core/management/__init__.py", line 357, in execute
    django.setup()
  File "/app/.global/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/app/.global/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/app/.global/lib/python3.7/site-packages/django/apps/config.py", line 116, in create
    mod = import_module(mod_path)
  File "/opt/python/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/app/.global/lib/python3.7/site-packages/weblate/fonts/apps.py", line 26, in <module>
    from weblate.fonts.utils import check_fonts
  File "/app/.global/lib/python3.7/site-packages/weblate/fonts/utils.py", line 28, in <module>
    import gi
ModuleNotFoundError: No module named 'gi'
question wontfix

All 5 comments

New or changed requirements were introduced almost in every point release and it will continue like that.

I wanted to avoid this big dependency, but unfortunately I haven't found any other reasonable text rendering engine than Pango + Cairo (most others do not properly handle RTL languages).

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

I can understand the position. Unfortunately this does mean that we're currently not able to upgrade to take advantage of some of the improvements that have been made without migrating to a different hosting provider (we're using Platform.sh which works well for us) or waiting for them to add this dependency 馃槥

I know this is painful dependency for some use cases. The problem is that there is no comparable tool. We were already using Pango and Cairo in past and replaced it by Pillow with some additional hacks for RTL rendering to make life of some users easier. It was still problematic in some cases, but worked mostly well.

Now we needed additional features which are not present in Pillow at all, so I've moved back to Pango and Cairo.

Anyway this is packaged in every Linux distribution, so if they allow installing distro packages, it should be easy to address.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings