Я сделал пакет для своего PPA и загрузил его. Он построен без каких-либо проблем.
Затем я сделал еще один пакет, который зависел от первого, и загрузил его. Не удалось, потому что не удалось найти файлы в первом пакете. Это заставляет меня поверить, что первый пакет даже не был установлен.
Как я могу убедиться, что первый пакет установлен, прежде чем он попытается собрать второй пакет?
Файл управления для первого пакета (libjsoncpp):
Source: jsoncpp Priority: extra Maintainer: Nathan Osman Build-Depends: debhelper (>= 7) Standards-Version: 3.8.3 Section: libs Homepage: http://jsoncpp.sf.net Package: jsoncpp-dev Section: libdevel Architecture: any Depends: libjsoncpp (= ${binary:Version}) Description: JSON parsing library for C++ jsoncpp is a C++ library that makes it easy to read / write JSON data. . This package contains the development tools necessary to create applications that use jsoncpp. Package: libjsoncpp Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: JSON parsing library for C++ jsoncpp is a C++ library that makes it easy to read / write JSON data.
Элемент управления файл для второго (libsopp):
Source: sopp Priority: extra Maintainer: Nathan Osman Build-Depends: debhelper (>= 7) Standards-Version: 3.8.3 Section: libs Homepage: http://stackoverflow.quickmediasolutions.com Package: sopp-dev Section: libdevel Architecture: any Depends: libsopp (= ${binary:Version}), jsoncpp-dev Description: A C++ library for interfacing with StackExchange sites. so++ is a C++ library that wraps the functionality of the StackOverflow API. It provides access to all of the StackExchange sites. . This package contains the development files necessary to write software that uses so++. Package: libsopp Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libjsoncpp Description: A C++ library for interfacing with StackExchange sites. so++ is a C++ library that wraps the functionality of the StackOverflow API. It provides access to all of the StackExchange sites.
Ваш второй пакет (sopp) должен указать, что ему нужен первый для сборки ; указанная вами зависимость (с помощью Depends:
) будет обрабатывать только установку.
Чтобы добавить зависимость сборки, добавьте это в верхнюю (Source:
) секцию вашего управляющего файла:
Build-Depends: jsoncpp-dev
После этого вы сможете удалить jsoncpp из строки Depends
, как макрос shlibs:Depends
должен решить эту проблему сам.