Publicando una actualización del paquete en el repositorio AUR
Aprende a publicar actualizaciones de paquetes en el repositorio de usuarios de Arch Linux.
Daniel Gustaw
• 3 min read
Crear una cuenta en AUR

Descargue el paquete que desea actualizar
En nuestro caso, estamos actualizando infinitywallet.
Descargamos el repositorio con el comando
git clone ssh://[email protected]/infinitywallet.git
Contiene tres archivos:
infinitywallet.install - hooki zakładane na operacje dookoła instalacji
PKGBUILD - konfiguracja źródeł instalcji
.SRCINFO - metadane pakietu generowane atuomatycznie
Actualizar “source” en “PKGBUILD”
En el archivo PKGBUILD
pkgname=infinitywallet
pkgver=1.2.1beta
pkgrel=10
pkgdesc="Digital asset wallet"
arch=('x86_64')
url="https://infinitywallet.io"
depends=('gtk3' 'libnotify' 'nss' 'libxss' 'libxtst' 'xdg-utils' 'at-spi2-core' 'util-linux-libs' 'libappindicator-gtk3' 'libsecret')
options=('!strip' '!emptydirs')
install=${pkgname}.install
source_x86_64=("https://github.com/InfinityWallet/Releases/releases/download/v1.2.1-beta/InfinityWallet_1.2.1-beta.deb")
sha512sums_x86_64=('f36da80cdc3d35bf6d83e573240f92ea115ab03fe7ec3b5acd699bce999df6d5e81a8ab1966ad8977773bbba2710e3fb6fba0229c3195262cd698e938fd864de')
package(){
# Extract package data
tar xf data.tar.xz -C "${pkgdir}"
install -D -m644 "${pkgdir}/opt/InfinityWallet/resources/app.asar.unpacked/node_modules/phantomjs-prebuilt/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Tenemos información sobre la fuente. Esta es la versión 1.2.1 de Ubuntu/Debian.
Mientras tanto, en el enlace con lanzamientos en Github, tenemos la versión 1.4.0
Releases · InfinityWallet/Releases

La versión para Debian se puede encontrar en
https://github.com/InfinityWallet/Releases/releases/download/v1.4.0-beta/InfinityWallet_1.4.0-beta.deb
Después de establecer este valor bajo la clave source_x86_64 en PKGBUILD, debemos recalcular la suma de verificación sha512sums_x86_64. Podemos usar la línea de comandos para descargar el paquete.
wget https://github.com/InfinityWallet/Releases/releases/download/v1.4.0-beta/InfinityWallet_1.4.0-beta.deb -O /tmp/iw.deb
y cálculo de la suma de verificación
sha512sum /tmp/iw.deb
lo pegamos en el archivo PKGBUILD.
Al final, cambiamos la descripción de la versión en pkgver y aumentamos el pkgrel en uno.
Generando .SRCINFO
Podemos reconstruir el archivo de metadatos con el comando
makepkg --printsrcinfo > .SRCINFO
Probando la instalación del paquete localmente
Podemos verificar si la instalación es exitosa escribiendo
makepkg -si

Enviando cambios al repositorio
Creando un nuevo commit
git commit -a -m "Release v1.4.0-beta"
y enviamos cambios a la rama “master”
git push origin master
Eso es todo. Nuestra actualización ya está disponible públicamente.
Pasos clave para publicar un paquete AUR:
- tu clave ssh pública debe coincidir con la de la cuenta AUR
- el repositorio debe tener la dirección ssh://[email protected]/package.git
- necesitas actualizar tanto la descripción como el número de versión
- usa sha512sum para calcular la suma de verificación
- además de PKGBUILD, también hay un archivo .SRCINFO creado por
makepkg --printsrcinfo > .SRCINFO - localmente, puedes probar la instalación con el comando
makepkg -si - finalmente, empujas los cambios a master
Si alguno de ustedes va a subir paquetes a AUR y encuentra algún problema, no duden en preguntar, estaré encantado de ayudar.
Other articles
You can find interesting also.
Instalación de un certificado TLS renovable (certbot + apache en Ubuntu)
Hay muchos métodos para obtener un certificado que permita cifrar el tráfico HTTP. Uno de ellos es instalar Certbot y usarlo junto con el servidor Apache.
Daniel Gustaw
• 3 min read
Aprendizaje automático XOR desde cero
Introducción al aprendizaje automático mediante el ejemplo del problema XOR. En este artículo mostramos cómo crear un modelo desde cero, utilizando Python y NumPy.
Daniel Gustaw
• 17 min read
Compilación del intérprete PHP 7 en BunsenLabs
La compilación es un proceso que a veces requiere instalar paquetes o vincular dependencias. En este caso, la tarea era entregar php7 a un sistema que no lo tenía en los repositorios disponibles.
Daniel Gustaw
• 9 min read