El contenido de este artículo se basa en mi experiencia personal, por lo que pueden haber errores.

Este artículo no profundiza en muchos temas, por lo que es recomendable leer la documentación oficial de Arch.

Resultado final: hmta

Introducción

El repositorio de usuarios de Arch (AUR) es un repositorio impulsado por la comunidad y para la comunidad. Contiene descripciones de paquetes (PKGBUILD) que te permiten compilar un paquete desde el código fuente con makepkg y luego instalarlo a través de pacman. El AUR se creó para organizar y compartir nuevos paquetes de la comunidad y para ayudar a acelerar la inclusión de paquetes populares en el repositorio adicional.

Requisitos

  • Tener una cuenta en AUR.
  • Tener instalado base-devel.
  • Tener instalado git.
  • Tener el sistema actualizado.

Creando y publicando el paquete

Script

En este ejemplo usaré hmta, un script en python el cual nos permite conocer cuánto tiempo tardariamos en ver un anime. Puedes ver el código fuente en GitHub.

git clone https://github.com/Rooyca/hmta.git

SSH

Para poder subir el paquete a AUR, necesitamos configurar una llave SSH. Aunque ya tengas una configurada, es recomendable crear una nueva.

ssh-keygen -f ~/.ssh/aur

Puedes añadir multiples llaves públicas a tu perfil separandolas con un salto de linea.

Creando un repositorio para el paquete

git -c init.defaultbranch=master clone ssh://aur@aur.archlinux.org/PKGNOMBRE.git

Si el paquete no existe, se creará un nuevo repositorio. En caso de que ya exista, se clonará el repositorio. El output cuando se crea un nuevo repositorio es el siguiente:

Cloning into 'PKGNOMBRE'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

Publicando el paquete

En el repositorio que acabamos de clonar, creamos un archivo llamado PKGBUILD con el siguiente contenido:

# Maintainer: rooyca <rooyca.f9rnz at aleeas dot com>
pkgname=hmta
pkgver=1.0.1
pkgrel=1
pkgdesc="Do you wanna know how much time would take you to watch an anime? Well, this is your tool."
arch=('i686' 'x86_64')
url="https://github.com/Rooyca/hmta"
license=('MIT')
depends=('python' 'python-urllib3')
source=("https://github.com/Rooyca/hmta/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('590f76d949efecaebcdc9ce818e80e1d3f5fa6dd13467ee458a1bfb5dafe29f9')

build() {
    cd "$srcdir/hmta-$pkgver"
}

package() {
    cd "$srcdir/hmta-$pkgver"
    install -Dm755 hmta.py "$pkgdir/usr/bin/hmta"
}

Puedes encontrar más información sobre el archivo PKGBUILD en la documentación oficial.

Podemos testear que el paquete se construye correctamente con el comando makepkg.

makepkg -si

Si todo sale bien, podemos continuar con el proceso de publicación.

Ahora nos aseguramos de crear el archivo .SRCINFO.

makepkg --printsrcinfo > .SRCINFO
git add PKGBUILD .SRCINFO
git commit -m "Initial commit"
git push

Después de publicar el paquete

Una vez publicado el paquete, podemos instalarlo con yay.

yay -S hmta

Otra cosa que podemos hacer después de publicar el paquete es añadirle palabras claves, para ello nos dirigimos a la página del paquete y en la parte inferior derecha encontraremos el apartado Keywords.

Eso es todo por hoy. Si tienes alguna inquietud no dudes en dejármela en los comentario.

¡Gracias por leer!