openSUSE:Packaging for Leap

Ir para: navegação, pesquisa

Predefinição:Leap navbar

Este artigo dar-te-á uma uma visão sob perspectiva do colaborador openSUSE Leap. Muitos dos conceitos, comandos a executar, pessoas com quem conversar e assim vai, são similares ao openSUSE Factory. É recomendado utilizares o guia Como contibuir com openSUSE Factory como ponto de partida, com este guia a focar nas diferenças específicas ao openSUSE Leap. Este artigo mostrar-te-á que contribuir com o Leap é ao mesmo tempo fácil e bem vindo.

Quando pacotes podem ser submetidos ao Leap

Geralmente, pacotes são adicionados a uma versão openSUSE Leap unicamente durante sua etapa de desenvolvimento, não após seu lançamento. Qualquer exceção precisa ser aprovada e processada pela Equipe de Manutenção.

Pacotes que já estão no openSUSE Factory não serão automaticamente mostrados no Leap; apesar de que a admissão no Factory usualmente seja uma precondição.

Como adicionas um novo pacote ao openSUSE Leap em desenvolvimento

Nota que o openSUSE Leap 15.0 and 15.1 estão agora em Manutenção. Esta seção é aplicada ao openSUSE Leap 15.2

Localize.png Este artigo está em processo de tradução!
Esta página não está traduzida, aqui você pode encontrar a página em inglês

Leap é um lançamento estável criado através da combinação entre pacotes do SUSE Linux Enterprise e openSUSE Tumbleweed.

Para pessoas familiarizadas com o Factory Development Model, o Factory serve a um propósito no Leap similar ao propósito que o Devel Project serve ao Factory.

Por predefinição, novos pacotes no Leap devem vir do SLE ou serem primeiramente aceitos no Factory. Preferencialmente, novos pacotes deveriam ser introduzidos a lista opensuse-factory com uma ligação ao respectivo pedido de submissão. Uma boa introdução contém informações acerca do estado oficial do projeto, o quão fácil será mantê-lo e qual o propósito de tê-lo na distribuição.

Exemplo de como submeter do Factory devel project:

osc submitrequest -m 'Submitting Factory version of Salt for openSUSE Leap, see https://lists.opensuse.org/opensuse-factory/2015-07/msg00443.html ' systemsmanagement:saltstack/salt openSUSE:Leap:15.2

Também é possível submeter do Factory, mas outros requerimentos serão necessários:

osc submitrequest -m 'Submitting Salt for openSUSE Leap, see https://lists.opensuse.org/opensuse-factory/2015-07/msg00443.html ' openSUSE:Factory/salt openSUSE:Leap:15.2

Devido a bugs no OBS, ~/.oscrc deve conter a opção submitrequest_on_accept_action desativada, e não deve haver --cleanup nem --no-cleanup especificados no osc command line. Doutra forma, o OBS retornará um erro de permissão.

O que segue mostra como submeter um pacote ao SLE:

osc submitrequest -m 'Submitting jakarta-commons-dbcp from SLE 15 to Leap' SUSE:SLE-15-SP2:GA/jakarta-commons-dbcp openSUSE:Leap:15.2

If a package for Leap for whatever reason cannot be taken from either SLE or Factory the reason for that should be explained in the submit request.

How to upgrade a package in an openSUSE Leap release in development

In general version updates of packages in minor Leap version upgrades are possible. The packager should carefully consider the pros and cons of such upgrades for the users though. Within a major version Leap is considered stable, so overly disruptive and incompatible changes are to be avoided.

After careful consideration of the pros and cons the same process as with new packages applies. I.e. packages must be accepted in Factory first.

How to add a new package to a released openSUSE Leap version

See Maintenance Portal and Maintenance submission.

Development Information

Project Layout

openSUSE:Leap:15.2
packages with free software license [1]
openSUSE:Leap:15.2:NonFree
packages with non free licenses [2]
openSUSE:Leap:15.2:Update
updates for packages with free software license [3]
openSUSE:Leap:15.2:NonFree:Updates
updates for packages with non free licenses [4]

Upstream Projects

Many packages in openSUSE Leap 15.2 come from other projects. During the development phase release engineers may pull package updates from those. A dedicated web interface can be used to query origin information for each package.

SUSE:SLE-15-*
SUSE Linux Enterprise packages: pulled automatically
openSUSE:Factory
Factory package updates: pulled automatically until package freeze.

RPM Distro Version Macros

  • suse_version 1315 for the full time life of SLE12 and openSUSE:Leap:42.x
  • suse_version 1500 for the full time life of SLE15 and openSUSE:Leap:15.x
  • additionally is_opensuse 1 for openSUSE:Leap:* to mark differences
RPM macros for SLE 15, Leap 15 and Tumbleweed
SLE15:GA SLE15:SP1 SLE15:SP2 Backports:SLE-15 Leap 15.0 Leap 15.1 Leap 15.2 Tumbleweed
suse_version 1500 1500 1500 1500 1500 1500 1500 1550¹
sle_version 150000 150100 150200 150000³ 150000 150100 150200 undefined
is_opensuse undefined undefined undefined 1 1 1 1 1
is_backports undefined undefined undefined 1⁴ undefined undefined undefined undefined
RPM macros for SLE 12 and Leap 42
SLE12:GA SLE12:SP1 SLE12:SP2 SLE12:SP3 SLE12:SP4 Backports:SLE-12 Leap 42.1 Leap 42.2 Leap 42.3
suse_version 1315 1315 1315 1315 1315 1315 1315 1315 1315
sle_version 120000 120100 120200 120300 120400 120000³ 120100 120200 120300
is_opensuse undefined undefined undefined undefined undefined undefined 1 1 1
leap_version² undefined undefined undefined undefined undefined undefined undefined 420200 420300
is_backports undefined undefined undefined undefined undefined 1⁴ undefined undefined undefined


  1. never rely on this version, it may change
  2. leap_version is deprecated, use is_opensuse and sle_version instead
  3. Backports:* projects inherit the %sle_version macro from the corresponding SLE release
  4.  %is_backports macro is set on all openSUSE:Backports:SLE-*-* projects

For cross distribution have a look here: openSUSE:Build_Service_cross_distribution_howto

Tips and Tricks

Package not checked in for weeks

Build failure in Staging:adi

All package submissions are built isolated in openSUSE:Leap:15.1:Staging:adi:<number> to make sure the submission is complete. Sometimes that fails due to different configurations in the devel project for example. Sometimes other packages need to be grouped into the same project. Talk to the release team if a package needs manual help there.

Factory review

The 15.2 submissions wait for the submission to Factory in order to pass reviews there. Sometimes leaf packages have to wait a long time due to low priority. If a Factory submission is stuck e.g. in legal review for too long and it affects 15.2 talk to the release team so they can adjust priorities.

Maintainer review

Packages submitted by someone other than the Factory package maintainer(s) have a review set to the devel project/package to ask for permission by the Factory package maintainer. If there's no reply for too long, try adding a comment in the request to get some attention or talk to the project maintainers directly.