Mozilla Firefox
Clonando (Forkando)
Primeiro crie um fork do repositório https://github.com/doublec/mozilla-central depois clone-o:
git clone https://github.com/doublec/mozilla-central
Links úteis:
- Para usar git com mozilla-central: http://www.bluishcoder.co.nz/2011/02/10/git-conversion-of-mozilla-central.html
- Para pushar as modificações do git para hg: http://browserland.com/firefox-latest-news/2011/04/16/chris-double-my-git-workflow-for-mozilla-development/
Compilando
Pré-requisitos para compilar em GNU/Linux Debian/Ubuntu: https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Linux_Prerequisites
Documentação da Mozilla para compilar o Firefox: https://developer.mozilla.org/en/Build_Documentation
Como compilar em GNU/Linux: https://developer.mozilla.org/en/Build_and_Install
Mais informações em como compilar em várias plataformas: https://developer.mozilla.org/En/Simple_Firefox_build
Para compilar, antes instale os pré-requisitos:
apt-get build-dep firefox apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13 yasm glibc-static
Build no Fedora 13 86_64
Para compilar no fedora, antes instale os pré-requisitos:
sudo yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development' yum install autoconf213 gtk2-devel libnotify-devel yasm libIDL-devel wireless-tools-devel libXt-devel
o Fedora 13 não tem o pacote yasm 1.0.1, apenas o 0.8, precisa instalar manualmente através de algum rpm do pacote da versão 1.0.1 no caso, usei este: http://repos.fedorapeople.org/repos/leigh123linux/firefox4/epel-6/x86_64/yasm-1.0.1-1.el6.leigh123linux.x86_64.rpm
Executando
Para executar o binário compilado:
./objdir/dist/bin/firefox
onde objdir pode ser algo como obj-i686-pc-linux-gnu.
Modificando
A explicação da estrutura do código fonte do Firefox pode ser encontrada nesse link: https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure
Enviando para o repositório oficial
Dissecando Audio Data API
- Part I: http://vocamus.net/dave/?p=914
- Part II: http://vocamus.net/dave/?p=922
- Part II.I: http://vocamus.net/dave/?p=927
- Part III: http://vocamus.net/dave/?p=929
- Part IV: http://vocamus.net/dave/?p=931
- Part V: http://vocamus.net/dave/?p=939
- Part VI: http://vocamus.net/dave/?p=955
- Part VII: http://vocamus.net/dave/?p=968
- Part VIII: http://vocamus.net/dave/?p=974
- Part IX: http://vocamus.net/dave/?p=1074
- Part X: http://vocamus.net/dave/?p=1092
- Conclusion: http://vocamus.net/dave/?p=1148
- Evolução natural da Audio Data API... MediaStream API: http://hg.mozilla.org/users/rocallahan_mozilla.com/specs/raw-file/tip/StreamProcessing/StreamProcessing.html
Bugs Interessantes
- Indicados por David Humphrey: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=student-project&list_id=748304
- Microphone: https://bugzilla.mozilla.org/show_bug.cgi?id=591976
- Audio Data API: https://bugzilla.mozilla.org/show_bug.cgi?id=490705
Referências
- Mozilla hacker hacking chromium: http://vocamus.net/dave/?p=1286