FOSS News
MySQL Change root Password Command
Выпуск LibreOffice 25.2 alpha 1 - что нового?
Xisco Fauli в QA блоге проекта написал, что первая альфа LibreOffice 25.2 доступна для тестирования. Скачать можно по ссылкам, а новшества версии якобы написаны в РелизНотес.
Глянул я на тот РелизНотес, а там почти пусто =)) Разработчики забыли написать туда, свои активности или может вся работа делалась"под капотом" и юзеру просто не видна? Это отношение разрабов к наполнению релизнотесов в проекте мне всегда не нравилось, но и заставить их никто не может, такие дела...
How to enable mouse to copy & paste in vim
How to install vnstat on Debian 12/11 to monitor network interface bandwidth usage
Управление макросами в LibreOffice - мы хотим перемен
Все, кто когда-либо сталкивался с макросами в LibreOffice, сталкиваются с забавной и раздражающей вещью - наличием кучи диалогов для выполнения одних и тех же действий для каждого языка программирования макросов, который поддерживает наш проект. В главном меню это выглядит вот так:
Мало разделения по языкам, так ещё и управление диалогами (которые можно создавать для макросов внутри LibreOffice) - это отдельная команда и свой диалог, выполнение макроса - это свой диалог.У меня в свое время появилась идея, что все эти дела, связанные с управлением макросами должны быть в одном месте, в одном диалоге главном, который бы мог отображать макросы на всех ЯП, диалоги, и позволял бы выполнять действия над ними всеми в зависимости от языка и типа объекта. И я написал баг репорт - https://bugs.documentfoundation.org/show_bug.cgi?id=120658.
Идея единого диалога выглядела вот так, всё в одном диалоге:
Он был воспринят не очень однозначно и долго висел без какой-либо реакции (как и большинство наших баг репортов, кстати). Я сам-то не могу код на плюсах писать, а вот приставать к людям, которые код писать могут - это я могу. И вот мне повезло, я дважды просил Jim Raykowski глянуть, может ли он это реализовать и во второй раз он согласился и таки написал патч на почти четыре тысячи строк, который реализует мою идею. Вот ссылка на патч - https://gerrit.libreoffice.org/c/core/+/176254.А вот видео - результат реализации:
В настоящее время патч ещё не влит в кодовую базу, идет процесс код-ревью. После того, как патч будет смержен, функционал надо будет потестить и потом надо будет поправить некоторые вещи в UI.А самое забавное, что у нас нет под капотом механизма, который бы позволял управлять макросами на Python также, как идёт управление макросами на Basic. И в новом диалоге при выбранном макросе Python - выводится ошибка.И дальнейшим планом видится именно допиливание нашего фреймворка для управления макросами так, чтобы можно было работать с Python макросами без лишних движений в виде установки расширения APSO и прочего. Но это тема для отдельного поста =)How to find hard disk (SSD) serial numbers in Linux
How to install kvm-ok on Debian or Ubuntu Linux
zcommands: Read gzip Compressed Text Files On a Fly on Linux and Unix
Для тех, кто захочет контрибьютить в LibreOffice
Этот пост - просто информация для желающих, с чего начинать контрибьютить в проект LibreOffice.
Вся актуальная информация на английском языке, но для программиста это не должно стать препятствием. Также вы уже должны знать С++, учить вас программировать с нуля здесь никто не будет.
Итак, для тех, кто захотел написать пару строк кода для LibreOffice:
Начать следует с прочтения вот этой ссылки - https://wiki.documentfoundation.org/Development/GetInvolved. Это ровно информация для новичков в проекте, как скачать исходники, как собрать свой билд, какие зависимости, для каких IDE есть предварительные настройки и как их включить, какой код стайл мы используем, как пишем патчи и как их засылаем. Обратите внимание, вам нужно достаточно современное железо с многоядреным процессором (4 и более ядер) и большое количество ОЗУ (8 или более Гб), потому что первоначальная сборка на 4-х ядерном Core i5 2,5 ГГц сборка занимала ровно два часа времени. Также необходимо около 30Гб сводобного места на диске (который уже должен быть SSD).
После того, как вы настроите окружение, встанет вопрос, а с чего же можно начать знакомиться с проектом. У нас есть список так называемых изи хаков именно для этой цели. Обычно это баг репорт, в котором достаточно подробно расписано что надо сделать и указана ссылка на конкретный файл или даже строку в исходниках. Вот этот список - https://wiki.documentfoundation.org/Development/EasyHacks/by_Required_Skill/Skill_C%2B%2B. Обратите внимание, список разбит на три группы по сложности, выбирайте себе любую цель и пробуйте написать патч.
Если вы достаточно опытный разработчик и вам сразу все понятно и возможно просто интересна какая-то конкретная тема, например производительность, утечки памяти, проблемы в поддержке каких-то форматов, UI, новые фичи - у нас есть багзилла с бесконечно длинным списком проблем. Также у нас есть некая сортировка проблем по темам, мы называем это МЕТА багами, найти их можно вот здесь - https://wiki.documentfoundation.org/QA/Tracking_Bugs. Там есть фильтры, можно отсортировать то, что вам надо и покопаться в конкретных баг репортах по выбранной теме.
После написания патча, он должен попасть к нам в геррит - https://gerrit.libreoffice.org/q/status:open+-is:wip+branch:master. Конечно мы используем Git, однако у нас имеется возможность поправить пару строк, используя веб-интерфейс. До пуша в геррит вы обязаны прогнать свой патч, используя команду make check - это позволит вам локально прогнать все юнит-тесты. В геррите патч проверит бот Дженкинс, который также гоняет юнит-тесты для каждой из популярных десктопных ОС, а затем ваш патч должен пройти код-ревью и кто-то из опытных разработчиков с правами должен вам поставить +2 и замержить ваш патч.
Найти разработчиков всегда можно в рабочие часы по средне-европейскому времени в IRC канале - https://web.libera.chat/?chan=#libreoffice-dev. Общение на английском языке.
Также можно задать технический вопрос в список рассылки для разработчиков (также на английском языке) - https://wiki.documentfoundation.org/Development/Mailing_List
По каким-то организационным вопросам можно спросить у меня в Телеграм (пока его не прибили), ник @Kompilainenn.