# GNU Health/Correções e Correções Cumulativas
## Sobre Correções Cumulativa GNU Health

Desde a versão 2.2.1, as correções serão lançadas para as versões estáveis do GNU Health ​​(aqueles com número par menor, por exemplo, 1.2.3).
Suponha o seguinte cenário: O centro de saúde HOSPITAL GNU SOLIDÁRIO instala a versão 2.2.0. Após algumas semanas de executar o servidor no ambiente de produção, um erro é descoberto que afeta o módulo health_service. Não é um bug crítico mas deve ser tratado em breve.
Enquanto isso o erro foi relatado, logo corrigido e documentado. O administrador do sistema no Hospital GNU SOLIDÁRIO tem duas opções:
* Fazer o download e aplicar a correção individual (patch) usando a ferramenta de correção.
* Esperar e aplicar a última correção cumulativa (patchset).
O contexto determinará qual o método a utilizar, mas uma regra geral é: a menos que você esteja em um cenário de uma falha crítica, você deve usar a abordagem de correção cumulativa (patchset).
Algumas ideias gerais:
* As correções (patches) e as correções cumulativas (patchesets) não necessitam fazer toda a instalação novamente. Os scripts são geralmente pequenos e o tempo de instalação é muito curto no geral.
* As correções individuais (patches) são válidas para números menores (por exemplo, 2.0.x, 2.2.x).
Sempre que uma correção cumulativas (patchset) é gerada, uma nova versão GNU Health é lançada, com o número de nível de correção (patchlevel) da correção cumulativa (patchset).

## Correções Individuais (patches) vs Correções Cumulativa (patchsets)

Esta seção discute os conceitos gerais por trás de uma correção individual e um conjunto de correções, e quando usar um ou o outro.

### Correções

De um modo geral, um patch é uma porção de código que corrige um programa ou seus componentes. No GNU Health, um patch é um "arquivo de correção" gerado no Mercurial um com um changeset específico (entenda aqui). O arquivo de correção patch (diff) modifica seções específicas do código, não substituindo o arquivo inteiro. Ela é aplicada com o comando patch. Como afirmado anteriormente, o patch está associado a um conjunto de alterações específicas, mas não necessriamente ao número mais recente do nível de correção (terceiro componente do número de versão, como por exemplo, 1.2.3).
Prós das correções (patches):
* Estão disponíveis de imediato: Se é um bug crítico, você pode corrigí-lo imediatamente, sem necessidade de esperar pela correção cumulativa (patchset).
* É muito específica: devido à esta alta especificidade, muitas vezes você pode aplicar uma correção (patch) no GNU Health com um sistema em execução, não afetando a disponibilidade.
Contras das correções (patches):
* Requer conhecimento mais técnico
* Muito específica
* Mais complicado quando se lida com arquivos binários, como relatórios do LibreOffice
* Necessidade de manter o controle de outras correções (patches) não aplicadas
A alta especificidade da correção (patch) faz com que seja um pré e um contra. Por isso é bastante dependente do operador. Nós recomendamos evitar o uso de correções, a menos que seja um bug crítico e necessite ser aplicado imediatamente.

### Correções Cumulativas (patchsets)

As correções cumulativas (patchsets) atuam em um nível mais elevado do que correções individuas (patches), lidando com arquivos inteiros e não pedaços de código. Eles são empacotados sob a forma de um arquivo tar.
Aplicar uma correção cumulativa (patchset) também é uma operação seletiva no sentido de que apenas uma parte do núcleo GNU Health é modificado.
Prós das correções cumulativas (patchesets):
* Específica
* Pode ser reaplicada após uma correção
* Aplica-se todas as correções nesse espaço de tempo, incluindo correções não críticas que foram coletadas ao longo do tempo
* Instalação periódica mais fácil/processos de atualizações
* Ligado a uma versão específica do GNU Health (o número do nível de correção)
Contras das correções cumulativas:
* Não é tão imediata como as correções individuais (patches). Embora o tempo para as correções críticas não devem exceder 24 horas.

## Critérios para Lançamento de Nova Correção Cumulativa (patchset)

* Erros marcados como críticos/bloqueadores
* Questões importantes de segurança
* O número de bugs não críticos

## Aplicação de Correções Cumulativas

Esta seção se aplica à versão 3.0 do GNU Health.
Desde GNU Health 3.0, temos uma nova ferramenta, o Centro de Controle GNU Health. Ele facilita as tarefas de administração comuns, tais como backups ou atualizações do sistema. Para verificar o status do kernel e dos módulos do Tryton e do GNU Health, bem como para manter seu sistema atualizado, por favor visite a seção O Centro de Controle do GNU Health.
Ir para O Centro de Controle do GNU Health para a documentação sobre como instalar as correções cumulativas (patchsets).

## Aplicação Manual de Correções Cumulativas (sem suporte)

O seguinte método permite que você aplique o conjunto de correções em uma instalação padrão GNU Health, sem usar a ferramenta oficial (gnuhealth-control). A instalação manual não verifica as últimas atualizações do Tryton. É mais complicado e não deve ser utilizado! Por favor, use O Centro de Controle do GNU Health se você não sabe o que está fazendo.
O GNU Health não suporta esse método!
* Leia as instruções relacionadas com o conjunto de atualizações cumulativas (patchset) em Savannah. Dependendo da correção (patch) você precisará atualizar o(s) módulo(s).
* Pare a instância do GNU Health.
* Faça um backup do seu kernel e banco de dados (sempre, não importa o quão pequena é a correção).
* Faça o login usando a conta gnuhealth.
* Não altere os diretórios. mantenha-se no seu $HOME. Verifique se você está no /home/gnuhealth.
* Faça o download do mais recente conjunto de correções cumulativas (patchset) para o seu número majoritário.minoritário. Por exemplo, se você estiver na versão 3.0.x:
    wget http://ftp.gnu.org/gnu/health/gnuhealth_patchset-3.0.latest.tar.gz
* Descompacte o conjunto de correções cumulativas (patchset):
    tar -xzvf gnuhealth_patchset-3.0.latest.tar.gz
* Reinicie o servidor.