Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desenvolvendo uma distribuição Linux - Projeto Fedora

Desenvolvendo uma distribuição Linux - Projeto Fedora

Os slides mostram como ocorre a construção de um novo release da distribuição Fedora GNU/Linux. Slides utilizados no II Encontro de Comunicação Digital.

Allisson Azevedo

November 02, 2011
Tweet

More Decks by Allisson Azevedo

Other Decks in Technology

Transcript

  1. Desenvolvendo uma distribuição GNU/Linux – Projeto Fedora Allisson Azevedo II

    Encontro Comunicação Digital http://allisson.eti.br
  2. Fedora Ontem (2003) • Fedora Core 1 – Red Hat

    Linux (9.0.93) – Desenvolvimento aberto • Repositório Core – Engenheiros da Redhat • Repositório Extras – Comunidade
  3. Fedora Ontem (2007) • Fedora 7 • União dos repositórios

    core + extras – 100% do código disponível via cvs – http://cvs.fedoraproject.org/ • Implementação de novas ferramentas (new toolbox) – Koji – Bodhi – PackageDB – Pungi
  4. Fedora Hoje • Fedora 9 • Consolidação das ferramentas criadas

    para o Fedora 7 • Novas ferramentas – MirrorManager – Transifex • Maior participação da comunidade – Comunidade é maioria no FESCo (Fedora Engineering Steering Committee)
  5. RPM • Red Hat Package Manager • Base da distribuição

    Fedora • Bom nível de estabilidade – Versão 4.0 (2001) – Versão 4.4 (2007)
  6. Yum • API para trabalhar com pacotes RPM • Instalação

    remota de pacotes • Resolução de dependências • Constante evolução • Python com alguns módulos em C
  7. Koji • Agenda a construção de pacotes para várias arquiteturas:

    – I386 – X86_64 – PPC – PPC64 • Construção de pacotes em ambientes chroot separados (mockbuild)
  8. Koji (Cont) • Scratch builds • API – Web: http://koji.fedoraproject.org/koji

    – Linha de comando • Criado para uso interno na Red Hat • Liberado como software livre para uso no Fedora • Python, Cheetah, Javascript, XML-RPC • https://fedorahosted.org/koji/
  9. Pungi • Produção de spins • Arquivo kickstart (fedora.ks) –

    Resolução de depêndencias – Spins variados • Anaconda • Python • https://fedorahosted.org/pungi/
  10. Bodhi • Atualizações de pacotes • Filtro antes da publicação

    no repositório fedora-updates • Verificação do pacote – Interação com Koji – Suíte de testes automáticos
  11. Bodhi (Cont) • Permite o teste do pacote por outros

    usuários – Comentários – Karma • API – Web: https://admin.fedoraproject.org/updates – Linha de comando • Python (TurboGears) – https://fedorahosted.org/bodhi/
  12. PackageDB • Alteração de permissões nos pacotes – Mantenedor (ownership)

    – Co-Mantenedores (co-ownerships) • Interface web – https://admin.fedoraproject.org/pkgdb • Integração com outras ferramentas – Koji – Bugzilla – CVS
  13. MirrorManager • Sincronizar espelhos públicos e privados ao redor do

    mundo • MirrorManager Database – Lista de espelhos sempre atualizada • Python (TurboGears) • https://fedorahosted.org/mirrormanager/
  14. Novos Recursos • Membros fazem propostas de novos recursos •

    Votação pelo FESCo (Fedora Engineering Steering Committee) • Os recursos aprovados vão ditar as novidades do próximo release
  15. Construção de Pacotes • CVS – Código fonte – Arquivo

    .spec – Possíveis patches • Koji – Construção com base nos arquivos do CVS – Necessário compilar corretamente nas arquiteturas propostas – Inclusão automática no repositório de desenvolvimento (rawhide)