OutWiker 2.1.0.834 unstable и много новостей

OutWiker 2.1.0.834 unstable и много новостей

Ну, а здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте.
(с) Алиса в Зазеркалье.

Всем привет! За прошедший месяц набралось огромное количество новостей (хороших и не очень), связанных с OutWiker-ом, поэтому этот пост я разобью на несколько разделов. Те из вас, кто пользуется Windows, первые два раздела могут пропустить, а не программисты могут пропустить еще и четвертый раздел. Хотя, чтобы не заморачиваться, можете читать все подряд. 🙂

1. Проблемы с Ubuntu

Рано я радовался тому, что OutWiker заработал без каких-либо исправлений после обновления до Ubuntu 17.10. Нет, работать он у меня не перестал, но только благодаря тому, что Ubuntu я обновлял с предыдущей версии 17.04, а не ставил с нуля. Именно поэтому в системе остались библиотеки, отвечающие за рендеринг страниц с помощью движка WebKit. Оказывается, разработчики Debian, а за ними и разработчики Ubuntu, решили больше не поддерживать старую версию движка WebKit, который используется в wxPython 3.0.2, и просто удалили эти библиотеки из репозиториев. То есть теперь wxPython из репозиториев не умеет использовать WebKit. Из-за этого же пострадала программа Claws Mail, мой любимый почтовый клиент, который разучился показывать письма в формате HTML.

Говорят, сборка wxPython из исходников может вернуть к жизни движок WebKit, но делать этого не стоит, потому что на wxPython из репозитория могут быть завязаны другие программы. Ситуация сложилась ужасная. То есть теперь OutWiker не смогут запустить пользователи Ubuntu 17.10, если они не установили OutWiker с зависимостями до обновления до этой версии. Опять (уже как минимум в третий раз) начались пляски с бубном вокруг Ubuntu только из-за того, что разработчики что-то ломают в библиотеках.

В этой ситуации ничего не остается кроме как отказаться от PPA для Ubuntu 17.10 (и выше). Но ведь OutWiker на этой операционке запускать нужно. Несколько версий назад я очень вовремя начал делать бинарные сборки для Linux, которые собираю на виртуалке с Ubuntu 17.04 (на мой взгляд лучшая версия Ubuntu за последние два года), поэтому хоть какой-то способ запуска остался. Поскольку разработчики Ubuntu отказались от поддержки 32-битных систем, то и мне нет смысла дальше их поддерживать и собирать, т.е. теперь под Linux буду выкладывать только 64-битные версии.

 

2. AppImage

Я давно хотел попробовать сделать пакеты snap, flatpak и AppImage. В этом месяце взялся за изучение AppImage. Если вы не слышали об этом формате, то кратко опишу его суть. По задумке он чем-то напоминает портабельные программы под Windows, то есть для запуска программ, упакованных в AppImage, достаточно скачать файл в этом формате, дать ему права на выполнение и запустить. Это не инсталятор, сразу должна запуститься нужная программа.

В отличие от портабельных программ под Windows, все настройки программа из AppImage хранит в профиле пользователя. Для запуска прав root не требуется, но программа не использует никаких песочниц для ограничения действий таких программ, т.е. формально она в папке пользователя может делать, что угодно (например, сохранять настройки). Для использования пакетов AppImage устанавливать в систему ничего не требуется.

Не буду углубляться в особенности работы AppImage, скажу только, что при запуске файла в этом формате, содержимое пакета монтируется в подпапку внутри /tmp, откуда и запускается программа, а после завершения программы этот образ отмонтируется.

Создать AppImage оказалось достаточно просто, хотя с точки зрения удобства использования к нему есть вопросы. Все-таки хочется, чтобы программа умела устанавливаться и появлялась в меню программ. Для AppImage есть демон, которое это делает, но для его установки нужно выполнить пару команд из командной строки, а потом все скачанные AppImage нужно помещать в специальные папки. Пока как пользователю мне больше симпатизируют snap-пакеты, но я пока не разбирался с их созданием.

Так вот, теперь для OutWiker есть AppImage, созданный на основе бинарной сборки. Скачать его можно на странице нестабильной версии OutWiker. Посмотрим, насколько это будет востребовано.

 

3. Что нового?

Если говорить о том, что сделано за последний месяц, то в основном работа шла вокруг системы сборки. Был создан пакет AppImage, была удалена поддержка репозиториев PPA для Ubuntu 17.10, отключено создание 32-битных сборок под Linux. Кроме того были исправлены некоторые ошибки в интерфейсе, они не очень значительные, поэтому не буду их описывать.

А еще были обновлены два плагина. В первую очередь надо сказать о плагине TeXEquation, который предназначен для вставки формул на викистраницы. В нем была обновлена библиотека KaTeX для рендеринга формул. Разработчики, наконец-то, окончательно (хочется верить) исправили ошибку, которую исправляли уже несколько раз, но каждый раз она опять оживала. Речь идет об ошибке, когда у дроби пропадала линия, разделяющая числитель и знаменатель. Именно из-за этого я давно не обновлял KaTeX, оставаясь на очень старой версии, где эта ошибка не проявлялась. Обновления я ждал давно, поскольку за последнее время в новых версиях появилось много новых функций TeX, которые стала поддерживать библиотека. Поэтому в данный момент в плагине используется альфа-версия библиотеки, скоро она должна стать релизом, и тогда я еще раз обновлю плагин. Но на мой взгляд, не смотря на статус «альфа», библиотека ведет себя нормально.

Кроме того, обновил плагин Markdown. В этом плагине немного подправлены стили для отображения исходных кодов.

 

4. Что дальше?

А теперь самое интересное. Чтобы решить проблему с Ubuntu, нужно перекомпилировывать wxPython и делать бинарные сборки. Но если уж идти на такой шаг, то есть смысл сразу переходить на следующую версию wxPython 4.0, которая пока еще находится в стадии бета-версии, но вполне работоспособна, и ей уже многие пользуются. К тому же с точки зрения разработчика она намного удобнее: эта версия библиотеки добавлена в PyPi (в отличие от предыдущей версии), что позволяет ее использовать в virtualenv без грязных хаков; под Linux она может работать через GTK3, а также поддерживает Python 3.x. Единственный недостаток wxPython 4 — опять ломается обратная совместимость с предыдущей версией, таких изменений достаточно много, хотя в основном они относятся к переименованию методов или переноса компонентов из одного модуля в другой.

Владимир Тубольцев (https://github.com/twobolts) уже проделал огромную работу и перевел OutWiker и все плагины на wxPython 4. Ради этого пришлось увеличить мажорную версию API для плагинов, поэтому плагины для новых версий OutWiker нужно будет обновить. Но версию, использующую wxPython 4 я пока не выкладываю. Еще нужно разобраться с бинарными сборками под Linux (с переходом на GTK3 они стали огромные, но многие файлы из нее можно удалить).

К тому же, раз уж обратная совместимость с плагинами уже сломана, а переход на wxPython 4 практически осуществлен (еще есть некоторые моменты, которые надо поправить), то почему бы не решиться на следующий шаг, и не перевести OutWiker на Python 3.6? Владимир уже начал это делать, и я надеюсь, что в ближайшее время мы доведем программу до рабочего состояния. Повозиться, конечно, придется, но оно того стоит.

На этом пока все, следите за новостями, в том числе и в социальных сетях:

Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Пожалуйста, оцените запись

УжасноПлохоТак себеХорошоОтлично (Количество голосов: 4, средняя оценка: 5,00)
Загрузка...

Один комментарий

  1. kaa:

    Спасибо за труд!

    Попробовал AppImage в kubuntu 17.10, пока полет нормальный. Нашел каталог с конфигами без проблем, все хорошо.

Leave a comment

Subscribe without commenting