Spec URL: https://rdieter.fedorapeople.org/rpms/plasma5/kate5.spec SRPM URL: https://rdieter.fedorapeople.org/rpms/plasma5/kate5-14.12.1-1.fc21.src.rpm Description: Advanced Text Editor Fedora Account System Username: rdieter
Introducing a kate5 package, because we need to keep the existing kde4-based kate around (at least kate-part anyway) Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8796612
$ rpmlint -i -v * kate5.src: I: checking kate5.src: I: checking-url https://projects.kde.org/projects/kde/applications/kate (timeout 10 seconds) kate5.src:52: W: macro-in-comment %{name} There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. kate5.src:52: W: macro-in-comment %{version} There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. kate5.src:52: W: macro-in-comment %{release} There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. kate5.src: I: checking-url http://download.kde.org/stable/applications/14.12.1/src/kate-14.12.1.tar.xz (timeout 10 seconds) kate5.x86_64: I: checking kate5.x86_64: I: checking-url https://projects.kde.org/projects/kde/applications/kate (timeout 10 seconds) kate5.x86_64: E: invalid-soname /usr/lib64/libkdeinit5_kate.so libkdeinit5_kate.so The soname of the library is neither of the form lib<libname>.so.<major> or lib<libname>-<major>.so. kate5.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/kate.svgz Not all desktop environments that support SVG icons support them gzipped (.svgz). Install the icon as plain uncompressed SVG. kate5-debuginfo.x86_64: I: checking kate5-debuginfo.x86_64: I: checking-url https://projects.kde.org/projects/kde/applications/kate (timeout 10 seconds) kate5-plugins.x86_64: I: checking kate5-plugins.x86_64: I: checking-url https://projects.kde.org/projects/kde/applications/kate (timeout 10 seconds) kate5-plugins.x86_64: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. kate5.spec: I: checking kate5.spec:52: W: macro-in-comment %{name} There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. kate5.spec:52: W: macro-in-comment %{version} There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. kate5.spec:52: W: macro-in-comment %{release} There is a unescaped macro after a shell style comment in the specfile. Macros are expanded everywhere, so check if it can cause a problem in this case and escape the macro with another leading % if appropriate. kate5.spec: I: checking-url http://download.kde.org/stable/applications/14.12.1/src/kate-14.12.1.tar.xz (timeout 10 seconds) kwrite.x86_64: I: checking kwrite.x86_64: I: checking-url https://projects.kde.org/projects/kde/applications/kate (timeout 10 seconds) kwrite.x86_64: E: invalid-soname /usr/lib64/libkdeinit5_kwrite.so libkdeinit5_kwrite.so The soname of the library is neither of the form lib<libname>.so.<major> or lib<libname>-<major>.so. kwrite.x86_64: W: shared-lib-calls-exit /usr/lib64/libkdeinit5_kwrite.so exit.5 This library package calls exit() or _exit(), probably in a non-fork() context. Doing so from a library is strongly discouraged - when a library function calls exit(), it prevents the calling program from handling the error, reporting it to the user, closing files properly, and cleaning up any state that the program has. It is preferred for the library to return an actual error code and let the calling program decide how to handle the situation. kwrite.x86_64: W: no-manual-page-for-binary kwrite Each executable in standard binary directories should have a man page. 5 packages and 1 specfiles checked; 2 errors, 10 warnings. Regarding the macro-in-comment warnings, the verbose rpmlint output says it all what to do. The invalid-soname error messages need to be addressed. There's nothing comparable in the kate-4* package. $ rpm -qp --provides kate5-14.12.1-1.fc22.x86_64.rpm application() application(org.kde.kate.desktop) config(kate5) = 14.12.1-1.fc22 kate = 14.12.1-1.fc22 kate5 = 14.12.1-1.fc22 kate5(x86-64) = 14.12.1-1.fc22 libkdeinit5_kate.so()(64bit) mimehandler(text/plain) Maybe it is needed to filter it out of the Provides? The exit() call is not that critical, as far as I know, but maybe should be reported upstream. The gzipped icons and missing man page can be ignored for the time being.
Moreover, you should move COPYING.LIB to %license to make it cloud-safe from the start on.
Many KDE applications use that libkdeinit trick a lot to optimize startup and shared memory. It's not a shared library in the conventional sense, so I would argue does not need to adhere to those general rules (not calling exit or invalid soname). Filtering the libkdeinit Provides is a possibility, I'll consider it. As far as the macro in a comment, # not sure if we want -plugins by default, let's play it safe # and go with no initially -- rex #Requires: %{name}-plugins%{?_isa} = %{version}-%{release} this too is harmless
Come to think more on it, since kate(5) no longer includes the kate-part component, we won't have to worry about keeping this co-installable either moving forward (in contrast to the situation with konsole4 and konsole5). So, I'm currently leaning toward closing this review, and opening one for kate4(-part) instead.
*** This bug has been marked as a duplicate of bug 1194330 ***