Mercurial es una herramienta de gestión de código fuente que permite a los usuarios seguir la pista de los cambios hechos al código fuente localmente y compartir sus cambios con otros. El Proyecto Mozilla está migrando del uso de CVS para el desarrollo de Firefox 3/Mozilla 1.9 a Mercurial para el desarrollo de Firefox 4/Mozilla 2.
Configuración de clientes
Instalar y configurar Mercurial
Revisa Instalar Mercurial.
Autoconf 2.13
Los fuentes de Mozilla 2 no vienen con un script configure generado. Tendrás que tener instalado autoconf versión 2.13.
- En Mac:
-
<tt>sudo port install autoconf213</tt>
- En Fedora/RedHat Linux:
-
<tt>sudo yum install autoconf213</tt>
- En Ubuntu Linux:
-
<tt>sudo apt-get install autoconf2.13</tt>
- En otras distribuciones Linux (como por ejemplo openSUSE):
-
O bien revisa si se proporciona un paquete para esto o bien instálalo manualmente con las siguientes órdenes (la última podría necesitar privilegios de root):
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz tar -xvzf autoconf-2.13.tar.gz cd autoconf-2.13/ ./configure --program-suffix=-2.13 make make install
- En Windows:
- autoconf 2.13 viene con MozillaBuild
Nota: puede que también necesites establecer la variable "AUTOCONF" en tu archivo <tt>.mozconfig</tt>, como se demuestra en la sección "Compilar" más abajo.
Obtener un código fuente
Hay múltiples repositorios hg alojados en mozilla.org, revisa https://hg.mozilla.org/ para la lista completa.
El repositorio de integración para el desarrollo de Mozilla 2 es mozilla-central. Contiene el código necesitado por Firefox y XULRunner, lo que en algún momento se publicará como Mozilla 2.
Para descargar desde mozilla-central ("clonar" el repositorio, usando la terminología de Mercurial ):
# Descarga el código de Mozilla en la carpeta src/ - puede tardar un rato # ya que se descargan cientos de megabytes de historial a .hg hg clone https://hg.mozilla.org/mozilla-central/ src cd src
La descarga con python client.py está desaprobada - revisa el bug 417635. Si obtienes el mensaje de error "No module named subprocess", es porque no has instalado Python 2.4 o posterior. Si no ejecutas client.py, no se compilará. client.py hace tres cosas: * Descarga la versión correcta (por etiqueta (tag)) de NSS y NSPR y los coloca en las ubicaciones correctas de tu árbol de código fuente. Esto es obligatorio para compilar. * Descarga el código de Tamarin. Esto no es necesario (y sólo es una descarga, así que no hace daño). Pasa --no-tamarin a client.py para saltártelo. * Ejecuta 'hg pull' para descargar los cambios. Esto tampoco es necesario (de hecho, puede que prefieras descargarlo manualmente). Pasa --hg=echo a client.py para saltártelo.
Compilar
Configura y compila normalmente usando un archivo <tt>.mozconfig</tt> y <tt>make -f client.mk</tt>.
# Genera tú mismo un mozconfig, o usa éste minimalista por defecto echo '. $topsrcdir/browser/config/mozconfig' > .mozconfig # configure se generará automáticamente usando la orden 'autoconf-2.13', # excepto en OS X donde se usará autoconf213. Si autoconf-2.13 no es el # nombre correcto para tu sistema, como es el caso en Ubuntu Linux, usa # el nombre real de la orden como se demuestra debajo. echo 'mk_add_options AUTOCONF=autoconf2.13' >> .mozconfig # Ahora haz la compilación; configure se ejecutará automáticamente make -f client.mk build
Ver también
- La página de Mercurial tiene información sobre cómo crear diffs, confirmar cambios, y publicar repositorios compartidos.