Как обмануть подходящие зависимости? [дубликат]

Возможный дубликат:
Как создать мета-пакет, который автоматически устанавливает другие пакеты?

] Я хочу использовать Frescobaldi (редактор для Lilypond), но пакетный выпуск lilypond (2.12.3; lilypond похож на TeX для оценочных листов) в официальных репозиториях немного устарел, так как я хочу использовать некоторые совершенно новые функции . Итак, я просто клонировал их репозиторий git и установил его оттуда.

Теперь мой вопрос: как я могу сказать apt, что я удовлетворил зависимость от lilypond вручную, чтобы он не пытался установить другую копию?

7
задан 13 April 2017 в 15:23

2 ответа

Там, где вы фактически предоставляете зависимость, я бы использовал checkinstall для установки. checkinstall в основном заменяет make install и генерирует правильный пакет .deb, а затем устанавливает его. Это не только позволяет вам удалить или обновить пакет лучше (когда придет время), но и удовлетворяет зависимости от других приложений.

Альтернативой является написание небольшого фиктивного пакета, который не предоставляет никаких файлов, но утверждает, что предоставляет все, что вы хотите. Самый простой способ, который я могу увидеть, - это использовать приложение под названием equivs:

sudo apt-get install equivs
equivs-control lilypond

# edit your fake package so it has the right versions, names, description, etc
nano lilypond

equivs-build lilypond
sudo dpkg -i lilypond-dummy*.deb

. Существует третий простой, но потенциально опасный путь: просто установите его из стандартного репозитория и затем замените его файлы те, которые вы генерируете. Заблокируйте версию пакета, чтобы он не обновлялся. Это может пойти не так, поэтому делайте это только в том случае, если вы не можете checkinstall или каким-либо другим способом подделать пакет.

0
ответ дан 13 April 2017 в 15:23

Вы должны были использовать dhmake или sudo check install вместо sudo make install. Таким образом, вы создаете deb (проверьте, что install также устанавливает deb) более поздней версии lilypond ^^.

Если у вас все еще есть исходный код (и объектные файлы / файл make и т. Д. После компиляции), вы все равно можете сделать это без необходимости повторной загрузки.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: