GNU/Linux >> Tutoriales Linux >  >> Debian

Desarrollo C en Linux – Obtener un paquete en los repositorios oficiales de Debian – XII.

Introducción

Esta es la última entrega de nuestra serie de desarrollo C y posiblemente la menos técnica. Si nos siguió desde el principio y practicó tanto como pudo, ahora tiene algunos conocimientos básicos sobre el desarrollo de C y cómo empaquetar su aplicación (favorita) para dos de las familias de distribución de Linux más utilizadas, Debian y Redhat. Este artículo trata sobre la comunidad, cómo contribuir, cómo colaborar y finalmente, cómo obtener su paquete en los archivos oficiales de Debian. Si lees los artículos anteriores de la serie, no necesitarás ningún otro conocimiento técnico; todo lo que necesita es la voluntad de poner su conocimiento al servicio del beneficio de la comunidad.

Cómo empezar

Tiene una aplicación, la empaquetó y ahora está ansioso por cargarla en los archivos de Debian (por cierto, muchas de las ideas presentadas aquí se aplican a muchos proyectos de código abierto:lo que difiere generalmente es la forma de hacer las cosas). Diríamos que no tan rápido. Tómese un minuto para respirar y encontrar formas de darse a conocer en la comunidad. Tómese un tiempo para leer la Guía del nuevo administrador de Debian, si aún no lo ha hecho, y recuerde la palabra clave aquí:comunidad. Todo el mundo es voluntario, y elegimos Debian especialmente por sus puntos de vista democráticos, y a nadie se le paga ni se le obliga de ninguna manera a cumplir sus órdenes. De todos modos, como sabemos lo mucho que te gusta leer guías y manuales, parte de este artículo consistirá en algunos sensatos consejos en cuanto a la colaboración. Primero, acostúmbrate a arreglártelas solo. A nadie le gusta una persona que, cuando detecta la primera señal de problemas, en lugar de acudir al mejor amigo de Internet, $SEARCH_ENGINE, comienza a contaminar los foros, las listas de correo y los canales de IRC con preguntas pueriles como "¿Qué banderas gcc necesito?" compilar mi código para i686?”. Lo único que ganarás es un RTFM poco amigable y muchos puntos geek perdidos. Sí, sabemos que el manual de gcc es grande y seguro para los dolores de cabeza, pero leer el manual y luego buscar primero en la red es la manera correcta (TM). Sin excepciones. Dará una buena primera impresión cuando muestre a los otros desarrolladores que hizo su tarea. Por otro lado, hacer que los principiantes pasen un mal rato, especialmente cuando no se requiere tal comportamiento, no le dará ninguna popularidad. Recuerde que alguna vez fue como ellos, recuerde que usted, como todos nosotros, todavía tiene mucho que aprender, y tal vez dirija a la persona hacia un recurso que considere útil. En este contexto, recuerda de nuevo esa palabra:comunidad. Tu trabajo no significa mucho, a pesar de que significa mucho para ti, a menos que la comunidad lo encuentre útil. Colabore con ellos y prepárese para aceptar comentarios, y agradézcalos, aunque no le guste lo que escuche. Deje su orgullo en la puerta y recuerde que la mejor y quizás la única forma de mejorar su software es la retroalimentación de la comunidad. Pero no caigas en los extremos y trata de ser imparcial. Tal vez algunas personas intenten menospreciarte solo por diversión:ignóralos y concéntrate en la crítica constructiva.

Herramientas del oficio

La primera herramienta que necesitará como desarrollador de Debian, o cualquier otra distribución/proyecto, es paciencia. Realmente no importa si es su propio software el que está empaquetando, o el de otra persona, como hicimos con yest. Uno no se convierte en desarrollador de la noche a la mañana, especialmente en un proyecto orientado a la calidad como Debian. Ahora, para entrar en el lado práctico de las cosas, la primera y más obvia herramienta que necesita es el compilador para el lenguaje en el que está escrito su programa. O, si el programa está escrito en algún lenguaje interpretado, asegúrese de que el intérprete (Perl, Python, Ruby…) está ahí como una dependencia. Sin embargo, nos concentraremos en el lado C, ya que después de todo es una serie de artículos de desarrollo C, y le daremos una lista no exhaustiva de utilidades que es mejor que haya instalado en su máquina de desarrollo:

auto* tools (autoconf, automake, ...)
debhelper and dh-make -- Debian-specific
devscripts, fakeroot -- same, see the Guide for details
a VCS of your choice, depending on the situation at hand -- we prefer to take no sides here
gnupg -- for digitally signing your packages, mandatory in Debian
lintian -- the name is a combination of lint and Debian, so it's self-explanatory
patch - you should know by know why you'd need it
pbuilder -- for creating a chroot

Si tuviera cuidado, habría notado que omitimos una utilidad importante en esa lista. ¿Puedes identificarlo?

Documentación

Debian recomienda dos documentos. De hecho, no. Debian recomienda los dos documentos, pero decimos que es esencial que los lea más de una vez y los tenga a mano en todo momento. Esas son la Política de Debian y la Referencia de desarrolladores, ambas disponibles a través de la Web y como paquetes. Además, los estándares de codificación GNU deben estar a mano cuando los necesite, especialmente cuando/si está escribiendo la aplicación usted mismo.

Arriba

Dado que nos estamos enfocando en yest como el ejemplo principal de esta serie, es fácil darse cuenta de que solo somos empaquetadores, no desarrolladores principales, por lo que debemos mantenernos en contacto con el upstream. Las reglas de comunicación descritas anteriormente se aplican, por supuesto, y la estrecha colaboración con los desarrolladores genera un paquete saludable que se actualiza rápidamente tan pronto como el autor sube la nueva versión. Aunque dicho autor probablemente probó el software antes de publicarlo, si realiza algunas pruebas de unidad por sí mismo antes de cargar el paquete, aún mejor. Echa un vistazo a herramientas como DejaGNU para esto e informa cualquier problema que encuentres. Hablando de informes, debe comprender la responsabilidad que asume al convertirse en mantenedor. TODOS los informes de errores de los usuarios de Debian llegarán a usted, y es su deber actuar como un catalizador entre los usuarios y aguas arriba para solucionar todos los problemas.

El mentor

Muchos de ustedes, especialmente los mayores como yo, han visto la serie Karate Kid. En todo caso, esa película muestra una relación entre un maestro y un aprendiz (OK, también puedes usar Star Wars como ejemplo...). Si crees que pides convertirte en desarrollador y tu deseo se concede en minutos, te olvidaste de la paciencia. No, primero debe solicitar la tutoría, mostrando sus logros, sus motivaciones, etc. Después de un tiempo, después de que haya demostrado su valía, enviará una solicitud para convertirse en mantenedor, y el mentor responderá por usted.

Subiendo

Ya casi llega, todo lo que tiene que hacer es realizar la carga correctamente. Si has llegado hasta aquí, ya puedes darte palmaditas en la espalda. Ahora, la aplicación que necesita se llama dupload(1), y debe crear un archivo llamado dupload.conf(5) en su directorio de inicio y comience a modificar la configuración. Puede, si la página del manual del archivo le da miedo, tome /etc/dupload.conf como ejemplo. Después de guardar ~/dupload.conf , puedes hacer algo como esto:

 $ dupload yest-2.7.0.5_i386.changes

Ahora, se deja como ejercicio para el lector averiguar qué más se debe hacer al cargar un paquete por primera vez. Además, el capítulo 9 de la Guía del nuevo administrador de Debian debe leerse una y otra vez y luego un poco más. ¡Eso es todo!

Todos los artículos de esta serie:

  • Yo. Desarrollo C en Linux – Introducción
  • II. Comparación entre C y otros lenguajes de programación
  • III. Tipos, operadores, variables
  • IV. Control de flujo
  • V. Funciones
  • VI. Punteros y matrices
  • VII. Estructuras
  • VIII. E/S básica
  • IX. Estilo de codificación y recomendaciones
  • X. Creación de un programa
  • XI. Empaquetado para Debian y Fedora
  • XII. Obtener un paquete en los repositorios oficiales de Debian

Debian
  1. Cómo instalar el kit de desarrollo Oracle Java SE en Debian 9 Stretch Linux

  2. Cómo instalar la última versión de Mesa en Debian 9 Stretch Linux

  3. Lista de repositorios oficiales de Debian Jessie

  4. Debian – ¿Encontrar el paquete que proporciona un comando dado?

  5. Debian – ¿Seguridad del repositorio de Debian?

Instalación del último PHP 7 de última generación en Debian 8 Jessie Linux

Instalar The Discord en Debian 9 Stretch Linux

Configurar un entorno de desarrollo Python Django en Debian 9 Stretch Linux

Descarga de Debian Linux

Aptitude - Herramienta de gestión de paquetes Debian GNU/Linux

Cylon-deb:el programa de mantenimiento de Debian Linux