Quoting Simon McVittie (2019-08-15 20:55:04)
> On Wed, 14 Aug 2019 at 22:53:33 +0200, Jonas Smedegaard wrote:
> > Quoting Simon McVittie (2019-08-14 22:20:05)
> > > The preferences stored in this way are not vitally important, so 
> > > perhaps it would be OK for them to just not be propagated outside the 
> > > application or stored after it exits (with a warning on stderr) if the 
> > > GSettings backend is missing; but it isn't obvious to me that there 
> > > would be consensus about that not being a (RC?) bug, which is why I 
> > > asked.
> > 
> > Would it be fair to describe both widget and application needs for 
> > file-based config backend as required in "all but unusual 
> > installations."
> 
> At least that strong, perhaps stronger.

Stronger than unusual how?

Are you arguing that an installation where in-memory storage of config 
is fine is perhaps not an "unusual installation" but a "veeeeery super 
dooper weird installations" and therefore does not match Debian Policy 
about using Recommends?

Really?


[...]

> > > If libgtk-3-0 only had a Recommends on libatk1.0-0 (because 
> > > libgtk-3-0 contains both GDK and GTK, and strictly speaking you 
> > > can use GDK without ATK, as long as you don't also link to GTK), I 
> > > think there would be consensus that it would be wrong to consider 
> > > "libgtk-3-0 should depend on libatk1.0-0" to be not-a-bug.
> > 
> > Not sure I follow you above.
> 
> Sorry, this makes a rather less obvious example if you aren't familiar 
> with the libraries in question...
> 
> libgtk-3-0 contains libgdk-3.so.0 (GDK), a lower-level library, and 
> libgtk-3.so.0 (GTK), a higher-level library that depends on GDK. 
> Basically all users of these libraries depend on both, either because 
> they use both or because they only use the higher-level GTK, which 
> depends on the lower-level GDK itself; that's why the two libraries 
> are combined into a single binary package.
> 
> libgtk-3.so.0 (GTK) has an ELF DT_NEEDED relationship with 
> libatk-1.0.so.0, but libgdk-3.so.0 (GDK) doesn't.
> 
> If a program is linked to libgdk-3.so.0 (GDK) only, it can work 
> without libatk-1.0.so.0 being installed, so the libgtk-3-0 package 
> does have some (very niche) functionality without libatk-1.0.so.0. (I 
> am not aware of any specific programs that genuinely do this.)
> 
> If a program is linked to libgtk-3.so.0 (GTK), it cannot work at all 
> without libatk-1.0.so.0 being installed: ld.so exits with an error 
> before any user code has the opportunity to run.
> 
> I don't think it would be appropriate to weaken libgtk-3-0's 
> ${shlibs:Depends} on the package that contains libatk-1.0.so.0 to a 
> Recommends, and then respond to the resulting grave bug report by 
> saying "well, *technically*, you *might* only be using GDK, so a 
> Depends is too strong", because in practice it's vanishingly rare to 
> depend on GDK but not GTK, and the failure mode when you depend on GTK 
> but don't have its library dependencies is that the program doesn't 
> work at all.
> 
> (This is not about crashing or segfaulting, and is not about whether 
> you call particular functions; it's about whether the program can even 
> reach the beginning of main().)

If applications cannot even start without libatk then obviously that's a 
dependency (not a recommendation).

Your providing 2 libraries somewhat in concert one with different 
requirements than the other seems to me a good case for using a 
debian/*.symbols file: Only packages actually linking with GTK gets the 
ATK dependency and packages only needing GDK API don't.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature

Reply via email to