2011-01-26 9 views
18

Instalé un paquete con homebrew (qt). Me gustaría modificar el código fuente y reconstruir el paquete. Parece que no puedo encontrar el código fuente. brew --cache devuelve un directorio que no existe, y el código para qt no está en/usr/local/Cellar. ¿Me estoy perdiendo de algo? ¿Homebrew elimina el código fuente después de compilar la aplicación?Modificación del código fuente de un paquete de elaboración casera

Respuesta

18

Homebrew solo tiene binarios. Si su directorio de caché Homebrew (que normalmente está en /Library/Caches/Homebrew, pero se puede encontrar usando brew --cache, como ha indicado) se ha movido o eliminado, entonces deberá obtener el código fuente nuevamente. Puede obtener solo el código fuente con brew fetch qt.

+4

No sé si esto es algo que homebrew cambió semi-recientemente, pero encontré mi paquete descargado en '/ Library/Caches ...' en lugar de '~/Library/Caches ...' ¡por si acaso ayuda a alguien! – taber

4

Si solo obtiene el paquete fuente, es posible que le falte el parche incluido en la fórmula y no exactamente el origen del binario que está ejecutando actualmente. Para obtener el árbol de código fuente con el parche aplicado, puede hacerlo:

brew unpack --patch <formula> 

Desde la página del manual:

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

¿Cómo construyo e instalo el paquete desde el código fuente local, una vez que lo he modificado a mi gusto? – juanes

+0

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

Cuestiones relacionadas