2009-10-02 12 views
6

Ho provato ad ottenere postgresql 8.4 tramite MacPorts (su Snow Leopard) ma sembra che le dipendenze siano infinite - tra cui la vecchia versione di roba già disponibile in Snow Leopard, kitchen-sink e chissà se alla fine finisco con windows 7 ...Come evitare l'installazione di dipendenze non necessarie con MacPorts?

C'è un modo per ottenere solo le dipendenze assolutamente necessarie per eseguire roba da linea di comando in Mac?

Soprattutto sto cercando di evitare l'installazione di vecchie versioni di Python, pacchetti Xorg e così via.

Qualche idea? Finora sembra che sia meglio evitare del tutto i MacPorts.

+0

Non vedo dipendenze di postgresql84 su xorg- * o py2 *. Esattamente quali pacchetti stai cercando di installare? – outis

+0

Quali varianti stai caricando? 0 quale è la linea di comando younare utilizzando per installare – Mark

+0

Stavo usando: sudo port install postgresql84 + python – stefanB

risposta

8

Guardando allo port file for postgresql84, la variante +python significa in realtà python2.5. La maggior parte delle dipendenze che si trovano fastidiose sono probabilmente introdotte dalla dipendenza del modulo tkinter di python su Tk che per default costruisce una versione X11 di Tk piuttosto che la variante + quarzo. Puoi cambiarlo specificando quella variante e reinstallando. Il modo più semplice per gestire le varianti consiste nell'aggiungere le opzioni che normalmente si desidera utilizzare come predefinite a quelle in /opt/local/etc/macports/variants.conf.

Sfortunatamente, al momento, la versione della variante tk +quartz è broken on Snow Leopard. Quindi, se non si prevede di utilizzare tkinter (o inattivo) con la python2.5 MacPorts, è possibile forzare la rimozione dopo il fatto dei moduli indesiderati:

port installed 
port -f uninstall tk Xft2 xorg-libX11 ... 

si potrebbe desiderare di fare prima un Dry- esegui aggiungendo l'opzione -y per vedere esattamente quali saranno gli effetti dello uninstall.

Nota: la porta python26 ha una comoda variante +no_tkinter che potrebbe essere utile una volta aggiornate le porte portgresql a python2.6.

+0

grazie per l'analisi approfondita, sembra che per ora proverò a compilare ciò che mi serve a mano, se ciò fallisce I ' Proverò nuovamente MacPorts ... – stefanB

+0

Ho creato un ticket su MacPorts per la variante python per usare python2.6. http://trac.macports.org/ticket/22075 –

6

È potenzialmente un po 'di lavoro (e sicuramente viola il rasoio di Occam per questo particolare scenario) ... ma se sei positivo sai quali dipendenze non vuoi/hanno bisogno, possono sempre essere passati come trattino args delimitato da dopo la chiamata porta:

port install sweetPort -depYouDontWant -depYouDontNeed ... 

so che è stato un po 'il pO, ma spero che questo aiuta ... qualcuno.

+0

Mi ha aiutato. Grazie!!! –

+0

Questo non funziona su Macport 2.3.4 ... 'sudo port install ImageMagick -ghostscript' recupera e installa ghostscript – Normadize

+0

crea il tuo repository, modifica il portfile, aumenta il rev, esegui portindex, installa la tua versione –

Problemi correlati