MyLibrary

Прочел новость - https://www.opennet.ru/opennews/art.shtml?num=60321

И решил попробовать установить из исходников. Естественно, не в своей основной ОС, а во вспомогательной, тоже Debian 12 Net Expert Install LXDE, с использованием --no-install-recommends. Затем собрал DEB пакет, из него установил программу в основной "чистой" ОС, работает. Функционала для чтения книг из LibRusEc (архивы объемом 326,2 ГиБ) для меня достаточно. Wine мне больше не требуется, держал из-за MyHomeLib, в основном.

Описываю процесс.

Установка необходимых пакетов:

sudo apt install libgtkmm-4.0-dev libpoppler-dev libpoppler-cpp-dev libpoppler-glib-dev libdjvulibre-dev libzip-dev libarchive-dev libicu-dev libgcrypt20-dev libgpg-error-dev gettext meson ninja-build git

Сборка и установка:

git clone https://github.com/ProfessorNavigator/mylibrary.git

cd mylibrary

meson setup -Dbuildtype=release build

sudo ninja -C build install

Копирование ярлыка запуска (иначе нет в меню LXDE):

cp /usr/local/share/applications/ru.mail.bobilev_yury.MyLibrary.desktop ~/.local/share/applications/

Создание каталогов:

mkdir -p package/DEBIAN

В папке ~/package создать файловую структуру из всех файлов, созданных программой после установки:

/usr/local/share/icons/hicolor/256x256/apps/mylibrary.png

/usr/local/share/locale/ru/LC_MESSAGES/MyLibrary.mo

/usr/local/share/MyLibrary/*

/usr/local/bin/mylibrary

Проверка зависимостей исполняемого файла:

objdump -p /usr/local/bin/mylibrary | grep NEEDED

  NEEDED               libgtkmm-4.0.so.0

  NEEDED               libpangomm-2.48.so.1

  NEEDED               libgiomm-2.68.so.1

  NEEDED               libglibmm-2.68.so.1

  NEEDED               libcairomm-1.16.so.1

  NEEDED               libsigc-3.0.so.0

  NEEDED               libgio-2.0.so.0

  NEEDED               libicuuc.so.72

  NEEDED               libzip.so.4

  NEEDED               libarchive.so.13

  NEEDED               libgcrypt.so.20

  NEEDED               libgpg-error.so.0

  NEEDED               libpoppler-cpp.so.0

  NEEDED               libdjvulibre.so.21

  NEEDED               libstdc++.so.6

  NEEDED               libgcc_s.so.1

  NEEDED               libc.so.6

Для каждой библиотеки:

dpkg -S <NEEDED>

Получаем список зависимостей (через запятую):

libgtkmm-4.0-0,libpangomm-2.48-1,libglibmm-2.68-1,libglibmm-2.68-1,libcairomm-1.16-1,libsigc++-3.0-0,libglib2.0-0,libicu72,libzip4,libarchive13,libgcrypt20,libgpg-error0,libpoppler-cpp0v5,libdjvulibre21,libstdc++6,libgcc-s1,libc6

Заполняем файл ~/package/DEBIAN/control:

mousepad package/DEBIAN/control

Package: mylibrary

Version: 2.3

Section: unknown

Priority: optional

Depends: libgtkmm-4.0-0,libpangomm-2.48-1,libglibmm-2.68-1,libglibmm-2.68-1,libcairomm-1.16-1,libsigc++-3.0-0,libglib2.0-0,libicu72,libzip4,libarchive13,libgcrypt20,libgpg-error0,libpoppler-cpp0v5,libdjvulibre21,libstdc++6,libgcc-s1,libc6

Architecture: amd64

Essential: no

Installed-Size: 1765376

Maintainer: bobilev_yury <bobilev_yury@mail.ru>

Description: Book library cataloger

Собираем DEB пакет:

dpkg-deb --build ./package

Переименовываем его:

mv package.deb mylibrary.deb

И устанавливаем (в другой ОС, здесь-то уже установлено):

sudo dpkg -i mylibrary.deb

Доустановка зависимостей:

sudo apt --fix-broken install

Готово.

P.S. Порядок обработки книг LibRusEc:

Создать коллекцию - дать имя

Папка с файлами библиотеки - указать папку с книгами или архивами книг

Папка с книгами - указать папку для хранения извлеченных книг

Процесс занял несколько часов.

P.S. Общался с автором программы, он согласился, что было бы неплохо иметь в базе данных поля для отметки прочитанным, и вообще, для произвольных заметок к книге. Ждем обновления :)

Комментарии

Популярные сообщения из этого блога

Debian 12 LXDE - обновленная установка

Объединенное руководство по установке Debian 12 и Debian Sid

Debian 12 Netinstall LXDE