Mozilla Firefox: mudanças entre as edições
Sem resumo de edição |
(→GIT) |
||
(32 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
= | = Clonando (Forkando) = | ||
== [[Git]] == | |||
Primeiro crie um fork do repositório https://github.com/doublec/mozilla-central depois clone-o: | Primeiro crie um fork do repositório https://github.com/doublec/mozilla-central depois clone-o: | ||
Linha 13: | Linha 13: | ||
* Para usar git com mozilla-central: http://www.bluishcoder.co.nz/2011/02/10/git-conversion-of-mozilla-central.html | * 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/ | * 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/ | ||
== Mercurial (hg) == | |||
Clonando repositório oficial da mozilla | |||
hg clone http://hg.mozilla.org/mozilla-central/ src | |||
= Compilando = | = Compilando = | ||
Linha 18: | Linha 24: | ||
Documentação da Mozilla para compilar o Firefox: https://developer.mozilla.org/en/Build_Documentation | 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: | Para compilar, antes instale os pré-requisitos: | ||
apt-get build-dep firefox | 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 | 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 | |||
== Make == | |||
Para compilar: | |||
make -f client.mk build | |||
Se o make der erro após um update, pode ser por lixo de builds anteriores, para fazer um build link | |||
make -f client.mk clean | |||
Se não adiantar, apague o objdir | |||
= Executando = | |||
Para executar o binário compilado: | |||
./objdir/dist/bin/firefox | |||
onde ''objdir'' pode ser algo como ''obj-i686-pc-linux-gnu''. | |||
= Modificando = | = 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 | |||
Para iniciar, leia https://developer.mozilla.org/en/Introduction | |||
Familiarize-se com o FF, rode-o em um debugger. O FF tem uma flag para chamar o DDD enquanto rodando: | |||
ddd firefox-bin | |||
== Testando == | |||
https://developer.mozilla.org/en/Mozilla_automated_testing | |||
== IRC == | |||
Servidor: irc.mozilla.org | |||
Canais interessantes para acompanhar os novos bugs e se informar: | |||
#introduction, #firefox, #bugs | |||
= Enviando para o repositório oficial = | = Enviando para o repositório oficial = | ||
LEIA: https://developer.mozilla.org/En/Developer_Guide/How_to_Submit_a_Patch | |||
* Crie um patch e anexe-o para review. [https://developer.mozilla.org/en/Mercurial_FAQ#How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3f] [https://developer.mozilla.org/En/Developer_Guide/How_to_Submit_a_Patch] | |||
* Peça review do seu patch: faça isso preenchendo o r? seguido do ID de um desenvolvedor | |||
** Mas qual desenvolvedor? Geralmente alguém ligado ao bug ou o arquivo (hg blame) que você está editando | |||
* Acompanhe o bug para ver se o reviewer já o revisou. Senão, vá atrás dele! #introduction em irc.mozilla.org é um bom lugar. | |||
* Quando o reviewer responder: | |||
** Se não estiver OK, tente consertar e crie e anexe um novo patch e peça review novamente para o mesmo ID | |||
** Se o reviewer te der um r+, parabéns, sua correção foi aceita! :-D | |||
* Agora peça ao reviewer (ou seu mentor, ou adicione a keyword '''checkin-needed''' ao seu bug) para dar push para a árvore | |||
Após seu primeiro bug, peça nível 1 de acesso (para poder usar o '''tryserver'''). Após vários bugs não-triviais, peça nível 2 ou 3 (para ter permissão de dar push na árvore). | |||
= 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 = | |||
* Introdução para quem quer começar a contribuir ao Firefox: https://developer.mozilla.org/En/Introduction | |||
* Mozilla hacker hacking chromium: http://vocamus.net/dave/?p=1286 | |||
[[Category:Lab Macambira]] |
Edição atual tal como às 01h48min de 2 de novembro de 2011
Clonando (Forkando)
Git
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/
Mercurial (hg)
Clonando repositório oficial da mozilla
hg clone http://hg.mozilla.org/mozilla-central/ src
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
Make
Para compilar:
make -f client.mk build
Se o make der erro após um update, pode ser por lixo de builds anteriores, para fazer um build link
make -f client.mk clean
Se não adiantar, apague o objdir
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
Para iniciar, leia https://developer.mozilla.org/en/Introduction
Familiarize-se com o FF, rode-o em um debugger. O FF tem uma flag para chamar o DDD enquanto rodando:
ddd firefox-bin
Testando
https://developer.mozilla.org/en/Mozilla_automated_testing
IRC
Servidor: irc.mozilla.org
Canais interessantes para acompanhar os novos bugs e se informar:
- introduction, #firefox, #bugs
Enviando para o repositório oficial
LEIA: https://developer.mozilla.org/En/Developer_Guide/How_to_Submit_a_Patch
- Crie um patch e anexe-o para review. [1] [2]
- Peça review do seu patch: faça isso preenchendo o r? seguido do ID de um desenvolvedor
- Mas qual desenvolvedor? Geralmente alguém ligado ao bug ou o arquivo (hg blame) que você está editando
- Acompanhe o bug para ver se o reviewer já o revisou. Senão, vá atrás dele! #introduction em irc.mozilla.org é um bom lugar.
- Quando o reviewer responder:
- Se não estiver OK, tente consertar e crie e anexe um novo patch e peça review novamente para o mesmo ID
- Se o reviewer te der um r+, parabéns, sua correção foi aceita! :-D
- Agora peça ao reviewer (ou seu mentor, ou adicione a keyword checkin-needed ao seu bug) para dar push para a árvore
Após seu primeiro bug, peça nível 1 de acesso (para poder usar o tryserver). Após vários bugs não-triviais, peça nível 2 ou 3 (para ter permissão de dar push na árvore).
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
- Introdução para quem quer começar a contribuir ao Firefox: https://developer.mozilla.org/En/Introduction
- Mozilla hacker hacking chromium: http://vocamus.net/dave/?p=1286