O que é equivalente pós-instalação em pacotes de snap?

0

Eu preciso executar um comando para inicializar o ambiente para um aplicativo. Isso precisa acontecer apenas uma vez quando o pacote snap estiver instalado.

Os pacotes DEB fornecem scripts de pós-instalação que atendem a essa e muitas outras finalidades, como a configuração de contas de usuários específicas de aplicativos e assim por diante.

Então, qual é o equivalente de script de pós-instalação do DEB em pacotes de snap?

    
por ILIV 02.07.2016 / 18:00

2 respostas

1

Não há script post * de propósito (para garantir que você tenha atualizações transacionais).

Alguns sistemas de ganchos, porém, seriam lançados muito em breve no próprio snapd para permitir que você consiga isso. Ainda não está disponível nesta data, mas você pode usar o sinalizador de arquivo $ SNAP_DATA para fazer seu daemon esperar até que o usuário arquive a configuração (por meio de outro comando do mesmo snap, por exemplo).

    
por didrocks 04.07.2016 / 08:41
0

Você pode configurar o ambiente para o aplicativo em um script de inicialização que o faz apenas antes de iniciar o aplicativo. O que @didrocks diz é que você pode criar um arquivo de flag oculto na pasta $SNAP_DATA para saber se o aplicativo foi lançado anteriormente ou não.

Por exemplo, você pode ter um script bash em $SNAP/bin/myapp-launcher.sh que executa:

#!/bin/sh
...
if [ ! -e "$SNAP_DATA/.flag_file ]; then
  <configure the app>
  touch $SNAP_DATA/.flag_file
fi
...
exec "<command of your app>" "$@"

e em snapcraft.yaml configure esse aplicativo para ser iniciado chamando seu ativador, como

...
apps:
  myapp:
    command: bin/myapp-launcher.sh
...
    
por Roberto Mier 03.10.2017 / 10:22