Eu gostaria de poder criar um pacote que não contenha nenhum código ou programa, mas instala outros pacotes que existem nos repositórios em um computador, como o ubuntu-restricted-extras
pacote?
Eu gostaria de poder criar um pacote que não contenha nenhum código ou programa, mas instala outros pacotes que existem nos repositórios em um computador, como o ubuntu-restricted-extras
pacote?
Respostas:
Um meta-pacote como este pode ser criado com uma ferramenta chamada equivs
que criará um pacote com apenas informações de dependência.
Primeiro, crie um diretório:
mkdir my-metapackage
cd my-metapackage/
Agora execute o programa:
equivs-control ns-control
Ele criará um arquivo chamado ns-control
, abra esse arquivo com o seu editor de texto. O arquivo de controle que você gera deve ter suas linhas Depends
ou Recommends
modificadas para depender dos pacotes que você deseja instalar:
Section: misc
Priority: optional
Standards-Version: 3.9.1
Package: my-metapackage
Version: 1.0
Depends: openssh-server, gedit
Description: This package installes an ssh server and a text editor
The Long description of this package ends with a newline!
(Apenas um exemplo, você deve incluir mais informações)
E, finalmente, crie o pacote executando
equivs-build ns-control
Seu pacote está localizado em my-metapackage/my-metapackage_1.0_all.deb
.
Se você deseja também criar um pacote fonte, a --full
opção pode ser passada para equivs-build
, por exemplo equivs-build --full ns-control
. Isso usará o debuild e também criará os arquivos .dsc e .tar.gz.
Para criar um arquivo .changes de origem que possa ser carregado em um PPA, extraia e construa o pacote de origem com
dpkg-source -x my-metapackage_1.0.dsc
cd my-metapackage-1.0
debuild -S
Se o Mantenedor que você definiu no ns-control corresponder à sua chave GPG, ele deverá criar e assinar o arquivo my-metapackage_1.0_source.changes para que você possa enviar para o seu PPA
~/.devscripts
arquivo e definir especificamente uma chave GPG diferente para usar no arquivo devscripts, ela substituirá o processo dpkg / debuild e o terá use a chave GPG específica especificada em .devscripts
. Assim como um ponto digno de nota para a última frase em sua resposta
Depends:
torna a instalação boa se e somente se houver pacotes; não os instala se não estiverem na minha máquina. Para instalá-los, eu usei Provides
e funciona como um encanto. Veja meu código (apenas mudei): github.com/palladius/debian-packages/blob/master/…