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.
CodinGame: Mejor ajuste a los datos - Rust - Análisis de Regresión
Se derivaron regresiones lineales y logarítmicas aquí. Los modelos se ajustaron en el lenguaje rust. Este artículo muestra que a veces vale la pena mejorar el modelo teórico antes de comenzar la implementación.
Daniel Gustaw
• 7 min read
Tutorial para creadores de paquetes ESM + CommonJS
Hay un intenso debate en la comunidad de JS sobre dejar de lado CommonJS o utilizar paquetes duales. He recopilado enlaces clave y escrito un tutorial sobre la publicación de paquetes duales.
Daniel Gustaw
• 7 min read
¿Cuántas familias caben en el avión - un problema de algoritmos
Comparamos dos soluciones al problema de contar conjuntos libres de asientos adyacentes. Aprenderás cómo usar el perfilado y cuánta diferencia hace el uso de pop y shift en matrices en js.
Daniel Gustaw
• 13 min read