openSUSE:Como contribuir para a Factory

Ir para: navegação, pesquisa
Este artigo lhe dará uma visão a partir da perspectiva do compilador na Factory, tais como conceitos, comandos, pessoas para conversar e assim por diante. Destina-se como ponto de partida para empacotadores da Factory, mas não tem a intenção de substituir a documentação na profundidade de coisas como o Serviço de compilaçãol do openSUSE, suas interfaces ou empacotamento de RPM, etc... Espera-se que isto já seja do seu conhecimento.
Note-se que a contribuição para a fábrica é tão fácil quanto muito bem-vinda. Quaisquer pacotes que não estão atualmente na Factory são muito bem-vindos; e a manutenção de um pacote que está na fábrica (ou submetido a ela) não dá mais trabalho do que a manutenção normal que um packager normalmente faz.

Como o desenvolvimento Factory está organizado

O desenvolvimento da Factory está desdobrada em projetos de desenvolvimento organizados por áreas temáticas, tais como KDE, GNOME, Educação, Java, e assim por diante. Os projetos de desenvolvimento são responsáveis por conjuntos de pacotes e se organizam individualmente, em vez de seguirem um modelo de cima para baixo de gestão. Correções de bugs e novos recursos têm que ser primeiro submetidos ao projeto de desenvolvimento e de lá serão apresentados pedidos para encaminhá-los para o projeto principal do openSUSE:Factory.

Uma maneira fácil de começar a contribuir é a submissão de correções para pacotes construídos com falhas, esses estão resumidos nesta página Factory Status. As submissões acontecem seguindo o processo de Colaboração do Serviço de Compilação. As duas entradas do blog, Corrigindo pacotes e Revisão de pacotes no Serviço de Compilação, oferecem mais detalhes sobre isto.


Fluxo de trabalho

A Factory está inserida no Serviço de Compilação do openSUSE. E tem o seu próprio projeto, a versão openSUSE:Factory. Como você pode ver é apenas um enorme repositório de pacotes. O desenvolvimento não ocorre diretamente na versão openSUSE:Factory mas nos projetos devel como são chamados. Os projetos Devel são, como o próprio nome sugere, projetos onde o desenvolvimento acontece para um tópico específico. Tal como multimídia ou GNOME ou Kernel. A relação de pacotes no projeto openSUSE:Factory à vista dos pacotes nos projetos devel é expressa pelos metadados dos pacotes dentro da versão openSUSE:Factory. Assim, um pacote que é visto dentro da Factory terá feito sempre este caminho:

Modificação --> Projeto Devel --> Factory.


Modificações

Como você pode imaginar a primeira parte esta aberta para todos. qualquer pessoa pode verificar pacotes dos projetos devel e fazer modificações locais. E todos podem submeter suas alterações para o projeto devel, tal como submeter pedidos através do Serviço de Compilação no osc cliente de linha de comando. Como fazer isso em geral é descrito na página de colaboração do Serviço de Compilação.


Projetos Devel

Permissões e os processos entram em jogo quando você quer ser responsável por um pacote na distribuição. Como explicado acima, os mantenedores do pacote openSUSE trabalham em conjuntonos projetos devel. Cada projeto devel tem seu próprio conjunto de processos, regras e canais de comunicação que o adaptam melhor. O ponto de referência para esta informação é a descrição do projeto que o Serviço de Compilação projeta deles. Então, se você quiser se tornar parte de um projeto devel você deve se direcionar para o projeto do Serviço de Compilação do openSUSE, no qual você está interessado, e ver como fazer isto. Se você quer descobrir a que projeto devel um pacote pertence, use o comando:

osc meta pkg openSUSE:Factory aaa_base


Os projetos devel estão sujeitos a alterações porque, no mundo do FOSS, os software não estão parados. Os software evoluem, tornam-se obsoletos ou alteram normas/padrões e assim por diante. Por isso, os projetos devel podem ter seus nomes trocados, saírem de linha, ser novamente criados ou alterar o seu conteúdo e a sua direção, e assim também pode acontecer com os pacotes em projetos devel.

Começar um Projeto Devel de um novo pacote

Antes que você possa submeter um novo pacote para a Factory, o seu pacote necessita ter um projeto devel. Este projeto não pode ser o seu projeto de casa ou seus subprojetos. A maneira mais fácil de obter um é dar uma olhada na lista de projetos e escolher o tópico ao qual o seu pacote pertence. Se você encontrou um bom projeto, tente entrar em contato com os mantenedores dele (enviar o pacote através SubmitRequest parece ser uma boa maneira de iniciar a comunicação), descubra como funciona esse projeto e tente se juntar a ele. Se você não conseguir encontrar um tópico adequado, pode ser necessário criar um novo projeto devel.

Criando um novo Projeto Devel

Primeiro é necessário propor um novo projeto devel na lista de discussão em opensuse-factory@opensuse.org . Há pessoas que constam dessa lista de discussão que podem criar projetos de alto nível no Serviço de Compilação, uma vez que haja acordo sobre esse novo projeto devel, há um par de coisas para as quais se deve tomar cuidado.

Canal de comunicação

Antes de tudo, se deve estabelecer alguma linha de comunicação com os outros mantenedores. Sugere-se que seja usada a lista de discussão opensuse-factory@opensuse.org com algum tema específico, como:

Subject: [YOUR DEVEL PROJECT] Update to FOO 2.0

ou dizer ml-admin@opensuse.org e ele criará a sua própria lista como:

opensuse-factory-YOUR-DEVEL-PROJECT@opensuse.org.

Regras de Projetos Devel

Depois de ter o canal de comunicação com os outros, é necessário estabelecer as regras para manter o projeto. existe liberdade para fazer isto da forma como se queira. Pode-se apenas utilizar uma relação mantenedor<-->pacote ou se pode ter menos rigor e trabalhar em um grupo.

Copiar pacotes

É aconselhável utilizar o osc linkpac para conectar o seu pacote a partir de openSUSE:Factory dentro do seu projeto devel. Desta forma um conjunto de recursos como o osc branch ou o osc submitrequest trabalharão melhor. Pode-se também, é claro, utilizar o osc copypack para copiar pacotes a partir de outros projetos.

osc linkpac openSUSE:Factory aaa_base Base:System


Documentar o seu projeto

Depois de ter feito essas coisas, você tem que documentá-las na descrição do seu projeto no Serviço de Compilação. Você pode usar esta predefinição:

<title>YOUR DEVEL PROJECT</title>
<description>
This is the FOOBAR project. Its main purpose is to serve as development
project for packages around the topic of FOOBAR in the openSUSE:Factory
distribution. If you want to participate you can contact us individually
or use our mailinglist opensuse-factory-foobar@opensuse.org. Please
report bugs to the respective bugowners as set.
</description>

Factory

A openSUSE:Factory serve como projeto principal de todos os projetos devel. Os dados no openSUSE:Factory são autoritários. Como você não pode mudar nada no openSUSE:Factory tudo trabalha diretamente através de pedidos com o osc.

Adicionando um pacote na Factory

Após seu novo pacote ser adicionado a umprojeto devel' apropriado, como descrito acima, você pode submeter o pedido para inclusão no openSUSE:Factory. O SubmitRequest deve conter uma nota com informações sobre o pacote. De preferência, você introduz o pacote para a lista openSUSE-Factory e aponta para isto, em sua introdução no seu SubmitRequest.

A introdução deve conter informações como estas:

  • o nome e propósito
  • Quanto tempo trabalhou nele?
  • Como foi testado?
  • Qual é o projeto upstream?
  • Há um histórico de problemas de segurança?
  • Qual é o propósito de tê-lo na distribuição?
  • Quem são seus usuários?
  • Qual é o tipo de licença?

Alterar a fonte de um pacote

Para alterar a dfonte de um pacote você tem de fazer as alterações no projeto devel e então submetê-lo com o comando <ttosc submitreq</tt>:

osc submitrequest Base:System aaa_base openSUSE:Factory


Deletar um pacote

Se se quer apagar um pacote da distribuição openSUSE:Factory é necessário enviar um pedido com o osc para que o pacote seja apagado.

osc deleterequest openSUSE:Factory aaa_base


Para renomear um pacote, deve-se primeiro solicitar a deleção e somente após submeter um pedido de novo pacote com o nome desejado.

Alterar o projeto devel de um pacote

Se quiser mover um pacote ou um grupo de pacotes para outro projeto devel você você pode emitir uma solicitação de mudança de desenvolvimento.

osc changedevelrequest openSUSE:Factory aaa_base Base:Build


Manutenção da Factory

A Factory é mantida pelo Gestor do Projeto Distribuição openSUSE. O atual gestor é Stephan Kulow. O Gerente de Projeto tem a última palavra sobre as mudanças técnicas na distribuição openSUSE.

Os pedidos para alterar as coisas na Factory, como mudar a fonte de um pacote ou renunciar um pacote, são tratados pela Factory Cabal. Este grupo é atualmente constituído exclusivamente por Markus Rueckert.