Итак, в своем стремлении начать больше узнавать о Linux, я хочу начать компилировать программное обеспечение.
Примечание: любая дополнительная информация или дополнительная информация приветствуется
У меня есть программа, которую я хочу установить с github:
https://github.com/Grive / Grive
Есть ли способ добавить это в качестве хранилища? и автоматически получать файлы из него при обновлении?
Если нет, то, очевидно, мне придется скомпилировать себя. Это немного сбивает с толку, потому что (я знаю, что на самом деле делает компиляция - язык высокого уровня в бинарный), иногда вам приходится делать, иногда вам нужно ./configure, ect.
Не говоря уже о том, что вы должны хранить все файлы в той же папке, в которой вы скомпилировали, что действительно раздражает, потому что я не знаю, перемещаются ли дополнительные файлы куда-нибудь в моей системе, и я не могу удалить их, просто удалив папка, которую я скомпилировал в ...
В любом случае, в тот или иной момент я, вероятно, звучал очень глупо, пытаясь объяснить свое понимание -
tl; dr
Как мне превратить исходный код в то, что мой менеджер пакетов может использовать для автоматическое обновление с помощью apt?
Чтобы получить автоматическое сообщение о новом обновлении , кто-то должен будет загрузить новую версию в репозиторий.
Если вы вручную проверяете наличие обновлений, компилируете, создаете пакеты и обновляете репозиторий; тогда да. Проще простого. (За исключением всей работы выпечки этого пирога strike>, поддерживающей этот пакет)
Если полдень обновляет хранилище: нет.
«Менеджер пакетов» не берет дерево исходного кода и не выделяет пакеты. Менеджер пакетов (в нашем случае apt + dpkg) буквально хранит список доступных пакетов, их URL-адреса и их зависимости, а также отслеживает то, что уже установлено.
Упаковки производятся путем компиляции, а затем упаковки. Это можно сделать вручную (как вы уже упоминали) ...
Или путем создания рецепта сборки , который инструктирует Launchpad о том, как собрать и упаковать ваш исходный код. Преимущество второго заключается в том, что Launchpad может постоянно обновляться и продолжать сборку при изменении источника.
То, что я только что описал, совершенно не для начинающих. Вам нужно изучить некоторые элементы Launchpad (создание ветки LP и PPA, импорт кода github, создание рецепта и все вместе)
./configure
, make
и тогда sudo make install
(или sudo checkinstall
) - гораздо более простой способ создать и установить приложение. Если вы используете checkinstall
, вы даже создадите пакет, который облегчит его удаление или обновление.
Я знаю, что на самом деле не отвечает на все вопросы, но на некоторые они отвечают. Я полагаю, что лишь немного из checkinstall
должен привести вас к счастливому среднему плану без необходимости изучать Руководство для упаковщиков Debian.