Сбой сборки PPA из-за неудовлетворенных зависимостей другого пакета в том же PPA
У меня есть 2 пакета swami-2.0.0 и libinstpatch-1.0.0 в моем PPA, где первый зависит от последнего. Управляющий файл swami-2.0.0 содержит libinstpatch-dev (>= 1.0.0), но кажется, что это не выполняется даже после установки этого пакета, с этой ошибкой в buildlog:
После установки следующие исходные зависимости все еще не удовлетворены: libinstpatch-dev(inst 1.0.0-0~lucid1~ppa1! >= требуемый 1.0.0) Исходные зависимости не удовлетворены; пропуская свами
Что-то не так с моим именем версии 1.0.0-0 ~ lucid1 ~ ppa1, которое не соответствует 1.0.0?
Вот контрольный файл Swami:
Источник: Свами
Раздел: звук
Приоритет: необязательно
Сопровождающий: Джошуа Элемент Грин
Домашняя страница: http://swami.sourceforge.net
Стандарты-Версия: 3.8.3
Build-Зависит: debhelper (>= 7),
Gettext,
cdbs (>= 0,4.41),
gnome-pkg-tools (>= 0,7),
libinstpatch-dev (>= 1.0.0),
libgtk2.0-dev (>= 2.8.17),
libgnomecanvas2-dev (>= 2.0),
librsvg2-dev (>= 2,8),
libglade2-DEV,
libfluidsynth-DEV,
libfftw3-DEV,
GTK-Doc-инструменты,
DocBook-XML
Build-Depends-Indep: libglib2.0-doc
Пакет: Свами
Архитектура: любая
Зависит: ${shlibs: Зависит},
${Разные: Зависит}
Описание: приложение для редактирования MIDI-инструментов
Свами (Sampled Waveforms And Musical Instruments) - это приложение
для редактирования и управления MIDI-инструментами, такими как файлы SoundFont.
Программный API также предоставляется для интеграции с другими
Приложения.
Пакет: Свами-Дев
Раздел: libdevel
Архитектура: любая
Зависит от: свами (= ${бинарный: версия}),
${Разное: Зависит},
libinstpatch-dev (>= 1.0.0),
libgtk2.0-dev (>= 2.8.17),
libgnomecanvas2-dev (>= 2.0)
Описание: файлы разработки редактора MIDI-инструментов
Свами (Sampled Waveforms And Musical Instruments) - это приложение
для редактирования и управления MIDI-инструментами, такими как файлы SoundFont.
Программный API также предоставляется для интеграции с другими
Приложения.,
Этот пакет содержит включаемые файлы и статические библиотеки.
Пакет: Свами-Док
Раздел: док
Архитектура: все
Зависит: ${misc: Зависит}
Предлагает: devhelp
Описание: документация по разработке редактора MIDI-инструментов
Свами (Sampled Waveforms And Musical Instruments) - это приложение
для редактирования и управления MIDI-инструментами, такими как файлы SoundFont.
Программный API также предоставляется для интеграции с другими
Приложения.,
Этот пакет содержит документацию по разработке для свами в
/usr/share/gtk-doc/html/libswami и /usr/share/gtk-doc/html/libswamigui.
А вот и файл управления libinstpatch:
Источник: libinstpatch Раздел: звук Приоритет: необязательный Сопровождающий: Джошуа Элемент Грин Домашняя страница: http://swami.sourceforge.net Версия стандартов: 3.8.3 Сборка-Зависит: debhelper (>= 7),
libglib2.0-dev (>= 2.14),
libsndfile1-dev (>= 1.0.17-2),
gettext,
cdbs (>= 0.4.41),
gnome-pkg-tools (>= 0.7),
gtk-doc-tools,
docbook-xml
Build-Depends-Indep: libglib2.0-doc Пакет: libinstpatch1 Раздел: libs Архитектура: любая Зависит от: ${misc:Depends},
${shlibs:Depends} Описание: библиотека редактирования инструментов MIDI libInstPatch (lib Instrument Patch) - это объектно-ориентированная библиотека для редактирования MIDI-инструментов, таких как файлы SoundFont. Пакет: libinstpatch-dev Раздел: libdevel Архитектура: любая Зависит от: libinstpatch1 (= ${binary:Version}),
${misc:Depends},
libglib2.0-dev (>= 2.14),
libsndfile1-dev (>= 1.0.17-2) Описание: файлы разработки библиотеки редактирования инструментов MIDI libInstPatch (lib Instrument Patch) - это объектно-ориентированная библиотека для редактирования инструментов MIDI, таких как файлы SoundFont., Этот пакет содержит включаемые файлы и статическую библиотеку. Пакет: libinstpatch-doc Раздел: doc Архитектура: все Зависит от: ${misc: Depends} Предложения: devhelp Описание: документация библиотеки редактирования инструментов MIDI libInstPatch (lib Instrument Patch) - это объектно-ориентированная библиотека для редактирования инструментов MIDI, таких как файлы SoundFont., Этот пакет содержит документацию для libinstpatch1 в /usr/share/gtk-doc/html/libinstpatch.
2 ответа
Да, что-то не так с вашим номером версии. Используя ~ Постфикс означает, что ваша версия ниже, чем версия без ~ суффикс.
Итак: A ~ B < A
Вы можете проверить это с помощью командной строки, которую дал вам txwikinger.
Причина по которой ~ Часто используется для PPA, если версия 1.0.0-0 попадает в основные репозитории Ubuntu, вместо версии PPA вы получите официальную версию.
Одним из решений вашей проблемы может быть удаление зависимости версионной сборки; учитывая, что нет более старых пакетов, с этим проблем быть не должно.
Другой (может быть, лучше?) Вариант может зависеть от версии >= 1.0.0~, как A ~ < A ~ B.
Вы можете использовать политику apt-get, чтобы увидеть, какие кандидаты доступны для установки из разных источников.
Во-вторых, вы можете использовать dpkg для проверки условий именования:
dpkg --compare-versions 1.0.0-0~lucid1~ppa1 gt 1.0.0
echo $?
результаты в 1 что означает ошибку как в несоответствии. если вы используете 1.0.0-1~lucid1~ppa1 вместо этого он будет работать (что вы, вероятно, должны использовать в любом случае, если вы изменили пакет).
В любом случае функция сравнения версий позволяет легко проверять вещи. Просто помните, что результат 0 означает, что условие соответствует, 1 оно не соответствует.