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 i386en su controlarchivo 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 rulesque 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/copyrightarchivo también puede ser útil para informar a los usuarios sobre las licencias asociadas con el paquete. No creo que necesites un postinstscript ya que solo necesitas extraer algunos archivos. compatdebe contener el nivel de compatibilidad de debhelper, diga "8". (consulte la página del manual de debhelper para obtener más detalles)
El changelogarchivo se puede editar con el dchcomando, disponible desde el devscriptspaquete. 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 dhcomando 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 -bse 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 mypluginy ponerlo /usr/share/rhythmbox/plugins/mypluginfolder. Además, cree el DEBIANdirectorio (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/controlque 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>.debque está en este ejemplo myplugin_1.0-1_all.deb. Puede usar el lessprograma para echar un vistazo al archivo. Por ejemplo, less myplugin_1.0-1_all.deb.