Сбой сборки 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 оно не соответствует.