Abaixo, suponho que a fonte esteja aberta (por exemplo, scripts Python), que não estão vinculados a nenhuma arquitetura (por exemplo, amd64 ou i386), portanto, "all". Se você tiver alguma fonte C, precisará usar Architecture: amd64 i386
no arquivo de origem control
.
criando o pacote pronto para o Launchpad
This will eventually will become a series of individual launchpad PPA packages.
What I prefer (but may not be able to achieve...) is to keep my packaging to a minimum - create a series of packages from a template and adjust the bare minimum (changelog etc + the tar file).
O Launchpad só aceita pacotes de código-fonte, portanto, crie um rules
que instale os arquivos nos locais corretos. Por conveniência, vou usar debhelper . O diretório com seus arquivos deve se parecer com:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
Um arquivo debian/copyright
também pode ser útil para informar os usuários sobre as licenças associadas ao pacote. Eu não acho que você precisa de um script postinst
, pois você só precisa extrair alguns arquivos. compat
deve conter o nível de compatibilidade do debhelper, digamos "8". (por favor, consulte a página de manual do debhelper para mais detalhes)
O arquivo changelog
pode ser editado com o comando dch
, disponível no pacote devscripts
. O rules
(usando o debhelper) deve conter:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Torne-o executável usando chmod 755 debian/rules
. Um pacote de origem pode ser construído usando debuild -S
. Certifique-se de estar em um diretório chamado <package-name>-<version>
. Mais informações sobre o comportamento override_
e o comando dh
podem ser encontradas em sua página de manual .
O Guia dos Novos Mantenedores Debian foi muito valioso para mim entender isso, é uma leitura recomendada . Exemplo de embalagem pode ser encontrado no link .
criando o pacote a partir da árvore de arquivos existente
dpkg-deb -b
pode ser usado para criar tarballs de uma árvore de arquivos existente. Primeiro, comece criando um diretório que deve ser nomeado após o seu pacote. Eu suponho que você queira nomear myplugin
e colocar em /usr/share/rhythmbox/plugins/mypluginfolder
. Além disso, crie o diretório DEBIAN
(maiúsculas!) 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 arquivo chamado controle localizado em myplugin/DEBIAN/control
que descreve o pacote. O conteúdo de tal arquivo é colocado abaixo:
Package: myplugin
Version: 1.0-1
Maintainer: You <[email protected]>
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 estiver satisfeito, crie o pacote no diretório atual:
dpkg-deb -b myplugin .
Um novo arquivo aparecerá, chamado <package>_<version>_<architecture>.deb
, que está neste exemplo myplugin_1.0-1_all.deb
. Você pode usar o programa less
para espiar no arquivo. Por exemplo, less myplugin_1.0-1_all.deb
.