Adam Borowski wrote: > On Tue, Mar 06, 2018 at 08:28:17AM +0200, Yavor Doganov wrote: > > * Package name : addresses-for-gnustep > > Version : 0.4.8-3
> I don't understand ObjC library stuff well enough to adequately > check these parts, but it's unlikely we'd get someone else who can > review this... and you know what you're doing. I'd be happy to explain the changes that raise questions. I guess you refer to dropping the symbols files? If so, please take a look at lintian #749202. If it's still unclear, let me give an example with the smallest class in the Addresses framework: @interface ADPublicAddressBook: ADAddressBook { BOOL _readOnly; ADAddressBook *_book; } - initWithAddressBook: (ADAddressBook*) book readOnly: (BOOL) ro; @end The symbol is just __objc_class_name_ADPublicAddressBook@Base. Now, imagine if a new upstream version 0.4.9 adds another instance method -doSomething which is an API addition. This API addition will not be reflected in the symbols file and apps using the new -doSomething method will still pick up the lax dependency on 0.4.6. And as a result will get an NSInvalidArgument exception (abort) if run with an older version of the library. This totally defeats the purpose of using symbols files, which as I understand it is an enhancement of the shlibs system to provide fine-grained dependencies. Not only that they are not fine-grained, they are simply wrong in this case. If -initWithAddressBook:readOnly: is removed in a new version of the library, that's an API/ABI break but again, it won't be reflected in the symbols table. In a C/C++ library you'll see a symbol disappearing but it won't happen here. So even the secondary reason for using symbols files (detecting ABI breaks, although that's really a weak test) is not applicable. There's also the case that private classes and class categories also get their own symbols (as there is no concept for "private" in Objective-C, everything is exposed to the ObjC runtime). These will trigger spurious additions/removals of symbols when no public API is involved at all. > Uploaded. Many thanks for sponsoring.