Bug 194280

Summary: Review Request: kdebindings: KDE/DCOP bindings to non-C++ languages
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: Package ReviewAssignee: Kevin Fenzi <kevin>
Status: CLOSED RAWHIDE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dennis, hugo, than
Target Milestone: ---Flags: kevin: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-20 16:27:52 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:
Bug Depends On: 231307    
Bug Blocks:    
Attachments:
Description Flags
updated libgcj patch for gcc-4.1 (renamed libgcj.pc to libgcj-4.1.pc) none

Description Rex Dieter 2006-06-06 19:54:16 UTC
Spec URL: http://kde-redhat.unl.edu/apt/kde-redhat/SPECS/kdebindings.spec
SRPM URL: http://kde-redhat.unl.edu/apt/kde-redhat/all/SRPMS.testing/kdebindings-3.5.3-3.src.rpm
Description: 
KDE/DCOP bindings to non-C++ languages

Comment 1 Rex Dieter 2006-06-07 11:46:40 UTC
%changelog
* Mon Jun 05 2006 Rex Dieter <rexdieter[AT]users.sf.net> 6:3.5.3-3
- cleanup for Extras
- %%doc: AUTHORS COPYING README, app docs (README, TODO, etc...)
- follow icon spec
- -dcopperl: subpkg, since kdesdk (now) Requires: perl(DCOP)
- -dcopperl: use perl's values of installman3dir,installvendorlib
- -dcoppython: enable even if not packaging sip/PyQt
- sip/PyQT/PyKDE: Provides -> Conflicts (to have the ability
  to install/use either one).
- add (virtual) Provides: %%name-{java,perl,python,ruby}
- use perl's installvendorlib

* Tue May 23 2006 Than Ngo <than> 3.5.2-2
- fix build problem with ruby

Comment 2 Rex Dieter 2007-02-13 12:22:22 UTC
Spec URL: http://kde-redhat.unl.edu/apt/kde-redhat/SPECS/kdebindings.spec
SRPM URL:
http://kde-redhat.unl.edu/apt/kde-redhat/all/SRPMS.stable/kdebindings-3.5.6-1.src.rpm

%changelog
* Tue Jan 16 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.5.6-1
- kde-3.5.6

* Thu Oct 05 2006 Rex Dieter <rexdieter[AT]users.sf.net> 3.5.5-1
- 3.5.5

* Tue Jul 25 2006 Rex Dieter <rexdieter[AT]users.sf.net> 3.5.4-1
- kde-3.5.4


Comment 3 Kevin Fenzi 2007-03-06 02:15:50 UTC
I'd be happy to review this. Look for a full review in a bit... 

Comment 4 Kevin Fenzi 2007-03-06 04:35:24 UTC
OK - Package meets naming and packaging guidelines
OK - Spec file matches base package name.
OK - Spec has consistant macro usage.
OK - Meets Packaging Guidelines.
OK - License (GPL)
OK - License field in spec matches
See below - License file included in package
OK - Spec in American English
OK - Spec is legible.
OK - Sources match upstream md5sum:
d26b5f54f062b765a949d66657c2ab3c  kdebindings-3.5.6.tar.bz2
d26b5f54f062b765a949d66657c2ab3c  kdebindings-3.5.6.tar.bz2.1
See below - BuildRequires correct
OK - Spec handles locales/find_lang
OK - Package has %defattr and permissions on files is good.
OK - Package has a correct %clean section.
OK - Package has correct buildroot
OK - Package is code or permissible content.
OK - Packages %doc files don't affect runtime.

OK - Headers/static libs in -devel subpackage.
OK - Spec has needed ldconfig in post and postun
OK - .so files in -devel subpackage.
OK - -devel package Requires: %{name} = %{version}-%{release}
OK - .la files are removed.

Pending - Package compiles and builds on at least one arch.
Pending - Package has no duplicate files in %files.
Pending - Package doesn't own any directories other packages own.
Pending - Package owns all the directories it creates.
Pending - No rpmlint output.
Pending - final provides and requires are sane

SHOULD Items:

Pending - Should build in mock.
Pending - Should build on all supported archs
Pending - Should function as described.
See below - Should have subpackages require base package with fully versioned
depend.
OK - Should have dist tag
OK - Should package latest version

Issues/comments:

1. URL might be better as:
http://developer.kde.org/language-bindings/ ?

2. Should we really be using 'Conflicts: sip, PyQt, PyKDE' here?
If it's replacing those, shouldn't it be using Obsoletes/Provides?
Or are they totally different with file conflicts? Any way to avoid
the conflicts if so?

3. Should the subpackages all just have the same description, which 
would just be the summary repeated?

4. --disable-final appears in a debug conditional, and outside it...
one should be removed?

5. Is this needed anymore? All currently supported fedoras have
a newer version than this I think...

%if "%{?perl_ver}" < "5.8.3"
# hack for older perl(MakeMaker) that doesn't grok DESTDIR
%define perl_install_root PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
%endif

6. I'm getting a build failure in mock...

checking for glib-config... no
checking for GLIB - version >= 1.2.6... no
*** The glib-config script installed by GLIB could not be found
*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GLIB_CONFIG environment variable to the
*** full path to glib-config.
checking for gtk-config... no
checking for GTK - version >= 1.2.6... no
*** The gtk-config script installed by GTK could not be found
*** If GTK was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GTK_CONFIG environment variable to the
*** full path to gtk-config.
checking whether to use kmdi lib from kdelibs... yes
checking whether to use the knewstuff lib from kdelibs... yes
checking for Java... checking for pkg-config... /usr/bin/pkg-config
configure: error: javah not found under /usr/lib/jvm/java-1.4.2/bin. javac was
found though! Use --with-java or --without-java.
error: Bad exit status from /var/tmp/rpm-tmp.76189 (%build)

The glib-devel/gtk+-devel BuildRequires need to be commented back in?
Or something needs to be adjusted so they aren't needed anymore?
Not sure about the java error...

7. Should the decopperl subpackage have a
Requires: %{name} = %{version}-%{release}
Or does it not need the main package around?


Comment 5 Rex Dieter 2007-03-06 18:39:01 UTC
1

Comment 6 Rex Dieter 2007-03-06 18:43:35 UTC
1. Agreed

2. Rationale there being that sip/PyQt/PyKDE is included here too, so to allow 
alternative installs.  I think we're pretty much comitted to *not* using 
sip/PyQt/PyKDE in kdebindings, so this extra crud can go away.

3.  

4.  debug macro is never used (I'll remove it), and --disable-final is 
required for proper build (or more precisely --enable-final fails)

5.  perl hackery, agreed, can go away.

6.  ???  WORKSFORME:
http://apt.kde-redhat.org/apt/kde-redhat/mock/fedora-6-i386-core-kde/kdebindings/

7.  doesn't need it.

Comment 7 Rex Dieter 2007-03-06 18:51:18 UTC
3.  subpackages simply recycle their *own* Summary for %description, for now, 
unless you have a better suggestion?

Comment 8 Rex Dieter 2007-03-06 19:09:22 UTC
Spec URL: http://kde-redhat.unl.edu/apt/kde-redhat/SPECS/kdebindings.spec
SRPM URL:
http://kde-redhat.unl.edu/apt/kde-redhat/all/SRPMS.stable/kdebindings-3.5.6-2.src.rpm

%changelog
* Tue Mar 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.5.6-2
- update URL
- drop %%debug macro
- drop %%perl_install_root hack
- drop sip/PyQt/PyKDE optional inclusion
- Requires(post,postun): xdg-utils


Comment 9 Kevin Fenzi 2007-03-06 20:16:11 UTC
1. good. ok. 

2. good. ok. 

3. A bit more verbose would be nice, but I guess it's ok. 
People installing those packages would likely be developers who know what they
are looking for. 

4. good. ok. 

5. good. ok. 

6. Thats fc6... I was building for devel/rawhide. Does that work for you there
as well? 

7. good. ok. 

So, can you confirm the status of building on devel/rawhide? 
Once it builds there, I can run the rest of my file/package checks... 

Comment 11 Kevin Fenzi 2007-03-07 04:58:28 UTC
Nice and odd. Are you using an out of date mirror perhaps? 

I have traced my issue to a problem with gcc-java. Your build above shows you
had version:

 gcc-java                i386       4.1.1-53         core              2.8 M

Where I see here and my mock uses: 

gcc-java.x86_64                          4.1.2-3                installed

Looks like this version has a borken/missing javah link: 

# ls -la /etc/alternatives/javah /usr/lib/jvm/java-1.4.2-gcj/bin/javah
/usr/bin/gjnih
ls: cannot access /usr/bin/gjnih: No such file or directory
lrwxrwxrwx 1 root root 37 2007-03-06 21:27 /etc/alternatives/javah ->
/usr/lib/jvm/java-1.4.2-gcj/bin/javah
lrwxrwxrwx 1 root root 14 2007-03-06 21:27 /usr/lib/jvm/java-1.4.2-gcj/bin/javah
-> /usr/bin/gjnih

/usr/bin/gjnih does not exist in this version. 
This causes the build to fail... ;( 

Am I missing something or is this a gcc bug? I can file that later... right now
I need to head home. 

Comment 12 Rex Dieter 2007-03-07 15:17:00 UTC
> Nice and odd. Are you using an out of date mirror perhaps? 

Whatever was in rawhide when kde-3.5.6 was released. (:

> Am I missing something or is this a gcc bug?

gcc-java bug.

Comment 13 Kevin Fenzi 2007-03-07 16:38:18 UTC
Filed bug: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=231307

I will finish my review/tests with fc6 packages so we can get this approved, 
but I fear it won't be happy in devel until the above bug is fixed. 

Comment 14 Kevin Fenzi 2007-03-07 19:57:20 UTC
OK - Package compiles and builds on at least one arch.
OK - Package has no duplicate files in %files.
OK - Package doesn't own any directories other packages own. 
OK - Package owns all the directories it creates.
See below - No rpmlint output.
OK - final provides and requires are sane

SHOULD Items:

OK - Should build in mock.
OK - Should build on all supported archs

1. The dcopperl subpackage, you need to move the
BuildRequires: perl
above the description. Right now that shows up in the description.
Since perl is in the min build root, do we need this? 
(Although I think it's currently only there due to rpm-build needing it)

2. rpmlint says:

a)
E: kdebindings non-executable-script /usr/share/apps/kjsembed/cmdline.js 0644

Should this be 755? Not sure if there is any need for javascript to be exectable tho

b)
E: kdebindings hardcoded-library-path in %{_prefix}/lib/jvm/java-1.4.2

Remove prefix here?

c)
W: kdebindings mixed-use-of-spaces-and-tabs (spaces: line 69, tab: line 5)

Minor nit, fix if you like.

d)
W: kdebindings patch-not-applied Patch140302: kdebindings-3.5.6-kde#140302.patch

Drop patch if it's not applied?

e)
E: kdebindings-dcopperl non-standard-executable-perm
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DCOP/DCOP.so 0555

Should be 755?

f)
W: kdebindings-devel no-documentation

ignore.


Comment 15 Rex Dieter 2007-03-07 20:11:42 UTC
1. agreed, fixing...
2. not sure what to do about this one. ??
3.  (:
4.  agreed, dropped.
5.  looks mostly harmless to me, not sure if it's worth the pain/effort.

Spec URL: http://kde-redhat.unl.edu/apt/kde-redhat/SPECS/kdebindings.spec
SRPM URL:
http://kde-redhat.unl.edu/apt/kde-redhat/all/SRPMS.stable/kdebindings-3.5.6-3.src.rpm

* Wed Mar 07 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.5.6-3
- move perl BR: bits up with the rest
- drop unused patch




Comment 16 Kevin Fenzi 2007-03-07 20:25:14 UTC
ok, all those look good. I don't see any further blockers, so this package is
APPROVED. 

Don't forget to close this once it's been imported and built. 



Comment 17 Rex Dieter 2007-03-19 17:41:34 UTC
Created attachment 150398 [details]
updated libgcj patch for gcc-4.1 (renamed libgcj.pc to libgcj-4.1.pc)

FYI...

Comment 18 Rex Dieter 2007-04-06 12:40:41 UTC
than, can you update cvs?  then you can close this ticket.

Comment 19 Kevin Fenzi 2007-05-06 22:46:09 UTC
Any news on this package?

Trying a build of the version in current (merged) cvs gives me: 

checking for glib-config... no
checking for GLIB - version >= 1.2.6... no
*** The glib-config script installed by GLIB could not be found
*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GLIB_CONFIG environment variable to the
*** full path to glib-config.
checking for gtk-config... no
checking for GTK - version >= 1.2.6... no
*** The gtk-config script installed by GTK could not be found
*** If GTK was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GTK_CONFIG environment variable to the
*** full path to gtk-config.
checking whether to use kmdi lib from kdelibs... yes
checking whether to use the knewstuff lib from kdelibs... yes
checking for Java... find: /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin: No such file
or directory
checking for pkg-config... /usr/bin/pkg-config
find: /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin: No such file or directory
find: /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin: No such file or directory
configure: error: libjvm.so not found under . Use --without-java.
error: Bad exit status from /var/tmp/rpm-tmp.94340 (%build)


Comment 20 Kevin Fenzi 2007-05-30 03:33:19 UTC
So whats the state of this package? 
3.5.6-1 is in f7.

3.5.6-3 is the latest in CVS, and it doesn't build. 



Comment 21 Rex Dieter 2007-05-30 03:36:29 UTC
clearly it does (or did at one time) build, else it wouldn't be in the distro.

Are you using a clean build environment, like mock?

Comment 22 Rex Dieter 2007-05-30 03:37:48 UTC
Hrm, or residual breakage due to gcc-java/libgcj changes.  regardless, it'll get
sorted out when kde-3.5.7 hits the streets (soon).

Comment 23 Rex Dieter 2007-06-20 16:27:52 UTC
building issues have mostly been addressed (disabled java temporarily), 
closing...