Abaixo, estou assumindo que a fonte está aberta (por exemplo, scripts Python) que, portanto, não estão vinculados a nenhuma arquitetura (por exemplo, amd64 ou i386), portanto, "todos". Se você tiver alguma fonte C, precisará usar Architecture: amd64 i386em seu controlarquivo de origem .
criando pacote pronto para Launchpad
Isso acabará se tornando uma série de pacotes PPA individuais da barra de ativação.
O que eu prefiro (mas talvez não consiga alcançar ...) é manter minha embalagem no mínimo - criar uma série de pacotes a partir de um modelo e ajustar o mínimo (changelog etc + arquivo tar).
A barra de ativação aceita apenas pacotes de origem, portanto, crie um rulesque instale os arquivos nos locais corretos. Por conveniência, vou usar o debhelper . O diretório com seus arquivos deve se parecer com:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
Um debian/copyrightarquivo também pode ser útil para informar os usuários sobre as licenças associadas ao pacote. Eu não acho que você precise de um postinstscript, pois você só precisa extrair alguns arquivos. compatdeve conter o nível de compatibilidade do debhelper, diga "8". (consulte a página de manual do debhelper para mais detalhes)
O changelogarquivo pode ser editado com o dchcomando, disponível no devscriptspacote. O rules(usando debhelper) deve conter:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Torne executável usando chmod 755 debian/rules. Um pacote de origem pode ser criado usando debuild -S. Certifique-se de estar em um diretório chamado <package-name>-<version>. Mais informações sobre o override_comportamento e o dhcomando podem ser encontradas em sua página de manual .
O Guia dos Novos Mantenedores Debian foi muito valioso para eu entender isso, é uma leitura recomendada. Exemplo de embalagem pode ser encontrada em https://github.com/Bumblebee-Project/bumblebee-ppa .
criando pacote a partir da árvore de arquivos existente
dpkg-deb -bpode ser usado para criar tarballs a partir de uma árvore de arquivos existente. Primeiro, comece com a criação de um diretório que deve receber o nome do seu pacote. Presumo que você queira nomeá-lo myplugine colocá-lo /usr/share/rhythmbox/plugins/mypluginfolder. Além disso, crie o DEBIANdiretório (maiúsculo!) Para armazenar informações do pacote:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Copie seus arquivos:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
Em seguida, você precisará do chamado arquivo de controle localizado no myplugin/DEBIAN/controlqual descreve o pacote. O conteúdo desse arquivo é colocado abaixo:
Package: myplugin
Version: 1.0-1
Maintainer: You <whatever@contact.address>
Architecture: all
Description: plugins for Rhythmbox
Longer description here
.
As you can see, new paragraph are split by a single dot,
and lines have to be indented by one space.
Agora, você pode opcionalmente verificar o conteúdo do seu pacote. O próximo comando lista o conteúdo das entradas de arquivo e diretório de myplugin:
find myplugin -ls
Se você estiver satisfeito, crie o pacote no diretório atual:
dpkg-deb -b myplugin .
Um novo arquivo aparecerá, nomeado como o <package>_<version>_<architecture>.debque está neste exemplo myplugin_1.0-1_all.deb. Você pode usar o lessprograma para espiar o arquivo. Por exemplo less myplugin_1.0-1_all.deb,.