Empaquetado con Mercurial




                                           Ernesto Crespo
                                  ...
Agenda

 ●¿Qué es Debian?
 ●Contrato Social de Debian

 ●Directrices de Debian

 ●Objetivos

 ●Organigrama

 ●Algunas esta...
¿Qué es Debian?

Debian nace como una iniciativa de la FSF y su Proyecto GNU
●




Ian Murdock se hace cargo de la direcci...
Feliz Cumpleaños al Proyecto Debian!!!
Contrato Social de Debian

Debian permanecerá 100% Libre
●




Contribuir a la comunidad del Software Libre
●




No ocult...
Directrices de Debian
De libre distribución
●




Incluir código fuente
●




Debe permitir trabajos derivados
●




Integ...
Objetivos

Mejor sistema operativo libre posible
●




Facilitar la instalación de Software
●




    ●   Precompilado,con...
Organigrama
●Directores
  ● DPL – Líder del Proyecto Stefano Zacchiroli

  ● Comité Técnico. 1 Presidente y 7 miembros

  ...
Algunas estadísticas




Más de 230 millones de líneas de código
Más de 40 mil paquetes
Para que una empresa privada desar...
¿Cómo contribuir?
Escribir documentación
●



Traducir documentación
●



Ayudar en la traducción de la página www.debian....
Traducciones en general
 Documentación de Debian - http://www.debian.org/doc/
 ●




     ●   Cómo's

     ●   Preguntas f...
Donaciones
●Donaciones a Software en el Interés Público
  ● http://www.debian.org/donations

  ● Donaciones de dinero

   ...
Apoyar en las listas de Correo
 Introducción a la lista de correo, código de conducta y uso
 ●




     ●   http://www.deb...
¿Qué hay que conocer para ser Mantenedor/Desarrollador?
●Conocer la filosofía y principios de Debian




    ●   Contrato ...
Debian Policy
Guía del nuevo desarrollador de Debian
Referencia del Desarrollador Debian
Proceso de adopción de un paquete huérfano en Debian
●Es la forma más rápida para adoptar un paquete huérfano
  ● http://w...
Proceso de empaquetado
 Anunciar intención de empaquetar (ITP)
 ●




     ●   Comprobar WNPP si existen ITPs previos

 Ob...
Resumen del proceso de empaquetado
Búsqueda de paquetes Huérfanos-WNPP
Reporte de paquete Huérfano
RFA: Request for Adoption
Información del paquete
Reporte de fallos del paquete
Adoptar un paquete huérfano
Procesada la adopción
Intención de subir un paquete nuevo - ITP:
Procesado el ITP
debian/changelog
 Cambios en el empaquetado para Debian
   En el caso de adopción de un paquete se debe
  cerrar el bug qu...
debian/control
 Metadatos de los paquetes fuentes y binarios

  Source: nitpic
  Section: electronics
  Priority: extra
  ...
debian/rules
 Reglas para compilar y construir el paquete
   Técnicamente un Makefileconf metas especificas:
     build, b...
Herramientas para facilitar el empaquetado
●debhelper
  ● Conjunto de programas para realizar tareas comunes

  ● Crea el ...
El rincón del desarrollador Debian
Wiki de Debian
¿Cómo informar los fallos?
Seguimiento de errores
Proceso para ser nuevo mantenedor de Debian

 No se preocupen por el proceso hasta que se sientan cómodos
 ●



 Es import...
Proceso de Nuevo Mantenedor
●El proceso comienza al llenar el formulario que está en:
http://nm.debian.org/newnm.php
●Lueg...
Mapa Conceptual. Lo necesario para ser DD
¿Como funciona Mercurial?
Mercurial es un sistema de control de versiones distribuido para desarrolladores
de Software. Es...
¿Como funciona Mercurial?
Dentro del directorio python-loro se tiene lo siguiente:

ConfigurepyLoro.py Festival.py MANIFES...
¿Como funciona Mercurial?
Para ver el log del control de versiones se ejecuta hg log dentro del directorio:
ecrespo@canaim...
¿Como funciona Mercurial?
Para una descripción más detallada de log se ejecuta hg -v log
ecrespo@canaima:~/repositorio/pyl...
¿Como funciona Mercurial?
Para ver los tip de cada repositorio se ejecuta hg tip en cada repo:
ecrespo@canaima:~/repositor...
¿Como funciona Mercurial?
Ahora lo que viene es propagar los cambios a pyloro:
ecrespo@canaima:~/repositorio/pyloro$ hg pu...
¿Como funciona Mercurial?
Para subir la información al servidor de repositorio mercurial se hace el commit
luego se hace p...
Mantener un paquete Debian con Mercurial

Es necesario tener un repositorio mercurial.

Este se crea con el comando hg ini...
Mantener un paquete Debian con Mercurial
Importar las fuentes de Debian:

hg-importdsc /home/ecrespo/paquetes/sshguard/ssh...
Mantener un paquete Debian con Mercurial
Importar las fuentes de upstream:
/home/ecrespo/paquetes/sshguard/sshguard_1.3.or...
Mantener un paquete Debian con Mercurial
Ahora se tienen los directorios sshguard y sshguard.upstream con archivos y
direc...
Cambios en el paquete fuente de Debian

Archivo debian/rules


./configure $(CROSS) --prefix=/usr --mandir=$${prefix}/shar...
Cambios en el paquete fuente de Debian

Archivo debian/control


Source: sshguard
Section: net
Priority: optional
Maintain...
Cambios en el paquete fuente de Debian

Exportar variables de ambiente relativas al empaquetador:



export DEBFULLNAME="E...
Cambios en el paquete fuente de Debian

Cambiar el archivo debian/changelog agregando los cambios que se realizaron:
dch -...
Cambios en el paquete fuente de Debian

Cambiar el archivo debian/changelog agregando los cambios que se realizaron:
dch -...
Cambios en el paquete fuente de Debian

Al ejecutar el comando hg status apareceran los cambios realizados a los archivos:...
Cambios en el paquete fuente de Debian

Al ejecutar hg log se muestra los cambios realizados:
changeset: 5:7a64e00a1c05
ta...
Cambios en el paquete fuente de Debian

Se jalan los cambios al repositorio:
ecrespo@canaima:~/repositorio/repositorio$ hg...
Cambios en el paquete fuente de Debian

Ahora se crea el paquete:
ecrespo@canaima:~/repositorio/repositorio$ hg-buildpacka...
Cambios en el paquete fuente de Debian
dh_testdir
dh_testroot
dh_installchangelogs Changes
dh_installdocs
dh_installexampl...
Cambios en el paquete fuente de Debian

En este momento se tiene el paquete .deb y los archivos creados en el momento
del ...
Referencias
●Blog: ernesto-ecrespo.blogspot.com
●Mercurial-buildpackage http://packages.debian.org/sid/mercurial-buildpack...
Upcoming SlideShare
Loading in...5
×

Empaquetar un paquete Debian por medio de mercurial

1,774

Published on

Se describe el proceso de como mantener un paquete Debian por medio de un control de versiones distribuido llamado mercurial

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,774
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Empaquetar un paquete Debian por medio de mercurial"

  1. 1. Empaquetado con Mercurial Ernesto Crespo ecrespo@debianvenezuela.org Debian Venezuela www.debian.org.ve Velug www.velug.org.ve Blog ernesto-ecrespo.blogspot.com Twitter: @ernestocrespo Día Debian Barquisimeto 21 de Presentación liberada bajo Licencia GDFL Agosto de 2010
  2. 2. Agenda ●¿Qué es Debian? ●Contrato Social de Debian ●Directrices de Debian ●Objetivos ●Organigrama ●Algunas estadísticas ●¿Dónde contribuir? ●Proceso de adopción de un paquete ●Empaquetado ●Herramientas para facilitar el empaquetado ●¿Dónde seguir? ●Proceso para ser un Nuevo Mantenedor ●Mapa Conceptual. Lo necesario para ser DD ●Empaquetado con Mercurial ●Referencias
  3. 3. ¿Qué es Debian? Debian nace como una iniciativa de la FSF y su Proyecto GNU ● Ian Murdock se hace cargo de la dirección del Proyecto en 1993 ● El nombre de Debian deriva del nombre de su esposa Debra e Ian ● El ideal es crear un Sistema Operativo totalmente Libre y Universal ● Su desarrollo corresponde a voluntarios a nivel mundial ●
  4. 4. Feliz Cumpleaños al Proyecto Debian!!!
  5. 5. Contrato Social de Debian Debian permanecerá 100% Libre ● Contribuir a la comunidad del Software Libre ● No ocultaremos los problemas ● Nuestra prioridad son los usuarios y el Software Libre ● Trabajos que no reúnan nuestros estándares irán a contrib y/o non-free ●
  6. 6. Directrices de Debian De libre distribución ● Incluir código fuente ● Debe permitir trabajos derivados ● Integridad del código fuente del autor original del programa ● Ninguna discriminación contra personas o grupos ● No discriminación en función de la finalidad perseguida ● Distribución de la Licencia ● La Licencia no debe ser específica para Debian ● La Licencia no debe contaminar otros programas ● Ejemplos de Licencias: GPLv2, GPLv3,BSD y Artística ●
  7. 7. Objetivos Mejor sistema operativo libre posible ● Facilitar la instalación de Software ● ● Precompilado,configurado, legal y libre ● Dependencias, actualizaciones, seguridad Facilitar la desinstalación de Software ● ● Que paquete es el responsable de cada archivo Asegurar que todo el Software funciona ●
  8. 8. Organigrama ●Directores ● DPL – Líder del Proyecto Stefano Zacchiroli ● Comité Técnico. 1 Presidente y 7 miembros ● Secretario ●Distribución ● Proyectos de Desarrollo ● Paquetes Individuales ● Documentación ● Lista de paquetes que necesitan ayuda ● Equipo APT ● Adaptaciones GNU/Linux ● GNU/Hurd ● BSD ● Configuraciones Especiales ●Publicidad ●Apoyo e Infraestructura ●Custom Debian Distribution
  9. 9. Algunas estadísticas Más de 230 millones de líneas de código Más de 40 mil paquetes Para que una empresa privada desarrolle Debian tendría que invertir 8 millones de dolares!
  10. 10. ¿Cómo contribuir? Escribir documentación ● Traducir documentación ● Ayudar en la traducción de la página www.debian.org wiki.debian.org ● Colaborar en las listas ● Administrar las listas ● Reportar fallos ● Desarrolladores ● Mantenedores ● Donaciones ● ● Metálico ● Máquinas para desarrollo y conectividad ● Sitios replicas ● UNESR
  11. 11. Traducciones en general Documentación de Debian - http://www.debian.org/doc/ ● ● Cómo's ● Preguntas frecuentes ● Manuales de instalación ● Otros documentos Ayuda con las páginas de Debian ● ● http://www.debian.org/devel/website/ Debian se vuelve internacional ● ● http://www.debian.org/intl/
  12. 12. Donaciones ●Donaciones a Software en el Interés Público ● http://www.debian.org/donations ● Donaciones de dinero ● http://www.spi-inc.org/donations ● Donaciones de equipos y servicios ● http://www.debian.org/misc/equipment_donations ● Debian Venezuela :-p ● Lista de Hardware que se necesita ● http://www.spi-inc.org/donations ●Socios ● http://www.debian.org/partners/ ●Mirrors ● http://www.debian.org/mirror/ ● Mirrors Oficiales ● http://www.debian.org/mirror/official_sponsors
  13. 13. Apoyar en las listas de Correo Introducción a la lista de correo, código de conducta y uso ● ● http://www.debian.org/MailingLists/ Listas de correo, suscripción ● ● http://www.debian.org/MailingLists/subscribe ● debian-user-spanish ● debian-devel-spanish ● debian-l10n-spanish Archivo de las listas ● ● http://lists.debian.org/
  14. 14. ¿Qué hay que conocer para ser Mantenedor/Desarrollador? ●Conocer la filosofía y principios de Debian ● Contrato Social ● Directrices ● DFSG Conocer los requisitos que debe cumplir un paquete ● ● Debian Policy http://www.debian.org/doc/debian-policy/ Familiarizarse con el manual de Referencia del Mantenedor ● ● http://www.debian.org/doc/packaging-manuals/developers-reference/ http://www.debian.org/doc/packaging-manuals/developers-reference Tener una llave GPG firmada mínimo por un DD ●
  15. 15. Debian Policy
  16. 16. Guía del nuevo desarrollador de Debian
  17. 17. Referencia del Desarrollador Debian
  18. 18. Proceso de adopción de un paquete huérfano en Debian ●Es la forma más rápida para adoptar un paquete huérfano ● http://www.debian.org/devel/wnpp/ ● Buscar un paquete que sea de su interés ● Que corra en el hardware que uno tiene ●Enviar un correo con la intención de adopción del paquete huérfano ●Crear una jaula sid para trabajar con el paquete ● debootstrap sid sid-root/ http://ftp.debian.org/debian/ ● chroot sid-root/ ●Bajar la fuente del paquete ● apt-get source paquete ●Realizar los cambios necesarios ● Corrección de bugs ● Modificar Changelog, Copyright, Control, rules ●Empaquetar el paquete ● fakeroot dpkgbuildpackage ­us ­uc ●Verificar el paquete con linda, lintian, piuparts,pbuilder ●Firmar el paquete y enviarlo a su sponsor
  19. 19. Proceso de empaquetado Anunciar intención de empaquetar (ITP) ● ● Comprobar WNPP si existen ITPs previos Obtener y descomprimir el código fuente original ● ● Comprobar la Licencia Añadir cambios específicos para Debian ● Construir paquete fuente Debian ● Construir paquetes binarios para Debian ● Comprobar y arreglar problemas (repetir) ●
  20. 20. Resumen del proceso de empaquetado
  21. 21. Búsqueda de paquetes Huérfanos-WNPP
  22. 22. Reporte de paquete Huérfano
  23. 23. RFA: Request for Adoption
  24. 24. Información del paquete
  25. 25. Reporte de fallos del paquete
  26. 26. Adoptar un paquete huérfano
  27. 27. Procesada la adopción
  28. 28. Intención de subir un paquete nuevo - ITP:
  29. 29. Procesado el ITP
  30. 30. debian/changelog Cambios en el empaquetado para Debian En el caso de adopción de un paquete se debe cerrar el bug que deja huérfano El “upstream” changelog tiene los cambios de upstream o resumen Caso upstream gnusim8085 (1.2.90-1) unstable; urgency=low * New upstream release. -- Ernesto Nadir Crespo Avila <ecrespo@debianvenezuela.org> Mon, 07 Aug 2006 19:59:53 -0400: Caso adopción de un paquete: nitpic (0.1-9) unstable; urgency=low * New maintainer (closes: #227784). * Fixed "FTBFS with gcc-3.4: default arguments are only permitted for function parameters" (closes: #287809, #263265). Patch by Andreas Jochens <aj@andaco.de> -- Ernesto Nadir Crespo Avila <ecrespo@debianvenezuela.org> Sun, 02 Jan 2005 23:28:09 -0400
  31. 31. debian/control Metadatos de los paquetes fuentes y binarios Source: nitpic Section: electronics Priority: extra Maintainer: Ernesto Nadir Crespo Avila <ecrespo@debianvenezuela.org> Uploaders: Ana Isabel Delgado Dominguez <anubis@debianvenezuela.org> Build-Depends: libx11-dev, libxt-dev, libxaw7-dev, xutils, binutils-dev, binutils Standards-Version: 3.6.2 Package: nitpic Architecture: any Depends: ${shlibs:Depends} Description: Simulator for the Microchip PIC16C84 microcontroller Nitpic is an X-based simulator for the Microchip PIC family of microcontrollers. It currently supports only the PIC16C84. This is beta software.
  32. 32. debian/rules Reglas para compilar y construir el paquete Técnicamente un Makefileconf metas especificas: build, binary,binary-arch,binary-indep,clean La mayoría de las veces se usan herramientas Algunas veces muy simple otras veces muy complejo La integración en el sistema puede resultar difícil build: Compila el programa binary: Crea el paquete binario Instala el programa bajo debian/tmp Pone los metadatos de empaquetado en debian/tmp/DEBIAN clean: Limpia el árbol
  33. 33. Herramientas para facilitar el empaquetado ●debhelper ● Conjunto de programas para realizar tareas comunes ● Crea el archivo debian/rules ● dh_installman: Instala páginas de manual ●cdbs ● Sistema de construcción de paquetes basado en la herencia entre Makefiles ● Proporciona reglas estándar que pueden ser extendidas o reemplazadas
  34. 34. El rincón del desarrollador Debian
  35. 35. Wiki de Debian
  36. 36. ¿Cómo informar los fallos?
  37. 37. Seguimiento de errores
  38. 38. Proceso para ser nuevo mantenedor de Debian No se preocupen por el proceso hasta que se sientan cómodos ● Es importante tener una clave GPG y buscar firmas ● Puede llevar meses, sobre todo de espera ● Es temido, pero no debería, es un proceso natural para aprender de ● la organización de Debian, la filosofía del SL y a desarrollar aplica ciones ● Mucho trabajo, mucho que aprender, es necesario para crear buenos paquetes
  39. 39. Proceso de Nuevo Mantenedor ●El proceso comienza al llenar el formulario que está en: http://nm.debian.org/newnm.php ●Luego de llenar el formulario, la persona queda en la cola NM en la sección “No Advocate” http://nm.debian.org/nmlist.php ●El advocate (abogado) tiene que ser un DD y muchas veces es el sponsor, quién se responsabiliza de subir los paquetes del solicitante al archivo de Debian ●El advocate recibe un email del Front Desk (FD) pidiéndole que expli- ●La persona solicitante pasa a la sección Un-assigned Applicants” de la cola NM ●Cuando un Application Manager (http://nm.debian.org/whoisam.php) queda con un cupo disponible,FD verifica que la persona solicitante si haya hecho una contribución a Debian y asigna esa persona solicitante al AM, la cual pasa a la sección “Applicants being processed” de la cola NM
  40. 40. Mapa Conceptual. Lo necesario para ser DD
  41. 41. ¿Como funciona Mercurial? Mercurial es un sistema de control de versiones distribuido para desarrolladores de Software. Está implementado haciendo uso del lenguaje de programación Python. Sus comandos básicos son: ●Para ver las opciones del comando se ejecuta hg ●Para clonar un repositorio por ejemplo el de bitbucket.org de pyloro se jecuta: hg clone http://bitbucket.org/ecrespo/pyloro/ destination directory: pyloro requesting all changes adding changesets adding manifests adding file changes added 3 changesets with 26 changes to 20 files updating working directory 20 files updated, 0 files merged, 0 files removed, 0 files unresolved
  42. 42. ¿Como funciona Mercurial? Dentro del directorio python-loro se tiene lo siguiente: ConfigurepyLoro.py Festival.py MANIFEST pyloro.desktop pyloro.py setup.py Convert.py .hg PKG-INFO pyloro.glade README TODO audio COPYING images pyloro.conf pyloro.png Reproducir.py verifyconfig.py Note que existe un directorio .hg, dentro de el se encuentra lo siguiente: 00changelog.i branch branch.cache dirstate hgrc requires store undo.branch undo.dirstate Editar el archivo hgrc y agregar la información del usuario, nombre y correo: [paths] default = http://bitbucket.org/ecrespo/pyloro/ [ui] username = Ernesto Nadir Crespo Avila El primero es la ruta de donde se bajo el repositorio, el segundo es la definición del usuario.
  43. 43. ¿Como funciona Mercurial? Para ver el log del control de versiones se ejecuta hg log dentro del directorio: ecrespo@canaima:~/repositorio/python-loro$ hg log changeset: 0:8f241da3b2f9 tag: tip user: ernesto@moonlighting date: Wed Nov 05 23:32:58 2008 -0430 summary: Agregado pyloro a mercurial
  44. 44. ¿Como funciona Mercurial? Para una descripción más detallada de log se ejecuta hg -v log ecrespo@canaima:~/repositorio/pyloro$ hg -v log changeset: 2:6d1d0bf8236c tag: tip user: ecrespo@canaima date: Wed Apr 08 19:28:08 2009 -0430 files: ConfigurepyLoro.py Convert.py Festival.py Reproducir.py verifyconfig.py description: Change developer information in all files dot py changeset: 1:33662d0db317 user: ecrespo@canaima date: Wed Apr 08 18:15:04 2009 -0430 files: pyloro.py description: Change developer team in pyloro.py
  45. 45. ¿Como funciona Mercurial? Para ver los tip de cada repositorio se ejecuta hg tip en cada repo: ecrespo@canaima:~/repositorio/pyloro-prueba$ hg tip changeset: 5:0ede87ad831c tag: tip user: ecrespo@canaima date: Thu Apr 09 15:17:50 2009 -0430 summary: Change TODO file ecrespo@canaima:~/repositorio/pyloro$ hg tip changeset: 2:6d1d0bf8236c tag: tip user: ecrespo@canaima date: Wed Apr 08 19:28:08 2009 -0430 summary: Change developer information in all files dot py Como se puede ver, los tips son diferentes por que se han hecho cambios en pyloro- prueba.
  46. 46. ¿Como funciona Mercurial? Ahora lo que viene es propagar los cambios a pyloro: ecrespo@canaima:~/repositorio/pyloro$ hg pull ../pyloro-prueba pulling from ../pyloro-prueba searching for changes adding changesets adding manifests adding file changes added 3 changesets with 3 changes to 2 files (run 'hg update' to get a working copy) Por defecto no se actualiza el directorio de trabajo, es necesario ejecutar hg update: ecrespo@canaima:~/repositorio/pyloro$ hg update 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  47. 47. ¿Como funciona Mercurial? Para subir la información al servidor de repositorio mercurial se hace el commit luego se hace push. hg commit hg push http://bitbucket.org/ecrespo/pyloro/ pushing to http://bitbucket.org/ecrespo/pyloro/ searching for changes http authorization required realm: Bitbucket.org HTTP user: ecrespo password: bb/acl: ecrespo is allowed. accepted payload. quota: 185.8 KB in use, 150.0 MB available (0.12% used)
  48. 48. Mantener un paquete Debian con Mercurial Es necesario tener un repositorio mercurial. Este se crea con el comando hg init. hg init repositorio Es necesario también crear 2 directorios: ●Un directorio para el paquete fuente de Debian ●Un directorio para el paquete fuente del upstream Cd repositorio Hg init sshguard Hg init sshguard.upstream
  49. 49. Mantener un paquete Debian con Mercurial Importar las fuentes de Debian: hg-importdsc /home/ecrespo/paquetes/sshguard/sshguard_1.3-1.dsc *** Processing upstream file /home/ecrespo/paquetes/sshguard/sshguard_1.3.orig.tar.gz VCSCMD: hg LOGTEXT Imported sshguard_1.3.orig.tar.gz into Mercurial repository adding Changes adding Makefile.am adding Makefile.in .......
  50. 50. Mantener un paquete Debian con Mercurial Importar las fuentes de upstream: /home/ecrespo/paquetes/sshguard/sshguard_1.3.orig.tar.gz imported into /home/ecrespo/repositorio/repositorio/sshguard.upstream Remember to run hg fetch /home/ecrespo/repositorio/repositorio/sshguard.upstream *** Done processing upstream file /home/ecrespo/paquetes/sshguard/sshguard_1.3.orig.tar.gz *** Processing Debian source tree for /home/ecrespo/paquetes/sshguard/sshguard_1.3-1.dsc 0:b438c8517fe7 pulling from /home/ecrespo/repositorio/repositorio/sshguard.upstream requesting all changes adding changesets adding manifests adding file changes added 3 changesets with 53 changes to 52 files (run 'hg update' to get a working copy) 52 files updated, 0 files merged, 0 files removed, 0 files unresolved dpkg-source: extracting sshguard in sshguard-1.3 dpkg-source: info: unpacking sshguard_1.3.orig.tar.gz dpkg-source: info: applying sshguard_1.3-1.diff.gz
  51. 51. Mantener un paquete Debian con Mercurial Ahora se tienen los directorios sshguard y sshguard.upstream con archivos y directorios. ecrespo@canaima:~/repositorio/repositorio/sshguard$ ls aclocal.m4 config.h.in configure.ac depcomp install-sh Makefile.in missing README src ylwrap Changes configure debian examples Makefile.am man mkinstalldirs scripts stamp- h1 ecrespo@canaima:~/repositorio/repositorio/sshguard.upstream$ ls aclocal.m4 config.h.in configure.ac examples Makefile.am man mkinstalldirs scripts stamp-h1 Changes configure depcomp install-sh Makefile.in missing README src ylwrap
  52. 52. Cambios en el paquete fuente de Debian Archivo debian/rules ./configure $(CROSS) --prefix=/usr --mandir=$${prefix}/share/man --with- firewall=hosts --infodir=$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="- Wl,-z,defs"
  53. 53. Cambios en el paquete fuente de Debian Archivo debian/control Source: sshguard Section: net Priority: optional Maintainer: Ernesto Nadir Crespo Avila Build-Depends: debhelper (>= 7), autotools-dev Standards-Version: 3.8.0 Homepage: http://sshguard.sourceforge.net/ Package: sshguard Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, tcpd Description: Protects from brute force attacks against ssh Protects networked hosts from the today's widespread brute force attacks against ssh servers. It detects such attacks and blocks the author's address with a firewall rule.
  54. 54. Cambios en el paquete fuente de Debian Exportar variables de ambiente relativas al empaquetador: export DEBFULLNAME="Ernesto Nadir Crespo Avila" export DEBEMAIL="ecrespo@debianvenezuela.org".
  55. 55. Cambios en el paquete fuente de Debian Cambiar el archivo debian/changelog agregando los cambios que se realizaron: dch -i sshguard (1.3-2) unstable; urgency=low * Remove iptables depend in build-depends in debian/control file. * Add tcpd depend in depends in debian/control file. * Change configure option in debian/rules to hosts. -- Ernesto Nadir Crespo Avila Tue, 14 Apr 2009 14:06:01 -0430
  56. 56. Cambios en el paquete fuente de Debian Cambiar el archivo debian/changelog agregando los cambios que se realizaron: dch -i sshguard (1.3-2) unstable; urgency=low * Remove iptables depend in build-depends in debian/control file. * Add tcpd depend in depends in debian/control file. * Change configure option in debian/rules to hosts. -- Ernesto Nadir Crespo Avila Tue, 14 Apr 2009 14:06:01 -0430
  57. 57. Cambios en el paquete fuente de Debian Al ejecutar el comando hg status apareceran los cambios realizados a los archivos: ecrespo@canaima:~/repositorio/repositorio/sshguard/debian$ hg status M debian/changelog M debian/control M debian/rules Para agregar los cambios al repositorio se ejecuta un commit: ecrespo@canaima:~/repositorio/repositorio/sshguard$ hg commit -m"Change control and rules files" -u "Ernesto Nadir Crespo Avila "
  58. 58. Cambios en el paquete fuente de Debian Al ejecutar hg log se muestra los cambios realizados: changeset: 5:7a64e00a1c05 tag: tip user: Ernesto Nadir Crespo Avila date: Tue Apr 14 14:11:19 2009 -0430 summary: Change control and rules files changeset: 4:19b2688f71ec user: ecrespo@canaima date: Tue Apr 14 13:57:26 2009 -0430 summary: Added tag DEBIAN_sshguard_1.3-1 for changeset a7094766c4e6 changeset: 3:a7094766c4e6 tag: DEBIAN_sshguard_1.3-1 user: ecrespo@canaima date: Tue Apr 14 13:57:25 2009 -0430 summary: Import Debian sshguard 1.3-1 changeset: 2:85a24e090d85 user: ecrespo@canaima date: Tue Apr 14 13:57:24 2009 -0430 summary: Added tag UPSTREAM_sshguard_1.3_TAG for changeset f61bc4db3564 changeset: 1:f61bc4db3564 tag: UPSTREAM_sshguard_1.3_TAG user: ecrespo@canaima date: Tue Apr 14 13:57:24 2009 -0430 summary: Added tag UPSTREAM_sshguard_1.3 for changeset b438c8517fe7 changeset: 0:b438c8517fe7 tag: UPSTREAM_sshguard_1.3 user: ecrespo@canaima date: Tue Apr 14 13:57:24 2009 -0430 summary: Import upstream sshguard version 1.3
  59. 59. Cambios en el paquete fuente de Debian Se jalan los cambios al repositorio: ecrespo@canaima:~/repositorio/repositorio$ hg pull sshguard pulling from sshguard requesting all changes adding changesets adding manifests adding file changes added 7 changesets with 66 changes to 60 files (run 'hg update' to get a working copy) Se actualiza el repositorio: ecrespo@canaima:~/repositorio/repositorio$ hg update 60 files updated, 0 files merged, 0 files removed, 0 files unresolved
  60. 60. Cambios en el paquete fuente de Debian Ahora se crea el paquete: ecrespo@canaima:~/repositorio/repositorio$ hg-buildpackage -rfakeroot -k Building ../sshguard_1.3.orig.tar.gz from Mercurial history dpkg-buildpackage -rfakeroot -D -us -uc -i.hg -I.hg dpkg-buildpackage: set CFLAGS to default value: -g -O2 dpkg-buildpackage: set CPPFLAGS to default value: dpkg-buildpackage: set LDFLAGS to default value: dpkg-buildpackage: set FFLAGS to default value: -g -O2 dpkg-buildpackage: set CXXFLAGS to default value: -g -O2 dpkg-buildpackage: source package sshguard dpkg-buildpackage: source version 1.3-2 dpkg-buildpackage: source changed by Ernesto Nadir Crespo Avila dpkg-buildpackage: host architecture i386 fakeroot debian/rules clean dh_testdir dh_testroot rm -f build-stamp # Add here commands to clean up after the build process. [ ! -f Makefile ] || /usr/bin/make distclean rm -f config.sub config.guess config.status config.status.lineno config.log dh_clean
  61. 61. Cambios en el paquete fuente de Debian dh_testdir dh_testroot dh_installchangelogs Changes dh_installdocs dh_installexamples dh_installman dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dpkg-gencontrol: warning: unknown substitution variable ${misc:Depends} dh_md5sums dh_builddeb dpkg-deb: construyendo el paquete `sshguard' en `../sshguard_1.3-2_i386.deb'. dpkg-genchanges >../sshguard_1.3-2_i386.changes dpkg-genchanges: not including original source code in upload dpkg-buildpackage: binary and diff upload (original source NOT included) Now running lintian... Finished running lintian. Now signing changes and any dsc files... signfile sshguard_1.3-2.dsc C97E7015 Necesita una frase contraseña para desbloquear la clave secreta del usuario: "Ernesto Nadir Crespo Avila (seraph1) " clave DSA de 1024 bits, ID C97E7015, creada el 2005-08-15 signfile sshguard_1.3-2_i386.changes C97E7015 Necesita una frase contraseña para desbloquear la clave secreta del usuario: "Ernesto Nadir Crespo Avila (seraph1) " clave DSA de 1024 bits, ID C97E7015, creada el 2005-08-15 Successfully signed dsc and changes files
  62. 62. Cambios en el paquete fuente de Debian En este momento se tiene el paquete .deb y los archivos creados en el momento del empaquetado: ecrespo@canaima:~/repositorio$ ls sshguard_1.3-2.diff.gz sshguard_1.3-2_i386.build sshguard_1.3-2_i386.deb sshguard_1.3-2.dsc sshguard_1.3-2_i386.changes sshguard_1.3.orig.tar.gz
  63. 63. Referencias ●Blog: ernesto-ecrespo.blogspot.com ●Mercurial-buildpackage http://packages.debian.org/sid/mercurial-buildpackage ●Hg-buildpackage http://packages.debian.org/sid/hg-buildpackage http://www.debian.org Para aprender mas Esquina del desarrollador Paginas el nuevo mantenedor Developer s reference http://bugs.debian.org/wnpp Seguir discusiones del proyecto irc.oftc.net #debian-es, #debian-ve
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×