Como fazer a transição de usuários de PPA de um PPA para outro?

8

Preciso fazer a transição de usuários existentes de um PPA (s) para outro PPA, portanto, essa é uma questão de como automatizar a transição sem o menor impacto possível sobre os usuários.

Mais precisamente:

Eu tenho PPAs para PHP 5.5 e PHP 5.6 que usam pacotes PHP de estilo antigo que foram usados ​​antes do Xenial e eles têm muitos usuários.

Agora eu criei um novo PPA que inclui PHP 5.5, PHP 5.6 e PHP 7.0 e gostaria que os usuários de PPAs antigos mudassem para esse novo PPA. Tenho algumas idéias de como fazer isso em geral, mas gostaria de ter mais informações da comunidade AskUbuntu.

Contribua com seus pensamentos através de comentários, edite as respostas abaixo ou adicione sua própria sugestão.

oerdnj
fonte
Respostas agradáveis ​​...
simhumileco

Respostas:

3

Opção 3 - Adicione automaticamente o novo PPA

É como 2, mas php5-commonadicionaria automaticamente o novo PPA, para que os novos pacotes fiquem disponíveis após a próxima apt-get updateexecução. Opcionalmente, pode haver uma pergunta do Debconf se os usuários desejam que o PPA seja adicionado automaticamente ou eles mesmos o farão.

  • Prós:
    1. Um único repositório para lidar
    2. Nenhuma transição automática
    3. Os usuários podem preparar seu plano de transição
    4. Pacotes prontos para instalação imediata
    5. Adicionar PPA do mesmo namespace pode funcionar perfeitamente
  • Contras:
    1. Alguns usuários perderão o anúncio, por mais que você tente
    2. Adicionar PPA extra automaticamente parece um risco à segurança
    3. A adição de PPA extra a partir de diferentes namespace precisa incluir chaves GPG extras /etc/apt/trusted.gpg.d/e isso também parece um risco à segurança
oerdnj
fonte
Há um php-ppapacote no antigo ppa:ondrej/php5e ppa:ondrej/php5-5.6, então você já pode experimentá-lo.
Oerdnj
Não vejo o risco de segurança de adicionar um ppa (eles confiam em você e tudo está bem, ou não, e não devem usar seus pacotes para começar)?
janc
@JanC Obrigado pelo feedback. Ainda assim, me incomodaria se os pacotes adicionassem PPAs adicionais sem perguntar primeiro, mas eu já implementei uma pergunta do debconf para isso, então acho que deveria estar ok.
oerdnj
Sim, é claro que avisar seus usuários com antecedência e / ou quando isso acontece, além de documentá-lo em um arquivo CHANGES ou algo assim, é uma boa idéia.
janc
BTW: talvez em algum momento você também deseje fazer reconstruções regulares sem alterações com números de versão incrementais construídos nos antigos PPAs, para que aqueles que ignoram a alteração do PPA recebam lembretes regulares do debconf ... :)
JanC Jan
2

Opção 2 - Faça um plano de descontinuação e informe os usuários com destaque

  • Prós:
    1. Um único repositório para lidar
    2. Nenhuma transição automática
    3. Os usuários podem preparar seu plano de transição
  • Contras:
    1. Alguns usuários perderão o anúncio, por mais que você tente
    2. Haverá pessoas como dirão: "Por favor, não faça isso"
    3. Nenhuma transição automática
oerdnj
fonte
1

Opção 1 - Não faça nada

  • Prós:
    1. Os usuários estão felizes
  • Contras:
    1. Todo pacote de origem duplicado precisa ter duas versões do script de construção
    2. Mantedor PPA sobrecarregado e infeliz
oerdnj
fonte
1

Opção 4 - Transição totalmente automatizada

É como a opção 3, mas adiciona pacotes fictícios que substituirão o antigo php5*e puxarão o novophp5.6*

  • Prós (inclui profissionais da opção 3):
    1. Se tudo funcionar como esperado, pode ser a melhor opção, pois os usuários terão os novos pacotes sem nenhum trabalho ao seu lado
  • Contras (inclui Contras da Opção 3):
    1. O switch removerá as alterações feitas pelas pessoas nos arquivos de configuração antigos ou a transição precisará de alguns scripts complexos de mantenedor para embaralhar a configuração antiga nos novos locais
    2. O pacote manequim vai precisar para realizar pelo menos alguma configuração para configuração de tomada de FPM e antigos nomes para não quebrar a compatibilidade com configurações antigas (use update-alternatives a configuração /usr/bin/php5para apontar para /usr/bin/php5.6)
oerdnj
fonte