Pergunta

Estou tentando criar um pacote Debian para um aplicativo Java.

No meu pacote, há um .jar arquivo que é executável, um script que executará este arquivo jar e um .so Arquivo para FMOD. Eu li este tutorial.

No arquivo de controle, existe um campo 'Depende' que basicamente descreve os pacotes que precisam ser instalados para instalar meu aplicativo. Minha pergunta é: como encontro quais pacotes são necessários para o meu aplicativo? Eu segui as instruções no tutorial para um dos arquivos .So e comprei o seguinte:

$ dpkg -S libfmodex64-4.28.09.so 
dpkg: *libfmodex64-4.28.09.so* not found.

Além disso, meu aplicativo exige que o Java 1.5 seja instalado para que ele seja executado. Como especificar isso no meu pacote Debian?

Foi útil?

Solução

Eu recomendo fortemente a criação de seu pacote a partir da fonte na infraestrutura de embalagens do Debian. Tudo será bem cuidado automaticamente se você usar a aula de formigas em CDBS.

Se você insistir em montar um binário .deb só, equives é muito menos hackish do que o método descrito pelo seu documento.

Outras dicas

Você vai querer obter o nome canônico da sua biblioteca:

apt-cache search libname

Tome cuidado para observar a nomenclatura no final do pacote. Você não quer especificar um específico Versão no arquivo de controle, apenas a versão mais antiga da biblioteca adequada para o seu aplicativo.

Você então usaria canonical_libname >= major.minor , que permite que o sistema decida se você tem (ou pode atualizar) a versão da biblioteca que pode suportar seu aplicativo. Se você esculpir isso a tempo, ou seja, especificando a versão completa da sua biblioteca atual, você quebrará no futuro.

Por exemplo, se você especificar libfoo-1.2.34 e versões futuras do navio Debian libfoo-2.3.45, seu pacote não se instala, porque acha que você tem uma versão incompatível do Libfoo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top