Arch User Repository (Español)

From ArchWiki
Revision as of 17:05, 4 December 2012 by Pedro (Talk | contribs)

Jump to: navigation, search
Sumario help replacing me
Arch User Repository es una colección de PKGBUILD enviados por los usuarios que complementan el software disponible en los repositorios oficiales. Este artículo describe cómo crear paquetes de software sin apoyo desde AUR.
Descripción
Los paquetes en Arch Linux son construidos con la orden makepkg en conjunción con un script de compilación hecho a medida para cada paquete (que se conoce como PKGBUILD). Ya empaquetado, el software se puede instalar y manejar con pacman. Los PKGBUILD para el software presente en los repositorios oficiales estan disponibles desde el árbol ABS; también hay miles disponibles (sin soporte) desde Arch User Repository.
Relacionado
AUR Helpers
AurJson
AUR Trusted User Guidelines
Recursos
AUR Web Interface
AUR Mailing List

Arch User Repository (AUR) es un repositorio promovido por los usuarios de la comunidad de Arch. Este contiene descripciones de los paquetes (PKGBUILD) que le permiten compilar un paquete desde el código fuente con makepkg y luego instalarlo a través de pacman. AUR fue creado para organizar y compartir paquetes nuevos de la comunidad y ayudar a acelerar la inclusión de los paquetes más populares en el repositorio [community]. Este documento explica cómo los usuarios pueden acceder y utilizar AUR.

Un buen número de paquetes nuevos que entran en los repositorios oficiales tienen su origen en AUR. En AUR, los usuarios pueden aportar sus propias compilaciones de paquetes (PKGBUILD y los archivos relacionados). La comunidad de AUR tiene la posibilidad de votar a favor o en contra de los paquetes de AUR. Si un paquete llega a ser lo suficientemente popular —siempre que tenga una licencia compatible y la técnica de un buen empaquetado— puede ser introducido en el repositorio [community] (directamente accesible por pacman o abs).

Para empezar

Los usuarios pueden buscar y descargar PKGBUILD desde la Interfaz Web de AUR. Estos PKGBUILD se pueden compilar en paquetes instalables usando makepkg, y luego instalarlos con pacman.

  • Asegúrese de que los paquetes del grupo base-devel están instalados (pacman -S base-devel).
  • Léase el resto de este artículo para obtener más información que funciona como un breve tutorial sobre la instalación de los paquetes de AUR.
  • Visite la Interfaz Web de AUR para obtener información sobre actualizaciones y otros eventos. Allí también encontrará estadísticas y una lista actualizada de los nuevos paquetes disponibles presentes en AUR.
  • Léase #FAQ para obtener respuestas a las preguntas más comunes.
  • Es posible mejorar la optimización ajustando /etc/makepkg.conf para el procesador antes de crear paquetes desde AUR. Se puede obtener una mejora significativa en los tiempos de compilación en sistemas con procesadores multi-core ajustando la variable MAKEFLAGS. También se pueden habilitar optimizaciones para hardware específico en GCC a través de la variable CFLAGS. Véase makepkg.conf para obtener más información.

Historia

Los siguientes instrumentos se listan con fines ilustrativos solamente. Desde entonces, han sido sustituidos por AUR y ya no están disponibles.

Al principio, existía ftp://ftp.archlinux.org/incoming, y se contribuía únicamente subiendo el PKGBUILD, los archivos adicionales necesarios y el mismo paquete compilado al servidor. El paquete y los archivos asociados se mantenían allí hasta que un Package Maintainer veía el programa y lo adoptaba.

Posteriormente, surgieron los Trusted User Repositories («repositorios de usuarios de confianza»). A algunas personas de la comunidad se les permitía alojar sus propios repositorios para que cualquiera los utilizase. AUR se amplió sobre esta base, con el objetivo de hacerlo más flexible y usable. De hecho, a los responsables de AUR todavía se les conoce como TUs (Trusted Users -«Usuarios de Confianza»-).

Buscar

La interfaz web de AUR puede ser encontrada aquí, y una interfaz para el acceso a AUR mediante un script (por ejemplo) puede ser encontrada aquí.

Las consultas de búsqueda de los nombre y descripciones de los paquetes utilizan un método similar al de MySQL. Esto permite el uso de criterios de búsquedas más flexibles (por ejemplo, pruebe a burcar por «tool%like%grep», en lugar de «tool like grep»). Si tiene que buscar una descripción que contiene «%», use el carácter de escape «\%».

Instalar paquetes

La instalación de paquetes desde AUR es un proceso relativamente simple. En esencia consiste en:

  1. Adquirir el tarball que contiene los PKGBUILD y posiblemente otros archivos necesarios.
  2. Extraer el tarball (preferentemente en una carpeta reservada solo para las compilaciones de AUR).
  3. Ejecutar makepkg en el directorio donde se guardan los archivos ( makepkg -s resuelve automáticamente las dependencias con pacman).
  4. Instalar el paquete resultante con pacman:
# pacman -U /path/to/pkg.tar.xz

Los AUR Helpers añaden un acceso transparente para AUR. Los mismos varían en sus características, pero pueden facilitar la búsqueda, descarga, compilación e instalación de los PKGBUILD que se encuentran en AUR. Todos estos scripts se pueden encontrar en AUR.

Nota: Nunca habrá un mecanismo oficial para la instalación del material precompilado de AUR. Por tanto, todos los usuarios deben estar familiarizados con el proceso de compilación.

Lo que sigue es un ejemplo detallado de la instalación de un paquete llamado «foo».

Prerrequisitos

Primero, asegúrese de que las herramientas necesarias estén instaladas. El grupo de paquetes base-devel debe ser suficiente; incluye make y otras herramientas necesarias para compilar desde el código fuente.

Advertencia: Los paquetes disponibles en AUR asumen que tiene instalado el grupo base-devel, por lo que los paquetes de AUR no listan los elementos de este grupo como dependencias, incluso si el paquete no se puede compilar sin ellos. Por tanto, asegúrese que este grupo está instalado para prevenir que arroje errores sobre fallo al compilar.
# pacman -S base-devel

A continuación, elija un directorio de compilación apropiado. Un directorio de compilación es simplemente una carpeta en la que se construirá el paquete o «se compilará», y puede ser cualquier carpeta. Un ejemplo de carpeta comúnmente utilizada es:

~/builds

o si se utiliza ABS (Arch Build System):

/var/abs/local

Para obtener más información sobre ABS, léase el artículo sobre Arch Build System. En el ejemplo que se sigue, la carpeta ~/builds será el directorio de compilación.

Adquirir archivos compilados

Localice el paquete en AUR. Esto se realiza utilizando la función de búsqueda (esto es, el recuadro de texto de la parte superior de la página principal de AUR). Al pulsar sobre el nombre de la aplicación en la lista de búsqueda, nos llevará a una página de información sobre el paquete. Lea la descripción para confirmar que este es el paquete deseado, observe si el paquete ha sido actualizado y lea los comentarios.

Descargue los archivos necesarios de compilación. Desde la página de información del paquete, descargue los archivos de compilación pulsando el «tarball» que aparece en el lado izquierdo, cerca del final de los detalles del paquete. Este archivo debe ser guardado en el directorio de compilación o una copia del archivo en dicho directorio después de la descarga. En este ejemplo, el archivo se llama «foo.tar.gz» (el formato estándar es nombredelpaquete.tar.gz, si ha sido debidamente enviado).

Compilar el paquete

Extraiga el tarball. Para ello, cambie el archivo a la carpeta de compilación, si no está ya allí y, una vez en dicho directorio, extraiga los archivos de compilación.

$ cd ~/builds
$ tar -xvzf foo.tar.gz

Esto debería crear una nueva carpeta llamada «foo» en el directorio de compilación.

Advertencia: Revise cuidadosamente todos los archivos. Ejecute la ordencd para desplazarse a la carpeta (foo) recién creada y revise con cuidado elPKGBUILD y cualquier archivo .install para advertir órdenes maliciosas. Los PKGBUILD son scripts de bash que contienen funciones para ser ejecutadas por makepkg: estas funciones pueden contener cualquier orden válida o con la sintaxis que interpreta Bash, por lo que es totalmente posible que un PKGBUILD pueda contener órdenes peligrosas introducidas por malicia o ignorancia del autor. Use makepkg en un entorno fakeroot (y no lo ejecute nunca como root), lo cual le da un cierto nivel de protección, pero nunca se debe confiar del todo con ello. En caso de duda, no compile el paquete y consulte en los foros o listas de correo.
$ cd foo
$ nano PKGBUILD
$ nano foo.install

Construya el paquete. Después de confirmar manualmente la integridad de los archivos, ejecute makepkg como un usuario normal en el directorio de compilación.

$ makepkg -s

La opción -s utilizará sudo para instalar eventuales dependencias. Si no se desea utilizar sudo, se deberá probar a instalar manualmente las dependencias de antemano y posteriormente ejecutar lar orden anterior, omitiendo la opción -s.

Instalar el paquete

Instale el paquete con pacman. Un tarball bien creado debería mostrar un nombre siguiendo este esquema:

<application name>-<application version number>-<package revision number>-<architecture>.pkg.tar.xz

Este paquete puede ser instalado usando la orden «upgrade» de pacman:

# pacman -U foo-0.1-1-i686.pkg.tar.xz   

Estos paquetes instalados manualmente se denominan paquetes foráneos («foreign packages») —es decir, aquellos paquetes que no se han originado desde cualquier repositorio conocido por pacman—. Para listar todos los paquetes foráneos, escriba:

$ pacman -Qm 
Nota: El ejemplo anterior es solo un breve resumen del proceso de compilación de un paquete. Es recomendable una visita a los artículos sobre makepkg y ABS. Estos artículos proporcionan más detalles y son muy útiles, sobre todo para los usuarios primerizos.

Feedback

La Interfaz Web de AUR facilita hacer comentarios que permite a los usuarios proporcionar sugerencias y feedback para contribuir a mejorar el PKGBUILD. Evite pegar parches o PKGBUILD en la sección de comentarios: se vuelven rápidamente obsoletos y acaban ocupando innecesariamente mucho espacio. En su lugar, envie los archivos al mantenedor, o incluso utilice un pastebin.

Una de las actividades más fáciles para todos los usuarios de Arch es navegar por AUR y votar por sus paquetes favoritos utilizando la interfaz web. Todos los paquetes son elegibles para ser adoptados por un TU para su inclusión en [community], y el recuento de votos es uno de los factores considerados en este proceso, ¡por lo que votar es un interés de todos!

Compartir y mantener los paquetes

El usuario juega un papel esencial en AUR, por lo que no puede desplegar su potencial sin el apoyo, la participación y la contribución de la más amplia comunidad de usuarios. El ciclo de vida de un paquete de AUR comienza y termina con el usuario y requiere que el usuario contribuya de diversas maneras.

Los usuarios pueden compartir los PKGBUILD a través de Arch User Repository. Este no contiene los paquetes binarios, pero permite a los usuarios subir sus PKGBUILD que pueden ser descargados por otros. Estos PKGBUILD no tienen ningún apoyo oficial y, por tanto, no se han investigado a fondo, por lo que se deben utilizar con cautela bajo el propio riesgo del usuario.

Enviar paquetes

Después de iniciar sesión en la interfaz web de AUR, un usuario puede enviar un archivo *.tar comprimido con gzip (.tar.gz) de un directorio que contiene archivos para compilar un paquete. El directorio, dentro del tarball, debe contener un PKGBUILD, cualesquiera archivos .install, parches, etc., (en ningún caso archivos binarios). Ejemplos de cómo debe ser la estructura de dicho directorio pueden ser encontrados en los directorios incluidos en /var/abs, si Arch Build System se ha instalado.

El tarball se puede crear con la siguiente orden:

$ makepkg --source 

Tenga en cuenta que se trata de un archivo .tar comprimido con gzip, de modo que, suponiendo que está subiendo un paquete llamado libfoo, la creación del archivo comprimido debería dar como resultado algo similar a esto:

$ tar tf libfoo-0.1-1.src.tar.gz
libfoo/
libfoo/PKGBUILD
libfoo/libfoo.install

Al enviar un paquete, observe las siguientes reglas:

  • Marque la casilla package database para el paquete. Si existe, no envie el paquete. Si el paquete actual está roto o falta alguna función incluida, es preferible enviar un informe de errores.
  • Compruebe AUR para el paquete. Si es mantenido actualmente, los cambios se pueden enviar en un comentario para la atención del mantenedor. Si está desatendido, el paquete puede ser adoptado y actualizado, según sea necesario. No cree paquetes duplicados.
  • Verifique cuidadosamente que lo que se está cargando es correcto. Todos los participantes deben leer y seguir las normas de empaquetado de Arch al escribir PKGBUILD. Esto es esencial para el buen funcionamiento y el éxito general de AUR. Recuerde que no va a ganar ningún crédito o respeto de sus compañeros por perder el tiempo con un PKGBUILD malo.
  • Los paquetes que contengan binarios o que estén mal escritos pueden ser borrados sin previo aviso.
  • Si no está seguro sobre el paquete (o el proceso de compilación/envío) de ninguna manera, presente el PKGBUILD a la Lista de Correo de AUR o en las Tablas de AUR del fórum público para su revisión antes de añadirlo a AUR.
  • Asegúrese de que el paquete es útil. ¿Alguien más quiere utilizar este paquete? ¿Es sumamente especializado? Si no hay más que unas cuantas personas que encontrarán este paquete útil, no es apropiado para su presentación.
  • Los repositorios AUR y oficiales están diseñados para paquetes que instalan generalmente software y contenido relacionado con el software, incluyendo uno o más de los siguientes: archivo(s) ejecutable, archivo(s) de configuración, documentación en línea o fuera de línea para un software, en particular, o para la distribución Arch Linux, en general; archivos multimedia destinados a ser utilizados directamente por el software.
  • Obtenga un poco de experiencia antes de enviar los paquetes. Compile algunos paquetes para conocer el proceso y luego enviarlos.
  • Si se presenta un package.tar.gz con un archivo llamado «package» obtendrá el siguiente error: «Could not change to directory /home/aur/unsupported/package/package». Para resolver este problema, cambie el nombre del archivo llamado «package» con otro nombre, por ejemplo, «package.rc». Cuando se instale en el directorio pkg puede cambiar su nombre de nuevo a «package». Léase también Arch Packaging Standards#Submitting packages to the AUR.

Mantener los paquetes

  • Si se mantiene un paquete y desea actualizar el PKGBUILD para el mismo, basta con reenviarlo.
  • Compruebe si hay feedback y comentarios de otros usuarios y trate de incorporar las mejoras que le sugieren, ¡considere que es un proceso de aprendizaje!
  • Por favor, no presente un paquete, para luego olvidarse de él. El trabajo del mantenedor es mantener el paquete, buscando las actualizaciones y las mejoras del PKGBUILD.
  • Si no desea seguir manteniendo el paquete, por alguna razón, etiquete el paquete como disown a través de la interfaz web de AUR y/o envie un mensaje a la lista de correos de AUR.

Otras solicitudes

  • La peticiones de abandono y de eliminación deben ir a la lista de correos general de aur, para que puedan tomar una decisión los TU y los demás usuarios.
  • Incluya el nombre del paquete y la dirección URL a la página de AUR, preferiblemente con una nota al pie [1].
  • Las solicitudes de abandono se concederán dos semanas después de que el mantenedor actual haya sido contactado por correo electrónico y no se haya obtenido respuesta.
  • El renombre de paquetes no es ahora implemenado, los usuarios tienen ahora que reenviar el paquete con un nombre nuevo y solicitar el renombre de los comentarios de la versión antigua y de los votos a la lista de correos.
  • Las peticiones de eliminación requieren la siguiente información:
    • Nombre del paquete y la dirección URL a la página AUR
    • Razón para su eliminación, al menos una breve nota
      Aviso: Los comentarios de un paquete, no son razón suficiente para señalar un paquete para su eliminación. Porque tan pronto como TU toma medidas, el único lugar donde se puede obtener esa información es la lista de correo general de aur.
    • Incluir detalles de información, como cuando un paquete es proporcionado por otro paquete, si es el mismo mantenedor, si se ha cambiado el nombre y el propietario original está de acuerdo, etc.

Las solicitudes de abandono pueden ser rechazadas, en cuyo caso es probable que se avise del abandono del paquete para referencias futuras del empaquetador.

[community]

El repositorio [community], mantenido por los Trusted Users, contiene los paquetes más populares de AUR. Está habilitado de forma predeterminada en /etc/pacman.conf. Si [community] se ha deshabilitado o eliminado, se puede activar descomentándolo, o añadiendo estas dos líneas, respectivamente:

/etc/pacman.conf
...
[community]
Include = /etc/pacman.d/mirrorlist
...

Este depósito, a diferencia de AUR, contiene paquetes binarios que se pueden instalar directamente con pacman y a los archivos de compilación también se puede acceder con ABS. Algunos de estos paquetes pueden eventualmente pasar a los repositorios [core] o [extra], cuando los desarrolladores los consideran cruciales para la distribución.

Los usuarios también pueden acceder a los archivos de compilación de [community] editando /etc/abs.conf y habilitando al repositorio [community] en la matriz REPOS.

Repositorio Git

Un repositorio git de AUR es mantenido por Thomas Dziedzic proporcionando paquete históricos, entre otras cosas. Se actualiza, al menos, una vez al día. Para clonar el repositorio (varios cientos de MB):

$ git clone git://pkgbuild.com/aur-mirror.git

Más información: Interfaz Web, readme, hilo del fórum.

FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ