OutWiker 2.1.0.824 unstable и Markdown 1.3

OutWiker 2.1.0.824 unstable и Markdown 1.3

Всем привет!

Начинаем новый виток развития OutWiker. Сегодня я выложил первую нестабильную версию OutWiker 2.1 (если быть точнее, 2.1.0.824).

После выхода прошлой версии, я в основном занимался модернизацией системы сборки OutWiker. Теперь пользователи Linux могут скачать программу в виде бинарной сборки, которая должна работать в разных дистрибутивах Linux. Такая сборка получилась достаточно большой (в распакованном виде она занимает чуть меньше 200 МБ), потому что в нее входят библиотеки для работы с движком WebKit и все необходимые библиотеки из wxPython. Я проверял эту сборку в Ubuntu 16.04, Ubuntu 17.04 и Fedora 26. Я не тестировал ее особо глубоко, но на первый взгляд все работает как надо, хотя во время работы выводятся некоторые предупреждения в консоли, но на работоспособность это не влияет. Такие сборки существуют для 32- и 64-битных операционных систем. Скачать их можно на странице нестабильной версии программы.

Также сегодня выложил новую версию плагина Markdown. В этой версии была подключена раскраска кода, выделенного нотацией «`…«` Раскраска работает с помощью библиотеки pygments, которая используется в плагине Source. Кроме того, для Markdown-страниц была подключена возможность создания таблиц.

А теперь пара слов для тех, кто интересуется внутренним устройством OutWiker.

Раньше на протяжении нескольких лет для создания запускаемых файлов под Windows я использовал библиотеку cx_Freeze, о которой недавно написал статью. Для сборки я использовал cx_Freeze 4.x и не жаловался, пока не вышла cx_Freeze 5.0. С ней начались проблемы. OutWiker, собранный с помощью cx_Freeze 5.0.1, зависал при открытии дерева заметок. Отладка показала, что программа зависала на ровном месте. Через некоторое время вышла новая версия cx_Freeze 5.0.2. При сборке с помощью этой версии библиотеки зависание при открытии заметок пропало, но появилась новая проблема — программа перестала выгружаться из памяти при завершении работы. И опять отладка показала, что все это происходит на ровном месте — программа доходит до последней строки, выполняет ее и все. Можно было бы программу принудительно завершать перед выходом, но это не особо красивое решение. Можно было бы остаться на cx_Freeze 4.x, но я не люблю привязываться к устаревшим версиям библиотек. В результате решил заменить cx_Freeze на ее аналог — PyInstaller. Именно она теперь используется для создания бинарных сборок под Windows и Linux.

Для создания бинарных сборок под Linux теперь используются виртуальные машины на основе Ubuntu 17.04. В исходниках лежат файлы Vagrantfile для создания этих виртуальных машин с помощью утилиты для управления виртуальными машинами vagrant (Vagrantfile находятся в папках need_for_build/virtual/build_machines/zesty_32/ и need_for_build/virtual/build_machines/zesty_64/). С помощью Ansible (программа для управления конфигурациями удаленных серверов) эти виртуальные машины подготавливаются для сборки, а затем на них отправляются исходники для создания сборок.

Чтобы запустить сборку на виртуальных машинах теперь достаточно выполнить в корне исходников команду

fab vm_linux_binary

При этом у вас должны быть установлены VirtualBox, Vagrant и Ansible. Если это будет ваш первый запуск, то предварительно будут скачаны и настроены две виртуальные машины с Ubuntu 17.04 — 32- и 64-битные.

Более подробно особенности сборки я чуть позже опишу в документации. Хотя все это нужно только если вы хотите создавать бинарные сборки сразу для двух архитектур — 32 и 64 бита. Если вы захотите создать из исходников обычную сборку на своем компьютере, то никакие виртуальные машины не нужны, достаточно вызвать команду

fab linux_binary

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

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

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

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

Leave a comment

Subscribe without commenting