Bug 405221

Summary: Review Request: kdebase3 - K Desktop Environment 3 - core files
Product: [Fedora] Fedora Reporter: Sebastian Vahl <fedora>
Component: Package ReviewAssignee: Kevin Kofler <kevin>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, kevin, notting, rdieter, than
Target Milestone: ---Flags: kevin: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-12-17 15:38:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Sebastian Vahl 2007-11-29 23:01:44 UTC
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

Comment 1 Kevin Kofler 2007-11-29 23:16:42 UTC
Warning: The SRPM actually comes from the version of the specfile without the 
conditionals.

Comment 3 Kevin Kofler 2007-11-30 04:22:32 UTC
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

Comment 4 Kevin Kofler 2007-11-30 04:38:51 UTC
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!

Comment 5 Kevin Kofler 2007-12-01 02:42:17 UTC
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. ;-)

Comment 6 Kevin Kofler 2007-12-01 04:49:58 UTC
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.)

Comment 7 Kevin Kofler 2007-12-01 04:53:44 UTC
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

Comment 8 Kevin Fenzi 2007-12-01 05:13:59 UTC
cvs done.

Comment 9 Kevin Kofler 2007-12-01 06:28:53 UTC
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

Comment 10 Kevin Kofler 2007-12-01 06:36:58 UTC
Oh, I almost forgot about this one. ;-)

* Sat Dec 01 2007 Kevin Kofler <Kevin.org> - 6:3.5.8-14
- don't hardcode %%fedora

Comment 11 Kevin Kofler 2007-12-01 06:54:35 UTC
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.

Comment 12 Rex Dieter 2007-12-17 15:38:35 UTC
closing, it's been in rawhide a little while now.