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

7

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

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

    
задан FUZxxl 11.03.2011 в 14:00
источник

2 ответа

11

Если вы действительно предоставляете зависимость, я бы использовал 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 или иным образом подделать пакет.

    
ответ дан Oli 11.03.2011 в 14:31
источник
0

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

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

    
ответ дан RolandiXor 11.03.2011 в 14:28
источник

Ознакомьтесь с другими вопросами по меткам