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. Общался с автором программы, он согласился, что было бы неплохо иметь в базе данных поля для отметки прочитанным, и вообще, для произвольных заметок к книге. Ждем обновления :)
Комментарии
Отправить комментарий