Bug 480607
Summary: | Review Request: bluecove - Implementation of JSR-82 Java Bluetooth API | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | François Kooman <fkooman> |
Component: | Package Review | Assignee: | Orion Poplawski <orion> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | akurtako, bbbush.yuan, fedora-package-review, notting, orion, taljurf |
Target Milestone: | --- | Flags: | orion:
fedora-review+
kevin: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | bluecove-2.1.1-0.2.20101024snap63.fc15 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2011-06-15 18:30:37 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: | 490101 | ||
Bug Blocks: |
Description
François Kooman
2009-01-19 13:18:10 UTC
* Sun Jan 25 2009 François Kooman <fkooman> - 2.1.0-2 - remove javadoc sub package, there isn't any real documentation, only references to JSR-82 API docs at jcp.org - create symlinks without version numbers - remove gpl sub package, bluecove without gpl subpackage is useless - include the interesting docs from gpl subpackage in the package instead of the subpackage - include README.dist Issues remaining: - debug files in i386 package... - it probably won't work immediately on ppc/ppc64 as there is only a check for i386 and x86_64 in the library loader at runtime (no ppc hardware to test on, it does build correctly in koji) Spec URL: http://users.tuxed.net/fkooman/rpmbuild/SPECS/bluecove.spec SRPM URL: http://users.tuxed.net/fkooman/rpmbuild/SRPMS/bluecove-2.1.0-2.fc10.src.rpm * Sat Mar 14 2009 François Kooman <fkooman> - 2.1.1-0.20090314 - prepare for release 2.1.1, update to snapshot 20090314 - remove upstreamed patches - add bluecove-bluez (uses dbus for device discovery) disabled for now as we need dbus-java >= 2.5.1 (BZ #490101) - add bluecove-emu - move libraries to versioned directory in libdir/bluecove per upstream request - remove ldconfig post and postun as other apps don't link to this - update README.dist - update package description Spec URL: http://users.tuxed.net/fkooman/rpmbuild/SPECS/bluecove.spec SRPM URL: http://users.tuxed.net/fkooman/rpmbuild/SRPMS/http://users.tuxed.net/fkooman/rpmbuild/SRPMS/bluecove-2.1.1-0.20090314.fc10.src.rpm Issues: - wait for dbus-java 2.5.1 to enable bluecove-bluez (#490101) - remove Classpath from manifest? (bluecove-bluez) - still debug files in i386 build?! - it probably won't work immediately on ppc/ppc64 as there is only a check for i386 and x86_64 in the library loader at runtime (no ppc hardware to test on) - wait for bluecove 2.1.1 final release (should be there in a month or so) Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=1241412 Correct SRPM URL: http://users.tuxed.net/fkooman/rpmbuild/SRPMS/bluecove-2.1.1-0.20090314.fc10.src.rpm Update to latest snapshot, and moved to fedorapeople hosting. Spec URL: http://fkooman.fedorapeople.org/bluecove/bluecove.spec SRPM URL: http://fkooman.fedorapeople.org/bluecove/bluecove-2.1.1-0.20090505.fc11.src.rpm You need to document how the snapshot files were created. Generally you create a script that does it and include it in the SRPM. Is it possible to enable gcj support? Duplicate requires: Requires: dbus-java >= 2.5.1 Requires: dbus-java Getting a build failure on current F-12: [echo] create JNI headers using java.home /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre compile-native-lib: [echo] compiling .c -> .o (-fPIC -fno-stack-protector) [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c: In function 'localSocketOptions2unix': [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:404: error: 'org_bluecove_socket_LocalSocketImpl_LocalSocketOptions_SO_LINGER' undeclared (first use in this function) [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:404: error: (Each undeclared identifier is reported only once [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:404: error: for each function it appears in.) [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:407: error: 'org_bluecove_socket_LocalSocketImpl_LocalSocketOptions_SO_RCVTIMEO' undeclared (first use in this function) [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:410: error: 'org_bluecove_socket_LocalSocketImpl_LocalSocketOptions_SO_SNDTIMEO' undeclared (first use in this function) [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:413: error: 'org_bluecove_socket_LocalSocketImpl_LocalSocketOptions_SO_SNDBUF' undeclared (first use in this function) [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:416: error: 'org_bluecove_socket_LocalSocketImpl_LocalSocketOptions_SO_RCVBUF' undeclared (first use in this function) [apply] /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/src/main/c/BlueCoveLocalSocket.c:419: error: 'org_bluecove_socket_LocalSocketImpl_LocalSocketOptions_SO_PASSCRED' undeclared (first use in this function) BUILD FAILED /builddir/build/BUILD/bluecove-2.1.1-SNAPSHOT/bluecove-bluez-2.1.1-SNAPSHOT/build.xml:142: apply returned: 1 I'm getting the same build error now on Fedora 11 with all updates. Update to latest upstream snapshot does not seem to help. I need to look into this some more (and possibly consult upstream). When I get it to compile again I'll look into gcj support. Thanks for taking this review! === files === Spec URL: http://fkooman.fedorapeople.org/bluecove/bluecove.spec SRPM URL: http://fkooman.fedorapeople.org/bluecove/bluecove-2.1.1-0.20090914.fc12.src.rpm === changes === * Sun Jan 10 2010 François Kooman <fkooman> - 2.1.1-0.20090914 - update snapshot to 20090914 - fix source links to snapshot version - add GCJ support === rpmlint === Not sure about why it complains about libmatthew-java... [fkooman@franek SPECS]$ rpmlint bluecove.spec bluecove.spec:172: W: libdir-macro-in-noarch-package (main package) %dir %{_libdir}/%{name} bluecove.spec:173: W: libdir-macro-in-noarch-package (main package) %{_libdir}/%{name}/* bluecove.spec:177: W: libdir-macro-in-noarch-package (main package) %attr(-,root,root) %{_libdir}/gcj/%{name} 0 packages and 1 specfiles checked; 0 errors, 3 warnings. [fkooman@franek SPECS]$ rpmlint ../SRPMS/bluecove-2.1.1-0.20090914.fc12.src.rpm bluecove.src:172: W: libdir-macro-in-noarch-package (main package) %dir %{_libdir}/%{name} bluecove.src:173: W: libdir-macro-in-noarch-package (main package) %{_libdir}/%{name}/* bluecove.src:177: W: libdir-macro-in-noarch-package (main package) %attr(-,root,root) %{_libdir}/gcj/%{name} 1 packages and 0 specfiles checked; 0 errors, 3 warnings. [fkooman@franek SPECS]$ rpmlint ../RPMS/x86_64/bluecove-2.1.1-0.20090914.fc12.x86_64.rpm bluecove.x86_64: E: explicit-lib-dependency libmatthew-java 1 packages and 0 specfiles checked; 1 errors, 0 warnings. [fkooman@franek SPECS]$ === builds === bluecove-bluez has some issues with gcj. With OpenJDK generated headers it works fine. Koji does: [echo] create JNI headers using java.home /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre while my local machine does: [echo] create JNI headers using java.home /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre I guess I have to fix this JNI compilation stuff with gcj, I don't think upstream will be interested in this... See http://koji.fedoraproject.org/koji/getfile?taskID=1912388&name=build.log for the error. If it can't compile with gcj, don't worry about it. Many packages I guess are dropping it now. To force OpenJDK use, you can do: BuildRequires: java-devel >= 1:1.6.0 Requires: java >= 1:1.6.0 I did a build dropping gcj and adding the above here: http://koji.fedoraproject.org/koji/taskinfo?taskID=1914251 Now you need to drop noarch, because JNI files are arch specific. Also, you can change: %dir %{_libdir}/%{name} %{_libdir}/%{name}/* to just: %{_libdir}/%{name} The rpmlint warning is just complaining about any Requires that starts with "lib". For many languages, these requirements are generated automatically, but we're not quite there yet with Java. === files === Spec URL: http://fkooman.fedorapeople.org/bluecove/bluecove.spec SRPM URL: http://fkooman.fedorapeople.org/bluecove/bluecove-2.1.1-0.20090914.1.fc12.src.rpm Is the version okay like this? It is still possible to change it. Maybe it's nicer to mention the snapshot number (60 in this case)? === changes === * Mon Jan 11 2010 François Kooman <fkooman> - 2.1.1-0.20090914.1 - remove GCJ support again as it breaks bluecove-bluez - fix files section redundancy === rpmlint === Clean now except the lib* error, which can be ignored. === scratch builds === F12: http://koji.fedoraproject.org/koji/taskinfo?taskID=1914693 F13: http://koji.fedoraproject.org/koji/taskinfo?taskID=1914682 Thanks for your time! :) I modified the version to make more sense. Upgrade path is not OK, but as there is no release yet anyway, it doesn't really matter. Spec URL: http://fkooman.fedorapeople.org/bluecove/bluecove.spec SRPM URL: http://fkooman.fedorapeople.org/bluecove/bluecove-2.1.1-0.1.20090914snap60.fc12.src.rpm * rpmlint rpmlint bluecove-debuginfo bluecove-debuginfo.i686: E: debuginfo-without-sources Looks like the source is not making it info the debuginfo package for some reason. * naming - OK * NamingGuidelines - OK * licensing - Looks like that there are still some files (e.g. BlueCoveBlueZ_RFCOMMServer.c) under the LGPLv2+ license. I don't think that is an issue but I think it needs to be mentioned in the spec and perhaps brought to the attention of upstream. * osi approved? - OK * included? - OK * correct mentioned in specfile? - NO specfile * American English - OK * legible - OK * ExcludeArch, blocking - OK * BuildRequires - OK * Locales - OK * shared libraries: ldconfig - OK * %clean section with rm -rf ${RPM_BUILD_ROOT} - OK * macros - OK * sources - OK * relocatable? Prefix: /usr? - OK * files and directories - OK * owns all created directories - OK * all files listed in %files - OK * permissions? - OK * deffattr? - OK * no .la files - OK * .desktop for GUI applications - OK * no conflicts with other packages - OK * -devel - NA * permissable content - OK * doc - OK * large doc in -doc package - OK * must not affect runtime - OK * mock build - http://koji.fedoraproject.org/koji/taskinfo?taskID=2106889 OK * sane scriptlets - OK * subpackages with fully versioned dependency - NA It seems the bluecove-gpl JNI files are licensed LGPLv2+. I added LGPLv2+ as license as well. I made sure GCC gets the RPM_OPT_FLAGS parameter so the correct compiler flags are used. This solves the no sources in the debuginfo package. @Vlad: there are some warnings now in the JNI C code (both bluecove-gpl and bluecove-bluez) because of the new (more strict) compiler flags. See the build log at http://koji.fedoraproject.org/koji/getfile?taskID=2111403&name=build.log, maybe you can find some time to look at those :) Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2111401 Changelog: * Mon Apr 12 2010 François Kooman <fkooman> - 2.1.1-0.1.20100401snap62 - update to new snapshot - make use of RPM_OPT_FLAGS for compiling JNI libs - add license LGPLv2+ to license tag as bluecove-gpl uses it Spec URL: http://fkooman.fedorapeople.org/bluecove/bluecove.spec SRPM URL: http://fkooman.fedorapeople.org/bluecove/bluecove-2.1.1-0.1.20100401snap62.fc12.src.rpm Looks good. Approved. I'll be waiting for the Bluecove 2.1.1 official release before I'll add them to Fedora 14/13. Thanks for your review! New Package CVS Request ======================= Package Name: bluecove Short Description: Implementation of JSR-82 Java Bluetooth API Owners: fkooman Branches: F-13 InitialCC: CVS done (by process-cvs-requests.py). ping François Pong :) I'm waiting for version 2.1.1 of Bluecove before importing Bluecove, but it doesn't seem to happen :( I can import http://fkooman.fedorapeople.org/bluecove/bluecove-2.1.1-0.1.20100401snap62.fc12.src.rpm if you like and forget about 2.1.1 for now... No, no problem. I've thought you forgot it or something like that. Regards :) Update to newer snapshot (and compiled on Fedora 14 and it still works!). Waiting for official 2.1.1 release. It seems it will take some time still. Maybe I should just import this version of Bluecove and see how it goes. SRPM URL: http://fkooman.fedorapeople.org/bluecove/bluecove-2.1.1-0.1.20101024snap63.fc14.src.rpm Spec URL: http://fkooman.fedorapeople.org/bluecove/bluecove.spec Why not. I would say just import and build. You can always update to newer release after that. bluecove-2.1.1-0.2.20101024snap63.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/bluecove-2.1.1-0.2.20101024snap63.fc15 bluecove-2.1.1-0.2.20101024snap63.fc15 has been pushed to the Fedora 15 testing repository. bluecove-2.1.1-0.2.20101024snap63.fc15 has been pushed to the Fedora 15 stable repository. |