https://bugzilla.redhat.com/show_bug.cgi?id=1258572
--- Comment #16 from Sergio Durigan Junior sergiodj@redhat.com --- (In reply to Ralf Corsepius from comment #9)
(In reply to Sergio Durigan Junior from comment #8)
Without this %defattr, the shlib is installed with +x (thus generating a rpmlint warning). Is there any other way to fix this?
Which OS are you on? I do not see such warning:
Fedora 22. GNU/Linux.
# rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/libipt*-1.4.2-1.fc24.x86_64.rpm libipt.x86_64: W: shared-lib-calls-exit /usr/lib64/libipt.so.1.4.0 exit@GLIBC_2.2.5 libipt-devel.x86_64: W: only-non-binary-in-usr-lib 3 packages and 0 specfiles checked; 0 errors, 2 warnings.
Apparently I have made a confusion about the warnings. The warning is about libipt-devel, not libipt itself.
# rpm -qlvp /var/lib/mock/fedora-rawhide-x86_64/result/libipt*-1.4.2-1.fc24.x86_64.rpm | grep lib.*.so lrwxrwxrwx 1 root root 15 Sep 3 07:06 /usr/lib64/libipt.so.1 -> libipt.so.1.4.0 -rwxr-xr-x 1 root root 71736 Sep 3 07:06 /usr/lib64/libipt.so.1.4.0
The file indeed has +x here. I don't consider this good practice, but...
Besides this, such a warning from rpmlint would contradict Fedora conventions. Should your rpmlint produce an error this would be a bug in rpmlint. Though its arguable whether shared libs need to be +x, for historical reasons, it's Fedora convention to install shared lib with +x.
... yes, it is a Fedora convention. My mistake.