[OT] Eagle 6.1.0 su Linux

l'ho fatto funzionare se a qualcuno interessa...
vediamo pure se ho capito XD

il problema è la mancanza delle librerie quindi noi possiamo installarle :stuck_out_tongue:

inanzitutto non possiamo installare eagle senza le librerie quindi come facciamo? beh "facile".

iniziamo col scaricare eagle

$ wget ftp://ftp.cadsoft.de/eagle/program/6.1/eagle-lin-6.1.0.run

il file run è un file che si "autospacchetta", noi possiamo farlo manualmente, con un comando:

$ sed -e '1,/^__DATA__$/d' eagle-lin-6.1.0.run > eagle-lin-6.1.0.tar.bz2

perfetto, ora abbiamo un file archivio contenente ciò che avrebbe installato eagle-lin-6.1.0.run

ora dunque lo spacchettiamo

$ tar xvjf eagle-lin-6.1.0.tar.bz2

avremo dunque eagle in una cartella.. ma attenti perchè non abbiamo ancora installato le librerie
entriamo nella cartella contenente i file di lancio di eagle ovvero

$ cd eagle-6.1.0/bin

quindi scarichiamo le librerie

$ wget http://dl.dropbox.com/u/4295670/eagle_libs.tar.bz2

le spacchettiamo come al solito

$ tar xvjf eagle_libs.tar.bz2

ora rinominiamo il file eagle in eagle.origin in questo modo potremo poi andare ad includere le librerie internamente alla cartella bin del programma e non facendo riferimento alle librerie di sistema

$ mv eagle eagle.orig

ora creiamo un file eagle che tenga in considerazione (lanciando eagle.origin) che le dipendenze di cui ha bisogno sono anche nella cartella bin

$ echo 'LD_LIBRARY_PATH="$(dirname "$0")" "$(dirname "$0")/eagle.orig" $@' > eagle

infine rendiamo il file eagle eseguibile con

$ chmod a+x eagle

FINE. lanciando il comando ./eagle avremo a disposizione il nostro programma XD

ATTENZIONE!! non abbiamo installato le librerie nel sistema ma semplicemente le abbiamo prese da internet e messe nella cartella bin del programma in modo da soddisfare le sue richieste, se vorremo modificare il programma aggiornandolo in teoria (ora provo visto che erroneamente ho installato la 6.0) dovrete:

$ wget ftp://ftp.cadsoft.de/eagle/program/... ecc... riferendosi al file nuovo
$ sed -e '1,/^__DATA__$/d' eagle-lin-6.x.x.run > eagle-lin-6.x.x.tar.bz2 modificando opportunamente le x dove richiesto
$ tar xvjf eagle-lin-6.x.x.tar.bz2 leggi nota sopra
$ cd eagle-6.x.x/bin
$ wget http://dl.dropbox.com/u/4295670/eagle_libs.tar.bz2
$ tar xvjf eagle_libs.tar.bz2
$ mv eagle eagle.orig
$ echo 'LD_LIBRARY_PATH="$(dirname "$0")" "$(dirname "$0")/eagle.orig" $@' > eagle
$ chmod a+x eagle

parte aggiunta:
renderlo eseguibile da comando direttamente
ora per lanciare eagle dovremmo sempre andare nella cartella appena fatta e lanciarlo, certo un lanciatore dal desktop è fattibile ma voglio renderlo pratico a tutti.
per fare ciò ci servirà il permesso di su

dunque:

$ sudo su

comando base col cui diventiamo i padroni indiscussi della macchina, attenti perchè in questa modalità non vi sono protezioni di alcun tipo il che significa che è pericoloso per il sistema

quando noi lanciamo un programma da terminale tipo

$ gedit

in realtà è come se stessimo facendo

$ /usr/bin/gedit

quindi come facciamo ad avviare eagle allo stesso modo? semplice creiamo un file che punti alla cartella creata prima.

# echo '"$(pwd)/eagle"' > /usr/bin/eagle

con $(pwd) nel file verrà messo l'output del comando pwd che è esattamente la directory in cui siamo.
come prima rendiamo esecutibile ad aperto a tutti il file /ust/bin/eagle con

# chmod a+x /usr/bin/eagle

quindi possiamo uscire dalla modalità super user con

# exit

torneremo utenti normali e potremo verificare la corretta "installazione" semplicemente lanciando il comando

$ eagle

spero di essere stato utile :wink: