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 i386
em seu control
arquivo 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 rules
que 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/copyright
arquivo 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 postinst
script, pois você só precisa extrair alguns arquivos. compat
deve conter o nível de compatibilidade do debhelper, diga "8". (consulte a página de manual do debhelper para mais detalhes)
O changelog
arquivo pode ser editado com o dch
comando, disponível no devscripts
pacote. 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 dh
comando 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 -b
pode 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 myplugin
e colocá-lo /usr/share/rhythmbox/plugins/mypluginfolder
. Além disso, crie o DEBIAN
diretó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/control
qual 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>.deb
que está neste exemplo myplugin_1.0-1_all.deb
. Você pode usar o less
programa para espiar o arquivo. Por exemplo less myplugin_1.0-1_all.deb
,.