2011-01-26 10 views
18

Ho installato un pacchetto con homebrew (qt). Mi piacerebbe modificare il codice sorgente e ricostruire il pacchetto. Non riesco a trovare il codice sorgente, però. brew --cache restituisce una directory che non esiste e il codice per qt non è in/usr/local/Cellar. Mi sto perdendo qualcosa? L'homebrew rimuove il codice sorgente dopo la creazione dell'applicazione?Modifica del codice sorgente di un pacchetto di birra in casa

risposta

18

Homebrew conserva solo i file binari. Se la directory della cache Homebrew (che normalmente è /Library/Caches/Homebrew, ma può essere trovata usando brew --cache, come è stato notato) è stata spostata o cancellata, quindi sarà necessario ottenere nuovamente il codice sorgente. Puoi prendere solo il codice sorgente con brew fetch qt.

+4

so se questo è qualcosa che homebrew cambiato semi-recente, ma io ho trovato il mio pacchetto scaricato in '/ Library/Caches ...' al contrario di '~/Library/Caches ...' nel caso in cui aiuti qualcuno! – taber

4

Se si ottiene solo il pacchetto sorgente, potrebbe mancare la patch inclusa nella formula e non esattamente la fonte del file binario in esecuzione. Per ottenere l'albero dei sorgenti con la patch applicata, si può fare:

brew unpack --patch <formula> 

Dalla pagina man:

unpack [--git|--patch] [--destdir=path] formulae 
      Unpack the source files for formulae into subdirectories of the 
      current working directory. If --destdir=path is given, the sub- 
      directories will be created in the directory named by <path> 
      instead. 

      If --patch is passed, patches for formulae will be applied to 
      the unpacked source. 

      If --git is passed, a Git repository will be initalized in the 
      unpacked source. This is useful for creating patches for the 
      software. 
+1

Come posso creare e installare il pacchetto dal codice sorgente locale, una volta modificato a mio piacimento? – juanes

+0

@juanes https://stackoverflow.com/questions/31511553/homebrew-recompile-from-edited-source-code/ –

Problemi correlati