Даний вихідний пакет debian - Як мені встановити збірники?


47

У мене є вихідний пакунок debian (добре технічно ubuntu), тобто .dsc, .tar.gz тощо, я хочу це створити. dpkg-buildpackageНеможливо, так як у мене немає всіх залежностей збірки.

Як правило, я б використовував apt-get build-dep, але цей пакет не підходить.

Чи існує "чистий", "правильний" спосіб встановлення всіх залежностей побудови, з огляду на вихідний пакет. Я знаю, що міг би просто відкрити файл debian / control, але мені цікаво, чи є "належний" спосіб.

Я встановив build-essentialі маю всі звичайні компілятори тощо, цей пакет вимагає додаткового програмного забезпечення.

Відповіді:



12

Ось приклад робочого процесу з використанням пропозиції ptman.

Якщо припустити, що ви завантажили .dscфайл, .orig.*zфайл і, можливо, також .debian.*zфайл, тоді розпакуйте вихідний пакет із:

dpkg-source -x [package_name]_[package_version].dsc

Перемістіть у витягнуту вихідну папку та запустіть

sudo mk-build-deps -i

Це створить файл [package_name]-build-deps_[version].debта встановить його, а також встановить усі запропоновані ним залежності.

Тепер ви маєте змогу скласти свій пакет з джерела:

debuild

Закінчивши, ви можете легко усунути залежність, яку витягнули, видаливши build-depsстворений вами пакет:

sudo apt-get purge --auto-remove [package_name]-build-deps

2
Ви також можете перейти -rдо sudo mk-build-deps -iвидалення пакета після його встановлення. Крім того, замість побудови як root, ви можете встановити як root, використовуючи --root-cmd sudo. Зрештою, використовуйтеmk-build-deps --install --root-cmd sudo --remove
Лукас

Також вам може знадобитися sudo apt install devscripts equivsспочатку.
Альба Мендес

9

Насправді я можу використовувати, dpkg-checkbuilddepsщо показує залежності побудови. Це отримує мені 99% того, що мені потрібно


2
як не дивно, що файл filename-version.dsc містить залежності збірки в рядку, який починається з рядка Build-залежно
quack quixote

6

Я зазвичай використовую debuildвід devscriptsдля складання пакетів, і якщо Релевент друкує лінію відсутніх відкладень DEPS.

"Правильний" спосіб полягає у використанні pbuilderабо подібному, який дозволить скласти пакет мінімально chroot, а просто встановити будь-які додаткові збірки, як зазначено в пакеті, це також усуває купу інших потенційних проблем (локальні установки непакетних бібліотек наприклад).


-6

Спробуйте:

apt-get install build-essential

У мене є встановлення, необхідне для побудови. Цей пакет вимагає додаткового програмного забезпечення.
Рорі

І це не пояснює, що потрібно? може бути, і ліб-струси.
Ланселот

1
Це не сенс; звичайно, так і є. Сенс у тому, щоб мати команду, яка фактично встановлює залежності, а не та, яка їх просто відображає.
Маттіас Урліхс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.