А как правильно организовать установку дефолтной Java и _нужной_мне_JavaFX из своего DEB-пакета Linux?
А разве openjdk не хостится где-то постоянно, в каком-то дефолтном репозитории, чтобы не таскать java внутри своего deb-пакета ?
Я попробовал при сборке своего deb-пакета использовать в файле control требование:
Depends: default-jdk
Так пакет при установке тупо отмазывается, что "ошибка при установке и default-jdk не установлено".
Если пробовать в составе postinst (после установки) запускать команду типа "sudo apt -y install openjdk-19-jre", то эта возможность заблочена системным процессом, т.к. счас идет как раз установка самого deb-пакета.
Ну, нужную JavaFX приходится включить в пакет самому, но уж Жабу-то какую-нибудь дефолтную как ставить, не таская с собой ?
Хостинг свой есть, но каждый раз при обновлении пакета качать туже Жабу - тоже глупо...
1. Что мешает проверить - есть ли пакет в репозитории?
apt search default-jdk
2. Ошибки нужно цитировать.
3. Вероятнее вы давно не делали на системе apt update и текущий кеш ссылается на отсутствующую версию default-jdk, добавьте apt-get update в preinst
4. Почему ставите яву явно не в preinst, а в postinst, это не логично.
5. И кстати, зачем вам JDK, если есть default-jre?
3. добавил, спасибо
4. sudo apt -y install default-jre в preinst не работает:
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 845 (dpkg)
И нифига по прежнему Depends: default-jre не помогает:
Reading package lists... Done
Unpacking orionlab (0.998) over (0.998) ...
dpkg: dependency problems prevent configuration of orionlab:
orionlab depends on default-jre; however:
Package default-jre is not installed.
dpkg: error processing package orionlab (--install):
dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.17-2) ...
Errors were encountered while processing:
orionlab
В preinst и postins не ставят установку пакетов.
Нужные пакеты прописывают в dependency и менеджер пакетов сам поставит необходимое.
Но, если рассчитано на разные дистрибутивы, может возникнуть проблема, что пакеты называются по-разному
Нужные пакеты прописывают в dependency и менеджер пакетов сам поставит необходимое.
dpkg нифига этого не делает, постоянно ошибку пишет.
я так понимаю, надо ставить только через apt-get, вроде получается сейчас, но ... если через Менеджер Пакетов gui-шный ставить - опять какая-то ошибка в postinst.