A continuación, supongo que la fuente está abierta (por ejemplo, scripts de Python) que, por lo tanto, no están vinculados a ninguna arquitectura (por ejemplo, amd64 o i386), por lo tanto, "todos". Si tiene alguna fuente C, debe usarla Architecture: amd64 i386
en su control
archivo fuente .
creando un paquete listo para Launchpad
Esto eventualmente se convertirá en una serie de paquetes individuales PPA de launchpad.
Lo que prefiero (pero es posible que no pueda lograr ...) es mantener mi empaque al mínimo: crear una serie de paquetes a partir de una plantilla y ajustar el mínimo (registro de cambios, etc. + el archivo tar).
Launchpad solo acepta paquetes fuente, así que cree uno rules
que instale los archivos en los lugares correctos. Por conveniencia, usaré debhelper . El directorio con sus archivos debería verse así:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
Un debian/copyright
archivo también puede ser útil para informar a los usuarios sobre las licencias asociadas con el paquete. No creo que necesites un postinst
script ya que solo necesitas extraer algunos archivos. compat
debe contener el nivel de compatibilidad de debhelper, diga "8". (consulte la página del manual de debhelper para obtener más detalles)
El changelog
archivo se puede editar con el dch
comando, disponible desde el devscripts
paquete. El rules
(usando debhelper) debe contener:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Hazlo ejecutable usando chmod 755 debian/rules
. Se puede construir un paquete fuente usando debuild -S
. Asegúrese de estar en un directorio llamado <package-name>-<version>
. Puede encontrar más información sobre el override_
comportamiento y el dh
comando en su página de manual .
La Guía para nuevos mantenedores de Debian fue muy valiosa para que entendiera esto, es una lectura recomendada. Puede encontrar ejemplos de empaques en https://github.com/Bumblebee-Project/bumblebee-ppa .
crear paquete desde el árbol de archivos existente
dpkg-deb -b
se puede usar para crear tarballs a partir de un árbol de archivos existente. Primero, comience con la creación de un directorio que debe llamarse después de su paquete. Asumiré que quieres nombrarlo myplugin
y ponerlo /usr/share/rhythmbox/plugins/mypluginfolder
. Además, cree el DEBIAN
directorio (en mayúsculas) para almacenar la información del paquete:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Copie sobre sus archivos:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
A continuación, necesitará un llamado archivo de control ubicado en el myplugin/DEBIAN/control
que se describe el paquete. El contenido de dicho archivo se muestra a continuación:
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.
Ahora, opcionalmente, puede verificar el contenido de su paquete. El siguiente comando enumera el contenido de las entradas de archivo y directorio de myplugin
:
find myplugin -ls
Si está satisfecho, cree el paquete en el directorio actual:
dpkg-deb -b myplugin .
Aparecerá un nuevo archivo, llamado como el <package>_<version>_<architecture>.deb
que está en este ejemplo myplugin_1.0-1_all.deb
. Puede usar el less
programa para echar un vistazo al archivo. Por ejemplo, less myplugin_1.0-1_all.deb
.