Mozilla Firefox: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
 
(19 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Bugs Interessantes =
= Clonando (Forkando) =
 


Indicados por David Humphrey: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=student-project&list_id=748304
== [[Git]] ==


= Clonando (Forkando) =


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:
Linha 25: Linha 35:




* Build no Fedora 13 86_64
== Build no Fedora 13 86_64 ==
Para compilar no fedora, antes instale os pré-requisitos:
Para compilar no fedora, antes instale os pré-requisitos:


Linha 33: Linha 43:
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
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
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
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:

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:

  1. 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

Bugs Interessantes

Referências