Сбой сборки PPA из-за неудовлетворенных зависимостей другого пакета в том же PPA

У меня есть 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.
3
задан 27 October 2010 в 22:02

2 ответа

Вы можете использовать политику 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 оно не соответствует.

0
ответ дан 27 October 2010 в 22:02

Да, с номером вашей версии что-то не так. Использование постфикса ~ означает, что ваша версия ниже , чем версия без суффикса ~.

Итак: A ~ B < A

Вы можете проверить это с помощью командной строки, которую дал вам txwikinger.

Причина, по которой ~ часто используется для PPA, заключается в том, что если версия 1.0.0-0 попадет в основные репозитории Ubuntu, вы получите официальную версию вместо версии PPA.

Одним из решений вашей проблемы может быть удаление зависимости версионной сборки; учитывая, что старых пакетов нет, с этим не должно быть проблем.

Другой (возможно, лучший?) Вариант может зависеть от версии >= 1.0.0~, например A ~ < А ~ В .

0
ответ дан 27 October 2010 в 22:02

Другие вопросы по тегам:

Похожие вопросы: