Difference between revisions of "Arch User Repository (Italiano)"

From ArchWiki
Jump to: navigation, search
(update translation)
(flagged broken section links (interactive))
(Tag: wiki-scripts)
 
(29 intermediate revisions by 7 users not shown)
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]]
 
[[es:Arch User Repository]]
 
[[es:Arch User Repository]]
 +
[[fi:AUR]]
 
[[fr:AUR]]
 
[[fr:AUR]]
 
[[ja:Arch User Repository]]
 
[[ja:Arch User Repository]]
Line 16: Line 18:
 
[[ru:Arch User Repository]]
 
[[ru:Arch User Repository]]
 
[[sr:Arch User Repository]]
 
[[sr:Arch User Repository]]
[[tr:Arch_Kullanıcı_Deposu]]
+
[[tr:Arch Kullanıcı Deposu]]
 
[[uk:Arch User Repository]]
 
[[uk:Arch User Repository]]
 
[[zh-CN:Arch User Repository]]
 
[[zh-CN:Arch User Repository]]
{{Article summary start}}
+
[[zh-TW:Arch User Repository]]
{{Article summary text|L'Arch User Repository è una raccolta di [[PKGBUILD (Italiano)|PKGBUILD]] mantenuti dagli utenti che integrano software non disponibili nei [[Official Repositories (Italiano)|repository ufficiali]]. Questo articolo descrive come creare pacchetti software su AUR.}}
+
{{Related articles start (Italiano)}}
{{Article summary heading|Overview}}
+
{{Related|AUR helpers}}
{{Article summary text|I pacchetti in Arch Linux vengono compilati utilizzando [[makepkg (Italiano) | makepkg]] ed uno script personalizzato per la compilazione di ogni pacchetto (noto come [[PKGBUILD (Italiano)|PKGBUILD]]). Dopo essere stato compilato, il software può essere installato e gestito tramite [[Pacman (Italiano) | pacman]]. I PKGBUILD per il software presente nei [[Official Repositories (Italiano) | repository ufficiali]] sono disponibili presso l'albero di [[Arch Build System (Italiano) | ABS]]; altre migliaia sono disponibili presso il (non supportato) [[Arch User Repository (Italiano) | Arch User Repository]].}}
+
{{Related|AurJson}}
{{Article summary heading|Correlati}}
+
{{Related|AUR Trusted User Guidelines}}
{{Article summary wiki|AUR Helpers}}
+
{{Related|PKGBUILD (Italiano)}}
{{Article summary wiki|AurJson}}
+
{{Related|makepkg (Italiano)}}
{{Article summary wiki|AUR Trusted User Guidelines}}
+
{{Related|pacman (Italiano)}}
{{Article summary heading|Risorse}}
+
{{Related|Official Repositories (Italiano)}}
{{Article summary link|Interfaccia Web AUR|https://aur.archlinux.org}}
+
{{Related|Arch Build System (Italiano)}}
{{Article summary link|AUR Mailing List|https://www.archlinux.org/mailman/listinfo/aur-general}}
+
{{Related articles end}}
{{Article summary end}}
+
  
[[Arch User Repository (Italiano) | Arch User Repository]] (AUR) è un repository sostenuto dalla comunità per utenti Arch. Contiene le descrizioni dei pacchetti (i [[PKGBUILD (Italiano)|PKGBUILD]]) che ti permettono di compilare i sorgenti grazie al comando [[makepkg (Italiano) | makepkg]] e quindi installarli con [[Pacman (Italiano) | pacman]]. AUR È stato creato per creare e scambiare pacchetti tra la comunità e per aiutarne lo sviluppo, inclusi i pacchetti del repository [[#.5Bcommunity.5D|[community]]]. Questo documento spiega come accedere ed installare i pacchetti presenti in AUR.
+
[[Arch User Repository (Italiano)|Arch User Repository]] (AUR) è un repository sostenuto dalla comunità per utenti Arch. Contiene le descrizioni dei pacchetti (i [[PKGBUILD (Italiano)|PKGBUILD]]) che ti permettono di compilare i sorgenti grazie al comando [[makepkg (Italiano)|makepkg]] e quindi installarli con [[Pacman (Italiano)|pacman]]. AUR È stato creato per creare e scambiare pacchetti tra la comunità e per aiutarne lo sviluppo, inclusi i pacchetti del repository [[#community|community]]. Questo documento spiega come accedere ed installare i pacchetti presenti in AUR.
  
Un buon numero di pacchetti ufficiali, in precedenza, erano presenti in AUR. La AUR community può votare pro o contro dei pacchetti presenti in AUR. Se un pacchetto diventa abbastanza popolare, sempre che venga incontro alle esigenze di pacchettizzazione e alle licenze, allora può entrare a far parte del repository [community] (direttamente accessibile da [[pacman (Italiano)|pacman]] o [[Arch Build System (Italiano)|abs]]).
+
Un buon numero di nuovi pacchetti che entrano nei repository ufficiali, partono prima in AUR. In AUR gli utenti sono in grado di contribuire con i propri pacchetti (PKGBUILD). La AUR community può votare pro o contro i pacchetti presenti in AUR. Se un pacchetto diventa abbastanza popolare, sempre che venga incontro alle esigenze di pacchettizzazione e alle licenze, può entrare a far parte del repository ''community'' (direttamente accessibile da [[pacman (Italiano)|pacman]] o [[Arch Build System (Italiano)|abs]]).
  
 
==Per iniziare==
 
==Per iniziare==
  
Gli utenti possono cercare e scaricare i PKGBUILD dal [https://aur.archlinux.org sito Web di AUR]. Questi PKGBUILD possono essere compilati in pacchetti installabili usando [[makepkg (Italiano) | makepkg]] e successivamente installati con pacman.
+
Gli utenti possono cercare e scaricare i PKGBUILD dal [https://aur.archlinux.org sito Web di AUR]. Questi PKGBUILD possono essere compilati in pacchetti installabili usando [[makepkg (Italiano)|makepkg]] e successivamente installati con pacman.
  
*Assicurarsi di aver isntallato il gruppo {{Grp|base-devel}} ({{ic|pacman -S --needed base-devel}}).
+
*Assicurarsi di aver installato il gruppo {{Grp|base-devel}} ({{ic|pacman -S --needed base-devel}}).
 
*Leggere il resto di questo articolo per ulteriori informazioni e un breve tutorial su come installare i pacchetti AUR.
 
*Leggere il resto di questo articolo per ulteriori informazioni e un breve tutorial su come installare i pacchetti AUR.
 
*Visitare il [https://aur.archlinux.org sito Web di AUR] per informarsi riguardo agli aggiornamenti ed agli eventi. Lì troverete anche statistiche ed una lista aggiornata delle ultime versioni disponibili per i pacchetti di AUR.
 
*Visitare il [https://aur.archlinux.org sito Web di AUR] per informarsi riguardo agli aggiornamenti ed agli eventi. Lì troverete anche statistiche ed una lista aggiornata delle ultime versioni disponibili per i pacchetti di AUR.
Line 52: Line 53:
 
Agli inizi c'era {{ic|<nowiki>ftp://ftp.archlinux.org/incoming</nowiki>}} e le persone vi hanno contribuito semplicemente inviando i PKGBUILD, i file necessari ed i file compilati stessi sul server. I pacchetti ed i file associati rimanevano lì fino a quando un [[Package Maintainer]] li vedeva e li adottava.
 
Agli inizi c'era {{ic|<nowiki>ftp://ftp.archlinux.org/incoming</nowiki>}} e le persone vi hanno contribuito semplicemente inviando i PKGBUILD, i file necessari ed i file compilati stessi sul server. I pacchetti ed i file associati rimanevano lì fino a quando un [[Package Maintainer]] li vedeva e li adottava.
  
Quindi nacquero i Trusted User Repositories (repositori per utenti fidati). Ad alcuni utenti della community era permesso dare ospitare i loro personali repository per condividerli con gli altri. AUR si è espanso su questa base, con l'obbiettivo di rendere contemporaneamente più flessibile e semplice il suo utilizzo. Infatti, i manutentori di AUR sono ancora definiti TUs ([[Trusted Users]]).
+
Quindi nacquero i Trusted User Repositories (repositori per utenti fidati). Ad alcuni utenti della community era permesso di ospitare i loro personali repository per condividerli con gli altri. AUR si è espanso su questa base, con l'obbiettivo di rendere contemporaneamente più flessibile e semplice il suo utilizzo. Infatti, i manutentori di AUR sono ancora definiti TUs ([[Trusted Users]]).
  
 
==Ricerche su AUR==
 
==Ricerche su AUR==
Line 64: Line 65:
 
Installare i pacchetti da AUR è un processo relativamente semplice. Essenzialmente:
 
Installare i pacchetti da AUR è un processo relativamente semplice. Essenzialmente:
 
#Ottenere il tarball contenente il [[PKGBUILD]] e gli eventuali altri file necessari come unità di systemd e patch (ma spesso non i sorgenti di per sè).
 
#Ottenere il tarball contenente il [[PKGBUILD]] e gli eventuali altri file necessari come unità di systemd e patch (ma spesso non i sorgenti di per sè).
#Estrarre il tarball (preferibilmente in una cartella da tenere da parte solo per le compilazioni di AUR) con {{ic|tar -xzf foo.tar.gz}}.
+
#Estrarre il tarball (preferibilmente in una cartella a parte da usare solo per le compilazioni di AUR) con {{ic|tar -xvzf foo.tar.gz}}.
 +
#Verificare che il PKGBUILD e i file che lo accompagnano non siano pericolosi o inattendibili.
 
#Lanciare il comando {{ic|makepkg}} all'interno della directory contenente i file scaricati (il comando "{{Ic|makepkg -s}}" si occuperà di risolvere automaticamente le dipendenze tramite pacman). Questo scaricherà e compilerà il codice, infine creerà il pacchetto.
 
#Lanciare il comando {{ic|makepkg}} all'interno della directory contenente i file scaricati (il comando "{{Ic|makepkg -s}}" si occuperà di risolvere automaticamente le dipendenze tramite pacman). Questo scaricherà e compilerà il codice, infine creerà il pacchetto.
 
#Leggere l'eventuale file README in {{ic|src/}}, dato che potrebbe contenere informazioni utili più avanti.
 
#Leggere l'eventuale file README in {{ic|src/}}, dato che potrebbe contenere informazioni utili più avanti.
Line 71: Line 73:
 
:{{bc|$ pacman -U /percorso/per/il/pacchetto.tar.xz}}
 
:{{bc|$ pacman -U /percorso/per/il/pacchetto.tar.xz}}
  
Gli [[AUR Helpers]] garantiscono un accesso simile ad AUR. Sono svariati nelle loro caratteristiche, ma possono facilitare nella ricerca, nel download, nella compilazione e nell'installazione dei pacchetti tramite i [[PKGBUILD (Italiano) | PKGBUILD]] disponibili su AUR. Tutti questi script possono essere trovati in AUR.
+
Gli [[AUR helpers]] garantiscono un accesso simile ad AUR. Sono svariati nelle loro caratteristiche, ma possono facilitare nella ricerca, nel download, nella compilazione e nell'installazione dei pacchetti tramite i [[PKGBUILD (Italiano)|PKGBUILD]] disponibili su AUR. Tutti questi script possono essere trovati in AUR.
  
 
{{Note|Non c'è e non ci sarà mai un meccanismo ''ufficiale'' per l'installazione di materiale precompilato da AUR. '''Tutti gli utenti di AUR dovrebbero essere pratici del processo di compilazione.'''}}
 
{{Note|Non c'è e non ci sarà mai un meccanismo ''ufficiale'' per l'installazione di materiale precompilato da AUR. '''Tutti gli utenti di AUR dovrebbero essere pratici del processo di compilazione.'''}}
 
Quello che segue è un esempio dettagliato dell'installazione del pacchetto chiamato "foo".
 
  
 
===Requisiti===
 
===Requisiti===
Line 81: Line 81:
 
Per prima cosa, assicurarsi che gli strumenti necessari siano installati. Il gruppo di pacchetti {{grp|base-devel}} dovrebbe essere sufficiente; include {{pkg|make}} ed altri pacchetti necessari alla compilazione dai sorgenti.
 
Per prima cosa, assicurarsi che gli strumenti necessari siano installati. Il gruppo di pacchetti {{grp|base-devel}} dovrebbe essere sufficiente; include {{pkg|make}} ed altri pacchetti necessari alla compilazione dai sorgenti.
  
{{Attenzione|I pacchetti su AUR presumono che il gruppo {{grp|base-devel}} sia già stato installato, ed essi non riporteranno i componenti di questo gruppo tra le dipendenze, anche se il pacchetto non può essere compilato senza di essi. Siete pregati di assicurarvi che questo gruppo sia installato prima di denunciare fallimenti nelle compilazioni.}}
+
{{Attenzione|I pacchetti su AUR presumono che il gruppo {{grp|base-devel}} sia già stato installato, cioè essi non riporteranno i componenti di questo gruppo tra le dipendenze, anche se il pacchetto non può essere compilato senza di essi. Siete pregati di assicurarvi che questo gruppo sia installato prima di denunciare fallimenti nelle compilazioni.}}
  
 
  # pacman -S --needed base-devel
 
  # pacman -S --needed base-devel
Line 87: Line 87:
  
 
  ~/builds
 
  ~/builds
oppure se si utilizza ABS ([[Arch Build System (Italiano) | Arch Build System ]]):
+
oppure se si utilizza ABS ([[Arch Build System (Italiano)|Arch Build System ]]):
  
 
  /var/abs/local
 
  /var/abs/local
Per maggiori informazioni su ABS leggete la guida [[Arch Build System (Italiano) | Arch Build System]]. L'esempio userà {{ic|~/builds}} come cartella di compilazione.
+
Per maggiori informazioni su ABS leggete la guida [[Arch Build System (Italiano)|Arch Build System]]. L'esempio userà {{ic|~/builds}} come cartella di compilazione.
  
 
===Ottenere i file necessari===
 
===Ottenere i file necessari===
Line 96: Line 96:
 
Trovare il pacchetto su AUR. Ciò può essere fatto usando lo strumento di ricerca (la casella di testo in alto nella [https://aur.archlinux.org/ home page di AUR]). Cliccando sul nome del pacchetto nei risultati della ricerca si aprirà la pagina informativa relativa al pacchetto. Leggere la descrizione per assicurarsi che si tratti del pacchetto che si stà cercando, controllare quando il pacchetto è stato aggiornato l'ultima volta, e leggere i relativi commenti.
 
Trovare il pacchetto su AUR. Ciò può essere fatto usando lo strumento di ricerca (la casella di testo in alto nella [https://aur.archlinux.org/ home page di AUR]). Cliccando sul nome del pacchetto nei risultati della ricerca si aprirà la pagina informativa relativa al pacchetto. Leggere la descrizione per assicurarsi che si tratti del pacchetto che si stà cercando, controllare quando il pacchetto è stato aggiornato l'ultima volta, e leggere i relativi commenti.
  
Scaricare i file necessari cliccando sul link "Scarica il tarball" nel riquadro "Azioni del pacchetto" a destra. Questo file dovrebbe essere salvato nella cartella di compilazione o quantomeno vi andrebbe copiato al termine del download. In questo esempio si suppone di avere il file chiamato "foo.tar.gz"(il formato standard è ''nomepacchetto''.tar.gz, se è stato inviato correttamente).
+
Ci sono tre metodi per ottenere i file necessari per la compilazione, senza la necessità di utilizzare un AUR helper:
  
In alternativa è possibile scaricare il tarball dal terminale, dopo essersi spostati nella cartella di compilazione:
+
*Scaricare i file necessari per la compilazione cliccando sul link "Scarica lo snapshot" nel riquadro "Azioni del pacchetto" a destra. Questo file dovrebbe essere salvato nella cartella di compilazione o quantomeno vi andrebbe copiato al termine del download. In questo esempio si suppone di avere il file chiamato "foo.tar.gz"(il formato standard è ''nomepacchetto''.tar.gz, se è stato inviato correttamente).
 +
 
 +
*In alternativa è possibile scaricare il tarball dal terminale, dopo essersi spostati nella cartella di compilazione:
  
 
  $ cd ~/builds
 
  $ cd ~/builds
  $ curl -O <nowiki>https://aur.archlinux.org/packages/fo/foo/foo.tar.gz</nowiki>
+
  $ curl -L -O <nowiki>https://aur.archlinux.org/packages/fo/foo/foo.tar.gz</nowiki>
 +
 
 +
*E' anche possibile clonare il repository [[Git]], che è denominato "Git Clone URL" nei "Dettagli del pacchetto":
 +
 
 +
$ cd ~/build-repos
 +
$ git clone https://aur.archlinux.org/foo.git
  
 
===Compilare il pacchetto===
 
===Compilare il pacchetto===
Line 111: Line 118:
  
 
Questo creerà una cartella di nome "foo" all'interno della directory di compilazione.
 
Questo creerà una cartella di nome "foo" all'interno della directory di compilazione.
 +
 +
{{Note|Nel caso di clone del git, il processio di estrazione non è necesseario. Il clone git ha già creato la directory {{ic|foo}}.}}
  
 
{{Attenzione|'''Controllare accuratamente tutti i file.'''  Spostarsi nella nuova cartella appena creata e controllare accuratamente il {{ic|PKGBUILD}} ed eventuali {{ic|.install}} verificando che non contengano comandi potenzialmente pericolosi. I {{ic|PKGBUILD}} sono script bash che contengono funzioni che verranno eseguite da {{Ic|makepkg}}: queste funzioni possono contenere un qualsiasi comando valido o sintassi di Bash, quindi è del tutto possibile che un {{ic|PKGBUILD}} contenga comandi pericolosi all'insaputa dell'autore. Da quando {{Ic|makepkg}} utilizza fakeroot (e non dovrebbe mai essere eseguito da root), c'è un certo livello di protezione, ma non si dovrebbe mai farci troppo affidamento. In caso di dubbi NON compilare il pacchetto e cercare consigli sui forum o sulle mailing list.}}
 
{{Attenzione|'''Controllare accuratamente tutti i file.'''  Spostarsi nella nuova cartella appena creata e controllare accuratamente il {{ic|PKGBUILD}} ed eventuali {{ic|.install}} verificando che non contengano comandi potenzialmente pericolosi. I {{ic|PKGBUILD}} sono script bash che contengono funzioni che verranno eseguite da {{Ic|makepkg}}: queste funzioni possono contenere un qualsiasi comando valido o sintassi di Bash, quindi è del tutto possibile che un {{ic|PKGBUILD}} contenga comandi pericolosi all'insaputa dell'autore. Da quando {{Ic|makepkg}} utilizza fakeroot (e non dovrebbe mai essere eseguito da root), c'è un certo livello di protezione, ma non si dovrebbe mai farci troppo affidamento. In caso di dubbi NON compilare il pacchetto e cercare consigli sui forum o sulle mailing list.}}
Line 142: Line 151:
 
==Feedback==
 
==Feedback==
  
La gestione dei commenti [https://aur.archlinux.org AUR Web Interface] facilita gli utenti a dare suggerimenti e responsi su possibili miglioramenti ai manutenitori dei [[PKGBUILD (Italiano) | PKGBUILD]]. Evitare di incollare patch o PKGBUILD nella sezione dei commenti. Questi commenti diventano velocemente obsoleti e senza utilità occupando molto spazio. E' quindi preferibile inviarli per email al manutentore oppure usare [[pastebin Clients|pastebin]].
+
La gestione dei commenti [https://aur.archlinux.org AUR Web Interface] facilita gli utenti a dare suggerimenti e responsi su possibili miglioramenti ai manutenitori dei [[PKGBUILD (Italiano)|PKGBUILD]]. Evitare di incollare patch o PKGBUILD nella sezione dei commenti. Questi commenti diventano velocemente obsoleti e senza utilità occupando molto spazio. E' quindi preferibile inviarli per email al manutentore oppure usare [[pastebin Clients|pastebin]].
  
Una delle essenziali attività di '''tutti''' gli utenti di Arch è consultare tra i pacchetti di AUR e '''votare''' per i pacchetti preferiti attraverso il sito web di AUR. Tutti i pacchetti possonno essere adottati da un TU ( un utente fidato - Trusted User) per una eventuale inclusione nel repostory [community], ed il conteggio dei voti è uno degli aspetti di questo processo; è quindi nell'interesse di tutti esprimere il proprio voto!
+
Una delle essenziali attività di '''tutti''' gli utenti di Arch è consultare tra i pacchetti di AUR e '''votare''' per i pacchetti preferiti attraverso il sito web di AUR. Tutti i pacchetti possonno essere adottati da un TU ( un utente fidato - Trusted User) per una eventuale inclusione nel repostory [[#community|community]], ed il conteggio dei voti è uno degli aspetti di questo processo; è quindi nell'interesse di tutti esprimere il proprio voto!
  
 
==Condividere e mantenere i pacchetti==
 
==Condividere e mantenere i pacchetti==
Line 154: Line 163:
 
===Aggiungere pacchetti===
 
===Aggiungere pacchetti===
  
Dopo aver effettuato l'accesso sul sito di AUR, un utente può [https://aur.archlinux.org/pkgsubmit.php spedire] un archivio tar compresso con gzip ({{ic|.tar.gz}}) di una directory contenente i file necessari alla compilazione del pacchetto. La directory all'interno dell'archivio deve contenere un {{ic|PKGBUILD}}, eventuali file {{ic|.install}}, le patch, eccetera ('''assolutamente''' nessun file compilato). Un esempio di come questa cartella dovrebbe essere può essere trovato all'interno di {{ic|/var/abs}} nel caso in cui sia stato installato [[Arch Build System (Italiano) | ABS]].
+
{{Attenzione|Prima di sottomettere un pacchetto ci si aspetta che tu abbia familiarizzato con [[Arch packaging standards (Italiano)]].}}
 +
 
 +
Dopo aver effettuato l'accesso sul sito di AUR, un utente può [https://aur.archlinux.org/pkgsubmit.php spedire] un archivio tar compresso con gzip ({{ic|.tar.gz}}) di una directory contenente i file necessari alla compilazione del pacchetto. La directory all'interno dell'archivio deve contenere un {{ic|PKGBUILD}}, eventuali file {{ic|.install}}, le patch, eccetera ('''assolutamente''' nessun file compilato). Un esempio di come questa cartella dovrebbe essere può essere trovato all'interno di {{ic|/var/abs}} nel caso in cui sia stato installato [[Arch Build System (Italiano)|ABS]].
  
 
L'archivio può essere creato con il seguente comando:
 
L'archivio può essere creato con il seguente comando:
Line 166: Line 177:
 
libfoo/PKGBUILD
 
libfoo/PKGBUILD
 
libfoo/libfoo.install}}
 
libfoo/libfoo.install}}
 +
 +
====Regole per la sottomissione dei pacchetti====
  
 
Quando si invia un pacchetto, attenersi alle seguenti regole:
 
Quando si invia un pacchetto, attenersi alle seguenti regole:
 
* Cercare il pacchetto nel [https://www.archlinux.org/packages/ database ufficiale]. Se '''una qualunque versione''' è già presente, '''non''' inviare il pacchetto. Se il pacchetto ufficiale non è aggiornato, marcarlo con l'apposito link. Se il pacchetto ufficiale è danneggiato o privo di alcune funzionalità è raccomandato aprire un [https://bugs.archlinux.org/ bug report].
 
* Cercare il pacchetto nel [https://www.archlinux.org/packages/ database ufficiale]. Se '''una qualunque versione''' è già presente, '''non''' inviare il pacchetto. Se il pacchetto ufficiale non è aggiornato, marcarlo con l'apposito link. Se il pacchetto ufficiale è danneggiato o privo di alcune funzionalità è raccomandato aprire un [https://bugs.archlinux.org/ bug report].
 
* Controllare '''AUR''' alla ricerca del pacchetto. Nel caso in cui sia già mantenuto da un utente, lo si può contattare lasciando un commento. Se il pacchetto è orfano allora può essere adottato ed aggiornato se necessario. Non creare pacchetti "doppioni".
 
* Controllare '''AUR''' alla ricerca del pacchetto. Nel caso in cui sia già mantenuto da un utente, lo si può contattare lasciando un commento. Se il pacchetto è orfano allora può essere adottato ed aggiornato se necessario. Non creare pacchetti "doppioni".
* Verificare accuratamente che il file spedito sia quello giusto. Tutti gli utenti nello scrivere un PKGBUILD devono aver letto ed attenersi agli [[Arch Packaging Standards (Italiano)|standard di pacchettizazione di Arch]]. Tutto questo è essenziale per il corretto funzionamento e per il successo di AUR. Ricordare che non si guadagnano né credito né rispetto dagli utenti facendo loro perdere tempo con pessimi PKGBUILD.
+
* Verificare accuratamente che il file spedito sia quello giusto. Tutti gli utenti nello scrivere un PKGBUILD devono aver letto ed attenersi agli [[Arch packaging standards (Italiano)|standard di pacchettizazione di Arch]]. Tutto questo è essenziale per il corretto funzionamento e per il successo di AUR. Ricordare che non si guadagnano né credito né rispetto dagli utenti facendo loro perdere tempo con pessimi PKGBUILD.
 
* I pacchetti che contengono file compilati o scritti poco accuratamente possono essere cancellati senza preavviso.
 
* I pacchetti che contengono file compilati o scritti poco accuratamente possono essere cancellati senza preavviso.
 
* Se non si è sicuri riguardo al pacchetto (oppure al processo di compilazione o di spedizione), inviare il PKGBUILD sulla [https://mailman.archlinux.org/mailman/listinfo/ Mailing List di AUR] o postarlo nelle apposite [https://bbs.archlinux.org/viewforum.php?id=4 sezioni di AUR] dei forum per ottenere consigli, prima di inviare il pacchetto su AUR.
 
* Se non si è sicuri riguardo al pacchetto (oppure al processo di compilazione o di spedizione), inviare il PKGBUILD sulla [https://mailman.archlinux.org/mailman/listinfo/ Mailing List di AUR] o postarlo nelle apposite [https://bbs.archlinux.org/viewforum.php?id=4 sezioni di AUR] dei forum per ottenere consigli, prima di inviare il pacchetto su AUR.
Line 176: Line 189:
 
* L'AUR e i repository ufficiali sono concepiti per pacchetti che installano generalmente software e contenuti correlati, compresi uno o più tra i seguenti: eseguibili; file di configurazione; dcumentazione online o offline per software specifici o per la distribuzione Arch Linux intera; file multimediali utilizzati direttamente dal software.
 
* L'AUR e i repository ufficiali sono concepiti per pacchetti che installano generalmente software e contenuti correlati, compresi uno o più tra i seguenti: eseguibili; file di configurazione; dcumentazione online o offline per software specifici o per la distribuzione Arch Linux intera; file multimediali utilizzati direttamente dal software.
 
* Accumulare esperienza prima di spedire pacchetti. Compilare alcuni pacchetti per imparare il meccanismo ed allora spedirlo.
 
* Accumulare esperienza prima di spedire pacchetti. Compilare alcuni pacchetti per imparare il meccanismo ed allora spedirlo.
* Se si spedisce {{ic|pacchetto.tar.gz}} con all'interno un file di nome {{ic|pacchetto}} si otterrà un errore: "Could not change to directory {{ic|/home/aur/unsupported/pacchetto/pacchetto}}". Per evitare questo errore rinominare il file chiamato {{ic|pacchetto}} ad esempio in {{ic|pacchetto.rc}} o simili. Quando sarà estratto nella cartella {{ic|pkg}} sarà possibile rinominarlo nuovamente come {{ic|pacchetto}}. Assicurarsi di leggere anche [[Arch Packaging Standards (Italiano)#Invio di pacchetti ad AUR]].
+
* Se si spedisce {{ic|pacchetto.tar.gz}} con all'interno un file di nome {{ic|pacchetto}} si otterrà un errore: "Could not change to directory {{ic|/home/aur/unsupported/pacchetto/pacchetto}}". Per evitare questo errore rinominare il file chiamato {{ic|pacchetto}} ad esempio in {{ic|pacchetto.rc}} o simili. Quando sarà estratto nella cartella {{ic|pkg}} sarà possibile rinominarlo nuovamente come {{ic|pacchetto}}. Assicurarsi di leggere anche [[Arch packaging standards (Italiano)#Invio di pacchetti ad AUR]].
 +
 
 +
====Autenticazione====
 +
 
 +
Per avere accesso in scrittura ad AUR, gli utenti hanno bisogno di avere una coppia di [[SSH keys]]. E' necessario copiare il contenuto della chiave pubblica nel profilo utente in ''Il mio account'', e configurare la chiave privata corrispondente, per l'host {{ic|aur.archlinux.org}}. Ad esempio:
 +
{{hc|~/.ssh/config|
 +
Host aur.archlinux.org
 +
  IdentityFile ~/.ssh/aur
 +
  User aur}}
 +
 
 +
Si raccomanda di [[SSH_keys#Generating_an_SSH_key_pair|creare una nuova coppia]] piuttosto che usarne una esistente, in modo da poter revocare le chiavi selettivamente nel caso in cui succeda qualcosa.
 +
 
 +
====Creare un nuovo pacchetto====
 +
 
 +
Per inviare un pacchetto, è semplicemente necessario clonare il repository Git col nome corrispondente:
 +
 
 +
$ git clone <nowiki>ssh://</nowiki>aur@aur.archlinux.org/''foobar''.git
 +
 
 +
Eseguire il cloning, o il pushing, di un repository non esistente ne creerà automaticamente uno nuovo.
 +
E' possibile adesso aggiungere i file sorgenti nella copia locale del repository Git. Vedi [[#Caricare i pacchetti]]. Il nuovo pacchetto comparirà su AUR dopo che viene effettuato il push del primo commit.
 +
 
 +
====Caricare i pacchetti====
 +
 
 +
La procedura per caricare i pacchetti su AUR è la stessa sia per i nuovi pacchetti, che per gli aggiornamenti di quelli già esistenti. Per fare il push del pacchetto su AUR è necessario includere sempre almeno il {{ic|PKGBUILD}} e {{ic|.SRCINFO}} (che contiene [[#AUR metadata]]{{Broken section link}}) nella directory di livello piu' alto.
 +
Per caricarlo, aggiungere il {{ic|PKGBUILD}}, {{ic|.SRCINFO}} e qualsiasi altro file utile (come file {{ic|.install}} o file sorgenti locali come {{ic|.patch}}) alla ''staging area'' con {{ic|git add}}, eseguire il commit sull'albero locale con un messaggio di commit {{ic|git commit}}, e infine pubblicare i cambiamenti in AUR con {{ic|git push}}.
 +
 
 +
Per esempio:
 +
 
 +
$ makepkg --printsrcinfo > .SRCINFO
 +
$ git add PKGBUILD .SRCINFO
 +
$ git commit -m "''useful commit message''"
 +
$ git push origin master
 +
 
 +
{{Tip|Se all'inizio ci si dimentica  di fare il commit del {{ic|.SRCINFO}} e viene aggiunto in un commit successivo, AUR rifiutera' il push poichè {{ic|.SRCINFO}} deve esserci per ''ogni'' commit. Per risolvere questo problema è possibile usare [https://git-scm.com/docs/git-rebase git rebase] con l'opzione {{ic|--root}} o [https://git-scm.com/docs/git-filter-branch git filter-branch] con l'opzione {{ic|--tree-filter}}.}}
  
 
===Mantenere i pacchetti===
 
===Mantenere i pacchetti===
  
* Se si mantiene un pacchetto e si vuole aggiornare il PKGBUILD dello stesso, basta ripresentarlo.  
+
* Se si mantiene un pacchetto e si vuole aggiornare il PKGBUILD dello stesso, basta reinviarlo.  
 
* Controllare le opinioni ed i commenti degli utenti, provare ad implementare eventuali miglioramenti suggeriti; considerare questa come una possibiltà per imparare!
 
* Controllare le opinioni ed i commenti degli utenti, provare ad implementare eventuali miglioramenti suggeriti; considerare questa come una possibiltà per imparare!
 +
* Per favore non lasciare commenti contenenti il numero della versione ogni volta che viene aggiornato il pacchetto. Questo permette di mantenere la sezione dei commenti utilizzabile per i contenuti utili menzionati sopra. Gli [[AUR helpers]] sono piu' adatti per cercare gli aggiornamenti.
 
* Non spedire e poi dimenticarsi dei pacchetti! È responsabilità del "maintainer" mantenere e controllare il pacchetto, seguendo gli aggiornamenti ed ottimizzando il PKGBUILD.
 
* Non spedire e poi dimenticarsi dei pacchetti! È responsabilità del "maintainer" mantenere e controllare il pacchetto, seguendo gli aggiornamenti ed ottimizzando il PKGBUILD.
 
* Se non si vuole più mantenere un pacchetto per qualsiasi ragione, {{ic|abbandonare}} il pacchetto dalla propria pagina sul sito di AUR e postare un messaggio sulla mailing list.
 
* Se non si vuole più mantenere un pacchetto per qualsiasi ragione, {{ic|abbandonare}} il pacchetto dalla propria pagina sul sito di AUR e postare un messaggio sulla mailing list.
Line 187: Line 234:
 
===Altri tipi di richieste===
 
===Altri tipi di richieste===
  
* Le richieste di disconoscimento e di rimozione vanno inviate ad Aur General Mailing List dove i TU ed altri utenti decideranno.
+
* Le richieste di disconoscimento e di rimozione dei pacchetti possono essere create cliccando su "Invia la richiesta" sotto "Azioni del pacchetto", sulla destra. Questo manda automaticamente una email di notifica all'attuale responsabile del pacchetto e alla [https://mailman.archlinux.org/mailman/listinfo/aur-requests aur-requests mailing list] per discuterne. I [[Trusted Users]] dunque accetteranno o respingeranno la richiesta.
* '''Includere il nome del pacchetto e l'URL alla pagina AUR''', preferibilmente con una nota [1].
+
* Le richieste di disconoscimento saranno concesse dopo due settimane, se l'attuale responsabile del pacchetto non ha risposto.
* Le richieste di disconoscimento saranno concesse due settimane dopo che l'attuale responsabile sia stato contattato via e-mail e non abbia risposto.
+
* E' stata implementata l''''unione dei pacchetti''', gli utenti devono ancora ripresentare un pacchetto con un nuovo nome e possono richiedere l'unione dei commenti e dei voti della vecchia versione.
* '''La rinomina pacchetti non è ancora implementata''', così gli utenti devono ripresentare un pacchetto con un nuovo nome e richiedere la rimozione della vecchia versione alla mailing list.
+
 
* Le richieste di rimozione necessitano delle seguenti informazioni:
 
* Le richieste di rimozione necessitano delle seguenti informazioni:
 
** Nome del pacchetto e URL alla pagina AUR.
 
** Nome del pacchetto e URL alla pagina AUR.
** Motivo della cancellazione, almeno una breve nota <br> '''Notice:''' Anche se i commenti di un pacchetto sono motivo sufficiente per la cancellazione di un pacchetto. Non appena interviene un TU, l'unico luogo in cui tali informazioni possono essere ottenute è la aur generale mailing list.
+
** Motivo della cancellazione, almeno una breve nota <br> '''Attenzione:''' I commenti di un pacchetto non fanno notare in modo sufficiente le ragioni per la cancellazione del pacchetto. Infatti, non appena interviene un TU, l'unico luogo in cui tali informazioni possono essere ottenute è la aur-requests mailing list.
 
** Includere dettagli informativi, ad esempio se il pacchetto è incluso da qualche altra parte, se si è il manutentore, se il pacchetto è rinominato e il proprietario originale è d'accordo, ecc.
 
** Includere dettagli informativi, ad esempio se il pacchetto è incluso da qualche altra parte, se si è il manutentore, se il pacchetto è rinominato e il proprietario originale è d'accordo, ecc.
 +
** Per le richieste di unione: il nome del pacchetto base con cui unirlo.
  
 
Le richieste di rimozione possono essere disapprovate, nel qual caso probabilmente verrà consigliato di abbandonare il pacchetto per riferimento futuro.
 
Le richieste di rimozione possono essere disapprovate, nel qual caso probabilmente verrà consigliato di abbandonare il pacchetto per riferimento futuro.
  
==[community]==
+
==community==
  
Il repository [community] è mantenuto dai [[Trusted Users]], e contiene i pacchetti più famosi provenienti da AUR. E' abilitato di default in {{ic|pacman.conf}}. Se fosse disabilitato o rimosso, può essere abilitato decommentando o aggiungendo queste due linee:
+
Il repository ''community'' è mantenuto dai [[Trusted Users]], e contiene i pacchetti più famosi provenienti da AUR. E' abilitato di default in {{ic|pacman.conf}}. Se fosse disabilitato o rimosso, può essere abilitato decommentando o aggiungendo queste due linee:
  
 
{{hc|/etc/pacman.conf
 
{{hc|/etc/pacman.conf
Line 210: Line 257:
 
}}
 
}}
  
Questo repository, contrariamente ad AUR, contiene pacchetti compilati che possono essere installati direttamente con [[pacman]], ed i file necessari alla compilazione sono reperibili tramite [[Arch Build System (Italiano) | ABS]]. Alcuni di questi pacchetti possono eventualmente essere trasferiti in [core] o in [extra] se gli sviluppatori li considerano necessari alla distribuzione.
+
Questo repository, contrariamente ad AUR, contiene pacchetti compilati che possono essere installati direttamente con [[pacman]], ed i file necessari alla compilazione sono reperibili tramite [[Arch Build System (Italiano)|ABS]]. Alcuni di questi pacchetti possono eventualmente essere trasferiti in ''core'' o in ''extra'' se gli sviluppatori li considerano necessari alla distribuzione.
  
Gli utenti possono accedere ai file per la compilazione dei pacchetti di [community] editando {{ic|/etc/abs.conf}} ed abilitando il repository community all'interno dell'array {{Ic|REPOS}}.
+
Gli utenti possono accedere ai file per la compilazione dei pacchetti di ''community'' editando {{ic|/etc/abs.conf}} ed abilitando il repository ''community'' all'interno dell'array {{Ic|REPOS}}.
  
 
==Git Repo==
 
==Git Repo==
Line 224: Line 271:
 
==FAQ==
 
==FAQ==
  
{{FAQ
+
=== Cos'è AUR? ===
|question=Cos'è AUR?
+
|answer=AUR (Arch User Repository) è una locazione dove la comunità di ArchLinux può mandare i [[PKGBUILD (Italiano) | PKGBUILD]] di applicazioni, librerie, etc. e condividerli con l'intera comunità. Gli altri utenti possono votare i loro favoriti per proporne lo spostamento nei repository [community] in modo da essere diffusi in formato binario.}}
+
  
{{FAQ
+
AUR (Arch User Repository) è una locazione dove la comunità di ArchLinux può mandare i [[PKGBUILD (Italiano)|PKGBUILD]] di applicazioni, librerie, etc. e condividerli con l'intera comunità. Gli altri utenti possono votare i loro favoriti per proporne lo spostamento nei repository ''community'' in modo da essere diffusi in formato binario.
|question=Che tipo di pacchetti sono permessi su AUR?
+
|answer=I pacchetti di AUR sono semplicemente degli "script di compilazione", ossia le istruzioni per compilare i binari per pacman. Nella maggior parte dei casi non ci sono limitazioni, se non le sopracitate linee guida sull'utilità e la finalità, e la richiesta di conformità con i termini di licenza del contenuto. In alcuni casi, quando si menziona che "non si può collegare il link" del download, come quando il contenuto non è ridistribuibile, si può utilizzare solo il nome del file stesso come fonte. Questo significa che gli utenti devono avere già i sorgenti nella directory indicata prima di iniziare il processo di compilazione del pacchetto. In caso di dubbi, chiedere.}}
+
  
{{FAQ
+
=== Che tipo di pacchetti sono permessi su AUR? ===
|question=Come si votano i pacchetti in AUR?
+
|answer=Registrando un account sul [https://aur.archlinux.org/ website di AUR] si abilita un link per votare un pacchetto nella rispettiva pagina.}}
+
  
{{FAQ
+
I pacchetti di AUR sono semplicemente degli "script di compilazione", ossia le istruzioni per compilare i binari per pacman. Nella maggior parte dei casi non ci sono limitazioni, se non le sopracitate linee guida sull'utilità e la finalità, e la richiesta di conformità con i termini di licenza del contenuto. In alcuni casi, quando si menziona che "non si può collegare il link" del download, come quando il contenuto non è ridistribuibile, si può utilizzare solo il nome del file stesso come fonte. Questo significa che gli utenti devono avere già i sorgenti nella directory indicata prima di iniziare il processo di compilazione del pacchetto. In caso di dubbi, chiedere.
|question=Cos'è un TU?
+
|answer=Un [[AUR Trusted User Guidelines|TU (Trusted User)]] è una persona che è stata scelta per supervisionare l'AUR e i repository [community]. Sono coloro che mantengono PKGBUILDs famosi in [community], segnano quali PKGBUILDs sono sicuri e, soprattutto, fanno funzionare AUR.}}
+
  
{{FAQ
+
=== Come si votano i pacchetti in AUR? ===
|question=Che differenza c'è tra Arch User Repository e [community]?
+
|answer= L'Arch User Repository è il sito che contiene i PKGBUILDs inviati dagli utenti; essi devono essere compilati manualmente con [[Makepkg (Italiano) | makepkg]]. Quando un PKGBUILD riceve sufficiente interesse dalla comunità e il supporto di un Trusted User, viene spostato nel repository [community] (gestito dai TU), da dove il pacchetto binario può essere installato con [[Pacman (Italiano)|pacman]].}}
+
  
{{FAQ
+
Registrando un account sul [https://aur.archlinux.org/ website di AUR] si abilita un link per votare un pacchetto nella rispettiva pagina.
|question=Quanti voti servono per far spostare un PKGBUILD in [community]?
+
|answer=Di solito, sono richiesti almeno 10 voti per spostare qualcosa in [community]. Comunque, se un TU vuole mantenere un pacchetto, sarà possibile trovarlo in [community].}}
+
  
{{FAQ
+
=== Cosun TU? ===
|question=Come si fa un PKGBUILD?
+
|answer= Guarda la voce [[Creating Packages (Italiano)]]. Ricorda di guardare su AUR se cgià il PKGBUILD che cerchi.}}
+
  
{{FAQ
+
Un [[AUR Trusted User Guidelines|TU (Trusted User)]] è una persona che è stata scelta per supervisionare l'AUR e i repository ''community''. Sono coloro che mantengono PKGBUILDs famosi in ''community'', segnano quali PKGBUILDs sono sicuri e, soprattutto, fanno funzionare AUR.
|question=Ho dato il comando "pacman -S foo"; non funziona, ma sono sicuro che si trova in [community]
+
|answer=Probabilmente non hai abilitato il repository [community] in {{ic|/etc/pacman.conf}}. È sufficiente decommentare le relative linee.
+
Se [community] è abilitato in {{ic|/etc/pacman.conf}} provare per prima cosa ad eseguire {{Ic|pacman -Syu}} per sincronizzare la pkgcache e aggiornare il sistema prima di provare nuovamente ad installare "foo".}}
+
  
{{FAQ
+
=== Che differenza c'è tra Arch User Repository e community? ===
|question=In AUR, un pacchetto non è aggiornato; cosa devo fare?
+
|answer=Innanzitutto puoi segnalare il pacchetto come out-of-date. Se rimane out-of-date per molto tempo, la cosa migliore da fare è mandare un'email al mantainer. Se non c'è risposta dal mantainer, puoi mandare una mail alla mailing list aur-general per chiedere a un Trusted User di rendere orfano quel PKGBUILD. Se vuoi, puoi chiedere di essere tu a mantenere quel PKGBUILD. Nel caso di pacchetti segnalati come out-of-date da più di 3 mesi o in generale non aggiornati da molto tempo, si prega di aggiungere quest'informazione nella richiesta.}}
+
  
{{FAQ
+
L'Arch User Repository è il sito che contiene i PKGBUILDs inviati dagli utenti; essi devono essere compilati manualmente con [[Makepkg (Italiano)|makepkg]]. Quando un PKGBUILD riceve sufficiente interesse dalla comunità e il supporto di un Trusted User, viene spostato nel repository ''community'' (gestito dai TU), da dove il pacchetto binario può essere installato con [[Pacman (Italiano)|pacman]].
|question=Ho un PKGBUILD che vorrei inviare; qualcuno può controllarlo per vedere se ci sono errori?
+
|answer=Puoi chiedere sulla mailing list aur-general, in modo da ricevere pareri dai Trusted User e da altri utenti di AUR. Puoi anche andare su [[ArchChannel|IRC]], #archlinux su irc.freenode.net. [[namcap]], infine, controllerà il tuo PKGBUILD e il pacchetto generato, segnalando eventuali errori.}}
+
  
{{FAQ
+
=== Quanti voti servono per far spostare un PKGBUILD in community? ===
|question=Il pacchetto Foo in AUR non compila quando lancio makepkg; cosa dovrei fare?
+
 
|answer=Probabilmente hai dimenticato qualcosa:
+
Di solito, sono richiesti almeno 10 voti per spostare qualcosa in ''community''. Comunque, se un TU vuole mantenere un pacchetto, sarà possibile trovarlo in ''community''.
 +
 
 +
=== Come si fa un PKGBUILD? ===
 +
 
 +
Guarda la voce [[Creating packages (Italiano)]]. Ricorda di guardare su AUR se c'è già il PKGBUILD che cerchi.
 +
 
 +
=== Ho dato il comando "pacman -S foo"; non funziona, ma sono sicuro che si trova in community ===
 +
 
 +
Probabilmente non hai abilitato il repository ''community'' in {{ic|/etc/pacman.conf}}. È sufficiente decommentare le relative linee.
 +
Se ''community'' è abilitato in {{ic|/etc/pacman.conf}} provare per prima cosa ad eseguire {{Ic|pacman -Syu}} per sincronizzare la pkgcache e aggiornare il sistema prima di provare nuovamente ad installare "foo".
 +
 
 +
=== In AUR, un pacchetto non è aggiornato; cosa devo fare? ===
 +
 
 +
Innanzitutto puoi segnalare il pacchetto come out-of-date. Se rimane out-of-date per molto tempo, la cosa migliore da fare è mandare un'email al mantainer. Se non c'è risposta dal mantainer, puoi mandare una mail alla mailing list aur-general per chiedere a un Trusted User di rendere orfano quel PKGBUILD. Se vuoi, puoi chiedere di essere tu a mantenere quel PKGBUILD. Nel caso di pacchetti segnalati come out-of-date da più di 3 mesi o in generale non aggiornati da molto tempo, si prega di aggiungere quest'informazione nella richiesta.
 +
 
 +
=== Ho un PKGBUILD che vorrei inviare; qualcuno può controllarlo per vedere se ci sono errori? ===
 +
 
 +
Puoi chiedere sulla mailing list aur-general, in modo da ricevere pareri dai Trusted User e da altri utenti di AUR. Puoi anche andare su [[ArchChannel|IRC]], #archlinux su irc.freenode.net. [[namcap]], infine, controllerà il tuo PKGBUILD e il pacchetto generato, segnalando eventuali errori.
 +
 
 +
=== Il pacchetto Foo in AUR non compila quando lancio makepkg; cosa dovrei fare? ===
 +
 
 +
Probabilmente hai dimenticato qualcosa:
  
 
# Lancia {{Ic|pacman -Syyu}} prima di compilare, dato che il problema potrebbe essere nel non aver aggiornato il tuo sistema.
 
# Lancia {{Ic|pacman -Syyu}} prima di compilare, dato che il problema potrebbe essere nel non aver aggiornato il tuo sistema.
Line 274: Line 321:
  
 
Il motivo, comunque, potrebbe non essere banale. CFLAGS, LDFLAGS e MAKEFLAGS personalizzati possono causare errori.
 
Il motivo, comunque, potrebbe non essere banale. CFLAGS, LDFLAGS e MAKEFLAGS personalizzati possono causare errori.
È anche possibile che il PKGBUILD sia semplicemente buggato. Se non riesci a capire qual è il problema, fallo presente al mantainer.}}
+
È anche possibile che il PKGBUILD sia semplicemente buggato. Se non riesci a capire qual è il problema, fallo presente al mantainer.
 +
 
 +
=== Come posso accelerare i ripetuti processi di compilazione? ===
 +
 
 +
Se compili frequentemente del codice che utiliza {{Ic|gcc}} come ad esempio pacchetti git o SVN - puoi trovare utile utilizzare [[ccache]], abbreviazione di "compiler cache".
 +
 
 +
=== Come faccio ad accedere ai pacchetti di unsupported ===
 +
 
 +
Leggi [[#Installare i pacchetti da AUR]].
 +
 
 +
=== Come faccio a mandare un PKGBUILD ad AUR senza usare l'interfaccia web? ===
 +
 
 +
Puoi usare {{Pkg|burp}}{{Broken package link|{{aur-mirror|burp}}}}, ''aurploader'' ({{AUR|python3-aur}}) o {{AUR|aurup}}{{Broken package link|{{aur-mirror|aurup}}}}, tutti con interfaccia da linea di comando.
 +
 
 +
== AUR 4 ==
 +
 
 +
Dalla vesione 4.0.0, aurweb userà dei repository Git per i pacchetti AUR e questo implica che il processo per l'invio dei pacchetti sarà differente. Mentre [https://aur.archlinux.org/ aur.archlinux.org] continua ad utilizzare aurweb 3.5.1, un versione release candidate di aurweb 4.0.0 è disponibile all'indirizzo [https://aur4.archlinux.org/ aur4.archlinux.org]. I manutentori dei pacchetti AUR dovranno migrare i propri pacchetti da [https://aur.archlinux.org/ aur.archlinux.org] a [https://aur4.archlinux.org/ aur4.archlinux.org] nel periodo compreso tra l'8 Giugno e l'8 Luglio. L'8 agosto, [https://aur4.archlinux.org/ aur4.archlinux.org] diventerà il nuovo AUR ufficiale (e verrà quindi spostato al sottodominio ''aur'').
 +
 
 +
=== Prima di inviare i pacchetti ad aur4.archlinux.org ===
 +
 
 +
Prima di inviare per la prima volta un pacchetto, è necessario creare una nuova coppia di chiavi SSH. Si consiglia di creare una nuova coppia di chiavi, invece di utilizzarne una esistente, in modo che si possa revocarla selettivamente in caso di necessità.
 +
 
 +
Per creare una nuova coppia di chiavi SSH, usare il comando:
 +
 
 +
$ ssh-keygen -f ~/.ssh/id_rsa-aur
 +
 
 +
Accedere quindi all'interfaccia web dell'AUR, spostarsi nella sezione ''My Account'' e copiare il contenuto di {{ic|~/.ssh/id_rsa-aur.pub}} (o di qualsiasi altra chiave si voglia utilizzare) nel campo ''SSH Public Key''. Infine cliccare ''Update'' per salvare la chiave. Si consiglia anche di aggiungere le seguenti linee al file {{ic|~/.ssh/config}} così da non dover specificare quale utente e chiave utilizzare ogni qualvolta ci si connette all'interfaccia SSH dell'AUR:
 +
 
 +
Host aur4.archlinux.org
 +
IdentityFile ~/.ssh/id_rsa-aur
 +
User aur
 +
 
 +
=== Inviare i pacchetti ad aur4.archlinux.org ===
 +
 
 +
{{Attenzione|Prima di inviare un pacchetto è opportuno familiarizzare con l'[[Arch packaging standards (Italiano)|Arch Packaging Standards]] e leggere tutti gli articoli in esso menzionati}}
 +
 
 +
Per inviare un pacchetto, basta semplicemente clonare il repository Git con il nome corrispondente:
 +
 
 +
$ git clone <nowiki>aur@aur4.archlinux.org:/</nowiki>''foobar''.git
 +
oppure, equivalentemente
 +
$ git clone <nowiki>ssh://aur@aur4.archlinux.org/</nowiki>''foobar''.git
 +
 
 +
Si possono quindi aggiungere i file sorgenti alla copia locale del repository Git. Quando si effettuano modifiche al repository, bisogna fare attenzione che nella directory principale siano sempre presenti i file {{ic|PKGBUILD}} e {{ic|.SRCINFO}}. Il file {{ic|.SRCINFO}} può essere generato usando {{ic|mksrcinfo}}, fornito da {{AUR|pkgbuild-introspection-git}}. Per inviare una nuova versione del pacchetto basta effettuare un commit contenete dei nuovi {{ic|PKGBUILD}}, {{ic|.SRCINFO}} e, se necessario, dei file aggiuntivi (come lo script di installazione) ed eseguire il comando {{ic|git push}}. Per esempio, dopo aver aggiunto il {{ic|PKGBUILD}} al repository appena creato, si possono eseguire i seguenti comandi per creare la commit iniziale:
 +
 
 +
$ mksrcinfo
 +
$ git add PKGBUILD .SRCINFO
 +
$ git commit -m 'Initial import'
 +
$ git push
 +
 
 +
Per aggiornare un pacchetto invece, basta aggiornare il {{ic|PKGBUILD}} ed eseguire i comandi seguenti per aggiornare inviare cambiamenti al repository Git nell'AUR:
 +
 
 +
$ mksrcinfo
 +
$ git commit -am 'Update to ''1.0.0'''
 +
$ git push
 +
 
 +
=== Script per la migrazione ===
 +
 
 +
Esistono diversi script per facilitare la migrazione da AUR ad AUR4:
  
{{FAQ
+
* [https://gist.github.com/bbidulock/82ab6f5347f021136054 bbidulock's script] to migrate from a .backup directory with all packages.
|question=Come posso accelerare i ripetuti processi di compilazione?
+
* [https://github.com/voidus/aur2git aur2git] - A ruby gem to download and submit your existing packages.
|answer=Se compili frequentemente del codice che utiliza {{Ic|gcc}} come ad esempio pacchetti git o SVN - puoi trovare utile utilizzare [[ccache]], abbreviazione di "compiler cache".}}
+
* [https://github.com/ido/packages-archlinux/blob/master/bin/import-to-aur4.sh import-to-aur4] to split an existing single git repository and retain the history.
  
{{FAQ
+
Si noti comunque che sono tutti creati da altri utenti e che quindi nessuno di essi e ufficialmente supportato!
|question=Come faccio ad accedere ai pacchetti di [unsupported]
+
|answer=Leggi [[#Installare i pacchetti da AUR]].}}
+
  
{{FAQ
+
== Altre risorse ==
|question=Come faccio a mandare un PKGBUILD ad AUR senza usare l'interfaccia web?
+
* [https://aur.archlinux.org AUR Web Interface]
|answer=Puoi usare {{Pkg|burp}}, {{AUR|aurploader}} o {{AUR|aurup}}, tutti con interfaccia da linea di comando.}}
+
* [https://www.archlinux.org/mailman/listinfo/aur-general AUR Mailing List]

Latest revision as of 12:17, 6 August 2016

Arch User Repository (AUR) è un repository sostenuto dalla comunità per utenti Arch. Contiene le descrizioni dei pacchetti (i PKGBUILD) che ti permettono di compilare i sorgenti grazie al comando makepkg e quindi installarli con pacman. AUR È stato creato per creare e scambiare pacchetti tra la comunità e per aiutarne lo sviluppo, inclusi i pacchetti del repository community. Questo documento spiega come accedere ed installare i pacchetti presenti in AUR.

Un buon numero di nuovi pacchetti che entrano nei repository ufficiali, partono prima in AUR. In AUR gli utenti sono in grado di contribuire con i propri pacchetti (PKGBUILD). La AUR community può votare pro o contro i pacchetti presenti in AUR. Se un pacchetto diventa abbastanza popolare, sempre che venga incontro alle esigenze di pacchettizzazione e alle licenze, può entrare a far parte del repository community (direttamente accessibile da pacman o abs).

Per iniziare

Gli utenti possono cercare e scaricare i PKGBUILD dal sito Web di AUR. Questi PKGBUILD possono essere compilati in pacchetti installabili usando makepkg e successivamente installati con pacman.

  • Assicurarsi di aver installato il gruppo base-devel (pacman -S --needed base-devel).
  • Leggere il resto di questo articolo per ulteriori informazioni e un breve tutorial su come installare i pacchetti AUR.
  • Visitare il sito Web di AUR per informarsi riguardo agli aggiornamenti ed agli eventi. Lì troverete anche statistiche ed una lista aggiornata delle ultime versioni disponibili per i pacchetti di AUR.
  • Dare un occhiata alle #FAQ in cerca di risposte alle domande più comuni.
  • Modificare il file /etc/makepkg.conf per ottimizzare al meglio le priorità del tuo processore per la compilazione dei pacchetti da AUR. Un significativo miglioramento nei tempi di compilazione può essere ottenuto, con i processori multi-core, impostando correttamente la variabile MAKEFLAGS. Gli utenti possono anche abilitare ottimizzazioni specifiche per l'hardware in GCC attraverso la variabile CFLAGS. Vedi makepkg.conf per ulteriori informazioni.

Storia

I seguenti stumenti sono stati riportati solo per motivazioni storiche, e sono stati sostituiti da AUR e non più disponibili.

Agli inizi c'era ftp://ftp.archlinux.org/incoming e le persone vi hanno contribuito semplicemente inviando i PKGBUILD, i file necessari ed i file compilati stessi sul server. I pacchetti ed i file associati rimanevano lì fino a quando un Package Maintainer li vedeva e li adottava.

Quindi nacquero i Trusted User Repositories (repositori per utenti fidati). Ad alcuni utenti della community era permesso di ospitare i loro personali repository per condividerli con gli altri. AUR si è espanso su questa base, con l'obbiettivo di rendere contemporaneamente più flessibile e semplice il suo utilizzo. Infatti, i manutentori di AUR sono ancora definiti TUs (Trusted Users).

Ricerche su AUR

Il sito Web di AUR può essere trovato qui, ed un'interfaccia per l'accesso ad AUR tramite uno script (ad esempio) può essere trovata qui.

Le ricerche avvengono all'interno dei nomi e delle descrizioni attraverso un metodo simile a quello di MYSQL. Questo permette l'uso di criteri di ricerca più flessibili (es. provare a cercare 'tool%like%grep%' invece di 'tool like grep'). Se si ha bisogno di ricercare una descrizione che contenga '%', usare il carattere di escape così '\%'.

Installare i pacchetti da AUR

Installare i pacchetti da AUR è un processo relativamente semplice. Essenzialmente:

  1. Ottenere il tarball contenente il PKGBUILD e gli eventuali altri file necessari come unità di systemd e patch (ma spesso non i sorgenti di per sè).
  2. Estrarre il tarball (preferibilmente in una cartella a parte da usare solo per le compilazioni di AUR) con tar -xvzf foo.tar.gz.
  3. Verificare che il PKGBUILD e i file che lo accompagnano non siano pericolosi o inattendibili.
  4. Lanciare il comando makepkg all'interno della directory contenente i file scaricati (il comando "makepkg -s" si occuperà di risolvere automaticamente le dipendenze tramite pacman). Questo scaricherà e compilerà il codice, infine creerà il pacchetto.
  5. Leggere l'eventuale file README in src/, dato che potrebbe contenere informazioni utili più avanti.
  6. Installare il pacchetto ottenuto tramite pacman:
$ pacman -U /percorso/per/il/pacchetto.tar.xz

Gli AUR helpers garantiscono un accesso simile ad AUR. Sono svariati nelle loro caratteristiche, ma possono facilitare nella ricerca, nel download, nella compilazione e nell'installazione dei pacchetti tramite i PKGBUILD disponibili su AUR. Tutti questi script possono essere trovati in AUR.

Note: Non c'è e non ci sarà mai un meccanismo ufficiale per l'installazione di materiale precompilato da AUR. Tutti gli utenti di AUR dovrebbero essere pratici del processo di compilazione.

Requisiti

Per prima cosa, assicurarsi che gli strumenti necessari siano installati. Il gruppo di pacchetti base-devel dovrebbe essere sufficiente; include make ed altri pacchetti necessari alla compilazione dai sorgenti.

Attenzione: I pacchetti su AUR presumono che il gruppo base-devel sia già stato installato, cioè essi non riporteranno i componenti di questo gruppo tra le dipendenze, anche se il pacchetto non può essere compilato senza di essi. Siete pregati di assicurarvi che questo gruppo sia installato prima di denunciare fallimenti nelle compilazioni.
# pacman -S --needed base-devel

Successivamente scegliere una cartella appropriata per la compilazione. Una cartella di compilazione è semplicemente una cartella dove il pacchetto viene compilato o "creato" e può essere una qualsiasi cartella. Un esempio di uso comune è:

~/builds

oppure se si utilizza ABS (Arch Build System ):

/var/abs/local

Per maggiori informazioni su ABS leggete la guida Arch Build System. L'esempio userà ~/builds come cartella di compilazione.

Ottenere i file necessari

Trovare il pacchetto su AUR. Ciò può essere fatto usando lo strumento di ricerca (la casella di testo in alto nella home page di AUR). Cliccando sul nome del pacchetto nei risultati della ricerca si aprirà la pagina informativa relativa al pacchetto. Leggere la descrizione per assicurarsi che si tratti del pacchetto che si stà cercando, controllare quando il pacchetto è stato aggiornato l'ultima volta, e leggere i relativi commenti.

Ci sono tre metodi per ottenere i file necessari per la compilazione, senza la necessità di utilizzare un AUR helper:

  • Scaricare i file necessari per la compilazione cliccando sul link "Scarica lo snapshot" nel riquadro "Azioni del pacchetto" a destra. Questo file dovrebbe essere salvato nella cartella di compilazione o quantomeno vi andrebbe copiato al termine del download. In questo esempio si suppone di avere il file chiamato "foo.tar.gz"(il formato standard è nomepacchetto.tar.gz, se è stato inviato correttamente).
  • In alternativa è possibile scaricare il tarball dal terminale, dopo essersi spostati nella cartella di compilazione:
$ cd ~/builds
$ curl -L -O https://aur.archlinux.org/packages/fo/foo/foo.tar.gz
  • E' anche possibile clonare il repository Git, che è denominato "Git Clone URL" nei "Dettagli del pacchetto":
$ cd ~/build-repos
$ git clone https://aur.archlinux.org/foo.git

Compilare il pacchetto

Spostarsi nella cartella di compilazione se non si fosse già lì, poi estrarre l'archivio precedentemente scaricato:

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

Questo creerà una cartella di nome "foo" all'interno della directory di compilazione.

Note: Nel caso di clone del git, il processio di estrazione non è necesseario. Il clone git ha già creato la directory foo.
Attenzione: Controllare accuratamente tutti i file. Spostarsi nella nuova cartella appena creata e controllare accuratamente il PKGBUILD ed eventuali .install verificando che non contengano comandi potenzialmente pericolosi. I PKGBUILD sono script bash che contengono funzioni che verranno eseguite da makepkg: queste funzioni possono contenere un qualsiasi comando valido o sintassi di Bash, quindi è del tutto possibile che un PKGBUILD contenga comandi pericolosi all'insaputa dell'autore. Da quando makepkg utilizza fakeroot (e non dovrebbe mai essere eseguito da root), c'è un certo livello di protezione, ma non si dovrebbe mai farci troppo affidamento. In caso di dubbi NON compilare il pacchetto e cercare consigli sui forum o sulle mailing list.
$ cd foo
$ nano PKGBUILD
$ nano foo.install

Dopo aver verificato l'integrità dei file, eseguire makepkg come normale utente.

$ makepkg -s

L'opzione switch -s utilizzerà sudo per l'installazione di eventuali dipendenze. Se non si intende utilizzare sudo, si dovrà provvedere ad installare manualmente le eventuali dipendenze richieste e successivamente eseguire il comando sopra suggerito, omettendo l'opzione -s.

Installazione del pacchetto

Installare il pacchettto usando pacman. L'archivio dovrebbe essere stato creato ed avere il nome secondo il seguente schema:

<nome applicazione>-<numero versione>-<numero revisione pacchetto>-<architettura>.pkg.tar.xz

Questo pacchetto può essere installato usando l'opzione "upgrade" di pacman:

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

I pacchetti installati manualmente sono chiamati foreign packages, letteralmente "pacchetti stranieri", infatti non provengono da nessun repository noto a pacman. Per elencare tutti i foreign packages:

$ pacman -Qm
Note: L'esempio precedente è solo un breve riassunto del processo di compilazione. Una lettura alle pagine relative a makepkg ed ABS forniranno maggiori dettagli ed è caldamente raccomandato farlo (specialmete per gli utenti che non hanno mai compilato).

Feedback

La gestione dei commenti AUR Web Interface facilita gli utenti a dare suggerimenti e responsi su possibili miglioramenti ai manutenitori dei PKGBUILD. Evitare di incollare patch o PKGBUILD nella sezione dei commenti. Questi commenti diventano velocemente obsoleti e senza utilità occupando molto spazio. E' quindi preferibile inviarli per email al manutentore oppure usare pastebin.

Una delle essenziali attività di tutti gli utenti di Arch è consultare tra i pacchetti di AUR e votare per i pacchetti preferiti attraverso il sito web di AUR. Tutti i pacchetti possonno essere adottati da un TU ( un utente fidato - Trusted User) per una eventuale inclusione nel repostory community, ed il conteggio dei voti è uno degli aspetti di questo processo; è quindi nell'interesse di tutti esprimere il proprio voto!

Condividere e mantenere i pacchetti

Gli utenti giocano un ruolo fondamentale in AUR, il quale non sfrutterebbe il suo potenziale senza il supporto, il coinvolgimento ed i contributi dalla più ampia comunità di utenti. Il ciclo vitale di un pacchetto su AUR comincia e finisce con l'utente e richiede il suo contributo in diversi modi.

Gli utenti possono condividere i PKGBUILD usando l'interfaccia di AUR. L'Arch User Repository non contiene nessun pacchetto compilato ma consente agli utenti di inviare i PKGBUILD così che possano essere scaricati dagli altri utenti. Questi PKGBUILD sono completamente non ufficiali e non sono stati controllati a fondo, quindi saranno usati a proprio rischio e pericolo.

Aggiungere pacchetti

Attenzione: Prima di sottomettere un pacchetto ci si aspetta che tu abbia familiarizzato con Arch packaging standards (Italiano).

Dopo aver effettuato l'accesso sul sito di AUR, un utente può spedire un archivio tar compresso con gzip (.tar.gz) di una directory contenente i file necessari alla compilazione del pacchetto. La directory all'interno dell'archivio deve contenere un PKGBUILD, eventuali file .install, le patch, eccetera (assolutamente nessun file compilato). Un esempio di come questa cartella dovrebbe essere può essere trovato all'interno di /var/abs nel caso in cui sia stato installato ABS.

L'archivio può essere creato con il seguente comando:

$ makepkg --source 

Notare che questo pacchetto è compresso con gzip; presumendo che si stia inviando un pacchetto chiamato libfoo, quando verrà creato l'archivio dovrà essere simile a questo:

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

Regole per la sottomissione dei pacchetti

Quando si invia un pacchetto, attenersi alle seguenti regole:

  • Cercare il pacchetto nel database ufficiale. Se una qualunque versione è già presente, non inviare il pacchetto. Se il pacchetto ufficiale non è aggiornato, marcarlo con l'apposito link. Se il pacchetto ufficiale è danneggiato o privo di alcune funzionalità è raccomandato aprire un bug report.
  • Controllare AUR alla ricerca del pacchetto. Nel caso in cui sia già mantenuto da un utente, lo si può contattare lasciando un commento. Se il pacchetto è orfano allora può essere adottato ed aggiornato se necessario. Non creare pacchetti "doppioni".
  • Verificare accuratamente che il file spedito sia quello giusto. Tutti gli utenti nello scrivere un PKGBUILD devono aver letto ed attenersi agli standard di pacchettizazione di Arch. Tutto questo è essenziale per il corretto funzionamento e per il successo di AUR. Ricordare che non si guadagnano né credito né rispetto dagli utenti facendo loro perdere tempo con pessimi PKGBUILD.
  • I pacchetti che contengono file compilati o scritti poco accuratamente possono essere cancellati senza preavviso.
  • Se non si è sicuri riguardo al pacchetto (oppure al processo di compilazione o di spedizione), inviare il PKGBUILD sulla Mailing List di AUR o postarlo nelle apposite sezioni di AUR dei forum per ottenere consigli, prima di inviare il pacchetto su AUR.
  • Assicurarsi che il pacchetto abbia una utilità. Qualcun'altro vorrà usare questo pacchetto? Se un buon numero di utenti possono trovare utile il paccehtto, allora è appropriato per la spedizione.
  • L'AUR e i repository ufficiali sono concepiti per pacchetti che installano generalmente software e contenuti correlati, compresi uno o più tra i seguenti: eseguibili; file di configurazione; dcumentazione online o offline per software specifici o per la distribuzione Arch Linux intera; file multimediali utilizzati direttamente dal software.
  • Accumulare esperienza prima di spedire pacchetti. Compilare alcuni pacchetti per imparare il meccanismo ed allora spedirlo.
  • Se si spedisce pacchetto.tar.gz con all'interno un file di nome pacchetto si otterrà un errore: "Could not change to directory /home/aur/unsupported/pacchetto/pacchetto". Per evitare questo errore rinominare il file chiamato pacchetto ad esempio in pacchetto.rc o simili. Quando sarà estratto nella cartella pkg sarà possibile rinominarlo nuovamente come pacchetto. Assicurarsi di leggere anche Arch packaging standards (Italiano)#Invio di pacchetti ad AUR.

Autenticazione

Per avere accesso in scrittura ad AUR, gli utenti hanno bisogno di avere una coppia di SSH keys. E' necessario copiare il contenuto della chiave pubblica nel profilo utente in Il mio account, e configurare la chiave privata corrispondente, per l'host aur.archlinux.org. Ad esempio:

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

Si raccomanda di creare una nuova coppia piuttosto che usarne una esistente, in modo da poter revocare le chiavi selettivamente nel caso in cui succeda qualcosa.

Creare un nuovo pacchetto

Per inviare un pacchetto, è semplicemente necessario clonare il repository Git col nome corrispondente:

$ git clone ssh://aur@aur.archlinux.org/foobar.git

Eseguire il cloning, o il pushing, di un repository non esistente ne creerà automaticamente uno nuovo. E' possibile adesso aggiungere i file sorgenti nella copia locale del repository Git. Vedi #Caricare i pacchetti. Il nuovo pacchetto comparirà su AUR dopo che viene effettuato il push del primo commit.

Caricare i pacchetti

La procedura per caricare i pacchetti su AUR è la stessa sia per i nuovi pacchetti, che per gli aggiornamenti di quelli già esistenti. Per fare il push del pacchetto su AUR è necessario includere sempre almeno il PKGBUILD e .SRCINFO (che contiene #AUR metadata[broken link: invalid section]) nella directory di livello piu' alto. Per caricarlo, aggiungere il PKGBUILD, .SRCINFO e qualsiasi altro file utile (come file .install o file sorgenti locali come .patch) alla staging area con git add, eseguire il commit sull'albero locale con un messaggio di commit git commit, e infine pubblicare i cambiamenti in AUR con git push.

Per esempio:

$ makepkg --printsrcinfo > .SRCINFO
$ git add PKGBUILD .SRCINFO
$ git commit -m "useful commit message"
$ git push origin master
Tip: Se all'inizio ci si dimentica di fare il commit del .SRCINFO e viene aggiunto in un commit successivo, AUR rifiutera' il push poichè .SRCINFO deve esserci per ogni commit. Per risolvere questo problema è possibile usare git rebase con l'opzione --root o git filter-branch con l'opzione --tree-filter.

Mantenere i pacchetti

  • Se si mantiene un pacchetto e si vuole aggiornare il PKGBUILD dello stesso, basta reinviarlo.
  • Controllare le opinioni ed i commenti degli utenti, provare ad implementare eventuali miglioramenti suggeriti; considerare questa come una possibiltà per imparare!
  • Per favore non lasciare commenti contenenti il numero della versione ogni volta che viene aggiornato il pacchetto. Questo permette di mantenere la sezione dei commenti utilizzabile per i contenuti utili menzionati sopra. Gli AUR helpers sono piu' adatti per cercare gli aggiornamenti.
  • Non spedire e poi dimenticarsi dei pacchetti! È responsabilità del "maintainer" mantenere e controllare il pacchetto, seguendo gli aggiornamenti ed ottimizzando il PKGBUILD.
  • Se non si vuole più mantenere un pacchetto per qualsiasi ragione, abbandonare il pacchetto dalla propria pagina sul sito di AUR e postare un messaggio sulla mailing list.

Altri tipi di richieste

  • Le richieste di disconoscimento e di rimozione dei pacchetti possono essere create cliccando su "Invia la richiesta" sotto "Azioni del pacchetto", sulla destra. Questo manda automaticamente una email di notifica all'attuale responsabile del pacchetto e alla aur-requests mailing list per discuterne. I Trusted Users dunque accetteranno o respingeranno la richiesta.
  • Le richieste di disconoscimento saranno concesse dopo due settimane, se l'attuale responsabile del pacchetto non ha risposto.
  • E' stata implementata l'unione dei pacchetti, gli utenti devono ancora ripresentare un pacchetto con un nuovo nome e possono richiedere l'unione dei commenti e dei voti della vecchia versione.
  • Le richieste di rimozione necessitano delle seguenti informazioni:
    • Nome del pacchetto e URL alla pagina AUR.
    • Motivo della cancellazione, almeno una breve nota
      Attenzione: I commenti di un pacchetto non fanno notare in modo sufficiente le ragioni per la cancellazione del pacchetto. Infatti, non appena interviene un TU, l'unico luogo in cui tali informazioni possono essere ottenute è la aur-requests mailing list.
    • Includere dettagli informativi, ad esempio se il pacchetto è incluso da qualche altra parte, se si è il manutentore, se il pacchetto è rinominato e il proprietario originale è d'accordo, ecc.
    • Per le richieste di unione: il nome del pacchetto base con cui unirlo.

Le richieste di rimozione possono essere disapprovate, nel qual caso probabilmente verrà consigliato di abbandonare il pacchetto per riferimento futuro.

community

Il repository community è mantenuto dai Trusted Users, e contiene i pacchetti più famosi provenienti da AUR. E' abilitato di default in pacman.conf. Se fosse disabilitato o rimosso, può essere abilitato decommentando o aggiungendo queste due linee:

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

Questo repository, contrariamente ad AUR, contiene pacchetti compilati che possono essere installati direttamente con pacman, ed i file necessari alla compilazione sono reperibili tramite ABS. Alcuni di questi pacchetti possono eventualmente essere trasferiti in core o in extra se gli sviluppatori li considerano necessari alla distribuzione.

Gli utenti possono accedere ai file per la compilazione dei pacchetti di community editando /etc/abs.conf ed abilitando il repository community all'interno dell'array REPOS.

Git Repo

Un repository Git di AUR è mantenuto da Thomas Dziedzic, e fornisce, tra le altre cose, lo storico dei pacchetti. Viene aggiornato almeno una volta al giorno. Per clonare il repository (varie centinaia di MB):

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

Per maggiori informazioni: interfaccia web, forum thread

FAQ

Cos'è AUR?

AUR (Arch User Repository) è una locazione dove la comunità di ArchLinux può mandare i PKGBUILD di applicazioni, librerie, etc. e condividerli con l'intera comunità. Gli altri utenti possono votare i loro favoriti per proporne lo spostamento nei repository community in modo da essere diffusi in formato binario.

Che tipo di pacchetti sono permessi su AUR?

I pacchetti di AUR sono semplicemente degli "script di compilazione", ossia le istruzioni per compilare i binari per pacman. Nella maggior parte dei casi non ci sono limitazioni, se non le sopracitate linee guida sull'utilità e la finalità, e la richiesta di conformità con i termini di licenza del contenuto. In alcuni casi, quando si menziona che "non si può collegare il link" del download, come quando il contenuto non è ridistribuibile, si può utilizzare solo il nome del file stesso come fonte. Questo significa che gli utenti devono avere già i sorgenti nella directory indicata prima di iniziare il processo di compilazione del pacchetto. In caso di dubbi, chiedere.

Come si votano i pacchetti in AUR?

Registrando un account sul website di AUR si abilita un link per votare un pacchetto nella rispettiva pagina.

Cos'è un TU?

Un TU (Trusted User) è una persona che è stata scelta per supervisionare l'AUR e i repository community. Sono coloro che mantengono PKGBUILDs famosi in community, segnano quali PKGBUILDs sono sicuri e, soprattutto, fanno funzionare AUR.

Che differenza c'è tra Arch User Repository e community?

L'Arch User Repository è il sito che contiene i PKGBUILDs inviati dagli utenti; essi devono essere compilati manualmente con makepkg. Quando un PKGBUILD riceve sufficiente interesse dalla comunità e il supporto di un Trusted User, viene spostato nel repository community (gestito dai TU), da dove il pacchetto binario può essere installato con pacman.

Quanti voti servono per far spostare un PKGBUILD in community?

Di solito, sono richiesti almeno 10 voti per spostare qualcosa in community. Comunque, se un TU vuole mantenere un pacchetto, sarà possibile trovarlo in community.

Come si fa un PKGBUILD?

Guarda la voce Creating packages (Italiano). Ricorda di guardare su AUR se c'è già il PKGBUILD che cerchi.

Ho dato il comando "pacman -S foo"; non funziona, ma sono sicuro che si trova in community

Probabilmente non hai abilitato il repository community in /etc/pacman.conf. È sufficiente decommentare le relative linee. Se community è abilitato in /etc/pacman.conf provare per prima cosa ad eseguire pacman -Syu per sincronizzare la pkgcache e aggiornare il sistema prima di provare nuovamente ad installare "foo".

In AUR, un pacchetto non è aggiornato; cosa devo fare?

Innanzitutto puoi segnalare il pacchetto come out-of-date. Se rimane out-of-date per molto tempo, la cosa migliore da fare è mandare un'email al mantainer. Se non c'è risposta dal mantainer, puoi mandare una mail alla mailing list aur-general per chiedere a un Trusted User di rendere orfano quel PKGBUILD. Se vuoi, puoi chiedere di essere tu a mantenere quel PKGBUILD. Nel caso di pacchetti segnalati come out-of-date da più di 3 mesi o in generale non aggiornati da molto tempo, si prega di aggiungere quest'informazione nella richiesta.

Ho un PKGBUILD che vorrei inviare; qualcuno può controllarlo per vedere se ci sono errori?

Puoi chiedere sulla mailing list aur-general, in modo da ricevere pareri dai Trusted User e da altri utenti di AUR. Puoi anche andare su IRC, #archlinux su irc.freenode.net. namcap, infine, controllerà il tuo PKGBUILD e il pacchetto generato, segnalando eventuali errori.

Il pacchetto Foo in AUR non compila quando lancio makepkg; cosa dovrei fare?

Probabilmente hai dimenticato qualcosa:

  1. Lancia pacman -Syyu prima di compilare, dato che il problema potrebbe essere nel non aver aggiornato il tuo sistema.
  2. Controlla di aver installato sia il gruppo "base" sia "base-devel".
  3. Prova ad usare l'opzione "-s" di makepkg per controllare e installare le dipendenze necessarie prima di iniziare la compilazione.

Il motivo, comunque, potrebbe non essere banale. CFLAGS, LDFLAGS e MAKEFLAGS personalizzati possono causare errori. È anche possibile che il PKGBUILD sia semplicemente buggato. Se non riesci a capire qual è il problema, fallo presente al mantainer.

Come posso accelerare i ripetuti processi di compilazione?

Se compili frequentemente del codice che utiliza gcc come ad esempio pacchetti git o SVN - puoi trovare utile utilizzare ccache, abbreviazione di "compiler cache".

Come faccio ad accedere ai pacchetti di unsupported

Leggi #Installare i pacchetti da AUR.

Come faccio a mandare un PKGBUILD ad AUR senza usare l'interfaccia web?

Puoi usare burp[broken link: archived in aur-mirror], aurploader (python3-aurAUR) o aurupAUR[broken link: archived in aur-mirror], tutti con interfaccia da linea di comando.

AUR 4

Dalla vesione 4.0.0, aurweb userà dei repository Git per i pacchetti AUR e questo implica che il processo per l'invio dei pacchetti sarà differente. Mentre aur.archlinux.org continua ad utilizzare aurweb 3.5.1, un versione release candidate di aurweb 4.0.0 è disponibile all'indirizzo aur4.archlinux.org. I manutentori dei pacchetti AUR dovranno migrare i propri pacchetti da aur.archlinux.org a aur4.archlinux.org nel periodo compreso tra l'8 Giugno e l'8 Luglio. L'8 agosto, aur4.archlinux.org diventerà il nuovo AUR ufficiale (e verrà quindi spostato al sottodominio aur).

Prima di inviare i pacchetti ad aur4.archlinux.org

Prima di inviare per la prima volta un pacchetto, è necessario creare una nuova coppia di chiavi SSH. Si consiglia di creare una nuova coppia di chiavi, invece di utilizzarne una esistente, in modo che si possa revocarla selettivamente in caso di necessità.

Per creare una nuova coppia di chiavi SSH, usare il comando:

$ ssh-keygen -f ~/.ssh/id_rsa-aur

Accedere quindi all'interfaccia web dell'AUR, spostarsi nella sezione My Account e copiare il contenuto di ~/.ssh/id_rsa-aur.pub (o di qualsiasi altra chiave si voglia utilizzare) nel campo SSH Public Key. Infine cliccare Update per salvare la chiave. Si consiglia anche di aggiungere le seguenti linee al file ~/.ssh/config così da non dover specificare quale utente e chiave utilizzare ogni qualvolta ci si connette all'interfaccia SSH dell'AUR:

Host aur4.archlinux.org
IdentityFile ~/.ssh/id_rsa-aur
User aur

Inviare i pacchetti ad aur4.archlinux.org

Attenzione: Prima di inviare un pacchetto è opportuno familiarizzare con l'Arch Packaging Standards e leggere tutti gli articoli in esso menzionati

Per inviare un pacchetto, basta semplicemente clonare il repository Git con il nome corrispondente:

$ git clone aur@aur4.archlinux.org:/foobar.git

oppure, equivalentemente

$ git clone ssh://aur@aur4.archlinux.org/foobar.git

Si possono quindi aggiungere i file sorgenti alla copia locale del repository Git. Quando si effettuano modifiche al repository, bisogna fare attenzione che nella directory principale siano sempre presenti i file PKGBUILD e .SRCINFO. Il file .SRCINFO può essere generato usando mksrcinfo, fornito da pkgbuild-introspection-gitAUR. Per inviare una nuova versione del pacchetto basta effettuare un commit contenete dei nuovi PKGBUILD, .SRCINFO e, se necessario, dei file aggiuntivi (come lo script di installazione) ed eseguire il comando git push. Per esempio, dopo aver aggiunto il PKGBUILD al repository appena creato, si possono eseguire i seguenti comandi per creare la commit iniziale:

$ mksrcinfo
$ git add PKGBUILD .SRCINFO
$ git commit -m 'Initial import'
$ git push

Per aggiornare un pacchetto invece, basta aggiornare il PKGBUILD ed eseguire i comandi seguenti per aggiornare inviare cambiamenti al repository Git nell'AUR:

$ mksrcinfo
$ git commit -am 'Update to 1.0.0'
$ git push

Script per la migrazione

Esistono diversi script per facilitare la migrazione da AUR ad AUR4:

  • bbidulock's script to migrate from a .backup directory with all packages.
  • aur2git - A ruby gem to download and submit your existing packages.
  • import-to-aur4 to split an existing single git repository and retain the history.

Si noti comunque che sono tutti creati da altri utenti e che quindi nessuno di essi e ufficialmente supportato!

Altre risorse