Я установил программу (назовем ее, например progA
), собрав ее из исходного кода, а затем, наконец, вызвав sudo make install
и sudo ldconfig
.
Тем не менее, кажется apt-get
, не получил памятку, потому что при установке progB
, которая зависит от progA
, apt-get
рекомендует также установить progA
. Почему это и что я мог сделать?
apt
package-management
make
Braiam
источник
источник
progB
вручную тоже ...Ответы:
TL; DR
checkinstall
твой друг ;)После установки с
sudo make install
вашим менеджером пакетов абсолютно ничего не знает об этой установке. Но он знает все о пакете с таким же именем в репозиториях Ubuntu или в PPA.Используйте
sudo checkinstall
вместоsudo make install
и используйте более высокую версию в качестве версии в хранилище, чтобы убедиться, что ваш менеджер пакетов принимает эту версию как правильную зависимость дляProgB
.Дальнейшая информация:
checkinstall
действительно изящен, поскольку следует, чтоmake install
будет делать команда, чтобы выяснить, как создать пакет.Это означает, что если вы устанавливаете программу, используя
make install
, но затем хотите покаяться за свои грехи, все, что вам нужно сделать, этоsudo checkinstall -D make install
, и эта команда будет:следовать,
make install
чтобы выяснить, что он делаетcopy-cat
make install
, за исключением формы пакета * .debустановить из пакета (точно так же, как это
make install
было бы, с учетом пункта 1)), кроме того, чтобы сообщитьapt-get
об этом, и, таким образом, перезаписать все файлы точно в том месте, где ониmake install
были бы помещены, если вы выберите ДА, чтобы включить файлы, помещенныеmake install
в домашний каталог также в пакете - несколько вариантов во времяcheckinstall
процесса позволят вам выбрать (хотя, конечно, выбор есть, так что вы можете использовать его на индивидуальной основе)Бонус: вы также можете удалить пакет (перезвонить
progA
), установленный с помощьюmake install
од, которые не имеютmake uninstall
поддержки , следуяcheckinstall
описанному выше процессу, а затем просто выполнив:источник
checkinstall
- МИР должен знать об этом!Три варианта:
создать поддельный пакет для
progA
: Как подделать установленную версию пакета? (есть обширный пример для TeXlive) .создать пакет для
progA
, проще , если у него естьcheckinstall
вариант: Как обмануть меткие зависимости?Сборка также
progB
из источников.источник
progA
скомпилированнуюapt-get
версию и установите версию. 5. Установитеapt-get
пакет поверх скомпилированной версии и надейтесь на лучшее.Я бы порекомендовал использовать
uupdate
fromdevscripts
и собрать пакет так, как он был собран ранее.Установите необходимые пакеты
Загрузите старый пакет из официального репозитория (будет использоваться в
MediaWiki
качестве примера) и новый tar-ball из апстрима.Запустите,
uupdate
чтобы создать новую исходную папку из вышестоящего tar-шара и старогоdebian/control
Теперь вы должны проверить, нужно ли вам вносить изменения в
debian/control
файлы etc. Если вы сделали, вы можете собрать пакет deb и установить егоисточник