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

From ArchWiki
Jump to: navigation, search
m
(simplification and beautification of wikilinks (interactive))
(Tag: wiki-scripts)
 
(40 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[[Category:Arch User Repository (Español)]]
+
[[Category:About Arch (Español)]]
 
[[Category:Package development (Español)]]
 
[[Category:Package development (Español)]]
 
[[Category:Package management (Español)]]
 
[[Category:Package management (Español)]]
Line 5: Line 5:
 
[[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 14: Line 14:
 
[[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]]
+
{{TranslationStatus (Español)|Arch User Repository|2018-09-21|544908}}
 
{{Related articles start (Español)}}
 
{{Related articles start (Español)}}
{{Related|AUR Helpers}}
+
{{Related|makepkg (Español)}}
{{Related|AurJson}}
 
{{Related|AUR Trusted User Guidelines}}
 
{{Related|PKGBUILD}}
 
{{Related|makepkg}}
 
 
{{Related|pacman (Español)}}
 
{{Related|pacman (Español)}}
{{Related|Official Repositories (Español)}}
+
{{Related|PKGBUILD (Español)}}
 +
{{Related|.SRCINFO}}
 +
{{Related|Aurweb RPC interface}}
 +
{{Related|AUR Trusted User Guidelines (Español)}}
 +
{{Related|Official repositories (Español)}}
 
{{Related|Arch Build System (Español)}}
 
{{Related|Arch Build System (Español)}}
 +
{{Related|Creating packages (Español)}}
 +
{{Related|AUR helpers (Español)}}
 
{{Related articles end}}
 
{{Related articles end}}
  
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.
+
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 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 (Español)|pacman]] o [[Arch Build System (Español)|abs]]).
+
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]]).
 +
 
 +
{{Advertencia|Los paquetes contenidos en AUR son producidos por el usuario. Cualquier uso de los archivos proporcionados lo es bajo el propio riesgo del usuario.}}
  
 
== Para empezar ==
 
== Para empezar ==
  
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.
+
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.
  
* Asegúrese de que los paquetes del grupo {{Grp|base-devel}} están instalados ({{ic|pacman -S base-devel}}).
+
* Asegúrese de que los paquetes del grupo {{Grp|base-devel}} están [[Help:Reading_(Español)#Instalación de paquetes|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 [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.
 
* 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.
+
* Es posible mejorar la optimización ajustando {{ic|/etc/makepkg.conf}} para el procesador (del equipo) antes de crear paquetes desde AUR. Se puede obtener una mejora significativa en los tiempos de compilación en sistemas con procesadores multicore 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]] para obtener más información.
 +
 
 +
También es posible interactuar con AUR a través de SSH: escriba {{ic|ssh aur@aur.archlinux.org help}} para obtener una lista de las órdenes disponibles.
  
 
== Historia ==
 
== Historia ==
  
Los siguientes instrumentos se listan con fines ilustrativos solamente. Desde entonces, han sido sustituidos por AUR y ya no están disponibles.
+
En un 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|mantenedor de paquetes]] veía el programa y lo adoptaba.
  
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 manejable. De hecho, a los responsables de AUR todavía se les conoce como TU (Trusted Users -''«usuarios de confianza»''-).
  
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»''-).
+
Entre 2015-06-08 y 2015-08-08, AUR hizo la transición de la versión 3.5.1 a la 4.0.0, introduciendo el uso de repositorios Git para publicar los PKGBUILD. Los paquetes existentes se descartaron, salvo aquellos que sus mantenedores migraron manualmente a la nueva infraestructura.
  
== Buscar ==
+
=== Repositorios Git para paquetes AUR3 ===
  
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í].
+
El [https://github.com/aur-archive AUR Archive] en GitHub tiene un repositorio para cada paquete que estaba en AUR 3 en el momento de la migración. Por otro lado, existe el repositorio [https://github.com/felixonmars/aur3-mirror/ aur3-mirror] que proporciona lo mismo.
 
 
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 ==
 
== Instalar paquetes ==
Line 63: Line 64:
 
La instalación de paquetes desde AUR es un proceso relativamente simple. En esencia consiste en:
 
La instalación de paquetes desde AUR es un proceso relativamente simple. En esencia consiste en:
  
# Adquirir el tarball que contiene los [[PKGBUILD]] y posiblemente otros archivos necesarios.
+
# Obtener los archivos para la compilación, incluyendo el [[PKGBUILD]] y posiblemente otros archivos necesarios.
# Extraer el tarball (preferentemente en una carpeta reservada solo para las compilaciones de AUR) con {{ic|tar xzf foo.tar.gz}}.
+
# Verificar que el [[PKGBUILD]] y los archivos acompañantes no son maliciosos.
# Ejecutar {{ic|makepkg}} en el directorio donde se guardan los archivos ({{ic | makepkg -s}} resuelve automáticamente las dependencias con pacman). Esto descargará el código, lo compilará y lo empaquetará.
+
# Ejecutar {{ic|makepkg -si}} en el directorio donde se han colocado los archivos. Esta orden descarga la fuente, resuelve depedencias con [[pacman]], compila, empaca e instala el paquete.
# Buscar el archivo README en {{ic|src/}} el cual puede contener información adicional útil para el futuro.
 
# Instalar el paquete resultante con [[pacman (Español)|pacman]]:
 
  
: {{bc|# pacman -U /path/to/pkg.tar.xz}}
+
{{Nota|AUR no tiene soporte, por lo que cualquier paquete que instale es ''responsabilidad del usuario'' actualizarlo, no de pacman. Si se actualizan paquetes en los repositorios oficiales, deberá reconstruir cualquier paquete de AUR que dependa de esas bibliotecas.}}
  
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.
+
=== Requisitos previos ===
  
{{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.'''}}
+
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.
  
Lo que sigue es un ejemplo detallado de la instalación de un paquete llamado «foo».
+
{{Nota|Los paquetes disponibles en AUR asumen que tiene instalado el grupo {{grp|base-devel}}, es decir, no enumeran los miembros del grupo como dependencias explícitamente.}}
  
=== Prerrequisitos ===
+
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.
  
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.
+
=== Obtener los archivos de compilación ===
 +
 
 +
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 compilación:
 +
 
 +
* Clonar 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 la orden {{ic|git pull}}.
 +
 
 +
* Descargar 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 ===
 +
 
 +
Cambie los directorios al directorio que contiene el [[PKGBUILD]] del paquete.
 +
 
 +
$ cd ''nombre_del_paquete''
 +
 
 +
{{Advertencia|Verifique cuidadosamente el [[PKGBUILD]], cualquier archivo ''.install'' y cualquier otro archivo presente en el repositorio git del paquete, en busca de secuencia de órdenes maliciosas o peligrosas. Si tiene dudas, no compile el paquete, y [[General_troubleshooting#Additional_support|dé el aviso]] en los foros o en la lista de correos. Ya se ha encontrado antes código malicioso en paquetes. [https://lists.archlinux.org/pipermail/aur-general/2018-July/034151.html]}}
 +
 
 +
Vea los contenidos de todos los archivos proporcionados. Por ejemplo, para usar el paginador ''less'' para ver {{ic|PKGBUILD}} haga:
 +
 
 +
$ less PKGBUILD
 +
 
 +
{{Sugerencia|Si está actualizando un paquete, es posible que desee ver los cambios desde el último envío.
 +
* Para ver los cambios desde el último envío utilice {{ic|git show}}.
 +
* Para ver los cambios desde el último envío utilizando ''vimdiff'', haga {{ic|git difftool @~..@ vimdiff}}. La ventaja de ''vimdiff'' es que puede ver todo el contenido de cada archivo junto con los indicadores de lo que ha cambiado.}}
 +
 
 +
Construya el paquete. Después de confirmar manualmente el contenido de los archivos, ejecute [[makepkg]] como un usuario normal:
 +
 
 +
$ makepkg -si
 +
 
 +
* {{ic|-s}}/{{ic|--syncdeps}} resuelve e instala automáticamente cualquier dependencia con [[pacman]] antes de compilar. Si el paquete depende de otros paquetes de AUR, deberá primero instalarlos manualmente.
 +
* {{ic|-i}}/{{ic|--install}} instala el paquete si está compilado correctamente. En otro caso, el paquete compilado se puede instalar con {{ic|pacman -U ''package''.pkg.tar.xz}}.
 +
 
 +
Otros indicadores útiles son:
 +
 
 +
* {{ic|-r}}/{{ic|--rmdeps}} elimina las dependencias de compilación después de la compilación, ya que las mismas no serán necesarias. Sin embargo, es posible que estas dependencias tengan que reinstalarse la próxima vez que se actualice el paquete.
 +
* {{ic|-c}}/{{ic|--clean}} limpia los archivos de compilación temporales después de la compilación, ya que no serán necesarios. Estos archivos generalmente solo se necesitan al depurar el proceso de compilación.
 +
 
 +
{{Nota|El ejemplo anterior es solo un breve resumen del proceso de compilación. Se recomienda ''encarecidamente'' que lea los artículos [[makepkg (Español)]] y [[Arch Build System (Español)|ABS (Español)]] para obtener más información.}}
  
{{Advertencia|Los paquetes disponibles en AUR asumen que tiene 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.}}
+
== Feedback ==
  
# pacman -S base-devel
+
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, envíe los archivos al mantenedor, o incluso utilice un [[pastebin Clients|cliente pastebin]].
  
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:
+
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 (Trusted Users —''«usuarios de confianza»''—) para su inclusión en el [[repositorio 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!
  
  ~/builds
+
== Compartir y mantener los paquetes ==
  
o si se utiliza ABS ([[Arch Build System (Español)|Arch Build System]]):
+
{{Note|1=Consulte [https://wiki.archlinux.org/index.php?title=Talk:Arch_User_Repository&oldid=484964#Scope_of_the_AUR4_section Talk:Arch User Repository#Scope of the AUR4 section] antes de realizar cambios en esta sección.}}
  
/var/abs/local
+
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 y bajo su propio riesgo por el usuario final.
  
Para obtener más información sobre ABS, léase el artículo sobre [[Arch Build System (Español)|Arch Build System]]. En el ejemplo que se sigue, la carpeta {{ic|~/builds}} será el directorio de compilación.
+
=== Enviar paquetes ===
  
=== Adquirir archivos compilados ===
+
{{Advertencia|Antes de intentar enviar un paquete, se espera que se familiarice con [[Arch packaging standards]] y todos los artículos indicados en «Artículos relacionados». '''Verifique cuidadosamente''' que lo que está cargando es correcto. Los paquetes que infrinjan las reglas podrán '''eliminarse''' sin previo aviso.}}
  
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.
+
Si no está seguro de ningún modo sobre el paquete o el proceso de compilación/envío, incluso después de haber leído varias veces esta sección, envíe el PKGBUILD a la [https://mailman.archlinux.org/mailman/listinfo/aur-general lista de correo de AUR], el [https://bbs.archlinux.org/viewforum.php?id=4 foro de AUR] en los foros de Arch, o pregunte en nuestro [[IRC channel]] para su revisión pública antes de agregarlo a AUR.
  
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).
+
==== Reglas de envío ====
  
Otra posibilidad consistiría en descargar el archivo tar desde el terminal, cambiando los directorios al primer archivo de compilación:
+
Al enviar un paquete, observe las siguientes reglas:  
  
$ cd ~/builds
+
* Los PKGBUILD enviados no deben compilar aplicaciones '''ya disponibles en cualquiera''' de los '''repositorios oficiales''' con binarios bajo ninguna circunstancia. Compruebe la [https://www.archlinux.org/packages/ base de datos de paquetes oficiales] para ver el paquete. Si existe alguna versión de la misma, '''no''' envíe el paquete. Si el paquete oficial está desactualizado, márquelo como tal. Si el paquete oficial está roto o carece de una recurso, entonces presente un [https://bugs.archlinux.org/ informe de error].
$ curl -O <nowiki>https://aur.archlinux.org/packages/fo/foo/foo.tar.gz</nowiki>
 
  
=== Compilar el paquete ===
+
:''' Excepción''' a esta regla estricta solo lo pueden ser aquellos paquetes que tengan '''características adicionales''' habilitadas y/o '''parches''' en comparación con las oficiales. En tal caso, {{ic|pkgname}} debería ser diferente para expresar esa diferencia. Por ejemplo, un paquete para la GNU screen que contiene el parche de la barra lateral se podría llamar {{ic|screen-sidebar}}. Además, el vector {{ic|1=provides=('screen')}} se debe utilizar para evitar conflictos con el paquete oficial.
  
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.
+
*'''Verifique en AUR''' si el paquete '''ya existe'''. Si ya tiene un mantenedor, los cambios se pueden enviar en un comentario a la atención del mantenedor. Si no hay mantenedor o el mantenedor no responde, el paquete se puede adoptar y actualizar según sea necesario. No cree paquetes duplicados.
  
$ cd ~/builds
+
* Asegúrese de que el paquete que desea cargar es '''útil'''. ¿Alguien más quiere usar este paquete? ¿Es muy especializado? Si unas cuantas personas encuentran este paquete útil, es apropiado para la presentación.
$ tar -xvzf foo.tar.gz
 
  
Esto debería crear una nueva carpeta llamada «foo» en el directorio de compilación.
+
: AUR y los repositorios oficiales están destinados a paquetes que instalan generalmente software y contenido relacionado con software, incluidos uno o más de los siguientes: ejecutables; archivo(s) de configuración; documentación en línea o fuera de línea para un software específico o para la distribución de Arch Linux en su conjunto; medios destinados a ser utilizados directamente por el software.
  
{{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.}}
+
* No utilice {{ic|replaces}} en un PKGBUILD de AUR a menos que se cambie el nombre del paquete, por ejemplo cuando ''Ethereal'' se convirtió en ''Wireshar''. Si el paquete es una '''versión alternativa de un paquete ya existente''', utilice {{ic|conflicts}} (y ​​{{ic|provides}} si ese paquete es requerido por otros). La principal diferencia es que después de la sincronización (-Sy), pacman inmediatamente quiere reemplazar un paquete 'ofensivo' instalado al encontrar un paquete con la coincidencia {{ic|replaces}} en sus repositorios; {{ic|conflicts}}, por otro lado, solo se evalúa al instalar el paquete, que generalmente es el comportamiento deseado porque es menos invasivo.
  
$ cd foo
+
* El envío de '''binarios''' debe '''evitarse''' si las fuentes están disponibles. AUR no debe contener el tarball binario creado por makepkg, ni debe contener la lista de archivos.
$ 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.
+
Agregue una '''línea de comentario''' a la parte superior del archivo {{ic|PKGBUILD}} que contenga información sobre los '''mantenedores''' actuales y los '''contribuidores''' anteriores, respetando el siguiente formato. Recuerde disfrazar su correo electrónico para protegerse contra el correo no deseado. Las líneas adicionales o innecesarias son facultativas.
 +
: Si asume la función de mantenedor de un PKGBUILD existente, agregue su nombre a la parte superior de este modo
 +
:{{bc|<nowiki>
 +
# Maintainer: su nombre <dirección at dominio dot tld>
 +
</nowiki>}}
 +
:Si hubo mantenedores anteriores, colóquelos como contribuyentes. Lo mismo se aplica para el remitente original si este no fue usted. Si existe un conjunto de mantenedores, agregue los nombres de los otros mantenedores actuales también.
 +
:{{bc|<nowiki>
 +
# Maintainer: su nombre <dirección at dominio dot tld>
 +
# Maintainer: nombre de otros mantenedores <dirección at dominio dot tld>
 +
# Contributor:  nombre de los mantenedores anteriores <dirección at dominio dot tld>
 +
# Contributor: nombre del remitente original <dirección at dominio dot tld>
 +
</nowiki>}}
  
$ makepkg -s
+
==== Verificación ====
  
La opción {{ic|-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 {{ic|-s}}.
+
Para tener acceso de modificación en AUR necesita disponer de [[SSH keys (Español)|emparejamiento de claves 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:
  
=== Instalar el paquete ===
+
{{hc|~/.ssh/config|
 +
Host aur.archlinux.org
 +
  IdentityFile ~/.ssh/aur
 +
  User aur}}
  
Instale el paquete con pacman. Un tarball bien creado debería mostrar un nombre siguiendo este esquema:
+
En el escenario ideal se debe [[SSH keys (Español)#Generando las llaves SSH|crear un nuevo par de llaves]] y no usar un par existente, así se pueden revocar selectivamente en caso de que algo ocurra:
  
  <''application name''>-<''application version number''>-<''package revision number''>-<''architecture''>.pkg.tar.xz
+
  $ ssh-keygen -f ~/.ssh/aur
  
Este paquete puede ser instalado usando la orden «upgrade» de pacman:
+
{{Sugerencia|Se pueden agregar múltiples llaves en su perfil separandolas con una nueva línea.}}
  
# pacman -U foo-0.1-1-i686.pkg.tar.xz 
+
==== Crear un paquete nuevo ====
  
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:
+
Para crear un repositorio Git vacío para un paquete, simplemente {{ic|git clone}} el repositorio remoto con el nombre correspondiente. Si el paquete no existe en AUR, aparecerá la siguiente advertencia:
$ 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.}}
+
{{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.}}
  
== Feedback ==
+
{{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.}}
  
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]].
+
Si hay un repositorio git existente, simplemente se crea un ''remote'' para el repositorio git de AUR y luego ''fetch'' en el repositorio:
  
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!
+
$ git remote add ''nombre_remoto'' <nowiki>ssh://</nowiki>aur@aur.archlinux.org/''nombre_paquete''.git
 +
$ git fetch ''nombre_remoto''
  
==  Compartir y mantener los paquetes ==
+
Donde {{ic|''nombre_remoto''}} es el nombre del ''remote'' a crear (''v.g.,'' "origen"). Vea [[Git#Using remotes]] para mayor información.
  
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.
+
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]].
  
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.
+
{{Advertencia|Sus AUR ''commits'' tendran como autor su usuario y correo electronico configurado en git, es muy dificil cambiar un ''commit'' después que ha sido subida (vea {{Bug|45425}}). Si desea enviar paquetes con un autor/email diferente lo puede hacer con la orden {{ic|git config user.name [...]}} y {{ic|git config user.email [...]}}. Revise sus ''commits'' y documentos antes de subirlos!
 +
}}
  
=== Enviar paquetes ===
+
==== Subir 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 procedimiento para subir paquetes a AUR es el mismo que para crear 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.
  
El tarball se puede crear con la siguiente orden:
+
{{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 la web de AUR no va a mostrar las versiones actualizadas .
 +
}}
  
$ makepkg --source
+
Para subir, añada el {{ic|PKGBUILD}}, {{ic|.SRCINFO}} y cualquier otro archivo necesario (como archivos {{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}}.
  
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:
+
Ejemplo concreto:
 
{{hc|$ tar tf libfoo-0.1-1.src.tar.gz|
 
libfoo/
 
libfoo/PKGBUILD
 
libfoo/libfoo.install}}
 
  
Al enviar un paquete, observe las siguientes reglas:
+
$ makepkg --printsrcinfo > .SRCINFO
 +
$ git add PKGBUILD .SRCINFO
 +
$ git commit -m "''useful commit message''"
 +
$ git push
  
* 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].
+
{{Sugerencia|
* 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.
+
* 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 la orden [https://git-scm.com/docs/git-rebase git rebase] con la opción {{ic|--root}} o la orden [https://git-scm.com/docs/git-filter-branch git filter-branch] con la opción {{ic|--tree-filter}}.
* 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.
+
* 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]].
* 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}}». Léase también [[Arch Packaging Standards#Submitting packages to the AUR]].
 
  
 
=== Mantener los paquetes ===
 
=== Mantener los paquetes ===
Line 186: Line 241:
 
* 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!
 
* 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.
 
* 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.
+
* 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 envíe un mensaje a la lista de correos de AUR. Si todos los mantenedores de un paquete AUR lo rechazan, se convertirá en un paquete [https://aur.archlinux.org/packages/?SB=n&do_Orphans=Orphans «huérfano»].
  
 
=== Otras solicitudes ===
 
=== 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.
+
Las solicitudes de orfandad, eliminación o fusión se pueden crear haciendo clic en el enlace «Submit Request» bajo el enlace «Package Actions» en el lado derecho. Esto envía automáticamente un correo electrónico de notificación al actual mantenedor del paquete y a la [https://mailman.archlinux.org/mailman/listinfo/aur-requests aur-requests lista de correo] para su discusión. El [[Trusted Users]] aceptará o rechazará la solicitud.
*'''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 orfandad se otorgarán después de dos semanas, si el mantenedor actual no reaccionó.
* 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.
+
* Las solicitudes de fusión son para eliminar la base del paquete y transferir sus votos y comentarios a otra base de paquetes. Se requiere el nombre de base del paquete para fusionar. Tenga en cuenta que esto no tiene nada que ver con 'git merge' o las solicitudes de fusión de GitLab.
*'''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 solicitudes de eliminación requieren la siguiente información:
* Las peticiones de eliminación requieren la siguiente información:
+
** Una breve nota que explique el motivo de la eliminación. Tenga en cuenta que los comentarios de un paquete no indican suficientemente las razones por las cuales un paquete está listo para su eliminación. Porque tan pronto como una TU toma medidas, el único lugar donde se puede obtener dicha información es la lista de correo.
** Nombre del paquete y la dirección URL a la página AUR
+
** Detalles del soporte, como cuando un paquete es proporcionado por otro paquete, si uno mismo es el mantenedor, si es renombrado y si el propietario original acepta, etc.
** 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.
+
** Las solicitudes de eliminación pueden rechazarse, en cuyo caso, si usted es el mantenedor del paquete, es probable que se le aconseje que no lo reconozca, para permitir la adopción por parte de otro empaquetador.
** 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.
+
== Traducir la interfaz web ==
  
== [community] ==
+
Consulte [https://projects.archlinux.org/aurweb.git/tree/doc/i18n.txt i18n.txt] en el árbol fuente de AUR para obtener información sobre cómo crear y mantener la traducción de la interfaz web de AUR.
  
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:
+
== Sintaxis de comentario ==
  
{{hc|/etc/pacman.conf|2=
+
La sintaxis de [https://python-markdown.github.io/ Python-Markdown] es compatible con los comentarios.
...
+
Proporciona la sintaxis básica de [[Wikipedia:Markdown|Markdown]]  para dar formato a los comentarios. Tenga en cuenta que esta implementación tiene algunas [https://python-markdown.github.io/#differences diferencias] ocasionales con respecto a las [https://daringfireball.net/projects/markdown/syntax reglas de sintaxis] oficiales. Confirme el hash para el repositorio Git del paquete y las referencias a los tickets para Flyspray se convertirán en enlaces automáticamente. Los comentarios largos se contraen y se pueden expandir bajo demanda.
[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.
+
== FAQ ==
  
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}}.
+
=== ¿Que es AUR? ===
  
== Repositorio Git ==
+
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.
  
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):
+
=== ¿Qué tipo de paquetes se permiten en AUR? ===
  
$ git clone <nowiki>git://pkgbuild.com/aur-mirror.git</nowiki>
+
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 [[#Reglas de envío|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.
  
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].
+
=== ¿Cómo puedo votar por los paquetes en AUR? ===
  
== FAQ ==
+
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. Después de registrarse, también es posible votar desde la línea de órdenes con {{AUR|aurvote}}, {{AUR|aurvote-git}} o {{AUR|aur-auto-vote-git}}.
 +
 
 +
Alternativamente, si ha configurado  [[#Verificación|autenticación ssh]] como se indicó anteriormente, puede votar directamente desde la línea de órdenes usando su clave ssh. Esto significa que no necesitará guardar o escribir su contraseña AUR.
  
{{FAQ
+
ssh aur@aur.archlinux.org vote <PACKAGE_NAME>
|question=¿Que es AUR?
 
|answer= 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. }}
 
  
{{FAQ
+
=== ¿Qué es un usuario de confianza / Trusted Users (TU)? ===
|question=¿Qué tipo de paquetes se permiten en AUR?
 
|answer=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.}}
 
  
{{FAQ
+
Un [[AUR Trusted User Guidelines|Trusted Users (''«usuarios de confianza»'')]], siglas en inglés TU, 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.
|question=¿Cómo puedo votar por los paquetes en AUR?
 
|answer=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.}}
 
  
{{FAQ
+
=== ¿Cuál es la diferencia entre Arch User Repository y el repositorio community? ===
|question=¿Qué es un TU?
 
|answer=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.}}
 
  
{{FAQ
+
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]] (mantenido por los usuarios de confianza), donde los paquetes binarios pueden instalarse directamente con [[pacman (Español)|pacman]].
|question=¿Cuál es la diferencia entre Arch User Repository y [community]?
 
|answer=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]].}}
 
  
{{FAQ
+
=== Un paquete en AUR está desactualizado, ¿qué hago? ===
|question=¿Cuántos votos necesita un PKGBUILD para llegar a  [community]?
 
|answer=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.}}
 
  
{{FAQ
+
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 (Trusted Users —''«usuarios 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.
|question=¿Cómo hacer un PKGBUILD?
 
|answer=Lo mejor es mirar [[Creating Packages]]. Recuerde mirar en AUR antes de crear el PKGBUILD para no duplicar los esfuerzos.}}
 
  
{{FAQ
+
Mientras tanto, puede intentar actualizar el paquete editando el PKGBUILD localmente. A veces, las actualizaciones no requieren cambios en el proceso de compilación o paquete, en cuyo caso basta con actualizar la matriz {{ic|pkgver}} o {{ic|source}}.
|question=No me funciona «pacman -S foo», aunque sé que el paquete «foo» está en [community]
 
|answer=Probablemente no ha activado el repositorio [community] en el archivo {{ic|/etc/pacman.conf}}. Basta con descomentar las líneas relevantes.
 
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.}}
 
  
{{FAQ
+
{{Nota|Los [[VCS package guidelines|paquetes VCS]] no se consideran obsoletos cuando el pkgver cambia, no los marque ya que el mantenedor simplemente desmarca el paquete y lo ignora. Los mantenedores de AUR no deberían cometer errores de pkgver.}}
|question=Un paquete en AUR está desactualizado, ¿qué hago?
 
|answer=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.}}
 
  
{{FAQ
+
=== Foo, que está en AUR, no me compila con makepkg, ¿qué hago? ===
|question=Quiero enviar un PKGBUILD ¿podría alguien comprobar antes si tiene errores?
 
|answer=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.}}
 
  
{{FAQ
+
Probablemente está pasando por alto alguna cosa.
|question=Foo, que está en AUR, no me compila con makepkg, ¿qué hago?
 
|answer=Probablemente está pasando por alto alguna cosa.
 
  
 
# 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.
 
# 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.
Line 275: Line 305:
  
 
Asegúrese de leer primero el PKGBUILD y los comentarios en la página de AUR del paquete en cuestió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.}}
+
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.
 +
 
 +
Para verificar si el PKGBUILD está roto, o si su sistema está mal configurado, considere compilar en un entorno chroot limpio. Construirá su paquete en un entorno limpio de Arch Linux, con solo dependencias (de compilación) instaladas y sin personalización del usuario. Para hacer esto [[install|instale]] {{pkg|devtools}} y ejecute {{ic|extra-x86_64-build}} en lugar de {{ic|makepkg}}. Para paquetes [[multilib]], ejecute {{ic|multilib-build}}. Consulte [[DeveloperWiki:Building in a clean chroot]] para más información. Si el proceso de compilación aún falla en un entorno chroot limpio, el problema probablemente esté en el PKGBUILD.
 +
 
 +
=== ERROR: One or more PGP signatures could not be verified!; ¿qué debería hacer? ===
 +
 
 +
Lo más probable es que no tenga las claves públicas requeridas en su depósito de claves personal para verificar los archivos descargados. Si uno o más archivos .sig se descargan al compilar el paquete, [[Makepkg#Signature_checking|makepkg verificará automáticamente los archivos correspondientes con la clave pública de su firmante]]. Si no tiene la clave requerida en su depósito de claves personal, ''makepkg'' no hará la verificación.
 +
 
 +
La forma recomendada de tratar este problema es importar la clave pública requerida, ya sea [[GnuPG#Import_a_public_key|manualmente]] o [[GnuPG#Use_a_keyserver|desde un servidor de claves]]. A menudo, simplemente puede encontrar la huella digital de las claves públicas necesarias en la sección [[PKGBUILD#validpgpkeys|validpgpkeys]] del [[PKGBUILD]].
 +
 
 +
=== ¿Cómo hacer un PKGBUILD? ===
 +
 
 +
Lo mejor es mirar [[Creating packages (Español)]]. Recuerde mirar en AUR antes de crear el PKGBUILD para no duplicar los esfuerzos.
 +
 
 +
=== 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 (Trusted Users —''«usuarios de confianza»''—) 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 errores de su PKGUILD y del paquete resultante.
 +
 
 +
=== ¿Qué hacer para que un PKGBUILD pase al repositorio community? ===
 +
 
 +
Por lo general, son necesarios, al menos, 10 votos para que algo se mueva al [[repositorio community]]. Sin embargo, si un TU (Trusted Users —''«usuarios de confianza»''—) quiere apoyar un paquete, se suele pasar dicho paquete al repositorio.
 +
 
 +
Llegar al mínimo requerido de votos no es el único requisito, tiene que haber un TU (Trusted Users —''«usuarios de confianza»''—) dispuesto a mantener el paquete. Los TU (Trusted Users —''«usuarios de confianza»''—) no están obligados a mover un paquete al repositorio ''community'', incluso si tiene miles de votos.
 +
 
 +
Por lo general, cuando un paquete muy popular permanece en AUR es porque:
 +
 
 +
* Arch Linux ya tiene otra versión de un paquete en los repositorios
 +
* Su licencia prohíbe la redistribución
 +
* Ayuda a recuperar PKGBUILDs enviados por el usuario. Los [[AUR helpers]] están por definición [https://bbs.archlinux.org/viewtopic.php?pid=828310#p828310 sin soporte].
 +
 
 +
Véase también [[AUR Trusted User Guidelines#Rules for Packages Entering the .5Bcommunity.5D Repo|Reglas para paquetes que ingresan en el repositorio community]].
 +
 
 +
=== ¿Cómo puedo acelerar los repetidos procesos de compilación? ===
 +
 
 +
Consulte [[Makepkg#Improving compile times]].
 +
 
 +
=== ¿Cuál es la diferencia entre los paquetes foo y foo-git? ===
 +
 
 +
Muchos paquetes de AUR se presentan en versiones regulares ("estables") y de desarrollo ("inestables"). Un paquete de desarrollo generalmente tiene un sufijo como {{ic|-cvs}}, {{ic|-svn}}, {{ic|-git}}, {{ic|-hg}}, {{ic|-bzr}} o {{ic|-darcs}}. Si bien los paquetes de desarrollo no están destinados para uso regular, pueden ofrecer nuevas características o correcciones de errores. Debido a que estos paquetes descargan la última fuente disponible cuando ejecuta {{ic|makepkg}}, no está directamente disponible para estos una versión del paquete para rastrear posibles actualizaciones. Del mismo modo, estos paquetes no pueden realizar una suma de comprobación de autenticidad, sino que debemos fiarnos de los mantenedores del repositorio Git.
 +
 
 +
Véase también [[System maintenance#Use proven software packages]].
 +
 
 +
=== ¿Por qué foo desapareció de AUR? ===
 +
 
 +
Es posible que el paquete haya sido adoptado por un TU (Trusted Users —''«usuarios de confianza»''—) y ahora esté en el [[repositorio community]].
 +
 
 +
Los paquetes pueden eliminarse si no cumplen con las [[#Reglas de envío]]. Consulte los [https://lists.archlinux.org/pipermail/aur-requests/ aur-requests archivos] para conocer el motivo de la eliminación.
 +
 
 +
Si el paquete estaba presente en AUR3, podría no haber sido [https://lists.archlinux.org/pipermail/aur-general/2015-August/031322.html migrado a AUR4]. Consulte los [[#Repositorios Git para paquetes AUR3]] donde se conservará.
 +
 
 +
=== ¿Cómo puedo averiguar si alguno de los paquetes instalados desapareció de AUR? ===
 +
 
 +
La forma más sencilla es verificar el estado HTTP de la página AUR del paquete:
 +
 
 +
$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)
 +
 
 +
Si utiliza un [[AUR helper]], puede acortar este script reemplazando la orden curl con cualquier orden que consulte AUR para un paquete.
 +
 
 +
=== ¿Cómo puedo obtener una lista de todos los paquetes de AUR? ===
  
{{FAQ
+
* https://aur.archlinux.org/packages.gz
|question=¿Cómo puedo acelerar los repetidos procesos de compilación?
+
* Utilice <code>aurpkglist</code> de {{aur|python3-aur}}
|answer=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».}}
 
  
{{FAQ
+
== Véase también ==
|question=¿Cómo accedo a paquetes de Unsupported?
 
|answer=Véase [[#Installing packages]]}}
 
  
{{FAQ
+
* [https://aur.archlinux.org AUR Web Interface]
|question=¿Puedo subir archivos a AUR sin usar la interfaz web?
+
* [https://lists.archlinux.org/listinfo/aur-general AUR Mailing List]
|answer=Puede usar {{pkg|burp}}, {{AUR|aurploader}} o {{AUR|aurup}} &mdash;se trata de programas de línea de órdenes&mdash;.}}
+
* [[DeveloperWiki:AUR Cleanup Day]]

Latest revision as of 13:30, 10 November 2018

Estado de la traducción
Este artículo es una traducción de Arch User Repository, revisada por última vez el 2018-09-21. Si advierte que la versión inglesa ha cambiado puede ayudar a actualizar la traducción, bien por usted mismo o bien avisando al equipo de traducción.

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).

Advertencia: Los paquetes contenidos en AUR son producidos por el usuario. Cualquier uso de los archivos proporcionados lo es bajo el propio riesgo del usuario.

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 #FAQ para obtener respuestas a las preguntas más comunes.
  • Es posible mejorar la optimización ajustando /etc/makepkg.conf para el procesador (del equipo) antes de crear paquetes desde AUR. Se puede obtener una mejora significativa en los tiempos de compilación en sistemas con procesadores multicore 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 para obtener más información.

También es posible interactuar con AUR a través de SSH: escriba ssh aur@aur.archlinux.org help para obtener una lista de las órdenes disponibles.

Historia

En un 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 mantenedor de paquetes 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 manejable. De hecho, a los responsables de AUR todavía se les conoce como TU (Trusted Users -«usuarios de confianza»-).

Entre 2015-06-08 y 2015-08-08, AUR hizo la transición de la versión 3.5.1 a la 4.0.0, introduciendo el uso de repositorios Git para publicar los PKGBUILD. Los paquetes existentes se descartaron, salvo aquellos que sus mantenedores migraron manualmente a la nueva infraestructura.

Repositorios Git para paquetes AUR3

El AUR Archive en GitHub tiene un repositorio para cada paquete que estaba en AUR 3 en el momento de la migración. Por otro lado, existe el repositorio aur3-mirror que proporciona lo mismo.

Instalar paquetes

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

  1. Obtener los archivos para la compilación, incluyendo el PKGBUILD y posiblemente otros archivos necesarios.
  2. Verificar que el PKGBUILD y los archivos acompañantes no son maliciosos.
  3. Ejecutar makepkg -si en el directorio donde se han colocado los archivos. Esta orden descarga la fuente, resuelve depedencias con pacman, compila, empaca e instala el paquete.
Nota: AUR no tiene soporte, por lo que cualquier paquete que instale es responsabilidad del usuario actualizarlo, no de pacman. Si se actualizan paquetes en los repositorios oficiales, deberá reconstruir cualquier paquete de AUR que dependa de esas bibliotecas.

Requisitos previos

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, es decir, no enumeran los miembros del grupo como dependencias explícitamente.

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.

Obtener los archivos de compilación

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 compilación:

  • Clonar 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 la orden git pull.
  • Descargar 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

Cambie los directorios al directorio que contiene el PKGBUILD del paquete.

$ cd nombre_del_paquete
Advertencia: Verifique cuidadosamente el PKGBUILD, cualquier archivo .install y cualquier otro archivo presente en el repositorio git del paquete, en busca de secuencia de órdenes maliciosas o peligrosas. Si tiene dudas, no compile el paquete, y dé el aviso en los foros o en la lista de correos. Ya se ha encontrado antes código malicioso en paquetes. [1]

Vea los contenidos de todos los archivos proporcionados. Por ejemplo, para usar el paginador less para ver PKGBUILD haga:

$ less PKGBUILD
Sugerencia: Si está actualizando un paquete, es posible que desee ver los cambios desde el último envío.
  • Para ver los cambios desde el último envío utilice git show.
  • Para ver los cambios desde el último envío utilizando vimdiff, haga git difftool @~..@ vimdiff. La ventaja de vimdiff es que puede ver todo el contenido de cada archivo junto con los indicadores de lo que ha cambiado.

Construya el paquete. Después de confirmar manualmente el contenido de los archivos, ejecute makepkg como un usuario normal:

$ makepkg -si
  • -s/--syncdeps resuelve e instala automáticamente cualquier dependencia con pacman antes de compilar. Si el paquete depende de otros paquetes de AUR, deberá primero instalarlos manualmente.
  • -i/--install instala el paquete si está compilado correctamente. En otro caso, el paquete compilado se puede instalar con pacman -U package.pkg.tar.xz.

Otros indicadores útiles son:

  • -r/--rmdeps elimina las dependencias de compilación después de la compilación, ya que las mismas no serán necesarias. Sin embargo, es posible que estas dependencias tengan que reinstalarse la próxima vez que se actualice el paquete.
  • -c/--clean limpia los archivos de compilación temporales después de la compilación, ya que no serán necesarios. Estos archivos generalmente solo se necesitan al depurar el proceso de compilación.
Nota: El ejemplo anterior es solo un breve resumen del proceso de compilación. Se recomienda encarecidamente que lea los artículos makepkg (Español) y ABS (Español) para obtener más información.

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, envíe los archivos al mantenedor, o incluso utilice un cliente 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 (Trusted Users —«usuarios de confianza»—) para su inclusión en el repositorio 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

Note: Consulte Talk:Arch User Repository#Scope of the AUR4 section antes de realizar cambios en esta sección.

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 y bajo su propio riesgo por el usuario final.

Enviar paquetes

Advertencia: Antes de intentar enviar un paquete, se espera que se familiarice con Arch packaging standards y todos los artículos indicados en «Artículos relacionados». Verifique cuidadosamente que lo que está cargando es correcto. Los paquetes que infrinjan las reglas podrán eliminarse sin previo aviso.

Si no está seguro de ningún modo sobre el paquete o el proceso de compilación/envío, incluso después de haber leído varias veces esta sección, envíe el PKGBUILD a la lista de correo de AUR, el foro de AUR en los foros de Arch, o pregunte en nuestro IRC channel para su revisión pública antes de agregarlo a AUR.

Reglas de envío

Al enviar un paquete, observe las siguientes reglas:

  • Los PKGBUILD enviados no deben compilar aplicaciones ya disponibles en cualquiera de los repositorios oficiales con binarios bajo ninguna circunstancia. Compruebe la base de datos de paquetes oficiales para ver el paquete. Si existe alguna versión de la misma, no envíe el paquete. Si el paquete oficial está desactualizado, márquelo como tal. Si el paquete oficial está roto o carece de una recurso, entonces presente un informe de error.
Excepción a esta regla estricta solo lo pueden ser aquellos paquetes que tengan características adicionales habilitadas y/o parches en comparación con las oficiales. En tal caso, pkgname debería ser diferente para expresar esa diferencia. Por ejemplo, un paquete para la GNU screen que contiene el parche de la barra lateral se podría llamar screen-sidebar. Además, el vector provides=('screen') se debe utilizar para evitar conflictos con el paquete oficial.
  • Verifique en AUR si el paquete ya existe. Si ya tiene un mantenedor, los cambios se pueden enviar en un comentario a la atención del mantenedor. Si no hay mantenedor o el mantenedor no responde, el paquete se puede adoptar y actualizar según sea necesario. No cree paquetes duplicados.
  • Asegúrese de que el paquete que desea cargar es útil. ¿Alguien más quiere usar este paquete? ¿Es muy especializado? Si unas cuantas personas encuentran este paquete útil, es apropiado para la presentación.
AUR y los repositorios oficiales están destinados a paquetes que instalan generalmente software y contenido relacionado con software, incluidos uno o más de los siguientes: ejecutables; archivo(s) de configuración; documentación en línea o fuera de línea para un software específico o para la distribución de Arch Linux en su conjunto; medios destinados a ser utilizados directamente por el software.
  • No utilice replaces en un PKGBUILD de AUR a menos que se cambie el nombre del paquete, por ejemplo cuando Ethereal se convirtió en Wireshar. Si el paquete es una versión alternativa de un paquete ya existente, utilice conflicts (y ​​provides si ese paquete es requerido por otros). La principal diferencia es que después de la sincronización (-Sy), pacman inmediatamente quiere reemplazar un paquete 'ofensivo' instalado al encontrar un paquete con la coincidencia replaces en sus repositorios; conflicts, por otro lado, solo se evalúa al instalar el paquete, que generalmente es el comportamiento deseado porque es menos invasivo.
  • El envío de binarios debe evitarse si las fuentes están disponibles. AUR no debe contener el tarball binario creado por makepkg, ni debe contener la lista de archivos.

Agregue una línea de comentario a la parte superior del archivo PKGBUILD que contenga información sobre los mantenedores actuales y los contribuidores anteriores, respetando el siguiente formato. Recuerde disfrazar su correo electrónico para protegerse contra el correo no deseado. Las líneas adicionales o innecesarias son facultativas.

Si asume la función de mantenedor de un PKGBUILD existente, agregue su nombre a la parte superior de este modo
# Maintainer: su nombre <dirección at dominio dot tld>
Si hubo mantenedores anteriores, colóquelos como contribuyentes. Lo mismo se aplica para el remitente original si este no fue usted. Si existe un conjunto de mantenedores, agregue los nombres de los otros mantenedores actuales también.
# Maintainer: su nombre <dirección at dominio dot tld>
# Maintainer: nombre de otros mantenedores <dirección at dominio dot tld>
# Contributor:  nombre de los mantenedores anteriores <dirección at dominio dot tld>
# Contributor: nombre del remitente original <dirección at dominio dot tld>

Verificación

Para tener acceso de modificación en AUR necesita disponer de emparejamiento de claves 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 un par existente, así se pueden revocar selectivamente 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 línea.

Crear un paquete nuevo

Para crear un repositorio Git vacío para un paquete, simplemente git clone el repositorio remoto con el nombre correspondiente. Si el paquete no existe en AUR, aparecerá la siguiente advertencia:

$ 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 después que ha sido subida (vea FS#45425). Si desea enviar paquetes con un autor/email diferente lo puede hacer con la orden git config user.name [...] y git config user.email [...]. Revise sus commits y documentos antes de subirlos!

Subir paquetes

El procedimiento para subir paquetes a AUR es el mismo que para crear 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 la web de AUR no va a mostrar las versiones actualizadas .

Para subir, añada el PKGBUILD, .SRCINFO y cualquier otro archivo necesario (como archivos .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 la orden git rebase con la opción --root o la orden 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 envíe un mensaje a la lista de correos de AUR. Si todos los mantenedores de un paquete AUR lo rechazan, se convertirá en un paquete «huérfano».

Otras solicitudes

Las solicitudes de orfandad, eliminación o fusión se pueden crear haciendo clic en el enlace «Submit Request» bajo el enlace «Package Actions» en el lado derecho. Esto envía automáticamente un correo electrónico de notificación al actual mantenedor del paquete y a la aur-requests lista de correo para su discusión. El Trusted Users aceptará o rechazará la solicitud.

  • Las solicitudes de orfandad se otorgarán después de dos semanas, si el mantenedor actual no reaccionó.
  • Las solicitudes de fusión son para eliminar la base del paquete y transferir sus votos y comentarios a otra base de paquetes. Se requiere el nombre de base del paquete para fusionar. Tenga en cuenta que esto no tiene nada que ver con 'git merge' o las solicitudes de fusión de GitLab.
  • Las solicitudes de eliminación requieren la siguiente información:
    • Una breve nota que explique el motivo de la eliminación. Tenga en cuenta que los comentarios de un paquete no indican suficientemente las razones por las cuales un paquete está listo para su eliminación. Porque tan pronto como una TU toma medidas, el único lugar donde se puede obtener dicha información es la lista de correo.
    • Detalles del soporte, como cuando un paquete es proporcionado por otro paquete, si uno mismo es el mantenedor, si es renombrado y si el propietario original acepta, etc.
    • Las solicitudes de eliminación pueden rechazarse, en cuyo caso, si usted es el mantenedor del paquete, es probable que se le aconseje que no lo reconozca, para permitir la adopción por parte de otro empaquetador.

Traducir la interfaz web

Consulte i18n.txt en el árbol fuente de AUR para obtener información sobre cómo crear y mantener la traducción de la interfaz web de AUR.

Sintaxis de comentario

La sintaxis de Python-Markdown es compatible con los comentarios. Proporciona la sintaxis básica de Markdown para dar formato a los comentarios. Tenga en cuenta que esta implementación tiene algunas diferencias ocasionales con respecto a las reglas de sintaxis oficiales. Confirme el hash para el repositorio Git del paquete y las referencias a los tickets para Flyspray se convertirán en enlaces automáticamente. Los comentarios largos se contraen y se pueden expandir bajo demanda.

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. Después de registrarse, también es posible votar desde la línea de órdenes con aurvoteAUR, aurvote-gitAUR o aur-auto-vote-gitAUR.

Alternativamente, si ha configurado autenticación ssh como se indicó anteriormente, puede votar directamente desde la línea de órdenes usando su clave ssh. Esto significa que no necesitará guardar o escribir su contraseña AUR.

ssh aur@aur.archlinux.org vote <PACKAGE_NAME>

¿Qué es un usuario de confianza / Trusted Users (TU)?

Un Trusted Users («usuarios de confianza»), siglas en inglés TU, 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 el repositorio 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 (mantenido por los usuarios de confianza), donde los paquetes binarios pueden instalarse directamente con pacman.

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 (Trusted Users —«usuarios 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.

Mientras tanto, puede intentar actualizar el paquete editando el PKGBUILD localmente. A veces, las actualizaciones no requieren cambios en el proceso de compilación o paquete, en cuyo caso basta con actualizar la matriz pkgver o source.

Nota: Los paquetes VCS no se consideran obsoletos cuando el pkgver cambia, no los marque ya que el mantenedor simplemente desmarca el paquete y lo ignora. Los mantenedores de AUR no deberían cometer errores de pkgver.

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.

Para verificar si el PKGBUILD está roto, o si su sistema está mal configurado, considere compilar en un entorno chroot limpio. Construirá su paquete en un entorno limpio de Arch Linux, con solo dependencias (de compilación) instaladas y sin personalización del usuario. Para hacer esto instale devtools y ejecute extra-x86_64-build en lugar de makepkg. Para paquetes multilib, ejecute multilib-build. Consulte DeveloperWiki:Building in a clean chroot para más información. Si el proceso de compilación aún falla en un entorno chroot limpio, el problema probablemente esté en el PKGBUILD.

ERROR: One or more PGP signatures could not be verified!; ¿qué debería hacer?

Lo más probable es que no tenga las claves públicas requeridas en su depósito de claves personal para verificar los archivos descargados. Si uno o más archivos .sig se descargan al compilar el paquete, makepkg verificará automáticamente los archivos correspondientes con la clave pública de su firmante. Si no tiene la clave requerida en su depósito de claves personal, makepkg no hará la verificación.

La forma recomendada de tratar este problema es importar la clave pública requerida, ya sea manualmente o desde un servidor de claves. A menudo, simplemente puede encontrar la huella digital de las claves públicas necesarias en la sección validpgpkeys del PKGBUILD.

¿Cómo hacer un PKGBUILD?

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

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 (Trusted Users —«usuarios de confianza»—) 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 errores de su PKGUILD y del paquete resultante.

¿Qué hacer para que un PKGBUILD pase al repositorio community?

Por lo general, son necesarios, al menos, 10 votos para que algo se mueva al repositorio community. Sin embargo, si un TU (Trusted Users —«usuarios de confianza»—) quiere apoyar un paquete, se suele pasar dicho paquete al repositorio.

Llegar al mínimo requerido de votos no es el único requisito, tiene que haber un TU (Trusted Users —«usuarios de confianza»—) dispuesto a mantener el paquete. Los TU (Trusted Users —«usuarios de confianza»—) no están obligados a mover un paquete al repositorio community, incluso si tiene miles de votos.

Por lo general, cuando un paquete muy popular permanece en AUR es porque:

  • Arch Linux ya tiene otra versión de un paquete en los repositorios
  • Su licencia prohíbe la redistribución
  • Ayuda a recuperar PKGBUILDs enviados por el usuario. Los AUR helpers están por definición sin soporte.

Véase también Reglas para paquetes que ingresan en el repositorio community.

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

Consulte Makepkg#Improving compile times.

¿Cuál es la diferencia entre los paquetes foo y foo-git?

Muchos paquetes de AUR se presentan en versiones regulares ("estables") y de desarrollo ("inestables"). Un paquete de desarrollo generalmente tiene un sufijo como -cvs, -svn, -git, -hg, -bzr o -darcs. Si bien los paquetes de desarrollo no están destinados para uso regular, pueden ofrecer nuevas características o correcciones de errores. Debido a que estos paquetes descargan la última fuente disponible cuando ejecuta makepkg, no está directamente disponible para estos una versión del paquete para rastrear posibles actualizaciones. Del mismo modo, estos paquetes no pueden realizar una suma de comprobación de autenticidad, sino que debemos fiarnos de los mantenedores del repositorio Git.

Véase también System maintenance#Use proven software packages.

¿Por qué foo desapareció de AUR?

Es posible que el paquete haya sido adoptado por un TU (Trusted Users —«usuarios de confianza»—) y ahora esté en el repositorio community.

Los paquetes pueden eliminarse si no cumplen con las #Reglas de envío. Consulte los aur-requests archivos para conocer el motivo de la eliminación.

Si el paquete estaba presente en AUR3, podría no haber sido migrado a AUR4. Consulte los #Repositorios Git para paquetes AUR3 donde se conservará.

¿Cómo puedo averiguar si alguno de los paquetes instalados desapareció de AUR?

La forma más sencilla es verificar el estado HTTP de la página AUR del paquete:

$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)

Si utiliza un AUR helper, puede acortar este script reemplazando la orden curl con cualquier orden que consulte AUR para un paquete.

¿Cómo puedo obtener una lista de todos los paquetes de AUR?

Véase también