Як завантажити пакет із залежностями до мого PPA?


13

Я зробив пакет для свого PPA і завантажив його. Він побудований без жодних проблем.

Потім я зробив ще один пакунок, який залежав від першого, і завантажив його. Помилка, оскільки не вдалося знайти файли в першому пакеті. Це змушує мене вважати, що перший пакет навіть не був встановлений.

Як я можу переконатися, що перший пакет встановлений, перш ніж він спробує скласти другий пакет?

Файл управління для першого пакету (libjsoncpp):

Джерело: jsoncpp
Пріоритет: додатково
Технік: Натан Осман 
Залежить від побудови: dehelper (> = 7)
Стандарти-версія: 3.8.3
Розділ: губки
Домашня сторінка: http://jsoncpp.sf.net

Пакет: jsoncpp-dev
Розділ: libdevel
Архітектура: будь-яка
Залежить: libjsoncpp (= $ {бінарний: версія})
Опис: Бібліотека розбору JSON для C ++
 jsoncpp - це бібліотека C ++, завдяки якій це легко
 читати / записувати дані JSON.
 .
 Цей пакет містить необхідні інструменти розробки
 для створення додатків, які використовують jsoncpp.

Пакет: libjsoncpp
Розділ: губки
Архітектура: будь-яка
Залежить: $ {shlibs: Залежить}, $ {misc: Залежить}
Опис: Бібліотека розбору JSON для C ++
 jsoncpp - це бібліотека C ++, завдяки якій це легко
 читати / записувати дані JSON.

Файл управління для другого (libsopp):

Джерело: sopp
Пріоритет: додатково
Технік: Натан Осман 
Залежить від побудови: dehelper (> = 7)
Стандарти-версія: 3.8.3
Розділ: губки
Домашня сторінка: http://stackoverflow.quickmediasolutions.com

Упаковка: sopp-dev
Розділ: libdevel
Архітектура: будь-яка
Залежить: libsopp (= $ {бінарний: Версія}), jsoncpp-dev
Опис: Бібліотека C ++ для взаємодії з сайтами StackExchange.
 so ++ - це бібліотека C ++, яка охоплює функціональність StackOverflow
 API. Він забезпечує доступ до всіх сайтів StackExchange.
 .
 Цей пакет містить файли розробки, необхідні для написання програмного забезпечення
 що використовує так ++.

Упаковка: libsopp
Розділ: губки
Архітектура: будь-яка
Залежить: $ {shlibs: Залежить}, $ {misc: Залежить}, libjsoncpp
Опис: Бібліотека C ++ для взаємодії з сайтами StackExchange.
 so ++ - це бібліотека C ++, яка охоплює функціональність StackOverflow
 API. Він забезпечує доступ до всіх сайтів StackExchange.

Чи обидва пакети в одному ППА?
Джеремі Керр

@Jeremy: Так, вони є.
Натан Осман

Чи потрібен другий пакет, щоб створити перший пакет? (тобто пакет * -dev бібліотеки, яку він використовує)
txwikinger

@txwikinger: Так, так і є. Чи потрібно переглянути керуючі файли?
Натан Осман

@txwikinger: Nvm. Я їх додав.
Натан Осман

Відповіді:


10

У вашому другому пакеті (sopp) потрібно вказати, що його потрібно створити першим ; залежність, яку ви вказали (з Depends:), буде обробляти лише встановлення.

Щоб додати залежність збірки, додайте це до верхнього ( Source:) розділу вашого керуючого файлу:

Залежить від побудови: jsoncpp-dev

Тоді ви зможете випустити jsoncpp з Dependsрядка, оскільки shlibs:Dependsмакрос повинен працювати сам.

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