Hacking:Common packaging mistakes (Español)

From ParabolaWiki
Jump to: navigation, search

Aquí hay una lista de errores comunes de empaquetado.

  • Se ha convertido en una convención indentar con dos espacios. No hacerlo no es un error en sí mismo, pero la consistencia es agradable.
  • Asegúrese de tener una línea que comience con "# Maintainer: ". También disponer de cosas como "# Maintainer (AUR): " está bien, pero "# Maintainer (Parabola): " no es un sustituto para la versión pura. Algunos paquetes lo hacen; esto es un error (popularizado por lukeshu).
  • Todas las instancias de srcdir y pkgdir deberían estar entre comillas dobles.
  • El acceso a la red no puede ser usado durante build() o package(). (Esto es obligatorio para libremakepkg).
  • Si un paquete está nombrado en depends, entonces no necesita ser mencionado en makedepends.
  • Los paquetes en base no necesitan ser mencionados en depends, a menos que el paquete esté siendo construído también en base (pero quizás necesiten ser mencionados en makedepends).
  • Los paquetes en base-devel no necesitan ser mencionados en makedepends, a menos que el paquete esté siendo construido también en base-devel (pero quizás necesiten ser mencionados en depends).
  • Los archivos en install= y changelog= no deben ser mencionados en source=()
  • Cuando cree un reemplazo para un paquete en un grupo, no haga el reemplazo en el mismo grupo. Los grupos no pueden contener miembros conflictivos.
  • Las mejores prácticas para paquetes en VCS han cambiado bastante.
    • Lo que no hay que hacer:
      • No use _gitroot ni variables con "guiones bajos" similares (incluso aunque se recomienden en /usr/share/pacman/). Ellos ya son obsoletos en Arch a partir de pacman 4.1, requiriendo de la red durante build(), y otras cosas más complicadas.
      • No tenga entradas 'SKIP' en md5sums, excepto para los archivos *.sig y *.asc.
        • Esto significa que no debe usar URL VCS makepkg 4.1 directamente en source=(), colóquelas en mksource o en su lugar en SRCBUILD.
      • No trackee una "branch", asegúrese de hacer referencia a un commit específico o tag.
    • Recomendaciones actuales de Luke:
      • Asegúrese de tener instalado libretools (si usted es un empaquetador, ya debería de haberlo hecho de todos modos.)
      • configure source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz") (use other/~username/ para repositorios personales) librefetch generará el archivo automáticamente para usted si no existe.
      • configure mksource=("$pkgname-$pkgver::VCS-URL")
      • configure mkmd5sums=('SKIP')
      • configure md5sums con makepkg -g como en cualquier otro paquete.
      • librestage/librerelease también subirá el archivo fuente generado por usted.