Kod źródłowy Mozilli (Mercurial)

Mercurial jest narzędziem do zarządzania kodem źródłowym, który pozwala użytkownikom zarządzać lokalnie zmianami w kodzie źródłowym i współdzielić te zmiany z innymi. Jest używany do rozwijania Firefoksa 3.1/Mozilli 1.9.1 i późniejszych wydań.

Uwaga: Jeśli chcesz dodać poprawki do Firefoksa 3.0.x, użyj CVS.

Ustawienia klienta

Instalacja i konfiguracja pakietu Mercurial

Zobacz Instalacja pakietu_Mercurial.

Autoconf 2.13

Źródła Mozilli 2 nie są dystrybuowane z gotowym skryptem konfiguracyjnym. Konieczne jest posiadanie programu autoconf 2.13.

 

W systemie Mac:
<tt>sudo port install autoconf213</tt>

 

W systemie Fedora/RedHat Linux:
<tt>sudo yum install autoconf213</tt>

 

W systemie Ubuntu Linux:
<tt>sudo apt-get install autoconf2.13</tt>

 

W innych dystrybucjach Linuksa (jak n.p. openSUSE):
zobacz czy istnieje pakiet dla Twojego systemu albo zainstaluj autoconf ręcznie (druga metoda może wymagać uprawnień konta root):
wget http://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

 

W systemie Windows:
autoconf 2.13 jest dołączony do MozillaBuild

Uwaga: Możesz też potrzebować zmiennej "AUTOCONF" w swoim pliku <tt>.mozconfig</tt>, tak jak zostało to przedstawione w sekcji "Kompilacja" poniżej.

Pobieranie źródeł

Istnieje wiele repozytoriów hostowanych na mozilla.org, zajrzyj na http://hg.mozilla.org aby zobaczyć całą listę.

Zbiorczym repozytorium rozwojowym dla Mozilli 2 jest mozilla-central. Zawiera kod potrzebny dla Firefoksa i XULRunnera, który będzie w przyszłości wydany jako Mozilla 2.

Aby pobrać źródła z mozilla-central ("sklonować" repozytorium, używając terminologii Mercuriala):

# Pobierz źródła Mozilli do katalogu src/ - to może zając chwile
# ponieważ setki megabajtów historii są pobierane do .hg
hg clone http://hg.mozilla.org/mozilla-central/ src

cd src

python client.py checkout is deprecated - see bug 417635. If you get the error message "No module named subprocess", that's because you didn't install Python 2.4 or later. If you don't run client.py, it won't build. client.py does three things: * Pulls the correct version (by tag) of NSS and NSPR and places them in right locations in your source tree. This is required to build. * Pulls Tamarin code. This is not required (and it's only a pull, so it's harmless). Pass --no-tamarin to client.py to skip this. * Runs a 'hg pull' to pull changes. This is also not required (in fact, you may prefer to pull manually). Pass --hg=echo to client.py to skip this.

Kompilacja

Skonfiguruj i skompiluj jak zwykle używając pliku <tt>.mozconfig</tt> i komendy <tt>make -f client.mk</tt>.

# Wygeneruj swój plik mozconfig, lub użyj domyślnego
echo '. $topsrcdir/browser/config/mozconfig' > .mozconfig

# configure will be automatically generated using the 'autoconf-2.13'
# command, except on OS X where autoconf213 will be used.
# If autoconf-2.13 isn't the right name for your system, as
# is the case on Ubuntu Linux, use the real command name as
# demonstrated below.
echo 'mk_add_options AUTOCONF=autoconf2.13' >> .mozconfig

# Now do the build; configure will be run automatically
make -f client.mk build

Zobacz także

  • Strona Mercurial zawiera informacje na temat tworzenia diffów, zatwierdzania zmian i publikowania repozytoriów.
  • Jeżeli wolisz pracować z repozytorium git to sprawdź ten link.

Autorzy i etykiety dokumentu

 Autorzy tej strony: Trebor, teoli, Mgjbot, gandalf
 Ostatnia aktualizacja: Trebor,