L'idea di questo progetto è nata oggi pomeriggio, da quando ho scoperto che powerpill è stato rimosso da Xyne e pacget è deprecato...
L'obiettivo è quello di dare a pacman la possibilità di parallelizzare i download dei pacchetti, download svolto con più connessioni.
Tutto questo è possibile grazie al download manager aria2c
L'implementazione più veloce sarebbe quella tramite XferCommand, come faceva pacget. Ma non c'è nessuna variabile passata da pacman per sapere quanti download ci sono in totale...Quindi non è possibile il download parallelo, ma si possono usare solo n connessioni per download.
La mia idea è quella di scrivere due script:
1) Il primo serve per contare il numero dei pacchetti da scaricare. L'idea è quella di creare qualcosa che sta sopra pacman (un po' come yaourt), e che riesca a redirigere da qualche parte i nomi/link dei pacchetti da scaricare. Questo script lancia pacman che di conseguenza lancia il secondo script:
2) Il secondo, come appena detto, viene invocato da XferCommand. È diviso in due sezioni. Nella prima controlla se il download è di un database (e procede come pacman di default con wget) o di pacchetti. Nella seconda legge la redirezione del primo script e con aria2c trova il metodo migliore per il download, parallelizzando tutto il possibile e usando n connessioni.
Ancora il lavoro è lungo, conosco il bash decentemente (ma non bene!) e sono sicuro che molte cose che io faccio con redirezioni e 1000 altri giri si possano fare con comandi specifici di cui io non ne sono a conoscenza...Quindi sarebbe utile qualcuno che controlli cosa combino
Il tempo che ho a disposizione non è mai tanto, è un progetto a fini didattici e poi, chissà, magari tornerà utile a qualcuno
Vorrei anche implementare rankmirrors per scegliere dinamicamente ogni aggiornamento il/i server più veloci
Come vedete le idee sembrano buone, vediamo cosa viene fuori