Spec URL: http://svahl.fedorapeople.org/kdebase3/kdebase3.spec SRPM URL: http://svahl.fedorapeople.org/kdebase3/kdebase3-3.5.8-12.fc9.src.rpm Description: This is the original spec file for kdebase for KDE3 without the conflicting files with KDE4. There is some more work to do: - provide a proper %sumary for fedora >= 9 - provide a proper %description for fedora >= 9
Warning: The SRPM actually comes from the version of the specfile without the conditionals.
Here's a SRPM actually built from the specfile being submitted: SRPM URL: http://repo.calcforge.org/f9/kdebase3-3.5.8-11.fc7.src.rpm And here's some binary RPMs to run rpmlint on: http://repo.calcforge.org/f9/kdebase3-3.5.8-11.fc7.i386.rpm http://repo.calcforge.org/f9/kdebase3-debuginfo-3.5.8-11.fc7.i386.rpm http://repo.calcforge.org/f9/kdebase3-devel-3.5.8-11.fc7.i386.rpm http://repo.calcforge.org/f9/kdebase3-libs-3.5.8-11.fc7.i386.rpm
rpmlint output: SRPM: > kdebase3.src:2394: W: macro-in-%changelog post Bad, % should be escaped. > kdebase3.src: W: patch-not-applied Patch13: kdebase-3.5.5-dbus.patch > kdebase3.src: W: patch-not-applied Patch26: kdebase-3.5.5-suspend.patch > kdebase3.src: W: patch-not-applied Patch27: kdebase-3.5.8-consolekit-kdm.patch That's rpmlint not understanding the conditionally applied patches. > kdebase3.src: W: patch-not-applied Patch29: kdebase-3.5.8-konsole-bz#244906.patch > kdebase3.src: W: patch-not-applied Patch200: kdebase-3.5.7-kde#83974.patch These are intentionally commented out. > kdebase3.src: W: strange-permission KDE.session.gnome 0775 No idea what's up with that one. main binary package: kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/khelpcenter/plugins/Scrollkeeper/.directory kdebase3.i386: E: script-without-shebang /etc/kde/env/env.sh kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/konqsidebartng/virtual_folders/remote/web/.directory kdebase3.i386: W: dangling-relative-symlink /usr/share/doc/HTML/en/kompmgr/common ../common kdebase3.i386: W: hidden-file-or-dir /usr/share/applnk/.hidden/.directory kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/konqsidebartng/entries/.version kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/konqsidebartng/virtual_folders/remote/ftp/.directory kdebase3.i386: W: dangling-relative-symlink /usr/share/doc/HTML/en/kicker/common ../common kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/konqsidebartng/virtual_folders/remote/.directory kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/khelpcenter/plugins/Applications/.directory kdebase3.i386: W: dangling-relative-symlink /usr/share/doc/HTML/en/kdcop/common ../common kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/khelpcenter/plugins/Manpages/.directory kdebase3.i386: E: setuid-binary /usr/bin/kcheckpass root 04755 kdebase3.i386: E: non-standard-executable-perm /usr/bin/kcheckpass 04755 kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/konqsidebartng/virtual_folders/services/.directory kdebase3.i386: E: incoherent-logrotate-file /etc/logrotate.d/kdm kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/kdm/faces/.default.face.icon kdebase3.i386: W: hidden-file-or-dir /usr/share/applnk/.hidden kdebase3.i386: W: hidden-file-or-dir /usr/share/applnk/.hidden kdebase3.i386: W: dangling-relative-symlink /usr/share/doc/HTML/en/ksplashml/common ../common kdebase3.i386: W: dangling-relative-symlink /usr/share/doc/HTML/en/kdeprint/common ../common kdebase3.i386: W: dangling-relative-symlink /usr/share/doc/HTML/en/kpager/common ../common kdebase3.i386: W: hidden-file-or-dir /usr/share/apps/khelpcenter/plugins/Tutorials/.directory kdebase3.i386: E: percent-in-obsoletes kdebase-extras 6:%{version}-%{release} kdebase3.i386: E: percent-in-provides kdebase-extras 6:%{version}-%{release} kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kxkb.so libkdeinit_kxkb.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kcontroledit.so libkdeinit_kcontroledit.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kcontrol.so libkdeinit_kcontrol.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_klipper.so libkdeinit_klipper.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kjobviewer.so libkdeinit_kjobviewer.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kwin.so libkdeinit_kwin.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kcminit_startup.so libkdeinit_kcminit_startup.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_keditbookmarks.so libkdeinit_keditbookmarks.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kprinter.so libkdeinit_kprinter.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_konsole.so libkdeinit_konsole.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_appletproxy.so libkdeinit_appletproxy.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kcminit.so libkdeinit_kcminit.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_extensionproxy.so libkdeinit_extensionproxy.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_khelpcenter.so libkdeinit_khelpcenter.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kicker.so libkdeinit_kicker.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kdesktop.so libkdeinit_kdesktop.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_khotkeys.so libkdeinit_khotkeys.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kfmclient.so libkdeinit_kfmclient.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kate.so libkdeinit_kate.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_konqueror.so libkdeinit_konqueror.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kwrite.so libkdeinit_kwrite.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_ksmserver.so libkdeinit_ksmserver.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kmenuedit.so libkdeinit_kmenuedit.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kwin_rules_dialog.so libkdeinit_kwin_rules_dialog.so kdebase3.i386: E: invalid-soname /usr/lib/libkdeinit_kaccess.so libkdeinit_kaccess.so kdebase3.i386: E: file-in-usr-marked-as-conffile /usr/share/config/katerc kdebase3.i386: E: file-in-usr-marked-as-conffile /usr/share/config/kdesktop_custom_menu1 kdebase3.i386: E: file-in-usr-marked-as-conffile /usr/share/config/kdesktop_custom_menu2 kdebase3.i386: E: file-in-usr-marked-as-conffile /usr/share/config/klipperrc kdebase3.i386: E: file-in-usr-marked-as-conffile /usr/share/config/konqsidebartng.rc kdebase3.i386: E: file-in-usr-marked-as-conffile /usr/share/config/kxkb_groups kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/krandrtray.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/kmenuedit.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/kpersonalizer.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/ktip.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/konsole.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/Help.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/Kfind.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/Home.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/kinfocenter.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/kappfinder.desktop /tmp/kdebase3-3.5.8-11.fc7.i386.rpm.5475/usr/share/applications/kde/language.desktop: parse error: Error in section Desktop Entry at line 39: Invalid escaping in value kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/language.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/klipper.desktop kdebase3.i386: E: invalid-desktopfile /usr/share/applications/kde/kcmkicker.desktop (A lot of messages, we'll have to look through those.) libs: > kdebase3-libs.i386: W: no-documentation > kdebase3-libs.i386: W: summary-not-capitalized kdebase3 runtime libraries > kdebase3-libs.i386: W: obsolete-not-provided kdebase3 Should be all harmless. devel: > kdebase3-devel.i386: W: no-documentation > kdebase3-devel.i386: W: no-dependency-on kdebase3 Harmless (rpmlint doesn't understand the dep on -libs). > kdebase3-devel.i386: W: obsolete-not-provided kdebase-devel > kdebase3-devel.i386: E: useless-explicit-provides kdebase3-devel But this one is a mistake (kdebase3-devel providing itself rather than kdebase-devel to match the Obsoletes or nothing). debuginfo: empty output
For the rpmlint output of the main package: * the hidden-file-or-dir ones are by design, not bugs * the dangling-relative-symlink ones to ../common are also by design, the common directory is contained in another package * the invalid-soname ones are also by design, these are plugins, not libraries * I think the file-in-usr-marked-as-conffile and invalid-desktopfile ones can be given a pass for KDE 3 stuff. This leaves: > kdebase3.i386: E: script-without-shebang /etc/kde/env/env.sh Profile script, sourced, not executed. Should probably not have +x perms, but that isn't a blocker. > kdebase3.i386: E: setuid-binary /usr/bin/kcheckpass root 04755 > kdebase3.i386: E: non-standard-executable-perm /usr/bin/kcheckpass 04755 By design. > kdebase3.i386: E: incoherent-logrotate-file /etc/logrotate.d/kdm Unsure about this one. Maybe this should be removed in the first place, as it may conflict with KDE 4. > kdebase3.i386: E: percent-in-obsoletes kdebase-extras 6:%{version}-%{release} > kdebase3.i386: E: percent-in-provides kdebase-extras 6:%{version}-%{release} Macros not expanded properly, this one needs fixing! Next thing to do: go through the manual checklist. But I'm too tired to do that now. ;-) So if someone else wants to have a go at it, feel free!
I took the liberty to fix the rpmlint warnings which are actual problems: > > kdebase3.src:2394: W: macro-in-%changelog post > Bad, % should be escaped. Fixed. > > kdebase3.i386: E: percent-in-obsoletes kdebase-extras 6: %{version}-%{release} > > kdebase3.i386: E: percent-in-provides kdebase-extras 6: %{version}-%{release} > Macros not expanded properly, this one needs fixing! Fixed. > > kdebase3-devel.i386: W: obsolete-not-provided kdebase-devel > > kdebase3-devel.i386: E: useless-explicit-provides kdebase3-devel > But this one is a mistake (kdebase3-devel providing itself rather than > kdebase-devel to match the Obsoletes or nothing). Fixed. Spec URL: http://repo.calcforge.org/f9/kdebase3.spec SRPM URL: http://repo.calcforge.org/f9/kdebase3-3.5.8-12.fc7.src.rpm (I removed the binary RPMs because they're outdated and rpmlint has been done already anyway, if you want to test, please rebuild the current SRPM.) * Sat Dec 01 2007 Kevin Kofler <Kevin.org> - 6:3.5.8-12 - merge updated ConsoleKit patch with Mandriva's (Nicolas Lécureuil's) xdmcp fixes from kdebase-3.5.8-9 (#243560, Mandriva#34786) - build as kdebase3 on F9+ (not F10+) - fix unescaped macros and a typo in changelog - move kdebase-extras Provides/Obsoletes to the correct place - fix check of %%{name} against "kdelibs" instead of "kdebase" - fix Provides/Obsoletes for kdebase3-libs and kdebase3-devel This resolves the rpmlint part and is now ready for the manual review checklist. IMPORTANT: The temporary hack forcing %fedora to 9 for testing purposes will have to go away before/after import, at the very least before this is ever committed to a non-F9 branch. ;-)
MUST Items: + rpmlint output: warnings indicating actual problems already fixed, see above + named and versioned according to the Package Naming Guidelines + spec file name matches base package name + Packaging Guidelines: + License GPLv2 OK, matches actual license + No known patent problems + No emulator, no firmware, no binary-only or prebuilt components + Complies with the FHS + proper changelog, tags, BuildRoot, Requires, BuildRequires ! Summary, Description need updating for kdebase3 + no non-UTF-8 characters + relevant documentation included + RPM_OPT_FLAGS are used (%configure macro) + debuginfo package is valid + no static libraries + no .la files except the plugins which are needed in KDE 3 (hooray for KDE 4 fixing this, but kdebase3 still needs them) + no duplicated system libraries + no rpaths, at least on i386 + giving the config files in /usr a pass, as KDE has always used /usr/share/config + no init scripts, so init script guideline doesn't apply + GUI executables all have .desktop files ! ... but there's .desktop files for apps which aren't being shipped + no timestamp-clobbering file commands + _smp_mflags used + scriptlets are valid + not a web application, so web application guideline doesn't apply + no conflicts + complies with all the legal guidelines + license included as %doc + spec file written in American English + spec file is legible + source matches upstream: MD5SUM: 9990c669229daaaa8fca4c5e354441fd SHA1SUM: 07f2e33aef101e97237676719ef2bf8418d894b2 + builds on at least one arch (F7 i386 live system) + no known non-working arches, so no ExcludeArch needed + all required BuildRequires listed (same as kdebase which built fine in Koji for F7/F8/F9) + no translations in original tarball, so translation/locale guidelines don't apply + ldconfig correctly called in %post and %postun of -libs + package not relocatable + ownership correct (owns package-specific directories, doesn't own directories owned by another package) + no duplicate files in %files + permissions OK + %clean section present and correct + macros used where possible + no non-code content + no large documentation files, so no -doc package needed + %doc files not required at runtime + all header files in -devel + no static libraries, so no -static package needed + no .pc files, so no Requires: pkgconfig needed + /usr/lib*/*.so symlinks are correctly in -devel + /usr/lib*/kde3/*.so plugins and /usr/lib*/kdeinit_*.so (NOT symlinks) are correctly NOT in -devel + -devel requires %{name}-libs = %{?epoch:%{epoch}:}%{version}-%{release} + .la files, .desktop files: see "Packaging Guidelines" section + buildroot is deleted at the beginning of %install + all filenames are valid UTF-8 SHOULD Items: + license already included upstream + no translations for description and summary provided by upstream * Skipping mock, "all architectures" and functionality tests. + scriptlets are sane + subpackage Requires/Provides/Obsoletes are valid + no .pc files, so "placement of .pc files" is irrelevant + no exotic file dependencies ! however the dependency on /sbin/ldconfig in the main package is not needed if -libs is being built No real issues, APPROVED. (We can address the remaining nitpicks: ! Summary, Description need updating for kdebase3 ! ... but there's .desktop files for apps which aren't being shipped ! however the dependency on /sbin/ldconfig in the main package is not needed if -libs is being built while waiting for the CVS request to be processed or even after import.)
New Package CVS Request ======================= Package Name: kdebase3 Short Description: K Desktop Environment 3 - core files Owners: than,rdieter,kkofler,svahl Branches: InitialCC: Cvsextras Commits: no
cvs done.
I did the fixes for the minor stuff I found during review in the version I'm about to import: * Sat Dec 01 2007 Kevin Kofler <Kevin.org> - 6:3.5.8-13 - fix summary and description for kdebase3 - for kdebase3, remove .desktop files for apps we don't ship - don't require /sbin/ldconfig in the main package if we build -libs
Oh, I almost forgot about this one. ;-) * Sat Dec 01 2007 Kevin Kofler <Kevin.org> - 6:3.5.8-14 - don't hardcode %%fedora
Arrrgh... * Sat Dec 01 2007 Kevin Kofler <Kevin.org> - 3.5.8-15 - only set Epoch: 6 when building as kdebase (not kdebase3) - only obsolete kdebase-kdm here when building as kdebase (I also fixed kdebase-workspace to Obsolete and Provide kdebase-kdm, because that's what actually provides KDM now.) I imported this one now, if there's more breakage, we'll fix it post-import.
closing, it's been in rawhide a little while now.