Hace cosa de un aรฑo explique como crear paquetes para Archlinux. Pues bien, hoy voy a explicar como crearlos desde paquetes .deb, los usados en Debian/Mint/Ubuntu/etc.
Este articulo surgiรณ tras leer en el foro una pregunta del usuario jorgegc por que no podรญa instalar un paquete desde AUR, principalmente por que esta desactualizado y encima usaba una versiรณn descontinuada del PKGBUILD (por suerte ya hice con anterioridad paquetes de este modo), ademas explicare como hacer paquetes de programas que necesiten librerรญas de 32 bits, de cรณdigo cerrado o ya compilado y que cuente con distintos paquetes para su descarga.
La base para el PKGBUILD es la misma, solo que con algunos cambios.
El primer cambio sera el uso de una sentencia if elif de Bash
if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")
En este ejemplo se ha definido una variable que luego sera usada para cambiar la URL donde esta el paquete (en este caso la arquitectura del paquete a bajar).
Ademas dependiendo de la arquitectura tambiรฉn cambiaran las sumas MD5 por lo que cambiaremos estas por las correspondientes.
Por ultimo vemos que en el ejemplo cambiamos las dependencias. En algunos programas de 64 bits es necesario instalar las versiones de 32 bits de algunas librerรญas por lo que tenemos que indicarlas. Si no son necesarias simplemente define la variable de la forma habitual.
Ahora para los paquetes .deb solo vamos a necesitar necesitar las siguiente lineas dentro de la funciรณn package():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Como veis solo necesitamos en este caso 3 lineas para generar el paquete. Si es necesario algo mas (por ejemplo copiar un archivo que no viene con el paquete, o modificar el contenido de uno) solo tenรฉis que ponerlo como con cualquier otro paquete.
Y listo, ya tenemos un paquete multilib o creado desde un paquete deb listo para usar.
Espero que os guste y que me haya explicado bien ๐
ยฟNo es mรกs sencillo usar checkinstall?
Checkinstall sirve para crear paquetes deb, rpm o para Slackware de manera mas sencilla.
Bien. A ver si me doy tiempo para poder asรญ aรฑadir Iceweasel al repo de slacky.eu
Que tiene de malo Firefox? :p
que no estรก en Debian :p
Eso no es a lo que exactamente me referรญa xD
A que Firefox no tiene una versiรณn oficial para Debian, y si uso los repos de Ubuntu o Mint, se demoran igual que Iceweasel a la hora de publicarlos; ademรกs que te preguntan a cada rato si quieres enviar tus datos o no (una funciรณn realmente trivial para un navegador que defiende la privacidad).
No estoy en contra de Firefox, y la verdad, apenas uso el Firefox ESR en Slackware y el Firefox Release en Windows (Iceweasel lo uso apenas en Debian, pero como Arch me da la maravillosa ventaja de instalarlo, lo instalarรฉ). Cuestiรณn de gustos, nada mรกs.
Hola. Yo tengo unos scripts bash. Uno para generar las carpetas y archivos basicos para un paquete deb. Y el ultimo para generar el paquete a partir de todos los archivos y carpetas. Si les interesa lo puedo compartir.
Claro que puedes, previo pago XD
Claro que interesa… por lo menos a mรญ.
Ahora que estoy con Manjaro agradezco toda informaciรณn posible.
Que grande eres compaรฑero.
Te iba haber dicho en el foro que si me podias explicar como se hacia lo de compilar paquetes .deb y no te he dicho nada para no abusar de tu generosidad…. y me meto en la pรกgina y veo que has subido un artรญculo explicando todo el proceso.
Esto demuestra que eres una persona generosa.
Lo dicho, eres un crack.
Un saludo
Gracias, y otra vez gracias por que tu pregunta me dio la idea ^^
es genial amigo, una vez probe un soft q no recuerdo el nombre q convertia de .deb a .rpm , pero no me funcionรณ bien.
alguien con arch podria probar si este soft se pasa bien a rpm y se abre bien la instalacion ?
http://www.justcloud.com/download/linux-64
es para hacer backup en la nube, ya pago hace un tiempo y tengo mas de 40gb en la nube =)
Eso tendrian que probarlo gente que use Fedora, Red Hat u otras derivadas.
Por la descripciรณn que das supongo que te referirรกs a alien (y no tiene que ver con cierto Xenoformo)
Buenรญsimo! Siempre me dije que algรบn dรญa querรญa hacer un paquete, aunque sea para saber como se hace :).
En estos tipos de post agradecerรญa que en el blog se implemente la opciรณn de aรฑadir entradas como esta en ยซfavoritosยป de mi cuenta
Totalmente de acuerdo, yo lo plantie, pero nada ๐
Tambien estaria bueno, poder seguir, a determinados usuarios
buenisimo viejo, estoy usando manjaro desde hace unos dias y por estudios necesito instalar packet tracer de cisco pero solo tiene paquete .deb de la ultima version y el ke esta en AUR siempre me da error al momento de compilar, espero con estos pasos poder instalarlo ya que por fuerza he estado usando linux mint, mil gracias
a ver si alguien se atreve a poner en AUR Multisystem
depende de librerias deb que no estรกn en arch
Pero si funciona su funciรณn es la de crear pendrives multi ISO con grub2 mejor que unetbootin que sรณlo hace una.
De momento tengo una ISO ubuntu suya dentro que me permite aรฑadir imรกgenes si quiero arrancando desde ella en el propio USB
pero si no se atreve nadie me guardo la entrada
Perdรณn,ya existe multisystem , y yo pensando que no
En multisystem …
pero fatresize desde yaourt da problemas, y lo han puesto como opcional
Genial ๐ aprobar con ยซPurrrยป un programa para renombrar archivos masivamente.
Saludos,
Actualemente en AUR estan eliminando los paquetes que no tengan la funcion package() como puedo saber que lineas colocar ahi? Es decir, yo tengo varios paquetes y lo hice de esta forma pero no se si esta bien https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD lo que hice realmente es pasar lo que estaba en build() a package() pero como dije, no se si esta bien… Me das tus comentarios y sugerencias?
Gracias ๐
Dentro de build() irรญa la parte de compilaciรณn del programa y en package() la parte que genera el paquete.
Por poner un ejemplo corto en build() irรญan ./configure, ./autogen.sh, cmake, make y en package() make install, etc
Oye, muchas gracias… Ya voy a editar mis paquetes ๐
Gracias por la informaciรณn lo guardare en marcadores para referencias futuras.
alguien me puede explicar esto que es, soy nuevo, y pues no se si esto me sirva para instalar un paquete .deb pero localmente en manjaro, un juego para ser exactos. si sirve?
busco y me dicen que instale el paquete deb2targz pero sale error al instalarlo desde la terminal, y pues no se si se pueda
Me pasa igual; necesito instalar en Kademar que esta basada en Arch; un par de paquetes que solo consigo en .deb
ยฟAlguien me puede colaborar?
Si a lo que te refieres es a una falla en la instalaciรณn de deb2targz reciรฉn termino de instalarlo con la orden yaourt -S deb2targz . Eso sรญ, en ArchLinux.
Post muy informativo. Gracias por compartir.
Buen post. Gracias por compartir esta informaciรณn รบtil.
Gracias por este รบtil puesto. Se va a ayudar mucho.
hola, puedes dejar el script para la conversion y como emplearlo? es que asi por partes confunde un poco, ya tengo el deb que quiero convertir y se que es posible porque el google chrome de AUR es un deb pero no se como hacer ยซMAKEPKG SIยป con otro deb ๐