¿Cómo crear un PPA para el progtwig C ++?

MyAgenda 1.0 captura de pantalla

Si tengo un proyecto c ++ / gtkmm creado con NetBean, ¿cómo puedo hacer un paquete a PPA a partir de esto?

He creado la estructura de archivos de destino (* .desktop, iconfile, ui glade files).

El binario va a /opt/extras.ubuntu.com/myagenda/bin/myagenda .

También hay una carpeta de archivos glade, que debe ir a /opt/extras.ubuntu.com/myagenda/bin/myagenda/ui .

El archivo de escritorio va a /usr/share/applications/myagenda.desktop . El icono va a /usr/share/icons/hicolor/scalable/apps/myagenda.svg

Como ves, solo hay una pequeña cantidad de archivos.

Ahora, ¿cómo administrar todo esto, crear un paquete en PPA, que sepa dónde y cómo ubicar estos archivos en sus objectives?

 ├── opt │  └── extras.ubuntu.com │  └── myagenda │  ├── bin │  │  └── myagenda │  └── ui │  ├── item_btn_delete.png │  ├── item_btn_edit.png │  ├── myagenda.png │  ├── myagenda.svg │  ├── reminder.png │  └── ui.glade └── usr └── share ├── applications │  └── myagenda.desktop └── icons └── hicolor └── scalable └── apps └── myagenda.svg 

Actualizar:

  1. Archivo de install creado en el directorio de debian con objectives:

     data/myagenda /opt/extras.ubuntu/com/myagenda/bin data/ui/* /opt/extras.ubuntu/com/myagenda/ui data/myagenda.desktop /usr/share/applications data/myagenda.svg /usr/share/icons/hicolor/scalable/apps 

Después de dpkg-buildpackage se construye, pero para la architecture amd64. Ahora, tratando de cambiar eso a i386.

Crear PPA es un proceso muy simple y, al mismo tiempo, algo complejo, dependiendo de la complejidad del paquete (es decir, binario único, binario múltiple, etc.). Pero para una aplicación simple como su MyAgenda, crear un PPA es muy simple.

Primero instala los paquetes necesarios.

sudo apt-get install build-essential devscripts ubuntu-dev-tools debhelper dh-make diff patch cdbs quilt gnupg fakeroot lintian pbuilder piuparts . La mayoría de ellos probablemente ya están instalados por defecto.

Ahora configura tu gpg-key y ssh-key. Siga las instrucciones de aquí y aquí .


PASO 1: Diseño del paquete fuente

Ahora vaya a la carpeta de origen de su aplicación. Aquí está el diseño de su paquete fuente básico:

  MyAgenda-1.0/ -- data/ -- myagenda -- myagenda.desktop -- myagenda.svg --ui -- myagenda.glade -- otherfiles -- debian/ -- changelog -- copyright -- compat -- rules -- control -- install 

PASO 2: Conozca su ID GPG CLAVE y su formato

Primer bash:

gpg --list-keys . Te dará salida algo como esto:

  pub: YOURGPG-KEY uid: YOURUSERNAME  #note your username & email. sub: -------- 

PASO 3: Crear una carpeta de Debian

Para crear la carpeta de Debian y todos los demás archivos necesarios en la carpeta de Debian, ejecute ( use el mismo nombre de usuario y correo electrónico de arriba ):

DEBFULLNAME="YOURUSERNAME" dh_make -n -s -e YOUREMAIL-ID . Esto ayudará a firmar el paquete con clave gpg.

Sin embargo, esto no creará el archivo “instalar” en la carpeta debian. Cree el archivo manualmente y guárdelo con los siguientes datos:

  data/myagenda /opt/extras.ubuntu/com/myagenda/bin data/ui/* /opt/extras.ubuntu/com/myagenda/ui data/myagenda.desktop /usr/share/applications data/myagenda.svg /usr/share/icons/hicolor/scalable/apps 

PASO 4: Actualizar el registro de cambios

Para actualizar la ejecución del registro de cambios:

 dch -i 

Aquí hay una muestra de registro de cambios:

 package (version) distribution; urgency=urgency * change details more change details * even more change details -- maintainer name [two spaces] Sun, 8 July 2012 18:14:08 +0530 

Asegúrese de que se conserva el formato anterior. Cuando termine de editar, presione CTRL + O para escribir. Quitar
.dch part & overwrite changelog file. Presione CTRL + X para salir.

Es posible que desee eliminar archivos .ex adicionales en debian. Ingrese en la carpeta debian y elimine los archivos .ex y .EX.

 cd debian rm *.ex *.EX 

PASO 5: Crear paquete DEB

Entonces para crear el paquete deb ejecutar:

debuild --no-tgz-check # Optional.it no debuild --no-tgz-check fuente.


PASO 6: Subir a PPA

Para cargar el paquete fuente en un PPA debe ejecutar:

 debuild -S 

Lo que hace el distintivo -S es decirle a debuild que compile un paquete fuente utilizando otro script, dpkg-buildpackage, junto con fakeroot, que nos otorga privilegios de raíz falsos al crear el paquete. Tomará el archivo .orig.tar.gz y producirá un archivo .diff.gz (la diferencia entre el archivo tar original del autor y el directorio que hemos creado, debian / y su contenido) y un archivo .dsc que tiene la descripción. y md5sums para el paquete fuente. Los archivos .dsc y * _source.changes (utilizados para cargar el paquete fuente) se firman usando su clave GPG.

debuild -S creará un archivo source.changes fuera de su directorio de origen. Ir al launchpad y crear un PPA. Ahora cargue los cambios de origen a ese PPA (( cambie el nombre del archivo en consecuencia ):

 dput ppa:YOUR-LAUNCHPAD-USERNAME/myagenda myagenda-1.0-ubuntu1.changes 

¡HECHO!


Notas:

Si desea cargar un paquete para varias versiones de ubuntu, obtenga ayuda desde aquí .

Fuentes: Guía de Empaque completa Wiki .