A compilação do PPA falhou devido a dependências não atendidas de outro pacote no mesmo PPA

3

Eu tenho 2 pacotes swami-2.0.0 e libinstpatch-1.0.0 no meu PPA, onde o primeiro depende do último. O arquivo de controle swami-2.0.0 contém o libinstpatch-dev (> = 1.0.0), mas parece que isso não está satisfeito mesmo depois de instalar o pacote, com este erro no 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

Há algo errado com o meu nome da versão 1.0.0-0 ~ lucid1 ~ ppa1 que faz com que ele não corresponda à 1.0.0?

Aqui está o arquivo de controle do Swami:

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.

E aqui está o arquivo de controle 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.
    
por Element Green 27.10.2010 / 19:56

2 respostas

0

Sim, há algo "errado" no seu número de versão. Usar um postfix ~ significa que sua versão é menor que a versão sem o sufixo ~ .

Então: A ~ B < A

Você pode testar isso com a linha de comando que o txwikinger lhe deu.

A razão pela qual o ~ é frequentemente usado para os PPAs é que, se a versão 1.0.0-0 entrar nos repositórios principais do Ubuntu, você obterá a versão oficial em vez da versão do PPA.

Uma solução para o seu problema pode ser remover a dependência de compilação com versão; considerando que não há pacotes mais antigos, não deve haver problema com isso.

Outra opção (talvez melhor?) pode ser depender da versão >= 1.0.0~ , como A ~ < A ~ B .

    
por JanC 27.10.2010 / 20:48
1

Você pode usar o apt-get policy para ver quais candidatos estão disponíveis nas diferentes fontes para instalação.

Em segundo lugar, você pode usar o dpkg para verificar as condições de nomenclatura:

dpkg --compare-versions 1.0.0-0~lucid1~ppa1 gt 1.0.0
echo $?

resulta em 1 , o que significa erro como não correspondido. se você usar 1.0.0-1~lucid1~ppa1 , ele funcionará (o que você provavelmente deve usar de qualquer maneira, caso tenha alterado o pacote).

Em qualquer caso, o recurso de comparação de versões facilita o teste das coisas. Apenas lembre-se, o resultado 0 significa que a condição é correspondida, 1 não corresponde.

    
por txwikinger 27.10.2010 / 20:10