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

Desenvolvendo uma distribuição Linux - Projeto ...

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.

Avatar for Allisson Azevedo

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)