Vous pouvez publier les bibliothèques en tant que partie partagée, ou vous pouvez pousser un snap qui offre la bibliothèque comme interface de contenu.
partie commune
Les snaps sont composés de pièces . Si un snap dépend d'une bibliothèque, il peut être défini comme une partie. Et les parties peuvent être partagées, pour l'instant dans un fichier wiki mais avec des plans pour construire un registre de pièces plus sophistiqué.
Ainsi, au lieu de publier les bibliothèques en tant que snaps dans la boutique Ubuntu, elles devraient être publiées dans le wiki des parties partagées. Ensuite, quand un snap veut utiliser cette bibliothèque, disons lapack, il a juste besoin de ce qui suit dans une partie du fichier snapcraft.yaml :
after: [lapack]
La bibliothèque sera incluse dans le snap, et après l'installation du snap, elle se trouvera quelque part dans le voisinage de la bibliothèque. /snap/my-snap/current/usr/lib
.
interface de contenu
Il existe également un autre moyen de rendre vos bibliothèques accessibles à d'autres snaps. Vous pouvez écrire votre bibliothèque comme un snap qui offre l'option interface de contenu . Ensuite, d'autres snaps peuvent consommer ce contenu, ce qui signifie qu'ils pourront accéder aux bibliothèques partagées par le fournisseur. Il est à noter que l'interface ne sera auto-connectée que pour les snaps du même éditeur. Si vous souhaitez consommer un contenu fourni par un tiers, une intervention manuelle sera nécessaire.
C'est ainsi que les bibliothèques ubuntu-app-platform sont partagées avec les applications Ubuntu Personal par défaut : https://insights.ubuntu.com/2017/01/26/using-the-ubuntu-app-platform-content-interface-in-app-snaps-2/
Pour répondre à votre dernière question, snaps ne peut pas installer les fichiers dans /usr/lib
.