Me gustaría poder crear un paquete que no contenga ningún código o programa en sí, sino que instale otros paquetes que existen en los repositorios en una computadora, ¿cómo funciona el ubuntu-restricted-extras
paquete?
fuente
Me gustaría poder crear un paquete que no contenga ningún código o programa en sí, sino que instale otros paquetes que existen en los repositorios en una computadora, ¿cómo funciona el ubuntu-restricted-extras
paquete?
Se puede crear un metapaquete como este con una herramienta llamada equivs
que creará un paquete con solo información de dependencia.
Primero, cree un directorio:
mkdir my-metapackage
cd my-metapackage/
Ahora ejecuta el programa:
equivs-control ns-control
Creará un archivo llamado ns-control
, abra este archivo con su editor de texto. El archivo de control que genere debe tener sus líneas Depends
o Recommends
modificadas para depender de los paquetes que desea 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!
(Solo un ejemplo, debe incluir más información)
Y finalmente, compile el paquete ejecutando
equivs-build ns-control
Su paquete se encuentra en my-metapackage/my-metapackage_1.0_all.deb
.
Si desea crear también un paquete fuente, la --full
opción se puede pasar a equivs-build
, por ejemplo equivs-build --full ns-control
. Esto usará debuild y también creará archivos .dsc y .tar.gz.
Para crear un archivo fuente .changes que pueda cargar a un PPA, extraiga y cree el paquete fuente con
dpkg-source -x my-metapackage_1.0.dsc
cd my-metapackage-1.0
debuild -S
Si el Mantenedor que configuró en ns-control coincide con su clave GPG, debería compilar y firmar el archivo my-metapackage_1.0_source.changes para que lo transfiera a su PPA
~/.devscripts
archivo y define específicamente una clave GPG diferente para usar en el archivo devscripts, ANULARÁ el proceso dpkg / debuild y lo tendrá use la clave GPG específica especificada en.devscripts
. Solo como un punto notable para la última oración de su respuesta.Depends:
hace que la instalación sea buena si y solo si hay paquetes allí; no los instala si no están en mi máquina. Para instalarlos, usé en suProvides
lugar y funciona a las mil maravillas. Ver mi código (solo lo cambié): github.com/palladius/debian-packages/blob/master/…