Crear un paquete para Arch
junio 17th, 2012 | Posted by in Arch LinuxPara empezar a habituarse en el manejo de PKGBUILD para la creación de paquetes para Archlinux hemos creado un pequeño y muy elemental manual con la intención de que se le vaya perdiendo el miedo a esta fabulosa distro. Naturalmente cada cual ha de adaptar el proceso a sus necesidades si bien puede seguir el proceso al pie de la letra para adquirir tablas.
Partimos de un script de lo más simple que nos dice la ip externa que para el caso nos sirve perfectamente:
$ nano ipextern
#!/bin/bash
curl ifconfig.me > ip.txt 2>/dev/null
dialog –sleep 3 –infobox “El dato que le voy a proporcionar puede ser alucinante….” 3 65
dialog –title “La IP externa es:” –editbox “ip.txt” 0 0
rm ip.txt
dialog –sleep 3 –title “Vuelve al prompt en 3 segundos” –infobox “Realmente impresionante” 3 40
clear
Hemos subido el script a una cuenta en minus.com
Creamos una carpeta de trabajo y entramos en ella:
$ mkdir ipextern
$ cd ipextern
Para crear paquetes para Arch con el archivo PKGBUILD es suficiente pero tambíen pondremos un .install que, en caso de desinstalación, será el que mandará a pacman borrar los archivos que se hayan creado ahorrándonos dejar mierda por el arbol de directorios.
$ nano PKGBUILD
Y pegamos el siguiente contenido:
# Maintainer: Templix
# Contributor: lapipaplena <lapipaplena@gmail.com>
pkgname=ipextern
pkgver=1.1
pkgrel=1
pkgdesc=”Muestra nuestra magnifica ip externa”
arch=(‘i686′ ‘x86_64′)
license=(‘GPL’)
install=ipextern.install
url=”http://www.lapipaplena.net”
depends=(‘dialog’ ‘curl’)
conflicts=()
source=(“http://i.minus.com/1340026165/C6mKLMh-XsVaGATjZTAHvw/dV4gaQAHv3P1T/ipextern”)
md5sums=(’21704158a35ce76370a5ef78819b5c8a’)build() {
mkdir /opt/$pkgname-$pkgver
cp -Rf $startdir/ipextern /opt/$pkgname-$pkgver
echo “#!/bin/bash” > /usr/bin/ipextern
echo “sh /opt/$pkgname-$pkgver/ipextern” >> /usr/bin/ipextern
chmod -R 777 /opt/$pkgname-$pkgver/
chmod a+x /usr/bin/ipextern
}
El mantenedor [Maintainer], nombre del paquete [pkgname], versión [pkgver], número de release [pkgrel], descripción [pkgdesc], arquitectura [arch], licencia [license], archivo que se incluyen [install], página del paquete [url], dependencias [depends], de donde se obtienen las fuentes y md5sum de las fuentes [md5sum].
El build, en este caso, es también muy simple porqué no hay compilación. Creamos el directorio en /opt/ipextern, en él ponemos las fuentes, creamos el ejecutable en /usr/bin/ipextern y establecemos permisos.
Crear el paquete para la desinstalación:
$ nano ipextern.install
Con el siguiente contenido:
post_remove() {
rm -Rf /opt/ipextern/
rm /usr/bin/ipextern
}
Que sólo contiene las órdenes para borrar el directorio y el ejecutable que hemos creado en el build.
Prácticamente hemos terminado. Continuando y continuando en el mismo directorio ipextern, creamos el pkg:
# makepkg –asroot
Con el que tendremos, si no se producen errores, el paquete ipextern-1.1-1-x86_64.pkg.tar.xz que podremos instalar con pacman:
# pacman -U ipextern-1.1-1-x86_64.pkg.tar.xz
Ahora nos vamos a la tty2, por decir algo, y probamos la maravilla:
$ ipextern
Y para desinstalarlo, por el procedimiento normal:
# pacman -R ipextern
Como es lógico, este paquete no lo vamos a mandar a AUR (http://aur.archlinux.org/) porqué nos tirarian piedras (y con razón) Pero si esta fuera la intención, aún a costa de nuestra integridad física, podemos crearnos una cuenta en http://aur.archlinux.org/account.php y, continuando en el mismo directorio ipextern, componer el .src.tar.gz:
# makepkg –asroot –source
Con lo que tendremos el paquete ipextern-1.1-1.src.tar.gz que es el que subiríamos a AUR.
nota.- Son dos guiones delante de asroot y source en todo el texto…. wordpress los unifica desconozco si por orden del gobierno.
You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.




