У меня есть 2 пакета swami-2.0.0 и libinstpatch-1.0.0 в моем PPA, где первый зависит от последнего. Управляющий файл swami-2.0.0 содержит libinstpatch-dev (> = 1.0.0), но кажется, что это не выполняется даже после установки этого пакета, с этой ошибкой в buildlog:
After installing, the following source dependencies are still unsatisfied: libinstpatch-dev(inst 1.0.0-0~lucid1~ppa1 ! >= wanted 1.0.0) Source-dependencies not satisfied; skipping swami
что-то не так с моим именем версии 1.0.0-0 ~ lucid1 ~ ppa1, что приводит к тому, что оно не совпадает с 1.0.0?
Вот контрольный файл Свами:
Source: swami Section: sound Priority: optional Maintainer: Joshua Element Green Homepage: http://swami.sourceforge.net Standards-Version: 3.8.3 Build-Depends: 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-tools, docbook-xml Build-Depends-Indep: libglib2.0-doc Package: swami Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: MIDI instrument editor application Swami (Sampled Waveforms And Musical Instruments) is an application for editing and managing MIDI instruments, such as SoundFont files. An programming API is also provided for integration with other applications. Package: swami-dev Section: libdevel Architecture: any Depends: swami (= ${binary:Version}), ${misc:Depends}, libinstpatch-dev (>= 1.0.0), libgtk2.0-dev (>= 2.8.17), libgnomecanvas2-dev (>= 2.0) Description: MIDI instrument editor development files Swami (Sampled Waveforms And Musical Instruments) is an application for editing and managing MIDI instruments, such as SoundFont files. An programming API is also provided for integration with other applications. . This package contains the include files and static libraries. Package: swami-doc Section: doc Architecture: all Depends: ${misc:Depends} Suggests: devhelp Description: MIDI instrument editor development documentation Swami (Sampled Waveforms And Musical Instruments) is an application for editing and managing MIDI instruments, such as SoundFont files. An programming API is also provided for integration with other applications. . This package contains development documentation for swami in /usr/share/gtk-doc/html/libswami and /usr/share/gtk-doc/html/libswamigui.
управляющий файл libinstpatch:
Source: libinstpatch Section: sound Priority: optional Maintainer: Joshua Element Green Homepage: http://swami.sourceforge.net Standards-Version: 3.8.3 Build-Depends: 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 Package: libinstpatch1 Section: libs Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: MIDI instrument editing library libInstPatch (lib Instrument Patch) is an object oriented library for editing MIDI instruments such as SoundFont files. Package: libinstpatch-dev Section: libdevel Architecture: any Depends: libinstpatch1 (= ${binary:Version}), ${misc:Depends}, libglib2.0-dev (>= 2.14), libsndfile1-dev (>= 1.0.17-2) Description: MIDI instrument editing library development files libInstPatch (lib Instrument Patch) is an object oriented library for editing MIDI instruments such as SoundFont files. . This package contains the include files and static library. Package: libinstpatch-doc Section: doc Architecture: all Depends: ${misc:Depends} Suggests: devhelp Description: MIDI instrument editing library documentation libInstPatch (lib Instrument Patch) is an object oriented library for editing MIDI instruments such as SoundFont files. . This package contains the documentation for libinstpatch1 in /usr/share/gtk-doc/html/libinstpatch.
Вы можете использовать политику 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 оно не соответствует.
Да, с номером вашей версии что-то не так. Использование постфикса ~
означает, что ваша версия ниже , чем версия без суффикса ~
.
Итак: A ~ B < A
Вы можете проверить это с помощью командной строки, которую дал вам txwikinger.
Причина, по которой ~
часто используется для PPA, заключается в том, что если версия 1.0.0-0 попадет в основные репозитории Ubuntu, вы получите официальную версию вместо версии PPA.
Одним из решений вашей проблемы может быть удаление зависимости версионной сборки; учитывая, что старых пакетов нет, с этим не должно быть проблем.
Другой (возможно, лучший?) Вариант может зависеть от версии >= 1.0.0~
, например A ~ < А ~ В .