Changing default snapcraft behavior and erroring on missing libraries
Didier Roche
didier.roche at canonical.com
Wed Feb 1 08:38:04 UTC 2017
Le 31/01/2017 à 18:33, Sergio Schvezov a écrit :
> On Tue, 31 Jan 2017 17:40:09 +0100, Didier Roche wrote:
>> Le 31/01/2017 à 17:18, Sergio Schvezov a écrit :
>>> On Tue, 31 Jan 2017 16:21:41 +0100, Olivier Tilloy wrote:
>>>> On Tue, Jan 31, 2017 at 2:12 PM, Timo Jyrinki
>>>> <timo.jyrinki at gmail.com> wrote:
>>>>>> Do we have a clear understanding of why this happens? Qt apps are
>>>>>> supposed to be binary compatible against newer releases.
>>>>>> One exception could be if the app itself is shipping some plugins,
>>>>>> specific Qt version.
>>>>> Yes, it seems snaps like ubuntu-terminal-app and dekko ship their on
>>>>> Qt version which should not be the case when the platform snap is
>>>>> used.
>>>> This is a bit tricky: when packaging a Qt application that uses the
>>>> platform snap, snapcraft will use ldd to crawl the app’s binaries and
>>>> will automagically add the libraries that it depends on to the
>>>> resulting snap (those libs are taken from the host system).
>>> unless you tell it is ok.
>>>
>> (first, sorry for the bad control+enter on my previous email)
>>
>> I'm a little bit uncomfortable with that statement for mainly 2 reasons:
>> * Changing default behavior is always cumbersome to developers who just
>> wants to work on their app. Here, we are introducing a breaking change
>> (snaps that used to build won't build anymore, especially those on
>> core). It's annoying also for people who did hook up their CI to
>> autopublish a snap.
>>
>> This is why we need to justify and carefully explain the change, in a
>> clear, defined way. I would suggest coordinating with David for a blog
>> post that we promote here and on the developer website:
>> 1. Why are we changing this? -> we are not doing this just to bother
>> you, developer, here is the technical reason why we are doing it.
> The reason is simple, we are leaking libraries by default, like libsupersecrect.so.1 and you won't even know about it.
>
>
I do fully understand the reason, don't worry ;), the first point was
more "this needs to be planned out, synchronised, and well explained to
the world". So, if we go to that breaking changes, please ensure that we
have all content with all points and examples for an easy transition
path. This is how we can allievate some unhappiness to developers about
a breaking changes and make them part of it, while helping them
transitionning.
More information about the Snapcraft
mailing list