Hacking:Common packaging mistakes (Español)
From ParabolaWiki
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.
- Lo que no hay que hacer: