O que você quer é debconf
. Consulte o link
Estou criando um pacote deb de um produto que é parte de código aberto e parte proprietária. Para reutilizar a funcionalidade incorporada de algumas distribuições, como o Ubuntu, para monitorar uma lista de repositórios e atualizar o pacote quando uma nova versão estiver disponível, provavelmente irei criar um repositório desse tipo.
O problema é que a parte proprietária do pacote depende de licenças que são válidas para versões de intervalo limitadas (válidas para todas as versões em um curso de um ano). O que significa que, em algum momento, quando uma nova versão estiver disponível, será bom, pelo menos, avisar o usuário que sua licença não será válida para a nova versão.
Existe uma maneira de fazer essa verificação e interagir com o usuário? Vejo que existem scripts no próprio pacote deb que podem ser executados antes da instalação, mas não tenho idéia se eles podem interagir com o usuário e abortar a instalação do pacote.
O que você quer é debconf
. Consulte o link
Se isso for possível ou não, depende do gerenciamento de pacotes da distribuição específica do Linux. Normalmente você pode incluir seus próprios scripts que são chamados de pré / pós instalação do pacote.
Consulte o Manual de Normas Debian - Capítulo 6 Scripts de mantenedores de pacotes , por exemplo.
De qualquer forma, todo usuário com um pouco de experiência poderá contornar essa "proteção".
Se você realmente quiser incluir esse tipo de proteção (que IMHO é inútil e fará mais mal do que bem), faça isso no binário do arquivo.
Você pode configurar e remover seu repositório fazendo uma pergunta debconf e copiando / removendo um arquivo de / para source.list.d se a resposta for positiva. Os usuários normalmente esperam um alto nível de controle de onde obtemos atualizações, e adicionar uma origem tem implicações de segurança além da segurança do pacote atual, portanto, torne isso fácil de desativar.