Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pt:manual:contrib:packaging_guidelines [2020/11/16 13:08]
i3_relativism
pt:manual:contrib:packaging_guidelines [2022/03/28 17:34] (current)
i3_relativism ↷ Página movida de pt:contrib:packaging_guidelines a pt:manual:contrib:packaging_guidelines
Line 10: Line 10:
     * a) Software empacotado com correções para garantir a segurança e impedir a vigilância global de dados revelada nos [[https://www.theguardian.com/world/interactive/2013/nov/01/snowden-nsa-files-surveillance-revelations-decoded|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://www.theguardian.com/world/interactive/2013/nov/01/snowden-nsa-files-surveillance-revelations-decoded|documentos da NSA de Snowden]]
     * b) Pacotes com correções adicionais que removem protocolos de nível inferior que podem causar vazamentos de privacidade, metadados/impressões digitais e vulnerabilidades.     * b) Pacotes com correções adicionais que removem protocolos de nível inferior que podem causar vazamentos de privacidade, metadados/impressões digitais e vulnerabilidades.
-  - **FHS**: Todos os pacotes seguem o [[pt:main:fhs|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.+  - **FHS**: Todos os pacotes seguem o [[pt:project:fhs|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 37: Line 37:
     * b) Todas as novas versoes, e todas as librarias e pacotes de dependencia  deverao ser rempacotados com a versao aproprada, visto que este sera recompilado num sistema estavel pra que este corra sem a estas estarem presentes. Este sufixo e aplicado ate a proxima versao estavel ser publicada.     * b) Todas as novas versoes, e todas as librarias e pacotes de dependencia  deverao ser rempacotados com a versao aproprada, visto que este sera recompilado num sistema estavel pra que este corra sem a estas estarem presentes. Este sufixo e aplicado ate a proxima versao estavel ser publicada.
     * 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, quando reparo e possivel.     * 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, quando reparo e possivel.
-    - **Package licenses**: Todos os pacotes que contem um campo especificando a licensa(s) fontes que se aplica ao pacote utilizando licences usados usualmente em /usr/share/licenses/common. significando que se o codigo fonte esta compreendido por uma licenca que esta disponivel em /usr/share/licenses/common (ex. GPLv3), simplesmente devera ser referenciado no campo da licensa do pacote (ex. license=('GPLv3')). Se nao for o caso, entao esta devera ser incluida no pacote e defenida como ('custom:LicenseName'). O ficheiro da Licenca devera ser colocados em /usr/share/licenses/$pkgname aquando compilamento do pacote. Se mais que uma licenca seja aplicavel, sigua as segintes comndicoes:+  - **Licensa Pacotes**: Todos os pacotes que contem um campo especificando a licensa(s) fontes que se aplica ao pacote utilizando licences usados usualmente em /usr/share/licenses/common. significando que se o codigo fonte esta compreendido por uma licenca que esta disponivel em /usr/share/licenses/common (ex. GPLv3), simplesmente devera ser referenciado no campo da licensa do pacote (ex. license=('GPLv3')). Se nao for o caso, entao esta devera ser incluida no pacote e defenida como ('custom:LicenseName'). O ficheiro da Licenca devera ser colocados em /usr/share/licenses/$pkgname aquando compilamento do pacote. Se mais que uma licenca seja aplicavel, sigua as segintes comndicoes:
     * 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, para utilizar as librarias com licensa compativel a LGPLv3).     * 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, para utilizar as librarias com licensa compativel a LGPLv3).
     * 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 /usr/share/licenses/$pkgname.     * c) Todas as licensas mais relevantes escolhidas, e ficheiros compativeis do codigo fonte a upstream, deveram ser colocadas em /usr/share/licenses/$pkgname.
-  - **Debian patches**: Todos os pacotes contaem, remendos de seguranca/estabilidade do projecto Debian, de forma a seguir o Contracto Soial e o programa de automacao de a aplicacao de remendos. O PKGBUILD de o pacote mdadm's, e utilizado como exemplo para todos os outros pacotes. As seguintes exepcoes sao consideradas:+  - **remendos Debian**: Todos os pacotes contaem, remendos de seguranca/estabilidade do projecto Debian, de forma a seguir o Contracto Soial e o programa de automacao de a aplicacao de remendos. O PKGBUILD de o pacote mdadm's, e utilizado como exemplo para todos os outros pacotes. As seguintes exepcoes sao consideradas:
     * 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 50: 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 official, contudo requere o download de submodulos git, para o compilamento desde do codigo fonteNeste casoas tarballs oficiais dos repositories do projecto Debian e a opcao alternativa
-    * If there is an official tarballhowever it requires download git submodules to be built from the sourceIn this case, tarballs from the official Debian repositories is the alternative option+    * f) Se nao existir tarball disponiveisNeste casoeste deve utilizar um tag ou branch especifico de o sistema de controlo de versao (VCS) e rempacotar com o sufixo aproprieado (ex. -bzr para Bazaar, -git para Git, -hg para Mercurial -svn para Subversion) ate que versao final seja publicada
-    * f)  +    * g) Se nao existir tarballs com suporte para GNU/Linux, tags ou branchsNeste casoeste deve utilizar a branch principal de o sistema de controlo de versao (VCS) e rempacotar com o sufixo aproprieado (ex. -bzr para Bazaar, -git para Git, -hg para Mercurial -svn para Subversion) ate que versao com suporte para GNU/Linux seja publicada.
-    * If there are no available tarballsIn this caseit 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 branchesIn 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 final version with GNU/Linux support is available.+
   - **SHA-512**: Todos os pacotes deveram sempre e somente usar funcoes criptograficas SHA-512. Outras funcoes de hashing criptograficas como MD5 and SHA-1 nao deverao ser usadas pois estes protocolos estao seriamente comprometidos, no que diz respeito. As seguintes exepcoes sao consideradas:   - **SHA-512**: Todos os pacotes deveram sempre e somente usar funcoes criptograficas SHA-512. Outras funcoes de hashing criptograficas como MD5 and SHA-1 nao deverao ser usadas pois estes protocolos estao seriamente comprometidos, no que diz respeito. As seguintes exepcoes sao consideradas:
     * 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.