Paquete de aplicaciones y programas de pygobject como .paquete de deb ”para el escritorio de Linux - Parte 4

Paquete de aplicaciones y programas de pygobject como .paquete de deb ”para el escritorio de Linux - Parte 4

Continuamos el Pygobject Serie de programación contigo en el escritorio de Linux, en el Cuarto Parte de la serie explicaremos cómo empaquetar los programas y aplicaciones que creamos para el escritorio de Linux usando PyGObject como un paquete Debian.

Aplicaciones de embalaje como paquete DEB

Paquetes de Debian (.debutante) son el formato más utilizado para instalar programas en Linux, el "dpkg"Sistema que se ocupa de .debutante Los paquetes son el valor predeterminado en todas las distribuciones de Linux con sede en Debian como Ubuntu y Linux Mint. Por eso solo explicaremos cómo empaquetar nuestros programas para Debian.

Cree un paquete Debian a partir de sus aplicaciones PyGObject

Primero, debe tener algunos conocimientos básicos sobre la creación de paquetes de Debian, esta siguiente guía lo ayudará mucho.

  1. Introducción al empaque de Debian

En resumen, si tienes un proyecto llamado "mi programa"Debe contener los siguientes archivos y carpetas para que pueda empaquetarlo.

Crear paquete DEB
  1. debian (Carpeta): Esta carpeta incluye toda la información sobre el paquete Debian dividido a muchos subcreses.
  2. correos (Carpeta): La carpeta PO incluye los archivos de traducción para el programa (lo explicaremos en la Parte 5).
  3. mi programa (Archivo): Este es el archivo de Python que creamos usando PyGObject, es el archivo principal del proyecto.
  4. ui.claro (Archivo): el archivo gráfico de la interfaz de usuario ... Si creó la interfaz de la aplicación con Glade, debe incluir este archivo en
    tu proyecto.
  5. plyprograma.escritorio (Archivo): este es el archivo responsable para mostrar la aplicación en el menú de aplicaciones.
  6. configuración.py (Archivo): este archivo es responsable de instalar cualquier programa de Python en el sistema local, es muy importante en cualquier programa de Python, también tiene muchas otras formas de uso.

Por supuesto ... hay muchos otros archivos y carpetas que puede incluir en su proyecto (de hecho, puede incluir lo que desee) pero esos son los básicos.

Ahora, comencemos a empacar un proyecto. Crea una nueva carpeta llamada "mi programa", Crea un archivo llamado"mi programa"Y agrégase el siguiente código.

#!/usr/bin/python #-*-codificación: UTF-8-*-## Reemplace su nombre y correo electrónico. # Mi nombre <[email protected]> ## Aquí debe agregar la licencia del archivo, reemplazar "myprogram" con el nombre de su programa. # Licencia: # myProgram es software gratuito: puede redistribuirlo y/o modificarlo # bajo los términos de la Licencia Pública General de GNU publicada por # The Free Software Foundation, ya sea la versión 3 de la licencia o # (a su opción ) Cualquier versión posterior. # # MyProgram se distribuye con la esperanza de que sea útil, # pero sin ninguna garantía; sin siquiera la garantía implícita de # comerciabilidad o aptitud para un propósito particular. Consulte la licencia pública general # GNU para más detalles. # # Debería haber recibido una copia del # de la Licencia Pública General de GNU junto con MyProgram. Si no, ver . de GI.Repositorio Importar GTK Importo de la clase OS Handler: def operenterminal (self, botón): ## Cuando el usuario hace clic en el primer botón, se abrirá el terminal. sistema operativo.Sistema ("X-terminal-emulador") DEF Closeprogram (self, botón): GTK.main_quit () # nada nuevo aquí ... acabamos de importar la ui '.archivo de glade. constructor = gtk.Constructor () constructor.add_from_file ("/usr/lib/myprogram/ui.glade ") constructor.Connect_signals (Handler ()) Window = Builder.get_object ("Window1") Ventana.Connect ("Eliminar el evento", GTK.Main_Quit) Ventana.show_all () gtk.principal() 

Crear un ui.claro archivo y llénelo con este código.

     Falso My Program Center Aplicaciones-Utilidades Centro Verdadero Falso 5 5 5 Vertical Vertical Vertical Falso Bienvenido a este programa de prueba !   False Verdadero 0 Haga clic en mí para abrir el terminal Verdadero Verdadero Falso verdadero 1 GTK PREFERENCIAS VERDADER       

No hay nada nuevo hasta ahora ... Acabamos de crear un archivo de Python y su archivo de interfaz. Ahora crea un "configuración.py"Archivo en la misma carpeta, y agréguelo, cada línea se explica en los comentarios.

# Aquí importamos el módulo 'Configuración' que nos permite instalar scripts de Python en el sistema local además de realizar algunas otras tareas, puede encontrar la documentación aquí: https: // docs.pitón.org/2/Distutils/Apiref.html de los distutils.Configuración de configuración de importación de Core (name = "mi programa", # Nombre del programa. versión = "1.0", # Versión del programa. Descripción = "Una interfaz web fácil de usar para crear y compartir pastas fácilmente", # No necesitas ayuda aquí. autor = "Tecmenta", # Ni aquí. autor_email = "[correo electrónico protegido]",# Ni aquí: D url ="http: // ejemplo.comunicarse", # Si tienes un sitio web para tu programa ... Ponlo aquí. licencia = 'GPLV3', # La licencia del programa. scripts = ['mi programa'], # Este es el nombre del archivo principal de script de Python, en nuestro caso es "myprogram", es el archivo que agregamos en la carpeta "myprogram". # Aquí puede elegir dónde desea instalar sus archivos en el sistema local, el archivo "myprogram" se instalará automáticamente en su lugar correcto más tarde, por lo que solo debe elegir dónde desea instalar los archivos opcionales que usted Forma con el script python data_files = [("lib/myprogram", [" ui.glade "]), # esto va a instalar la" ui ".Archivo Glade "en la ruta/usr/lib/myprogram. ("Compartir/aplicaciones", ["mi programa.escritorio "])]) # y esto va a instalar el .Archivo de escritorio en la carpeta/usr/share/aplicaciones, toda la carpeta se instala automáticamente en la carpeta/usr en su partición raíz, no necesita agregar "/usr/a la ruta. 

Ahora crea un "mi programa.escritorio"Archivo en la misma carpeta, y agregue el siguiente código, también se explica en los comentarios.

# Este es el .Archivo de escritorio, este archivo es el archivo responsable de mostrar su aplicación en el menú de aplicaciones en cualquier interfaz de escritorio, es importante agregar este archivo a su proyecto, puede ver más detalles sobre este archivo desde aquí: https: // desarrollador.gnomo.org/integración-guía/estable/archivos de escritorio.html.EN [Entrada de escritorio] # El nombre predeterminado del programa. Nombre = mi programa # El nombre del programa en el idioma árabe, este nombre se usará para mostrar la aplicación en el menú Aplicaciones Cuando el idioma predeterminado del sistema sea árabe, use los códigos de idiomas para cambiar el nombre de cada idioma. Nombre [AR] = برنامجي # Descripción del archivo. Comentario = un programa de prueba simple desarrollado por mí. # Descripción del archivo en árabe. Comentario [AR] = برنامج omin. # El comando que se ejecutará cuando la aplicación se inicie desde el menú Aplicaciones, puede ingresar el nombre del script de Python o la ruta completa si desea como/usr/bin/myprogram exec = myprogram # desea ejecutar ejecutar Su programa de la terminal? Terminal = falso # deja esto así. Type = aplicación # Ingrese el nombre del icono que desea usar para la aplicación, puede ingresar una ruta para el icono como/usr/share/pixmaps/icon.PNG, pero asegúrese de incluir el icono.Archivo PNG en la carpeta de su proyecto primero y en la configuración.PY FILE TAMBIÉN. Aquí usaremos el icono "Sistema" por ahora. Icon = sistema # La categoría del archivo, puede ver las categorías disponibles del sitio web de Freedesktop. Categorías = gnome; gtk; utilidad; StartupNotify = falso 

Ya casi terminamos aquí ... solo tenemos que crear algunos archivos pequeños bajo el "debian"Carpeta para proporcionar información sobre nuestro paquete para el"dpkg" sistema.

Abre el "debian"Carpeta, y crea los siguientes archivos.

Reglas de control de compat de compat 
Archivos de proyecto para el paquete DEB

control: Este archivo proporciona la información básica sobre el paquete Debian, para más detalles, visite los campos de control de paquetes de Debian.

Fuente: MyProgram Manderer: mi nombre <[email protected]> Sección: Utils Prioridad: Estándares opcionales-Versión: 3.9.2 dependientes de construcción: Debhelper (> = 9), Python2.7 Paquete: MyProgram Architecture: Todo depende: Python-GI Descripción: Mi programa aquí puede agregar una breve descripción sobre su programa. 

compat: Este es solo un archivo importante para el sistema DPKG, solo incluye el número mágico de 9, déjelo así.

9 

colegio de cambios: Aquí podrá agregar los cambios que realiza en su programa, para obtener más información, visite la fuente de BangeLog del paquete Debian.

myprogram (1.0) confiable; urgencia = medio * Agregue las nuevas funciones aquí. * Continuar agregando nuevos cambios aquí. * Y aquí. -- Mi nombre aquí <[email protected]> Sábado, 27 de diciembre de 2014 21:36:33 +0200 

normas: Este archivo es responsable de ejecutar el proceso de instalación en la máquina local para instalar el paquete, puede ver más información
Acerca de este archivo de aquí: Reglas predeterminadas del paquete de Debian.

Aunque no necesitará nada más para su programa Python.

#!/usr/bin/make -f # Este archivo es responsable de ejecutar el proceso de instalación en la máquina local para instalar el paquete, puede ver más información sobre este archivo desde aquí: https: // www.debian.org/doc/manuals/mantenimiento/dreq.interno.html#defaultrules Aunque no necesitará nada más para su programa Python. %: DH [Correo electrónico protegido] anverride_dh_auto_install: configuración de Python.Py instalación --Root = Debian/MyProgram --install-Layout = Deb --install-scripts =/usr/bin/ # Esto va a ejecutar la configuración.PY File para instalar el programa como un script de Python en el sistema, también instalará el script "myprogram" en/usr/bin/usando la opción --install-scripts, no olvide reemplazar "myprogram" con su Nombre del programa. anverRide_dh_auto_build: 

Ahora que creamos todos los archivos necesarios para nuestro programa correctamente, ahora comencemos a empacarlo. Primero, asegúrese de haber instalado algunas dependencias para el proceso de compilación antes de comenzar.

$ sudo apt-get actualización $ sudo apt-get install Devscripts 

Ahora imagina que el "mi programa"La carpeta está en su carpeta de inicio (/Home/User/MyProgram) Para empaquetarlo como un paquete Debian, ejecute los siguientes comandos.

$ cd/home/user/myprogram $ desbauild -us -uc 
Salida de muestra
[Correo electrónico protegido]: ~/proyectos/myProgram $ DEBUILD -US -UC DPKG -BuildPackage -RfakerooT -D -US -UC DPKG -BuildPackage: paquete de origen MyProgram DPKG -BuildPackage: Fuente Versión 1.0 dpkg-buildpackage: distribución de la fuente confianza dpkg-buildpackage: fuente cambiada por mi nombre aquí <[email protected]> DPKG-Source--Before-Build myprogram dpkg-buildpackage: arquitectura host i386 fakeroot debian/reglas limpia dh limpieza dh_testdir dh_auto_clean ... terminó de ejecutar lintian. 

Y eso es ! Su paquete Debian fue creado con éxito:

Paquete de Debian creado

Para instalarlo en cualquier distribución basada en Debian, ejecute.

$ sudo dpkg -i myProgram_1.0_ de todos.debutante 

No olvide reemplazar el archivo anterior con el nombre del paquete ... Ahora, después de instalar el paquete, puede ejecutar el programa desde el menú Aplicaciones.

Ejecute el programa

Y funcionará ..

Primer programa empaquetado

Aquí termina el Cuarto Parte de nuestra serie sobre Pygobject ... En la próxima lección, explicaremos cómo localizar la aplicación de Pygobject fácilmente, hasta entonces manténgase atento a ella ..