In questo breve how-to illustrerò un semplice trucchetto per permette a yaourt di lavorare correttamente con PKGBUILD che richiedono l'acquisizione dei sorgenti da server remoti git, non raggiungibili nel caso il nostro accesso a internet sia vincolato ad un server proxy.
Arrivando subito al dunque il "trucco" sta nel sostituire all'interno del nostro PKGBUILD ogni riferimento a git:// dopo il comando git clone in http:// dal momento che tale comando in pratica non fa altro che inviare al server git remoto una serie di GET tramite il protocollo http.
Facciamo un esempio:
innanzitutto istruiamo yaourt relativamente al proxy da utilizzare impostando la variabile d'ambiente http_proxy, in questo modo:
$ export http_proxy=http://192.168.1.100:8080/
Sostituite indirizzo ip e porta con quelle del vostro proxy.
( Potete inserire tale comando nel vostro .bashrc oppure in uno script nella directory /etc/profile.d/ in modo che venga eseguito per tutti gli utenti di sistema. )
Proseguendo nel nostro esempio procediamo con l'installazione di un pacchetto che richiede git, xfce-theme-bluebird:
$ yaourt -S xfce-theme-bluebird
quando yaourt vi chiede se volete modificare il file rispondete di sì, quindi cercate la stringa
git clone "git://github.com/shimmerproject/Bluebird.git
e sostituitela in
git clone "http://github.com/shimmerproject/Bluebird.git
avviate la compilazione, yaourt sarà in grado di prelevare i sorgenti e di compilare il pacchetto senza errori e senza mal di testa :-)
É anche possibile impostare yaourt in modo che applichi tali sostituzioni automaticamente al posto nostro ogni qualvolta sia necessario:
installiamo da AUR il pacchetto aggiuntivo customizepkg:
$ yaourt -S customizepkg
spostiamoci ora in /etc/customizepkg.d e, da root, diamo:
# echo "replace#global#git:#http:" > git.example
questo sarà il nostro file di "base", ogni volta che installeremo un pacchetto da git creeremo preventivamente un link a tale file con il nome del pacchetto stesso ( cioè il pkgname );nel nostro esempio daremo:
# ln -s git.example xfce-theme-bluebird
Se a questo punto provate a reinstallare il pacchetto xfce-theme-bluebird, yaourt vi notificherà riguardo le modifiche applicate; l'output sarà simile a questo:
=> removes/replaces 'git:' by 'http:' in global
--- ./PKGBUILD 2012-04-22 02:27:22.000000000 +0200
+++ ./PKGBUILD.custom 2012-04-22 23:59:46.503834220 +0200
@@ -24,7 +24,7 @@
package() {
# Clone git repository
- git clone "git://github.com/shimmerproject/Bluebird.git"
+ git clone "http://github.com/shimmerproject/Bluebird.git"
# Change into source directory
cd "$_pkgname"
Ripetete la creazione del symlink a git.example per ogni pacchetto che volete scaricare da un server git.
Nessun commento:
Posta un commento