#language es <> ---- {{attachment:Portal/IDB/icon-template-32x32.png}} Bienvenido al '''portal de empaquetado''' de [[Debian]] Este portal recoge '''información relevante para desarrolladores que quieren empaquetar [[es/Software|software]] para Debian'''. Si has llegado aquí buscando información acerca de (des)instalar paquetes en tu sistema Debian, vé a la página de [[es/PackageManagement|administración de paquetes]]. Los [[Software|paquetes]] Debian los mantiene la comunidad de desarrolladores Debian y voluntarios. {{{#!wiki debian Si estás empezando con el empaquetado en Debian lee por favor primero la documentación oficial:<
> [[https://www.debian.org/doc/manuals/debmake-doc/index.en.html|Guide for Debian Maintainers]] -- describe la construcción de un paquete Debian con muchos ejemplos <
> [[https://www.debian.org/doc/devel-manuals#packaging-tutorial|Debian Packaging Tutorial]] -- presentacón general del empaquetado en Debian<
> [[https://www.debian.org/doc/debian-policy/|Debian Policy]] -- normativa Debian<
> [[https://www.debian.org/doc/manuals/developers-reference/|Developers Reference]] -- guía avanzada, etc.<
> [[https://mentors.debian.net/intro-maintainers/| Introducción para mantenedores: ¿Cómo se integra mi paquete en Debian?]]<
> }}} <> ---- == Introducción al empaquetado en Debian == Para empezar con buen pié en el empaquetado Debian: * primero lee la excelente [[es/IntroDebianPackaging|Introducción al empaquetamiento en Debian]] para construir un paquete desde cero, * también puedes mirar el [[es/BuildingTutorial|Tutorial de construcción de un paquete]] para aplicar cambios a un paquete existente. * si eres nuevo en Debian [[Packaging/Pre-Requisites|Setting up debian unstable system]] te puede ayudar a montar un entorno de desarrollo. * [[Packaging/Learn|Aprende a empaquetar para Debian Packaging paso a paso]] desde nivel novato a avanzado (por el equipo !JavaScript). Ahora que has visto lo básico, se te recomienda encarecídamente que leas algo más práctico: * [[https://www.debian.org/doc/manuals/debmake-doc/index.en.html|Guía para Mantenedores Debian]] describe la construcción de un paquete Debian con muchos ejemplos (Reemplaza [[https://www.debian.org/doc/manuals/maint-guide/index.es.html|la Guía del nuevo desarrollador de Debian]] por obsoleta). * [[https://www.debian.org/doc/debian-policy/|the Debian Policy]] incluye requisitos técnicos que todo paquete debe cumplir. * Sobre todo, por favor, mira también el código fuente de paquetes similares recientemente actualizados. Después, si buscas respuestas puedes volver por aquí o leer: * [[https://www.debian.org/doc/manuals/packaging-tutorial/|este interesante documento]] incluído en formato pdf en el paquete [[DebianPkg:packaging-tutorial|packaging-tutorial]]. * [[https://www.debian.org/doc/manuals/developers-reference/|The Developers Reference]] proporciona una visión general de los procedimientos recomendados y recursos disponibles para desarrolladores Debian. Que NO hacer: * No hay atajos para aprender buenas prácticas de empaquetado. Evita [[DebianPkg:equivs]] que solo es útil para construir metapaquetes triviales y no te enseña nada de empaquetado. == Procedimientos de empaquetado == === Tipos / Formatos === * [[AndroidTools]] - herramientas Android. * [[Fonts/PackagingPolicy]] - Fuentes tipográficas. * [[https://go-team.pages.debian.net/packaging.html]] - bibliotecas y aplicaciones Golang. * [[Teams/DebianHaskellGroup]] - entorno y bibliotecas Haskell. * [[Java/Packaging]] - bibliotecas y aplicaciones Java. * [[Javascript/Policy]] - bibliotecas y aplicaciones JavaScript. * [[https://salsa.debian.org/lua-team]] - módulos Lua. * [[Teams/DebianMonoGroup/NewPackage]] - bibliotecas y aplicaciones Mono. * [[Teams/DebianMozExtTeam]] - extensiones Mozilla. * [[Teams/OCamlTaskForce]] - bibliotecas OCaml. * [[Python/Packaging]] - módulos y aplicaciones Python. * [[Teams/Ruby/Packaging]] - módulos y aplicaciones Ruby. * [[Teams/RustPackaging]] - crates y aplicaciones Rust. * [[RPM]] - reempaquetar paquetes RPM como paquetes .deb. === Herramientas === * [[PackagingWithDarcs]] - control de versiones ''Darcs''. * [[Packaging/debspawn]] - herramienta para construcción limpia ''debspawn''. * [[PbuilderTricks]] - herramienta para construcción limpia ''Pbuilder''. * [[SecurePbuilder]] - herramientas para construcción segura Pbuilder. * [[Packaging/ruby-team-meta-build]] - guiones de construcción empleados por el equipo de Ruby, ayuda a probar dependencias inversas fácilmente. === Herramientas sugeridas para crear un entorno para empaquetar === Para crear un entorno de empaquetado necesitarás instalar y aprender a manejar las siguientes herramientas: * [[Packaging/sbuild]] herramienta de construcción limpia. Instala el paquete DebianPkg:sbuild. ''sbuild'' se usa en el servicio Debian de construcción ([[buildd]]). Ver [[sbuild]]. * [[UsingQuilt]] para administrar parches. Instala el paquete DebianPkg:quilt. * [[PackagingWithGit]] para administrar empaquetado con Git. Instala el paquete DebianPkg:git-buildpackage. * [[piuparts]] herramienta de pruebas para instalación, actualización y eliminación de paquetes .deb. Instala el paquete DebianPkg:piuparts. * [[Lintian]] para verificación intensa de paquetes Debian. Instala el paquete DebianPkg:lintian. * Devscripts - scripts para facilitar la vida al mantenedor de paquetes Debian. Instala el paquete DebianPkg:devscripts. * [[https://people.debian.org/~eriberto/README.package-tests.html|Autopkgtest]] - ejecuta pruebas contenidas en los paquetes fuente Debian. Instala el paquete DebianPkg:autopkgtest. * blhc - buscar flags de refuerzo ausentes. Instala el paquete DebianPkg:blhc. Ver [[https://eriberto.pro.br/blog/2015/09/07/debian-how-to-use-blhc-to-solve-hardening-issues-when-packaging/|Debian: cómo usar blhc para resolver problemas de refuerzo al empaquetar]]. * dh-make convierte archivos fuente en paquetes fuente Debian. Instala el paquete DebianPkg:dh-make. * [[cowbuilder]] super util para construir tu proyecto para muchas distribuciones a la vez. Instala el paquete DebianPkg:cowbuilder. Vale ¡Ya tienes listo un entorno para empezar a estudiar los empaquetados Debian! === Procedimientos avanzados === * [[AdvancedBuildingTips]] - consejos de construcción avanzados. * [[Courses2005/BuildingWithoutHelper]] - Cómo hacer un paquete Debian sin emplear ayudas. * [[Packaging/HackingDependencies]] - manipular dependencias * [[Packaging/ComplexWebApps]] - Creas paquetes Debian para aplicaciones web complejas. === Páginas Útiles === * [[PackagingFAQ]] - Preguntas frecuentes de empaquetado. * [[Mentors]] - Sponsors/mentores para paquetes en áreas específicas de Debian. * [[Renaming_a_Package]] - Renombrar un paquete. * [[PackageTransition]] - Transición de paquetes. * [[DpkgDiversions]] * BzrBuildpackage/DesignIdeas * [[Packaging/PkgSplit]] - Cómo descomponer un paquetes en otros menores. * [[Repackage_srcrpm]] - Crear un paquete de fuentes Debian correcto refiriendo al paquete src.rpm. * [[DebugPackage]] - Paquete de depuración. * [[PackageArchitectureAlmostAny]] - Crear un paquete sin algunas arquitecturas para portabilidad fácil. * [[ConfigPackages]] - Paquetes de configuración. * [[DpkgConffileHandling]] - Manejo elegante de conffiles * [[EditingBinaryPackageMetadata]] - Editar metadatos de paquetes binarios. * [[SoftwarePackaging]] - Empaquetado de Software. * [[SponsorChecklist]] - Checklist del Sponsor. * [[HowToPackageForDebian]] - Cómo empaquetar para Debian. * [[AutomaticPackagingTools]] - Herramientas de empaquetado automático. * [[DEX]] - Mejorar Debian y sus derivadas mediante trabajo en equipo inter-comunitario. * [[Repacking]] - Coleccionar información acerca de reempaquetado. * AutomakeTransition * [[PackageConfigUpgrade]] - Propuesta de una nueva manera de manejar suavemente actualizaciones de configuración durante las actualizaciones de paquetes. * DataPackages * [[Diagrams]] - Diagramas y esbozos relacionados con empaquetado. * [[WNPP]] - Lista de paquetes ''Work-Needing and Prospective Packages (WNPP)'' solicitados o que necesitan un mantenedor nuevo. * [[Salsa]] - Servidor de desarrollo colaborativo para Debian basado en el software GitLab. * [[CheckInstall]] - Construir paquetes binarios .deb desde guiones de instalación (`make install`...). * [[SimpleBackportCreation]] - Retroportar un paquete DebianUnstable a DebianStable. * [[SourceOnlyUpload]] - ''Source-only'' son cargas al [[Services/Debian Archive|archivo Debian]] que no incluyen un binario del paquete Debian. * [[EmbeddedCopies]] - Los paquetes Debian deben evitar arrastrar copias empotradas de código. == Sesiones Formativas == === De Debian Women === [[DebianWomen]] organiza [[DebianWomen/Projects/Events/TrainingSessions|sesiones formativas]]. == Enlaces externos == * https://feeding.cloud.geek.nz/posts/whats-in-a-debian-directory/ - ¿Qué hay en un directorio `debian/`? * https://github.com/dod38fr/config-model/wiki/Managing-Debian-packages-with-cme - Administrar ficheros de paquete Debian con cme * https://packaging.ubuntu.com/ - Guía de empaquetado para Ubuntu * https://www.debian.org/doc/manuals/apt-howto/ - Cómo usar APT (Obsolete Documentation) * https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Debian-Binary-Package-Building-HOWTO.html Cómo construir paquetes binarios Debian (2005) * [[https://about.gitlab.com/blog/2016/10/12/automated-debian-package-build-with-gitlab-ci/|Cómo contruir y desplegar un paquete Debian con la CI de GitLab]] * [[https://github.com/jordansissel/fpm|fpm]] puede construir paquetes .deb a partir de otros formatos ([[https://github.com/jordansissel/fpm/wiki/ConvertingGems|rubygems]], [[https://github.com/jordansissel/fpm/wiki/ConvertingPython|pip]], pear, tar, npm, pacman...) * [[https://wiki.ubuntu.com/Packaging|Empaquetado - Wiki de Ubuntu]] * [[https://www.eyrie.org/~eagle/notes/debian/build-tools.html|Herramienta Debian de construcción - Notas acerca de Debian de Russ]] * [[https://www.eyrie.org/~eagle/notes/debian/scripts.html|Scripts de empaquetado para Debian - Notas acerca de Debian de Russ]] === Ver también: === * [[https://www.debian-administration.org/articles/336|Debian adminstration - Rolling your own Debian packages (part 1)]] * [[https://lists.debian.org/msgid-search/20061129152824.GT2560@mails.so.argh.org|Autobuilding non-free packages]] * [[https://www.strangeparty.com/2010/06/17/a-debian-packaging-howto/|A Debian packaging howto (2010)]] * [[https://raphaelhertzog.com/2010/12/17/do-not-build-a-debian-package-with-dpkg-b/|Evita un error de empaquetador novato: no contruyas tus paquetes debian con dpkg -b]] * [[Debuginfod|Debuginfod]] elimina la necesidad de los usuarios de instalar paquetes debuginfo para depurar programas mediante GDB, systemtap u otras herramientas * [[https://sources.debian.org|Navega por el código fuente del sistema operativo Debian]] == Páginas del wiki == Todas las páginas relacionadas con empaquetado en Debian: <> <> ---- CategoryPackaging | CategoryPortal