Changing default snapcraft behavior and erroring on missing libraries

Sergio Schvezov sergio.schvezov at canonical.com
Tue Jan 31 17:33:04 UTC 2017


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.


-- 
Sent using Dekko from my Ubuntu device




More information about the Snapcraft mailing list