View
4.263
Download
1
Category
Preview:
DESCRIPTION
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.
Citation preview
Desenvolvendo uma distribuição GNU/Linux – Projeto Fedora
Allisson AzevedoII Encontro Comunicação Digital
http://allisson.eti.br
Histórico
Fedora Ontem (2003)
● Fedora Core 1– Red Hat Linux (9.0.93)
– Desenvolvimento aberto
● Repositório Core– Engenheiros da Redhat
● Repositório Extras– Comunidade
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
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)
Ferramentas
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)
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
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)
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/
Pungi
● Produção de spins● Arquivo kickstart (fedora.ks)
– Resolução de depêndencias
– Spins variados
● Anaconda● Python● https://fedorahosted.org/pungi/
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
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/
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
PackageDB (Cont)
● Python (TurboGears)● https://fedorahosted.org/packagedb/
MirrorManager
● Sincronizar espelhos públicos e privados ao redor do mundo
● MirrorManager Database– Lista de espelhos sempre atualizada
● Python (TurboGears)● https://fedorahosted.org/mirrormanager/
Construindo um novo release
1. Definir Novos Recursos
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
2. Construir os pacotes
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)
3. Construir os Spins
Construir os Spins
● Pungi● ISOS
– DVD
– LiveCD
4. Sincronizar os Espelhos
Sincronizar os Espelhos
● MirrorManager– Sincronizar mais 200 espelhos espalhados pelo
mundo
Perguntas?
Recommended