Difference between revisions of "Arch User Repository (Español)"

From ArchWiki
Jump to: navigation, search
m (Template:Tip -> Template:Sugerencia)
 
(44 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
[[Category:About Arch (Español)]]
 
[[Category:About Arch (Español)]]
 +
[[Category:Package development (Español)]]
 
[[Category:Package management (Español)]]
 
[[Category:Package management (Español)]]
[[Category:Arch development (Español)]]
+
[[ar:Arch User Repository]]
 
[[cs:Arch User Repository]]
 
[[cs:Arch User Repository]]
 
[[da:Arch User Repository]]
 
[[da:Arch User Repository]]
 +
[[de:Arch User Repository]]
 
[[el:Arch User Repository]]
 
[[el:Arch User Repository]]
 
[[en:Arch User Repository]]
 
[[en:Arch User Repository]]
 +
[[fi:AUR]]
 
[[fr:AUR]]
 
[[fr:AUR]]
 
[[it:Arch User Repository]]
 
[[it:Arch User Repository]]
Line 12: Line 15:
 
[[pl:Arch User Repository]]
 
[[pl:Arch User Repository]]
 
[[pt:Arch User Repository]]
 
[[pt:Arch User Repository]]
 +
[[ro:AUR]]
 
[[ru:Arch User Repository]]
 
[[ru:Arch User Repository]]
 
[[sr:Arch User Repository]]
 
[[sr:Arch User Repository]]
[[tr:Arch_Kullanıcı_Deposu]]
+
[[zh-hans:Arch User Repository]]
[[uk:Arch User Repository]]
+
[[zh-hant:Arch User Repository]]
[[zh-CN:Arch User Repository]]
+
{{Related articles start (Español)}}
{{out of date}}
+
{{Related|AUR helpers}}
 +
{{Related|AurJson}}
 +
{{Related|AUR Trusted User Guidelines}}
 +
{{Related|PKGBUILD  (Español)}}
 +
{{Related|makepkg  (Español)}}
 +
{{Related|pacman (Español)}}
 +
{{Related|Official repositories (Español)}}
 +
{{Related|Arch Build System (Español)}}
 +
{{Related articles end}}
  
{{Article summary start|Resumen del artículo}}
+
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 (Español)|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 [[#.5Bcommunity.5D|[community]]]. Este documento explica cómo los usuarios pueden acceder y utilizar AUR.
{{Article summary text|The Arch User Repository is a collection of user-submitted PKGBUILDs that supplement software available from the official repositories. This article describes how to build ''unsupported'' software packages from the AUR.}}
 
{{Article summary heading|Visión general}}
 
{{Article summary text|{{Package management overview (Español)}}}}
 
{{Article summary heading|Artículos relacionados}}
 
{{Article summary wiki|AUR Helpers}}
 
{{Article summary wiki|AUR Trusted User Guidelines (Español)}}
 
{{Article summary heading|Recursos}}
 
{{Article summary link|AUR Web Interface|https://aur.archlinux.org}}
 
{{Article summary link|AUR Mailing List|http://www.archlinux.org/mailman/listinfo/aur-general}}
 
{{Article summary end}}
 
  
El '''Repositorio de Usuarios de Arch Linux (AUR abreviado en Inglés)''' es un repositorio para los usuarios de Arch manejado por la comunidad. AUR fue concebido inicialmente para compartir PKGBUILDs de forma organizada entre la gran comunidad y para apresurar la inclusión de paquetes populares contribuidos por el usuario en el repositorio [[community]].
+
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 (Español)|pacman]] o [[Arch Build System (Español)|abs]]).
  
Es llamado el "lugar de nacimiento" de los nuevos paquetes de Arch. En el AUR, los usuarios contribuyen sus propios paquetes. La comunidad AUR vota a favor o en contra de ellos, y cuando un paquete fue lo suficientemente votado a favor, un "Usuario Confiable" del AUR lo pasa al repositorio [community], que es accesible por [pacman] y [[ABS]].
+
== Para empezar ==
  
=== Documentos Importantes ===
+
Los usuarios pueden buscar y descargar PKGBUILD desde la [https://aur.archlinux.org Interfaz Web de AUR]. Estos PKGBUILD se pueden compilar en paquetes instalables usando [[makepkg]], y luego instalarlos con pacman.
Además de este artículo, segúrate de leer la [[Guía de usuario AUR]] si quieres ser un usuario AUR, y el [[TU_(Trusted_User)_(Español)]] si planeas ser un Usuario Confiable".
 
  
== Iniciándose ==
+
* Asegúrese de que los paquetes del grupo {{Grp|base-devel}} están [[Help:Reading_(Español)#Instalación de paquetes|instalados]].
Los usuarios pueden buscar y descargas PKGBUILDs desde la [https://aur.archlinux.org/index.php?setlang=es Interface Web de AUR]. Estos PKGBUILDs se pueden convertir en paquetes instalables usando makepkg, y luego ser instalados por medio de pacman.
+
* 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 [https://aur.archlinux.org 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 {{ic|/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 {{ic|<nowiki>ftp://ftp.archlinux.org/incoming</nowiki>}}, 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 [https://aur.archlinux.org/ aquí], y una interfaz para el acceso a AUR mediante un script (por ejemplo) puede ser encontrada [https://aur.archlinux.org/rpc.php 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:
 +
 
 +
# Adquirir los archivos para la construcción, incluyendo el [[PKGBUILD]] y posiblemente otros archivos necesarios.
 +
# Verificar que el [[PKGBUILD]] y los archivos acompañantes no son maliciosos.
 +
# Ejecute {{ic|makepkg -si}} en el directorio donde ha puesto los archivos. Este comando descarga la fuente, resuelve depedencias con [[pacman]], compila, empaca e instala el paquete.
 +
 
 +
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.
 +
 
 +
{{Advertencia|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 {{grp|base-devel}} debe ser suficiente; incluye {{pkg|make}} y otras herramientas necesarias para compilar desde el código fuente.
 +
 
 +
{{Nota|Los paquetes disponibles en AUR asumen que tiene [[Help:Reading_(Español)#Instalación de paquetes|instalado]] el grupo {{grp|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. En el ejemplo que se sigue, la carpeta {{ic|~/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 [https://aur.archlinux.org/ 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.
 +
 
 +
Existen diferentes métodos para adquirir los archivos de construcción:
 +
 
 +
* Clone el repositorio [[git]] que tiene el nombre "Git Clone URL" en los detalles del paquete:
 +
 
 +
$ git clone <nowiki>https://aur.archlinux.org/</nowiki>''package_name''.git
 +
 
 +
:Una ventaja de este método es la facilidad de actualizar el repositorio con el comando {{ic|git pull}}.
 +
* 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.
 +
 
 +
$ tar -xvf ''package_name''.tar.gz
 +
* También se puede descargar el tarball desde la terminal (para luego extraerlo):
 +
 
 +
$ curl -L -O <nowiki>https://aur.archlinux.org/cgit/aur.git/snapshot/</nowiki>''package_name''.tar.gz
 +
 
 +
 
 +
=== Compilar e instalar el paquete ===
 +
 
 +
Si ha usado el método ''git clone'' solo es necesario cambiar a ese directorio {{ic|cd ''package_name''}}, y continue con la construcción de los archivos.
 +
 
 +
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 orden {{ic|cd}} para desplazarse a la carpeta (foo) recién creada y revise con cuidado el {{ic|PKGBUILD}} y cualquier archivo {{ic|.install}} para advertir órdenes maliciosas. Los {{ic|PKGBUILD}} son scripts de bash que contienen funciones para ser ejecutadas por {{ic|makepkg}}: estas funciones pueden contener  ''cualquier'' orden válida o con la sintaxis que interpreta Bash, por lo que es totalmente posible que un {{ic|PKGBUILD}} pueda contener órdenes peligrosas introducidas por malicia o ignorancia del autor. Use {{ic|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 -si
 +
 
 +
* {{ic|-s}}/{{ic|--syncdeps}} utilizará [[sudo (Español)|sudo]] para instalar eventuales dependencias. Si no se desea utilizar sudo, se deberán instalar manualmente las dependencias de antemano y posteriormente ejecutar lar orden anterior, omitiendo la opción {{ic|-s}}.
 +
* {{ic|-i}}/{{ic|--install}} installa el paquete si fue creado exitosamente.
 +
 
 +
Como una alternativa puede instalar 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»'') &mdash;es decir, aquellos paquetes que no se han originado desde cualquier repositorio conocido por pacman&mdash;. 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 [[Arch Build System (Español)|ABS]]. Estos artículos proporcionan más detalles y son muy útiles, sobre todo para los usuarios primerizos.}}
 +
 
 +
== Feedback ==
 +
 
 +
La [https://aur.archlinux.org 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 Clients|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 [https://aur.archlinux.org/pkgsubmit.php enviar] un archivo *.tar comprimido con gzip ({{ic|.tar.gz}}) de un directorio que contiene archivos para compilar un paquete. El directorio, dentro del tarball, debe contener un [[PKGBUILD]], cualesquiera archivos {{ic|.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 {{ic|/var/abs}}, si [[Arch Build System (Español)|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:
 
   
 
   
* Un pequeño tutorial de como instalar paquetes de AUR puede encontrarse [[Guía de usuario AUR|aquí]]. Para información detallada de como compilar paquetes AUR mire el artículo [[makepkg]].
+
{{hc|$ tar tf libfoo-0.1-1.src.tar.gz|
* La [[Guía de usuario AUR]] te explíca como habilitar el repositorio [community] en [[pacman]] y [[ABS]].
+
libfoo/
* Visite el [https://aur.archlinux.org/index.php?setlang=es AUR Webinterface] para informarte de lo que pasa. Allí también encontraras estadísticas y una lista actualizada de los paquetes más nuevos disponibles en AUR.
+
libfoo/PKGBUILD
* También mire el [[#P & R]].
+
libfoo/libfoo.install}}
* Finalmente, asegúrese de ajustar su /etc/[[Makepkg.conf]] para indicar las especificaciones del hardware de su procesador con anterioridad a la construcción de sus paquetes de AUR. Un aceleración significativa en los tiempos de construcción puede realizarse en sistemas de múltiples nucleos ajustando las variables MAKEFLAGS; los usuarios pueden además habilitar optimizaciones de hardware específicas en gcc via variables CFLAGS. Vea la página wiki indicada para saber más.
+
 
 +
==== Reglas de envio ====
 +
 
 +
Al enviar un paquete, observe las siguientes reglas:
 +
 
 +
* Marque la casilla [https://www.archlinux.org/packages/ 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 [https://bugs.archlinux.org/ 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 [[Arch packaging standards|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 [https://mailman.archlinux.org/mailman/listinfo/ Lista de Correo de AUR] o en las [https://bbs.archlinux.org/viewforum.php?id=4 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 {{ic|package.tar.gz}} con un archivo llamado «{{ic|package}}» obtendrá el siguiente error: «Could not change to directory {{ic|/home/aur/unsupported/package/package}}». Para resolver este problema, cambie el nombre del archivo llamado «{{ic|package}}» con otro nombre, por ejemplo, «{{ic|package.rc}}». Cuando se instale en el directorio {{ic|pkg}} puede cambiar su nombre de nuevo a «{{ic|package}}». Consulte también [[Arch packaging standards (Español)#Enviar paquetes a AUR|enviar paquetes a AUR]].
 +
 
 +
==== Verificación ====
 +
 
 +
Para tener acceso de modificación en AUR se necesita tener [[SSH keys (Español)|llaves de SSH]]. El contenido de la llave pública debe ser copiado en la pagina del perfil en la sección ''My Account'', y la llave privada correspondiente debe ser configurada para el servidor {{ic|aur.archlinux.org}}. Por ejemplo:
 +
 
 +
{{hc|~/.ssh/config|
 +
Host aur.archlinux.org
 +
  IdentityFile ~/.ssh/aur
 +
  User aur}}
 +
 
 +
En el escenario ideal se debe crear un [[SSH keys (Español)#Generando las llaves SSH|nuevo par de llaves]] y no usar uno existente, así se pueden revocar selectiva mente en caso de que algo ocurra:
 +
 
 +
$ ssh-keygen -f ~/.ssh/aur
 +
 
 +
{{Sugerencia|Se pueden agregar múltiples llaves en su perfil separandolas con una nueva linea.
 +
}}
 +
 
 +
==== Crear un paquete nuevo ====
 +
 
 +
Para crear un repositorio Git vació para un paquete, simplemente {{ic|git clone}} el repositorio remoto con el nombre correspondiente. Si el paquete no existe en AUR, la siguiente advertencia será vista:
 +
 
 +
{{hc|$ git clone <nowiki>ssh://</nowiki>aur@aur.archlinux.org/''package_name''.git|
 +
Cloning into &apos;''package_name''&apos;...
 +
warning: You appear to have cloned an empty repository.
 +
Checking connectivity... done.}}
 +
 
 +
{{Nota|Cuando un paquete es borrado de AUR, el repositorio git no es borrado, asi que al clonar el repositorio puede que no este vació si alguien quiere crear un paquete con el mismo nombre.
 +
}}
 +
 
 +
Si hay un repositorio git existente, simplemente se crea un ''remote'' para el repositorio git de AUR y luego ''fetch'' en el repositorio:
 +
 
 +
$ git remote add ''nombre_remoto'' <nowiki>ssh://</nowiki>aur@aur.archlinux.org/''nombre_paquete''.git
 +
$ git fetch ''nombre_remoto''
 +
 
 +
Donde {{ic|''nombre_remoto''}} es el nombre del ''remote'' a crear (''v.g.,'' "origen"). Vea [[Git#Using remotes]] para mayor información.
 +
 
 +
El paquete aparecerá en AUR después del primer ''push''. Desde ese momento se pueden agregar archivos con codigo fuente a la copia local del repositorio git. Vea [[#Subir paquetes]].
 +
 
 +
{{Advertencia|Sus AUR ''commits'' tendran como autor su usuario y correo electronico configurado en git, es muy dificil cambiar un ''commit'' despueś que ha sido subida (vea {{Bug|45425}}). Si desea enviar paquetes con un autor/email diferente lo puede hacer con el comando {{ic|git config user.name [...]}} y {{ic|git config user.email [...]}}. Revise sus ''commits'' y documentos antes de subirlos!
 +
}}
 +
 
 +
==== Subir paquetes ====
 +
 
 +
El procedimiento para subir paquetes to AUR es el mismo para paquetes nuevos o para actualizaciones. Se necesita como mínimo un [[PKGBUILD_(Español)|PKGBUILD]] y un [[.SRCINFO]] en el directorio de trabajo para subir (''push'') su paquete a AUR.
 +
 
 +
{{Nota|se necesita generar el archivo {{ic|.SRCINFO}} cada vez que se cambie la metainformación del {{ic|PKGBUILD}}, por ejemplo al modificar [[PKGBUILD_(Español)#Variables|pkgver()]] en actualizaciones. De otra manera AUR web no va a mostrar las versiones actualizadas .
 +
}}
 +
 
 +
Para subir, añada el {{ic|PKGBUILD}}, {{ic|.SRCINFO}}, y cualquier otro archivo necesario (como arachivos {{ic|.install}} o fuentes locales {{ic|.patch}}) con {{ic|git add}}, suba a su arbol local con un mensaje descriptivo {{ic|git commit}}, y finalmente suba sus cambios a AUR con {{ic|git push}}.
 +
 
 +
Ejemplo concreto:
 +
 
 +
$ makepkg --printsrcinfo > .SRCINFO
 +
$ git add PKGBUILD .SRCINFO
 +
$ git commit -m "''useful commit message''"
 +
$ git push
 +
 
 +
{{Sugerencia|
 +
* Si inicialmente se ha olvidado el archivo {{ic|.SRCINFO}} y lo ha agregado en un ''commit'' después, AUR va a rechazar sus subidas porque el archivo {{ic|.SRCINFO}} debe existir en ''cada'' subida (''push''). Para solucionar este problema puede usar el comando [https://git-scm.com/docs/git-rebase git rebase] con la opción {{ic|--root}} o el comando [https://git-scm.com/docs/git-filter-branch git filter-branch] con la opción {{ic|--tree-filter}}.
 +
* Para prevenir archivos sin rastrear en las subidas, y para mantener el directorio de trabajo tan limpio como sea posible, excluya todos los archivos no deseados con {{ic|.gitignore}} y fuerce agregar manualmente cada archivo. Vea [[dotfiles#Using gitignore]].
 +
}}
 +
 
 +
=== 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 {{ic|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 implementado''', 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 <br> '''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 {{ic|/etc/pacman.conf}}. Si [community] se ha deshabilitado o eliminado, se puede activar descomentándolo, o  añadiendo estas dos líneas, respectivamente:
 +
 
 +
{{hc|/etc/pacman.conf|2=
 +
...
 +
[community]
 +
Include = /etc/pacman.d/mirrorlist
 +
...}}
 +
 
 +
Este depósito, a diferencia de AUR, contiene paquetes binarios que se pueden instalar directamente con [[pacman (Español)|pacman]] y a los archivos de compilación también se puede acceder con [[Arch Build System (Español)|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 {{ic|/etc/abs.conf}} y habilitando al repositorio [community] en la matriz {{ic|REPOS}}.
 +
 
 +
== Repositorio Git ==
  
== Historia ==
+
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):
Los siguientes items estan listados solo a modo histórico. Han sido reemplazados por el AUR y ya no estan disponible.
+
 
 +
$ git clone <nowiki>git://pkgbuild.com/aur-mirror.git</nowiki>
 +
 
 +
Más información: [http://pkgbuild.com/git/aur-mirror.git/ Interfaz Web], [http://pkgbuild.com/~td123/readme readme], [https://bbs.archlinux.org/viewtopic.php?id=113099 hilo del fórum].
 +
 
 +
== FAQ ==
 +
 
 +
=== ¿Que es AUR? ===
 +
 
 +
AUR (Arch User Repository) es el lugar donde la comunidad de Arch Linux puede subir los [[PKGBUILD]] de las aplicaciones, bibliotecas, etc., y compartirlos con el resto de la comunidad. Los demás usuarios pueden votar para que sus favoritos entren en el repositorio [community] de modo que puedan ser instalados en Arch Linux en formato binario.
 +
 
 +
=== ¿Qué tipo de paquetes se permiten en AUR? ===
 +
 
 +
Los paquetes en AUR no son más que «scripts de compilación», es decir, instrucciones para construir los binarios que pueden ser manejados por pacman. Para la mayor parte de los casos, no hay limitaciones, siempre y cuando se ajusten a las directrices de la utilidad antes mencionada y a los términos de licencia del contenido. En otros casos, cuando se menciona que «no se puede vincular» a las descargas, como cuando los contenidos no son redistribuibles, solo se podrá hacer uso del mismo nombre del archivo como la fuente. Esto significa y requiere que los usuarios deben tener ya la fuente en el directorio de compilación antes de iniciar el proceso de construcción del paquete. En caso de duda, pregunte.
 +
 
 +
=== ¿Cómo puedo votar por los paquetes en AUR? ===
 +
 
 +
Inscríbase en el [https://aur.archlinux.org/ sitio web de AUR] para tener acceso a la opción "Vote for this package" («Vote por este paquete») mientras explora los paquetes.
 +
 
 +
=== ¿Qué es un TU? ===
 +
 
 +
Un [[AUR Trusted User Guidelines|TU (Trusted User)]] es una persona encargada de supervisar el repositorio AUR y el repositorio [community]. Ellos son los que colocan los paquetes más votados en el repositorio [community], marcan los PKGBUILDs como seguros y mantienen AUR.
 +
 
 +
=== ¿Cuál es la diferencia entre Arch User Repository y [community]? ===
 +
 
 +
Arch User Repository contiene todos los PKGBUILD que los usuarios envían; para instalarlos tiene que construirlos manualmente con [[makepkg]]. Cuando un PKGBUILD obtiene suficientes votos, pasa al repositorio [community], donde los TUs lo mantienen y puede instalarse como binario directamente con [[pacman (Español)|pacman]].
 +
 
 +
=== ¿Cuántos votos necesita un PKGBUILD para llegar a  [community]? ===
 +
 
 +
Por lo general, son necesarios, al menos, 10 votos para que algo se mueva al repositorio [community]. Sin embargo, si un TU quiere apoyar un paquete, se suele pasar dicho paquete al repositorio.
 +
 
 +
=== ¿Cómo hacer un PKGBUILD? ===
  
=== Entrante ===
+
Lo mejor es mirar [[Creating packages]]. Recuerde mirar en AUR antes de crear el PKGBUILD para no duplicar los esfuerzos.
Al principio estaba:
 
ftp://ftp.archlinux.org/incoming
 
y las personas contribuían subiendo los [[PKGBUILD]], los archivos suplementarios necesarios y el paquete compilado al server. El paquete seguía allí hasta que un [[Package Maintainer]] lo veía y lo adoptaba.
 
  
=== Repositorios de Usuario Confiables ===
+
=== No me funciona «pacman -S foo», aunque sé que el paquete «foo» está en [community] ===
Luego nació el Repositorio de Usuario Confiable. A algúnas personas en la comunidad se les permitía hostear sus propios repositorios para que cualquiera pudiera usarlos. AUR se expandió con esta idea, con la meta de hacerlo más flexible y usable. En realidad, quienes mantienen AUR todavía se los llama TUs (Trusted Users, Usuarios Confiables).
 
  
== Vea También ==
+
Probablemente no ha activado el repositorio [community] en el archivo {{ic|/etc/pacman.conf}}. Basta con descomentar las líneas relevantes.
*[[AUR Helpers]] puede ayudarlo en su busqueda, descarga y instalación de paquetes desde AUR.
+
Si el repositorio [community] está habilitado en {{ic|/etc/pacman.conf}}, pruebe ejecutando primero {{ic|pacman -S -y}} para sincronizar el pkgcache, antes de intentar de nuevo instalar el paquete.
  
== P & R ==
+
=== Un paquete en AUR está desactualizado, ¿qué hago? ===
  
===Preguntas Frecuentes===
+
Puede marcarlo como obsoleto. Si no se actualiza en un periodo de tiempo razonable, lo mejor es avisar a su mantenedor por  email. Si el responsable no responde, puede comunicarlo a la lista de correo general de AUR, para que un TU (usuario de confianza) declare huérfano al PKGBUILD y pueda adoptarlo si desea mantenerlo él mismo. Cuando se trate de un paquete que lleva desactualizado más de 3 meses y, en general, no se actualiza desde hace mucho tiempo, por favor agregue esto en su solicitud de orfandad.
  
====¿Qué es lo primero que tengo que hacer para instalar paquetes de AUR?====
+
=== Quiero enviar un PKGBUILD ¿podría alguien comprobar antes si tiene errores? ===
Install "base-devel".
 
  
====¿Que es AUR?====
+
Si quisiera recibir comentarios a tu PKGBUILD, envíelo a la lista de correo de AUR para que los TU y los otros miembros de AUR puedan orientarle para mejorarlo. Otro lugar donde puede encontrar ayuda es el [[ArchChannel|canal IRC]], #archlinux en irc.freenode.net. También puede usar [[namcap]] para depurar su PKGUILD y el pkg.tar.gz.
El [[Repositorio_de_Usuarios_Arch_Linux_(AUR)_(Español)|AUR]] (Arch User-Community Repository en inglés) es el lugar donde la comunidad de Arch Linux puede subir los [[PKGBUILD]]s de las aplicaciones, librerías, etc y compartirlas con el resto de la comunidad. Los demás usuarios pueden votar para que sus favoritos entren en el repositorio Community y puedan ser instalados en Arch Linux en formato binario.
 
  
====¿Qué es un TU?====
+
=== Foo, que está en AUR, no me compila con makepkg, ¿qué hago? ===
Un [[TU_(Trusted_User)_(Español)| Usuario de Confianza]] (TU=''Trusted User'', en inglés) es una persona encargada de supervisar los repositorios AUR y Community. Ellos son los que colocan los paquetes más votados en el repositorio de la Comunidad, marcan los PKGBUILDs como seguros y mantienen AUR.
 
  
====¿Cuál es la diferencia entre Unsupported y Community?====
+
Probablemente está pasando por alto alguna cosa.
Unsupported contiene todos los PKGBUILDs que los usuarios envían; para instalarlos tú tienes que construirlos manualmente con makepkg. Cuando un PKGBUILD obtiene suficientes votos, pasa al repositorio Community donde los TUs lo mantienen y puede instalarse como binario directamente con [[Pacman_(Español)|Pacman]].
 
  
====¿Cuántos votos necesita un PKGBUILD para llegar a Community?====
+
# Ejecute {{ic|pacman -Syyu}} antes de compilar nada con {{ic | makepkg}} dado que el problema puede ser que el sistema no está al día.
no existe una cantidad determinada de votos para incluir un paquete en Community, algunos tienen mas de mil votos y no han sido incluidos, y otros que llevaban menos votos ya fueron incluidos. todo depende de la voluntar/tiempo de los TU y de la calidad e importancia del paquete
+
# Asegúrese de que tiene instalados tanto los grupos «base» como «base-devel».
 +
# Pruebe usando la opción «{{ic|-s}}» con {{ic|makepkg}} para comprobar e instalar todas las dependencias necesarias antes de comenzar el proceso de compilación.
  
====¿Dónde puedo aprender cómo se hace un PKGBUILD?====
+
Asegúrese de leer primero el PKGBUILD y los comentarios en la página de AUR del paquete en cuestión.
El mejor lugar es mirar aquí [[Creating Packages|Guía de empaquetado en Arch (inglés)]]. Recuerda mirar en AUR antes de crear el PKGBUILD para no duplicar los esfuerzos.
+
La razón puede no ser trivial después de todo. La personalización de CFLAGS, LDFLAGS y MAKEFLAGS puede causar fallos. También es posible que el PKGBUILD se rompe para todos. Si no puede resolverlo por su cuenta, simplemente informe al mantenedor, por ejemplo, mediante la publicación de los errores que está recibiendo en los comentarios de la página de AUR.
  
===Problemas Comunes===
+
=== ¿Cómo puedo acelerar los repetidos procesos de compilación? ===
====No me funciona "pacman -S foo", aunque sé que el paquete "foo" está en Community====
 
Probablemente no has activado el repositorio Community en el archivo /etc/pacman.conf. Basta con descomentar las líneas de [community] y de su dirección.
 
  
====Foo en AUR está desactualizado, ¿qué hago?====
+
Si suele compilar del código que utiliza gcc &mdash;como por ejemplo, un paquete git o SVN&mdash;, puede encontrar útil utilizar [[ccache]], abreviatura de «compiler cache».
Puedes marcarlo como obsoleto. Si no se actualiza en un periodo de tiempo razonable, lo mejor es avisar a su mantenedor por correo-e. Si el responsable no responde, puedes comunicarlo a la lista de correo general de AUR, para que un TU (usuario de confianza) declare huérfano al PKGBUILD y puedas adoptarlo si deseas mantenerlo.
 
  
==== Quiero enviar un PKGBUILD ¿podría alguien comprobar antes si tiene errores?====
+
=== ¿Cómo accedo a paquetes de Unsupported? ===
Si te gustaría recibir comentarios a tu PKGBUILD, envíalo a la lista de correo AUR para que los TU y los otros miembros de AUR puedan orientarte para mejorarlo. Otro lugar donde puedes encontrar ayuda es el canal [[ArchChannel|irc channel]], irc.freenode.net #archlinux. También puedes usar '''namcap''' para depurar tu PKGUILD y el pkg.tar.gz.
 
  
==== Foo, que está en AUR, no me compila con makepkg, ¿qué hago?====
+
Consulte [[#Instalar paquetes]].
Lo primero, asegúrate de ejecutar pacman -Syu antes de compilar algo con makepkg, porque el problema puede ser que tu sistema no esté actualizado. Si ya lo habías actualizado, informa al mantenedor.  
 
  
====¿Cómo accedo a paquetes de Unsupported?====
+
=== ¿Puedo subir archivos a AUR sin usar la interfaz web? ===
[[AUR_User_Guidelines#Using_Packages_from_UNSUPPORTED | Mira aquí]]
 
  
==== ¿Puedo subir archivos a AUR sin usar el interfaz web?====
+
Sí, mediante ''aurploader'' ({{AUR|python3-aur}}).
Puedes usar [[https://aur.archlinux.org/packages.php?ID=5848 aurup]] que es un interfaz de línea de comandos.
 

Latest revision as of 09:46, 16 August 2018

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.
  • 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 los archivos para la construcción, incluyendo el PKGBUILD y posiblemente otros archivos necesarios.
  2. Verificar que el PKGBUILD y los archivos acompañantes no son maliciosos.
  3. Ejecute makepkg -si en el directorio donde ha puesto los archivos. Este comando descarga la fuente, resuelve depedencias con pacman, compila, empaca e instala el paquete.

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.

Advertencia: 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.

Nota: 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. 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.

Existen diferentes métodos para adquirir los archivos de construcción:

  • Clone el repositorio git que tiene el nombre "Git Clone URL" en los detalles del paquete:
$ git clone https://aur.archlinux.org/package_name.git
Una ventaja de este método es la facilidad de actualizar el repositorio con el comando git pull.
  • 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.
$ tar -xvf package_name.tar.gz
  • También se puede descargar el tarball desde la terminal (para luego extraerlo):
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/package_name.tar.gz


Compilar e instalar el paquete

Si ha usado el método git clone solo es necesario cambiar a ese directorio cd package_name, y continue con la construcción de los archivos.

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 orden cd para desplazarse a la carpeta (foo) recién creada y revise con cuidado el PKGBUILD 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 -si
  • -s/--syncdeps utilizará sudo para instalar eventuales dependencias. Si no se desea utilizar sudo, se deberán instalar manualmente las dependencias de antemano y posteriormente ejecutar lar orden anterior, omitiendo la opción -s.
  • -i/--install installa el paquete si fue creado exitosamente.

Como una alternativa puede instalar 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

Reglas de envio

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». Consulte también enviar paquetes a AUR.

Verificación

Para tener acceso de modificación en AUR se necesita tener llaves de SSH. El contenido de la llave pública debe ser copiado en la pagina del perfil en la sección My Account, y la llave privada correspondiente debe ser configurada para el servidor aur.archlinux.org. Por ejemplo:

~/.ssh/config
Host aur.archlinux.org
  IdentityFile ~/.ssh/aur
  User aur

En el escenario ideal se debe crear un nuevo par de llaves y no usar uno existente, así se pueden revocar selectiva mente en caso de que algo ocurra:

$ ssh-keygen -f ~/.ssh/aur
Sugerencia: Se pueden agregar múltiples llaves en su perfil separandolas con una nueva linea.

Crear un paquete nuevo

Para crear un repositorio Git vació para un paquete, simplemente git clone el repositorio remoto con el nombre correspondiente. Si el paquete no existe en AUR, la siguiente advertencia será vista:

$ git clone ssh://aur@aur.archlinux.org/package_name.git
Cloning into 'package_name'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
Nota: Cuando un paquete es borrado de AUR, el repositorio git no es borrado, asi que al clonar el repositorio puede que no este vació si alguien quiere crear un paquete con el mismo nombre.

Si hay un repositorio git existente, simplemente se crea un remote para el repositorio git de AUR y luego fetch en el repositorio:

$ git remote add nombre_remoto ssh://aur@aur.archlinux.org/nombre_paquete.git
$ git fetch nombre_remoto

Donde nombre_remoto es el nombre del remote a crear (v.g., "origen"). Vea Git#Using remotes para mayor información.

El paquete aparecerá en AUR después del primer push. Desde ese momento se pueden agregar archivos con codigo fuente a la copia local del repositorio git. Vea #Subir paquetes.

Advertencia: Sus AUR commits tendran como autor su usuario y correo electronico configurado en git, es muy dificil cambiar un commit despueś que ha sido subida (vea FS#45425). Si desea enviar paquetes con un autor/email diferente lo puede hacer con el comando git config user.name [...] y git config user.email [...]. Revise sus commits y documentos antes de subirlos!

Subir paquetes

El procedimiento para subir paquetes to AUR es el mismo para paquetes nuevos o para actualizaciones. Se necesita como mínimo un PKGBUILD y un .SRCINFO en el directorio de trabajo para subir (push) su paquete a AUR.

Nota: se necesita generar el archivo .SRCINFO cada vez que se cambie la metainformación del PKGBUILD, por ejemplo al modificar pkgver() en actualizaciones. De otra manera AUR web no va a mostrar las versiones actualizadas .

Para subir, añada el PKGBUILD, .SRCINFO, y cualquier otro archivo necesario (como arachivos .install o fuentes locales .patch) con git add, suba a su arbol local con un mensaje descriptivo git commit, y finalmente suba sus cambios a AUR con git push.

Ejemplo concreto:

$ makepkg --printsrcinfo > .SRCINFO
$ git add PKGBUILD .SRCINFO
$ git commit -m "useful commit message"
$ git push
Sugerencia:
  • Si inicialmente se ha olvidado el archivo .SRCINFO y lo ha agregado en un commit después, AUR va a rechazar sus subidas porque el archivo .SRCINFO debe existir en cada subida (push). Para solucionar este problema puede usar el comando git rebase con la opción --root o el comando git filter-branch con la opción --tree-filter.
  • Para prevenir archivos sin rastrear en las subidas, y para mantener el directorio de trabajo tan limpio como sea posible, excluya todos los archivos no deseados con .gitignore y fuerce agregar manualmente cada archivo. Vea dotfiles#Using gitignore.

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 implementado, 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

¿Que es AUR?

AUR (Arch User Repository) es el lugar donde la comunidad de Arch Linux puede subir los PKGBUILD de las aplicaciones, bibliotecas, etc., y compartirlos con el resto de la comunidad. Los demás usuarios pueden votar para que sus favoritos entren en el repositorio [community] de modo que puedan ser instalados en Arch Linux en formato binario.

¿Qué tipo de paquetes se permiten en AUR?

Los paquetes en AUR no son más que «scripts de compilación», es decir, instrucciones para construir los binarios que pueden ser manejados por pacman. Para la mayor parte de los casos, no hay limitaciones, siempre y cuando se ajusten a las directrices de la utilidad antes mencionada y a los términos de licencia del contenido. En otros casos, cuando se menciona que «no se puede vincular» a las descargas, como cuando los contenidos no son redistribuibles, solo se podrá hacer uso del mismo nombre del archivo como la fuente. Esto significa y requiere que los usuarios deben tener ya la fuente en el directorio de compilación antes de iniciar el proceso de construcción del paquete. En caso de duda, pregunte.

¿Cómo puedo votar por los paquetes en AUR?

Inscríbase en el sitio web de AUR para tener acceso a la opción "Vote for this package" («Vote por este paquete») mientras explora los paquetes.

¿Qué es un TU?

Un TU (Trusted User) es una persona encargada de supervisar el repositorio AUR y el repositorio [community]. Ellos son los que colocan los paquetes más votados en el repositorio [community], marcan los PKGBUILDs como seguros y mantienen AUR.

¿Cuál es la diferencia entre Arch User Repository y [community]?

Arch User Repository contiene todos los PKGBUILD que los usuarios envían; para instalarlos tiene que construirlos manualmente con makepkg. Cuando un PKGBUILD obtiene suficientes votos, pasa al repositorio [community], donde los TUs lo mantienen y puede instalarse como binario directamente con pacman.

¿Cuántos votos necesita un PKGBUILD para llegar a [community]?

Por lo general, son necesarios, al menos, 10 votos para que algo se mueva al repositorio [community]. Sin embargo, si un TU quiere apoyar un paquete, se suele pasar dicho paquete al repositorio.

¿Cómo hacer un PKGBUILD?

Lo mejor es mirar Creating packages. Recuerde mirar en AUR antes de crear el PKGBUILD para no duplicar los esfuerzos.

No me funciona «pacman -S foo», aunque sé que el paquete «foo» está en [community]

Probablemente no ha activado el repositorio [community] en el archivo /etc/pacman.conf. Basta con descomentar las líneas relevantes. Si el repositorio [community] está habilitado en /etc/pacman.conf, pruebe ejecutando primero pacman -S -y para sincronizar el pkgcache, antes de intentar de nuevo instalar el paquete.

Un paquete en AUR está desactualizado, ¿qué hago?

Puede marcarlo como obsoleto. Si no se actualiza en un periodo de tiempo razonable, lo mejor es avisar a su mantenedor por email. Si el responsable no responde, puede comunicarlo a la lista de correo general de AUR, para que un TU (usuario de confianza) declare huérfano al PKGBUILD y pueda adoptarlo si desea mantenerlo él mismo. Cuando se trate de un paquete que lleva desactualizado más de 3 meses y, en general, no se actualiza desde hace mucho tiempo, por favor agregue esto en su solicitud de orfandad.

Quiero enviar un PKGBUILD ¿podría alguien comprobar antes si tiene errores?

Si quisiera recibir comentarios a tu PKGBUILD, envíelo a la lista de correo de AUR para que los TU y los otros miembros de AUR puedan orientarle para mejorarlo. Otro lugar donde puede encontrar ayuda es el canal IRC, #archlinux en irc.freenode.net. También puede usar namcap para depurar su PKGUILD y el pkg.tar.gz.

Foo, que está en AUR, no me compila con makepkg, ¿qué hago?

Probablemente está pasando por alto alguna cosa.

  1. Ejecute pacman -Syyu antes de compilar nada con makepkg dado que el problema puede ser que el sistema no está al día.
  2. Asegúrese de que tiene instalados tanto los grupos «base» como «base-devel».
  3. Pruebe usando la opción «-s» con makepkg para comprobar e instalar todas las dependencias necesarias antes de comenzar el proceso de compilación.

Asegúrese de leer primero el PKGBUILD y los comentarios en la página de AUR del paquete en cuestión. La razón puede no ser trivial después de todo. La personalización de CFLAGS, LDFLAGS y MAKEFLAGS puede causar fallos. También es posible que el PKGBUILD se rompe para todos. Si no puede resolverlo por su cuenta, simplemente informe al mantenedor, por ejemplo, mediante la publicación de los errores que está recibiendo en los comentarios de la página de AUR.

¿Cómo puedo acelerar los repetidos procesos de compilación?

Si suele compilar del código que utiliza gcc —como por ejemplo, un paquete git o SVN—, puede encontrar útil utilizar ccache, abreviatura de «compiler cache».

¿Cómo accedo a paquetes de Unsupported?

Consulte #Instalar paquetes.

¿Puedo subir archivos a AUR sin usar la interfaz web?

Sí, mediante aurploader (python3-aurAUR).