Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pt:manual:contrib:packaging_guidelines [2020/11/16 12:44] i3_relativism |
pt:manual:contrib:packaging_guidelines [2022/03/28 17:34] i3_relativism ↷ Página movida de pt:contrib:packaging_guidelines a pt:manual:contrib:packaging_guidelines |
||
---|---|---|---|
Line 4: | Line 4: | ||
As **Diretrizes de Empacotamento do projeto Hyperbola** e o compromisso que nós, Hyperbola, fizemos com à comunidade de software livre em geral e aos nossos usuários em particular. É por isso que as nossas diretrizes de empacotamento seguirão sempre a filosofia de __liberdade__, | As **Diretrizes de Empacotamento do projeto Hyperbola** e o compromisso que nós, Hyperbola, fizemos com à comunidade de software livre em geral e aos nossos usuários em particular. É por isso que as nossas diretrizes de empacotamento seguirão sempre a filosofia de __liberdade__, | ||
- **Liberdade**: | - **Liberdade**: | ||
- | * a) Software não-livre | ||
- | * b) [[https:// | ||
- | * c) Firmware ou Blobs que são fornecidos somente como binários. | ||
- | - **Privacidade**: | ||
- | * a) Software empacotado com correções para garantir a segurança e impedir a vigilância global de dados revelada nos [[https:// | ||
- | * b) Pacotes com correções adicionais que removem protocolos de nível inferior que podem causar vazamentos de privacidade, | ||
- | - **FHS**: Todos os pacotes seguem o [[pt: | ||
- | - **Projetos de software Livre**: Se existir software com versao estavel disponivel , entao essa deveria ser escolhida em vez da versao currente, existem exemplos como: | ||
- | * a) O suporte de/a longo prazo (LTS) do kernel Linux-libre em vez da versao currente. | ||
- | * b) A versao de software livre Iceweasel de suporte extendido (ESR) em vez da versao currente. | ||
- | * c) A versao estavel de Nginx em vez da versao principal. | ||
- | * d) A versao permanente de LibreOffice em vez da versao mais recente. | ||
- | * e) A versao estavel de GnuPG em vez da versao mais moderna. | ||
- | ##??a Hyperbola é uma distribuição de Suporte a Longo Prazo, Long Term Support (LTS) em inglês??* | ||
- | - **Anti-abandonware**: | ||
- | * a) Se o pacote e necessario na esfera da funcionalidade, | ||
- | * b) Se o pacote for uma dependencia importante para algum projeto ativo ,e em que nao existe alternativa. | ||
- | * c) Se o pacote for um driver, firmware ou emulador de hardware nao existe nenhuma alternativa disponivel. | ||
- | - **Snapshot versions**: Visto que o projeto Hyperbola e uma distribuicao de Suporte de Longo Prazo (LTS); todos os pacotes sao baseados !**?? | ||
- | * a) Se a versao de um pacote e 1.1.0, e caso exista um !!!***bugfix***!!! 1.1.1, esta podera ser actualizada, | ||
- | * b) Se a versao de um pacote na ***!!snapshot!!*** e 1.1.0.a, e existe um !!**bugfix!!** na versao 1.1.0.b, esta podera ser actualizada, | ||
- | * c) Se a versao de um pacote pacote na ***!!snapshot!!*** 1.1.0-beta, e se houver uma versao final 1.1.0, esta podera se arualizada. | ||
- | | ||
- | * e) Se a versaode paco | ||
- | * | ||
- | * If a package version in the snapshot is 1.1.0 and depends on abandonware project (eg. OpenRC 0.25.x depends on SysVinit), and there is a 1.2.0 with a replacement, | ||
- | * f) If a package version in the snapshot is a long-term support (LTS) project, all minor versions of a release series are accepted as exception such as ESR 52 series in the libre version of Iceweasel (eg. 52.x.x). | ||
- | * g) If a package version needs taking security parts from a newer version, but it is inefficient to be backported, a newer version could be considered as exception (see Backporting amendment for further details). | ||
- | - **Publicacao de pacotes**: All packages contain a release number specific in the pkgrel for package maintainers to make updates to the package' | ||
- | * a) If a package was not modified from official Arch or AUR package(s). | ||
- | * b) If a package was built from a libre replacement project (eg. Linux-libre kernel) or another libre project not included in Arch or AUR. | ||
- | - **Backporting**: | ||
- | * a) If the current package used on the [[en: | ||
- | * b) All newer version packages and its required newer version library and dependency packages should be repackaged with the appropriate package release too, since it will be rebuilt in a stable environment so that it will run without new libraries. This suffix is applied until the [[en: | ||
- | * c) All newer version packages should follow the snapshot version rules from Hyperbola Packaging Guidelines using its release date as a snapshot version, it means Hyperbola **will not accept** recurrent drastic version changes as long as fixing is possible. | ||
- | - **Package licenses**: All packages contain a license field that specifies the license(s) source that apply to the package using the commonly used licenses in / | ||
- | * a) If an upstream source provides the preference to choose a license, add only that license in the package license field. The chosen license must be compatible with the linked library dependencies used by the package. (eg. if the chosen license for ffmpeg is the version 3 of LGPL, then the configure parameter `--enable-version3` must be added in ffmpeg' | ||
- | * b) If an upstream source contains files with many different licenses, add only the primary ones in the package license field. | ||
- | * c) All chosen primary and compatible license files from the upstream source should be placed in / | ||
- | - **Debian patches**: All packages contain Debian security/ | ||
- | * a) If Debian does not maintain the required package. In this case, we should use the Devuan or Gentoo patches. | ||
- | * b) If there are no patches available for the required package. | ||
- | * c) For Linux-libre kernels. | ||
- | - **HTTPS e tarballs**: Todos os pacotes precisam de ser construidos atraves de codigo fonte atraves da tarball oficial e nao atravez do sistema de controlo de versao (VCS). Portanto, todo o empacotamento deve ser proveniente das mesmastrballs atraves do seu site HTTPS. As seguintes exepcoes sao consideradas: | ||
- | * a) Se nao existir site HTTPS. Nesse caso, HTTP e a opcao alternativa. | ||
- | * b) Se nao existir site HTTP. Nesse caso, FTP e a opcao alternativa. | ||
- | * c) Se nao existir quaisquer tarball oficial. Neste caso, tarballs dos repositorios oficiais, do projecto Debian e a opcao alternativa. | ||
- | * d) Se existir uma tarball official, contudo tarballs dos repositorios oficiais, do projecto Debian however tarballs from the official Debian repositories contain bugfixes. In this case, the official tarballs from Debian should be used by default. (eg. Mutt+NeoMutt bugfixes) | ||
- | * e) If there is an official tarball, however it requires download git submodules to be built from the source. In this case, tarballs from the official Debian repositories is the alternative option. | ||
- | * f) If there are no available tarballs. In this case, it should be used in a specific tag or branch from a version control system (VCS) and repackaged with the appropriate suffix (eg. **-bzr** for Bazaar, **-git** for Git, **-hg** for Mercurial and **-svn** for Subversion) until a final version is available. | ||
- | * g) If there is not support for GNU/Linux in tarballs, tags or branches. In this case, a master branch from a version control system (VCS) could be used temporarily and repackaged with the appropriate suffix (eg. **-bzr** for Bazaar, **-git** for Git, **-hg** for Mercurial and **-svn** for Subversion) until a final version with GNU/Linux support is available. | ||
- | - **SHA-512**: | ||
- | * a) Se o pacoteemquestao utiliza um sistema de controlo de versao (VCS) pois este nao suporta GNU/Linux e/ou tarballs. | ||
- | - **GPG**: Todos os pacotes na Hyperbola devem usar a verificação de assinatura. As exceções são consideradas se: | ||
- | * a) Tarballs não contenham tais assinaturas. | ||
- | - **Anti-ofuscação**: | ||
- | - **Liberdade**: | ||
* a) Software não-livre | * a) Software não-livre | ||
- | * b) SaaSS (Serviço como um Substituto de Software) | + | * b) [[https:// |
* c) Firmware ou Blobs que são fornecidos somente como binários. | * c) Firmware ou Blobs que são fornecidos somente como binários. | ||
- | - **Privacidade**: | + | - **Privacidade**: |
- | * a) Software empacotado com correções para garantir a segurança e impedir a vigilância global de dados revelada nos documentos da NSA de Snowden | + | * a) Software empacotado com correções para garantir a segurança e impedir a vigilância global de dados revelada nos [[https:// |
* b) Pacotes com correções adicionais que removem protocolos de nível inferior que podem causar vazamentos de privacidade, | * b) Pacotes com correções adicionais que removem protocolos de nível inferior que podem causar vazamentos de privacidade, | ||
- | - **FHS**: Todos os pacotes seguem o Filesystem Hierarchy Standard (FHS) que definem os principas diretorios e ficheiros em GNU/Linux ou qualquer outro sistema operativo Unix como por exemplo GNU/Hurd. Portanto, todos os pacotes deveriao ser fixados utilizando este estandarte, sem qualquer exepcoes. | + | |
- **Projetos de software Livre**: Se existir software com versao estavel disponivel , entao essa deveria ser escolhida em vez da versao currente, existem exemplos como: | - **Projetos de software Livre**: Se existir software com versao estavel disponivel , entao essa deveria ser escolhida em vez da versao currente, existem exemplos como: | ||
* a) O suporte de/a longo prazo (LTS) do kernel Linux-libre em vez da versao currente. | * a) O suporte de/a longo prazo (LTS) do kernel Linux-libre em vez da versao currente. | ||
Line 74: | Line 17: | ||
* d) A versao permanente de LibreOffice em vez da versao mais recente. | * d) A versao permanente de LibreOffice em vez da versao mais recente. | ||
* e) A versao estavel de GnuPG em vez da versao mais moderna. | * e) A versao estavel de GnuPG em vez da versao mais moderna. | ||
- | + | ##??a Hyperbola é uma distribuição de Suporte a Longo Prazo, Long Term Support (LTS) em inglês??* | |
- | ##??a Hyperbola é uma distribuição de Suporte a Longo Prazo, Long Term Support (LTS) em inglês??* | + | |
- **Anti-abandonware**: | - **Anti-abandonware**: | ||
* a) Se o pacote e necessario na esfera da funcionalidade, | * a) Se o pacote e necessario na esfera da funcionalidade, | ||
* b) Se o pacote for uma dependencia importante para algum projeto ativo ,e em que nao existe alternativa. | * b) Se o pacote for uma dependencia importante para algum projeto ativo ,e em que nao existe alternativa. | ||
* c) Se o pacote for um driver, firmware ou emulador de hardware nao existe nenhuma alternativa disponivel. | * c) Se o pacote for um driver, firmware ou emulador de hardware nao existe nenhuma alternativa disponivel. | ||
- | - **Snapshot | + | - **Versoes |
* a) Se a versao de um pacote e 1.1.0, e caso exista um !!!*bugfix*!!! 1.1.1, esta podera ser actualizada, | * a) Se a versao de um pacote e 1.1.0, e caso exista um !!!*bugfix*!!! 1.1.1, esta podera ser actualizada, | ||
- | * b) Se a versao de um pacote na *!!snapshot!!* e 1.1.0.a, e existe um !!bugfix!! na versao 1.1.0.b, esta podera ser actualizada, | + | |
- | | + | * c) Se a versao de um pacote pacote na *!!snapshot!!* 1.1.0-beta, e se houver uma versao final 1.1.0, esta podera ser actualizada. |
- | | + | * d) Se a versao de um pacote pacote na *!!snapshot!!* 1.1.0-beta, e sem haver planos para uma versao final, se existir 2.0.0-rc, esta podera ser actualizada como uma exepcao. |
- | | + | * e) Se a versao de um pacote na *!!snapshot!!* 1.1.0 depende de um projecto em abandonware (ex. OpenRC 0.25.x depende de SysVinit), e se houver uma versao 1.2.0 como alternativa, |
* f) Se a versao de um pacote na *!!snapshot!!* em suporte de longo-prazo (LTS), todos os lancamentos, | * f) Se a versao de um pacote na *!!snapshot!!* em suporte de longo-prazo (LTS), todos os lancamentos, | ||
* g) Se a versao de um pacote necessite de substituir algumas partes relativas a seguranca, por uma versao mais recente, mas nao e pratico de fazer backport, uma nova versao poderaser considerada como excepcao (veja retificacao de Backports para mais detalhes). | * g) Se a versao de um pacote necessite de substituir algumas partes relativas a seguranca, por uma versao mais recente, mas nao e pratico de fazer backport, uma nova versao poderaser considerada como excepcao (veja retificacao de Backports para mais detalhes). | ||
Line 95: | Line 37: | ||
* b) Todas as novas versoes, e todas as librarias e pacotes de dependencia | * b) Todas as novas versoes, e todas as librarias e pacotes de dependencia | ||
* c) Todas as novas versoes deverao seguir as indicacoes do Guia de empacotamento do projecto Hyperbola, utilizando a sua data de publicacao como a versao snapshot, isto significa o projecto Hyperbola nao ira aceitar mudancas drasticas de versoes recurrentes, | * c) Todas as novas versoes deverao seguir as indicacoes do Guia de empacotamento do projecto Hyperbola, utilizando a sua data de publicacao como a versao snapshot, isto significa o projecto Hyperbola nao ira aceitar mudancas drasticas de versoes recurrentes, | ||
- | - **Package licenses**: Todos os pacotes que contem um campo especificando a licensa(s) fontes que se aplica ao pacote utilizando licences usados usualmente em / | + | - **Licensa Pacotes**: Todos os pacotes que contem um campo especificando a licensa(s) fontes que se aplica ao pacote utilizando licences usados usualmente em / |
* a) Se o cofigo fonte do projecto upstream fornece preferencia na escolha da licensa, adicione apenas essa mesma licensa no campo respectivo do pacote. Esta necessita de ser compativel com a licensa de todas as librarias ligadas a que esse pacote depende. (ex. Se a licensa escolhida, por exemplo, do pacote ffmpeg for a versao 3 de LGPL, entao o parametro de configuracao `–enable-version3` tem de ser adicionado ao PKGBUILD de ffmpeg para activar esta opcao de licensiamento, | * a) Se o cofigo fonte do projecto upstream fornece preferencia na escolha da licensa, adicione apenas essa mesma licensa no campo respectivo do pacote. Esta necessita de ser compativel com a licensa de todas as librarias ligadas a que esse pacote depende. (ex. Se a licensa escolhida, por exemplo, do pacote ffmpeg for a versao 3 de LGPL, entao o parametro de configuracao `–enable-version3` tem de ser adicionado ao PKGBUILD de ffmpeg para activar esta opcao de licensiamento, | ||
* b) Se o codigo fonte upstream contiver ficheiros com variadas licensa, adicione somente as mais relevantes no campo de licensa do pacote. | * b) Se o codigo fonte upstream contiver ficheiros com variadas licensa, adicione somente as mais relevantes no campo de licensa do pacote. | ||
* c) Todas as licensas mais relevantes escolhidas, e ficheiros compativeis do codigo fonte a upstream, deveram ser colocadas em / | * c) Todas as licensas mais relevantes escolhidas, e ficheiros compativeis do codigo fonte a upstream, deveram ser colocadas em / | ||
- | - **Debian | + | - **remendos |
* a) Se o projecto Debian nao manteve os pacotes necessarios. Neste caso, deveriamos usar os remendos dp projecto Devuan ou Gentoo. | * a) Se o projecto Debian nao manteve os pacotes necessarios. Neste caso, deveriamos usar os remendos dp projecto Devuan ou Gentoo. | ||
* b) Se nao existirem remendos disponiveis para os pacotes necessarios. | * b) Se nao existirem remendos disponiveis para os pacotes necessarios. | ||
Line 108: | Line 50: | ||
* c) Se nao existir quaisquer tarball oficial. Neste caso, tarballs dos repositorios oficiais, do projecto Debian e a opcao alternativa. | * c) Se nao existir quaisquer tarball oficial. Neste caso, tarballs dos repositorios oficiais, do projecto Debian e a opcao alternativa. | ||
* d) Se existir uma tarball official, contudo tarballs dos repositorios oficiais, do projecto Debian however tarballs from the official Debian repositories contain bugfixes. In this case, the official tarballs from Debian should be used by default. (eg. Mutt+NeoMutt bugfixes) | * d) Se existir uma tarball official, contudo tarballs dos repositorios oficiais, do projecto Debian however tarballs from the official Debian repositories contain bugfixes. In this case, the official tarballs from Debian should be used by default. (eg. Mutt+NeoMutt bugfixes) | ||
- | * e) | + | * e) Se existir uma tarball |
- | * If there is an official | + | * f) Se nao existir tarball disponiveis. Neste caso, este deve utilizar um tag ou branch |
- | * f) | + | * g) Se nao existir tarballs com suporte para GNU/Linux, tags ou branchs. Neste caso, este deve utilizar |
- | * If there are no available tarballs. In this case, it should be used in a specific | + | |
- | * g) | + | |
- | * If there is not support for GNU/ | + | |
- **SHA-512**: | - **SHA-512**: | ||
* a) Se o pacoteemquestao utiliza um sistema de controlo de versao (VCS) pois este nao suporta GNU/Linux e/ou tarballs. | * a) Se o pacoteemquestao utiliza um sistema de controlo de versao (VCS) pois este nao suporta GNU/Linux e/ou tarballs. |