Repositorio local Chakra Linux (Aplicable a distros que usen pacman)

Introducciรณn

Buenas, acรก otro post, si se quiere ยซparecidoยป al que hice con anterioridad para Archlinux, esta vez vamos a hacer algo muy similar, con la diferencia, de que si bien yo lo hago bajo Chakra Linux, es aplicable a todas las distros que usen pacman como gestor de paquetes

Requisitos

  • Paquetes para compilar, suele ser los grupos terminados en devel (para Arch seria base-devel)

Armando la estructura del repositorio

Para esto es necesario crear (para ser ordenados) 2 carpetas dentro de nuestro repositorio, en mi caso voy a crear mi repo x11tete11x en: /home/x11tete11x/.repo/x11tete11x y las carpetas que contendrรก serรกn: pkgbuilds y pkgs-x86_64

Aรฑadiendo nuestro repositorio a Pacman

Editamos el archivo /etc/pacman.conf y aรฑadimos nuestro repo con la siguiente informaciรณn:

[NombreRepo]
SigLevel = <Nivel de seguridad>
Server = <Ruta a la carpeta donde esta la DB>

ejemplo de como tengo configurado mi repo:

[x11tete11x]
SigLevel = Optional TrustAll
Server = file:///home/x11tete11x/.repo/x11tete11x/pkgs-x86_64

Metodo Manual

Creando la DB para el repositorio

Acรก hacemos uso de la instrucciรณn repo-add para generar la base de datos del repositorio

repo-add /ruta/al/repo/carpetaDepkgs/<nombreRepo.db.tar.gz> /ruta/al/repo/carpetaDepkgs/*.pkg.tar.xz
Hay que tener ya algรบn paquete dentro de la carpeta de pkgs, porque sino repo-add no podrรก crear la DB

Compilando paquetes

Aca mas que los pasos, me interesa dar mas ยซguidelinesยป o consejos, los pasos son:

  • Bajar o armar el PKGBUILD del paquete deseado a la carpeta de pkgbuilds, y entran en la misma
  • Adaptar el PKGBUILD para que se ajuste a los nombres de dependencias de tu distro
  • Ejecutar makepkg
  • Copiar el binario a la carpeta de pkgs
  • Regenerar la DB con repo-add
  • Refrescar los repositorios de pacman con pacman -Sy

Consideraciones al compilar

Antes de ponerse a compilar a tontas y a locas verifiquen que tengan todas las dependencias en sus repositorios oficiales, porque si empezamos a duplicar paquetes en nuestros repositorios y sistema, podemos generarle inconsistencia, por ejemplo.

Mmas adelante voy a acompaรฑar este post, con un video tutorial mostrado todo lo que aquรญ se expone, en particular en Chakra esta el paquete ยซtoluappยป y en Arch se llama ยซtolua++ยป por lo tanto si queremos compilar un paquete en Chakra (que por ej trajimos de Arch) que tiene como dependencia tolua++, NO tenemos que compilar tolua++ simplemente modificamos el PKGBUILD, para que las dependencia del mismo pase a ser toluapp.

Esa ha de ser la consideraciรณn mas grande a contemplar, despuรฉs, es cuestiรณn de ante cualquier eventualidad, googlear un poco para modificar el PKGBUILD para que compile (en el ejemplo que muestro en el vรญdeo, estรกn todas estas cuestiones, incluso un error en compilaciรณn, posteriormente solucionado)

Prestar atenciรณn a las consideraciones al compilar, ya que como se expuso, asรญ se generan buenos paquetes acordes a la distro

Mรฉtodo Automรกtico

El mรฉtodo ยซautomรกticoยป consiste en un sencillo script, que realicรฉ para automatizar la tarea de compilar y agregar paquetes al repositorio (no es ni de cerca tan completo como el local-repo de Arch pero cumple con su cometido) el cรณdigo del mismo es el siguiente:

#!/bin/bash

REPONAME=x11tete11x
PATHPKG=/home/x11tete11x/.repo/x11tete11x/pkgs-x86_64/

makepkg && cp *.pkg.tar.xz ${PATHPKG} && rm *.pkg.tar.xz && repo-add ${PATHPKG}/${REPONAME}.db.tar.gz ${PATHPKG}*.pkg.tar.xz

como observarรกn es extremadamente sencillo y para utilizarlo tienen que hacer lo siguiente:

  • Guardan ese cรณdigo con el nombre que quieran (en mi caso lo llame chakra-repo)
  • Configuran las variables REPONAME, con el nombre de su repositorio, tiene que ser el mismo que ponen en el pacman.conf, y la variable PATHPKG con el directorio donde se encuentran todos los pkgs
  • Le dan permisos de ejecucion:
    chmod +x nombreDeSuScript
  • Lo copian a /usr/bin/

Para utilizarlo, luego de que bajaron o armaron su PKGBUILD, en vez de ejecutar makepkg ejecutan el script (en mi caso chakra-repo) este automรกticamente compila el programa copia el binario a la carpeta de binarios, y actualiza la BD mediante repo-add, por lo que luego de ejecutar el script, solo basta hacer un pacman -Sy <paqueteRecienCompilado> para instalar el paquete en cuestiรณn.

A continuaciรณn, les dejo un vรญdeo tutorial donde se ve todo esto que expuse, en acciรณn (PD: si escuchan AC/DC la maquina compila mejor xD jajaj)


Deja tu comentario

Tu direcciรณn de correo electrรณnico no serรก publicada. Los campos obligatorios estรกn marcados con *

*

*

  1. Responsable de los datos: Miguel รngel Gatรณn
  2. Finalidad de los datos: Controlar el SPAM, gestiรณn de comentarios.
  3. Legitimaciรณn: Tu consentimiento
  4. Comunicaciรณn de los datos: No se comunicarรกn los datos a terceros salvo por obligaciรณn legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu informaciรณn.

      truko22 dijo

    Interesante ๐Ÿ˜€

      Fega dijo

    Muy interesante!

      elruiz1993 dijo

    Se ve interesante, me pregunto por quรฉ Arch y Ubuntu pueden tener todos los paquetes del universo y las otras distros no.

      yerkorn dijo

    Muy buen tema, ademas que se ve todo detallado al realizar la configuracion,
    y el mejor detalle, que en mi opinion, fue lo mejor, fue cuando buscaste la solucion al error que te salio al compliar, ya que uno no sabe que pasa al encontrarse con estos tipos de errores y como solucionarlo, y aca demuestras con el simple echo de buscar las cosas sale lo que hay que hacer.

      cr0ss dijo

    Buenisimo

      patodx dijo

    que manera de aprender GNU/Linux en esta pรกgina. gracias..

      sobrao72 dijo

    Muy buena entrada, a ver si alguien se anima a poner alguna parecida para los debianadictos.
    En cuanto a la mรบsica…. AC/CD estรก muy bien, pero igual con Marilyn Manson va un pelรญn mejor… :-/

      Fega dijo

    Se puede usar como server algรบn alojamiento en la nube? especรญficamente Dropbox

         Yoyo dijo

      Si, de hecho, cuando estaba en Pardus y Pisi Linux, tenรญamos el repo de la comunidad en Dropbox.

         Fega dijo

      Perfecto! ๐Ÿ˜€

      Yoyo dijo

    Ahora que soy UniDistro, a ver si me animo a probarlo en KaOS ๐Ÿ™‚

    Excelente aporte ๐Ÿ˜‰

         x11tete11x dijo

      proba sin miedo, que inicialmente el repo local ยซmanualยป, lo hice bajo KaOS xD

      userarch dijo

    Un trabajo muy util para neofitos como Yo, y por eso te agradezco mucho el interes que tuviste para publicarlo.
    Ok, creo que ya comprendo lo que quieres transmitir, esto de la ยซrepo localยป, ahorra tiempo, si concideramos instalar archlinux o una derivada; ya que por ejemplo el servidor de archlinux.org recientemente a sido establecido en creo 56 kb/s para descargas. Pero si tenemos una repo local (servidor de paquetes local, eso ยฟcreo?) la instalaciรณn serรก echa sin la dependencia de estar conectado a internet.