O formato de empacotamento instantâneo finalmente nos liberta do inferno das dependências, permitindo que cada pacote tenha sua própria cópia das dependências. Estou interessado nos detalhes técnicos de como isso acontece. Como ele lida com:
- snaps, dependendo da versão de uma biblioteca já instalada via pacotes deb para o release atual? Ele ignora a biblioteca instalada?
- snaps diferentes especificando a mesma versão da mesma biblioteca? Faz desduplicação de alguma forma?
- atualizações nas bibliotecas principais que provavelmente serão usadas por muitos snaps? O OpenSSL vem à mente como um grande ponto de dor.
O xdg-app tem algo chamado "tempo de execução" :
Um conceito fundamental no xdg-app é a divisão de tempo de execução / aplicativo. Todo aplicativo depende de um tempo de execução, que fornece as principais bibliotecas nas quais o aplicativo depende. Normalmente, os tempos de execução são compartilhados por muitos aplicativos, mas um usuário pode ter vários tempos de execução instalados ao mesmo tempo.
Parece que, no caso do OpenSSL, isso faria parte do tempo de execução no xdg-apps; portanto, uma atualização no OpenSSL deve afetar de maneira transparente todos os aplicativos xdg-apps usando o mesmo tempo de execução.