Как загрузить пакет с зависимостями в мой PPA?

13

Я сделал пакет для своего PPA и загрузил его. Он построен без проблем.

Затем я сделал еще один пакет, который зависел от первого, и загрузил его. Не удалось, потому что не удалось найти файлы в первом пакете. Это заставляет меня поверить, что первый пакет даже не был установлен.

Как я могу убедиться, что первый пакет установлен, прежде чем он попытается собрать второй пакет?

Контрольный файл для первого пакета (libjsoncpp):

Источник: jsoncpp
Приоритет: дополнительный
Сопровождающий: Натан Осман 
Сборка-Зависит: debhelper (> = 7)
Стандарты-Версия: 3.8.3
Раздел: libs
Домашняя страница: http://jsoncpp.sf.net

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

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

Контрольный файл для второго (libsopp):

Источник: Сопп
Приоритет: дополнительный
Сопровождающий: Натан Осман 
Сборка-Зависит: debhelper (> = 7)
Стандарты-Версия: 3.8.3
Раздел: libs
Домашняя страница: http://stackoverflow.quickmediasolutions.com

Пакет: sopp-dev
Раздел: libdevel
Архитектура: любая
Зависит от: libsopp (= $ {binary: Version}), jsoncpp-dev
Описание: библиотека C ++ для взаимодействия с сайтами StackExchange.
 so ++ - это библиотека C ++, которая объединяет функциональность StackOverflow
 API. Он предоставляет доступ ко всем сайтам StackExchange.
 ,
 Этот пакет содержит файлы разработки, необходимые для написания программного обеспечения
 который использует так ++.

Пакет: libsopp
Раздел: libs
Архитектура: любая
Зависит: $ {shlibs: Зависит}, $ {misc: Зависит}, libjsoncpp
Описание: библиотека C ++ для взаимодействия с сайтами StackExchange.
 so ++ - это библиотека C ++, которая объединяет функциональность StackOverflow
 API. Он предоставляет доступ ко всем сайтам StackExchange.
Натан Осман
источник
Оба пакета находятся в одном PPA?
Джереми Керр
@ Джереми: Да, они есть.
Натан Осман
Для второго пакета нужен первый пакет для сборки? (то есть пакет * -dev библиотеки, которую он использует)
txwikinger
@txwikinger: Да, это так. Вам нужно увидеть контрольные файлы?
Натан Осман
@txwikinger: Нвм. Я добавил их.
Натан Осман

Ответы:

10

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

Чтобы добавить зависимость сборки, добавьте это в Source:раздел top ( ) вашего управляющего файла:

Сборка-Зависит: jsoncpp-dev

После этого вы сможете удалить jsoncpp со Dependsстроки, так как shlibs:Dependsмакрос сам должен это решить.

Джереми Керр
источник