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 .