Как использовать «apt» для получения исходного кода, а затем выполнить отдельную компиляцию

27

Я хочу получить исходный код проекта, а затем собрать его так же, как это сделает apt. Например, мне нужен рабочий исходный код, и я могу выполнить команду 'make' или аналогичную команду для исходного кода.

Как я могу это сделать?

В частности, я хочу получить этот источник 'icedtea-6-jre-jamvm'

Берлин Браун
источник

Ответы:

29

В этом примере я буду использовать icedtea-6-jre-jamvmпакет, который вы хотите пересобрать.

Сначала установите все зависимости и соберите необходимые:

sudo apt-get build-dep icedtea-6-jre-jamvm
sudo apt-get install build-essential

Затем возьмите источник:

apt-get source icedtea-6-jre-jamvm

Затем перейдите в каталог директории openjdk и соберите deb, здесь -us и -uc пропускают проверки GPG, если вы просто перестраиваете его для себя:

cd openjdk-6-6b24-1.11.5
dpkg-buildpackage -us -uc

Затем перейдите в каталог, и у вас должны быть файлы .deb.

Источники:

Хорхе Кастро
источник
это очень мило! Одним из больших препятствий, мешающих начать разработку бесплатной программы, является «ее сборка», и приятно видеть, что это автоматизировано. Однако было бы неплохо, если бы мы могли генерировать двоичные файлы и останавливаться на этом (то есть не создавать дэбы), поскольку это немного удобнее для разработчиков, которые часто редактируют и компилируют ... Вы знаете, как это сделать? что?
josinalvo
7

чтобы просто скомпилировать пакет, используйте скрипт debian / rules, который есть в каждом пакете debain:

sudo apt-get build-dep <package>
apt-get source <package>
cd <package>_<version>
./debian/rules binary

это просто выполняет настройку и компиляцию.

Майкл Дрехер
источник
4

Вы можете использовать следующие:

apt-get source <package>

вам нужно убедиться, что вы установили зависимости сборки:

sudo apt-get build-dep <package> 

для получения дополнительной информации выполните:

man apt-get

Альтернативный вариант: сначала нужно узнать местоположение пакета. затем загрузите файл tar, используя:

sudo wget <url>

Вы можете распаковать его и скомпилировать, используя make

если вы не уверены в конкретной команде, загляните внутрь папки, там должен быть READMEфайл или INSTALLкоторый сообщит вам соответствующую команду.

МЕДА
источник
То есть получить с сайта хозяина. Есть ли способ сделать это с помощью apt. Полностью через 'apt' минус фактическая компиляция. Например, я могу сделать «apt get source», затем перейти в этот каталог и затем «make».
Берлин Браун
извините, только что обновил вопрос!
Меда