Bug 452688 - Review Request: dbus-java - Java implementation of the DBus protocol
Review Request: dbus-java - Java implementation of the DBus protocol
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
:
Depends On: 452251
Blocks:
  Show dependency treegraph
 
Reported: 2008-06-24 10:23 EDT by Omair Majid
Modified: 2008-07-06 02:12 EDT (History)
3 users (show)

See Also:
Fixed In Version: 2.5-2.fc9
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-07-06 02:12:28 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Omair Majid 2008-06-24 10:23:21 EDT
Spec URL: http://omajid.fedorapeople.org/dbus-java.spec
SRPM URL: http://omajid.fedorapeople.org/dbus-java-2.5-0.1.20080624.fc9.src.rpm

Description: 

D-Bus is a message bus system, a simple way for applications to
talk to one another. In addition to interprocess communication,
D-Bus helps coordinate process lifecycle; it makes it simple and
reliable to code a "single instance" application or daemon, and to
launch applications and daemons on demand when their services are
needed.
 
This is a complete independent implementation of the D-Bus protocol
in Java. It comprises a library to write programs in Java which
access D-Bus, a tool for generating stubs from D-Bus introspection
data and a simple daemon. Being written in Java it works on both
Windows and Linux (and other Unix-like systems).

When using a TCP transport it is entirely Java-based; when using
Unix-sockets it requires a small JNI library to use Unix-Sockets.
Comment 1 Omair Majid 2008-06-26 14:49:05 EDT
Upstream released a new version. No code changes. Updated spec file and srpm:

Spec URL: http://omajid.fedorapeople.org/dbus-java/dbus-java.spec
SRPM URL: http://omajid.fedorapeople.org/dbus-java/dbus-java-2.5-1.fc9.src.rpm
Comment 2 Jason Tibbitts 2008-06-29 14:50:32 EDT
This builds fine.  The only rpmlint complaint is:
  dbus-java.x86_64: W: incoherent-version-in-changelog 2.5-1.fc9 2.5-1.fc10
which happens because I'm building this on rawhide.  Normally you just don't
include the dist tag in your changelog versions.

I'm a bit confused by the installed wrapper scripts; they all contain:
  JARPATH=/usr/local/share/java
which doesn't seem correct.  Installing and running ListDBus gives me:
  Exception in thread "main" java.lang.NoClassDefFoundError: 
   org/freedesktop/dbus/bin/ListDBus
  Caused by: java.lang.ClassNotFoundException: org.freedesktop.dbus.bin.ListDBus
          at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
  [...]

The guidelines are unfortunately silent on the subject of symlinking the jar
files, but this seems to be common enough.

* source files match upstream:
   2b2001aa2fccc6cc3eedfeb35d2c7b13e52811c27820f27f0f6ce0e8f547ad65  
   dbus-java-2.5.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly.
* debuginfo package looks complete.
X rpmlint has one minor complaint which is easy to fix.
* final provides and requires are sane:
  dbus-java-2.5-1.fc10.x86_64.rpm
   dbus-2.5.jar.so()(64bit)
   dbus-bin-2.5.jar.so()(64bit)
   dbus-viewer-2.5.jar.so()(64bit)
   dbus-java = 2.5-1.fc10
  =
   /bin/sh
   java-1.6.0-openjdk
   java-gcj-compat >= 1.0.31
   jpackage-utils
   libgcc_s.so.1()(64bit)
   libgcc_s.so.1(GCC_3.0)(64bit)
   libgcj_bc.so.1()(64bit)
   libz.so.1()(64bit)

  dbus-java-javadoc-2.5-1.fc10.x86_64.rpm
   dbus-java-javadoc = 2.5-1.fc10
  =
   jpackage-utils

X %check is not present; no test suite upstream.  I'm not sure how to test this, 
   honestly, since I don't know much about dbus, but just running ListDBus seems 
   to fail badly.
* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* scriptlets are OK; gcj-rebuild-db stuff.
* code, not content.
* %docs are not necessary for the proper functioning of the package.
* no pre-built jars
* single jar, named after the package
* jarfiles are under _javadir.
* javadocs are under _javadocdir.
X wrapper scripts provided, but not working properly.
* gcj called properly.
Comment 3 Omair Majid 2008-06-30 11:59:00 EDT
Updated packages:

Spec URL: http://omajid.fedorapeople.org/dbus-java/dbus-java.spec
SRPM URL: http://omajid.fedorapeople.org/dbus-java/dbus-java-2.5-1.fc9.src.rpm

fixed incoherent name warning, fixed wrapper scripts and added %check (upstream
had one but i hadnt come across %check while reading up on packaging). 

rpmlint reports a warning
dbus-java.src:149: W: libdir-macro-in-noarch-package %attr(-,root,root)
%{_libdir}/gcj/%{name}
which i am ignoring because when the package is built as noarch, this
conditional line is not executed
Comment 4 Jason Tibbitts 2008-06-30 12:04:37 EDT
This package doesn't seem to be any different than the package in comment 1.
Comment 5 Omair Majid 2008-06-30 14:49:25 EDT
Bumped up the release number

Spec URL: http://omajid.fedorapeople.org/dbus-java/dbus-java.spec
SRPM URL: http://omajid.fedorapeople.org/dbus-java/dbus-java-2.5-2.fc9.src.rpm

copying changes from comment 3:
fixed incoherent name warning, fixed wrapper scripts and added %check (upstream
had one but i hadnt come across %check while reading up on packaging). 

rpmlint reports a warning
dbus-java.src:149: W: libdir-macro-in-noarch-package %attr(-,root,root)
%{_libdir}/gcj/%{name}
which i am ignoring because when the package is built as noarch, this
conditional line is not executed
Comment 6 Jason Tibbitts 2008-07-02 01:23:01 EDT
Hmm, this failed to build for me.  I think the error is in %build when
generating the documentation.  I tried to disable parallel make and the failure
disappears, but then the test suite just seems to hang forever.  The last
command running is:

java -Djava.library.path=/usr/lib64/libmatthew-java -classpath
:/usr/lib64/libmatthew-java/unix.jar:/usr/lib64/libmatthew-java/hexdump.jar:/usr/lib64/libmatthew-java/debug-disable.jar:libdbus-java-2.5.jar:dbus-java-test-2.5.jar
org.freedesktop.dbus.test.test

The output at that point is:

Creating Connection
Exception in thread "main"
java.lang.UnsatisfiedLinkError: Can't load library:
/usr/lib/libmatthew-java/libunix-java.so
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1666)
        at java.lang.Runtime.load0(Runtime.java:787)
        at java.lang.System.load(System.java:1022)
        at cx.ath.matthew.unix.UnixSocket.<clinit>(UnixSocket.java:33)
        at org.freedesktop.dbus.Transport.connect(Unknown Source)
        at org.freedesktop.dbus.Transport.<init>(Unknown Source)
        at org.freedesktop.dbus.DBusConnection.<init>(Unknown Source)
        at org.freedesktop.dbus.DBusConnection.getConnection(Unknown Source)
        at org.freedesktop.dbus.test.test.main(Unknown Source)

So I went back to build the original rpm (with parallel make enabled) and it
gets through to the hanging %check section.  So I guess there are a couple of
problems: some race condition with extremely parallel make (I build on an 8-core
system) and the test suite seems busted.
Comment 7 Jason Tibbitts 2008-07-02 15:56:15 EDT
Well, I tried to reproduce the build failure but couldn't after eight tries. 
Honestly I've no idea what might have happened

So just the test failure remains, which you indicated on IRC was a problem in
libmatthew, so I'll just try later after rawhide has updated.
Comment 8 Jason Tibbitts 2008-07-03 22:04:38 EDT
OK, this builds now.  I agree about ignoring that rpmlint complaint; it doesn't
understand conditional evaulation.

The test suite seems to run fine for me.

The wrapper scripts look good to me now, although I admit I didn't install and
run them.

Anyway, everything looks fine.

APPROVED
Comment 9 Omair Majid 2008-07-04 09:05:48 EDT
New Package CVS Request
=======================
Package Name: dbus-java
Short Description: dbus-java
Owners: omajid
Branches: F-9
InitialCC:
Cvsextras Commits: yes
Comment 10 Kevin Fenzi 2008-07-04 16:22:11 EDT
cvs done. 

I used the Short Description from the spec file "Java implementation of the DBus
protocol" 
Comment 11 Fedora Update System 2008-07-04 17:23:13 EDT
dbus-java-2.5-2.fc9 has been submitted as an update for Fedora 9
Comment 12 Fedora Update System 2008-07-06 02:12:26 EDT
dbus-java-2.5-2.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.