Bug 1060920
Summary: | Review Request: openni2 - OpenNI libraries for 3D-sensing | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Scott K Logan <logans> |
Component: | Package Review | Assignee: | Rich Mattes <richmattes> |
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | cz172638, package-review, ppisar, richmattes, tim, volker27 |
Target Milestone: | --- | Flags: | ppisar:
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: | 2020-06-05 22:39:02 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: | 1094787 | ||
Bug Blocks: | 1225692 |
Description
Scott K Logan
2014-02-03 22:31:30 UTC
Have you get in touch with the current openni maintainer? I have not been in touch with them. I do have a bug active against the openni package, though, as well as another package which they maintain. Neither have any response from the maintainer as of today (I'm not trying to call them out on it or anything; it hasn't been all that long). I should mention, though, that OpenNI2 has been around for about a year now. As soon as I needed it, I made a package assuming that Fedora would have an official one soon, but this is obviously not the case. I'd be happy to pull him into the conversation, though. My opinion is that the openni in the repo should be upgraded to 2.x instead. This package shouldn't be introduced. We should avoid packages with versioned name in Fedora unless the old version is really useful for backwards compatibility. Anyway, please pull in the openni maintainer first. Thanks! This sounds fine; I'll add him to this thread. However, I don't believe that upgrading the current package is the correct course of action. The OpenNI documentation states that the new iteration is completely different from the old API and is not reverse compatible in any way. The entire structure is different (see [1]). Also, the two different versions are both being maintained (see [2]). The libraries are named such that they can coexist on the system. A program can update its code to work with OpenNI2, but can't work with both. I can't see everyone simultaneously switching to OpenNI2, so a cold upgrade (even one that happens on a new release of Fedora) would be rather harsh. On a different note, I just found a file conflict with the NiViewer between the two versions that I will need to resolve. Expect an update to the spec file and SRPMs. Thanks! --scott [1] http://www.openni.org/openni-migration-guide/ [2] https://github.com/OpenNI Updated, renamed NiViewer to resolve the file name conflict (I checked for others, there were none). Also generated more documentation for the openni2-doc package. Side note - my rpmlint output in the initial post contained a stray package. The one here is correct. Spec URL: http://csc.mcs.sdsmt.edu/openni2/openni2.spec SRPM URL: http://csc.mcs.sdsmt.edu/openni2/openni2-2.2.0.33-3.fc19.src.rpm Koji scratch builds: F19: http://koji.fedoraproject.org/koji/taskinfo?taskID=6488049 F20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6488052 rpmlint output: openni2.src: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.src: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2-doc.noarch: W: no-documentation openni2.x86_64: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.x86_64: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2.x86_64: W: no-soname /usr/lib64/libOpenNI2.so openni2.x86_64: W: no-soname /usr/lib64/libOpenNI2.jni.so openni2.x86_64: W: no-manual-page-for-binary Ni2Viewer openni2.x86_64: W: no-manual-page-for-binary PSLinkConsole openni2.x86_64: W: no-manual-page-for-binary PS1080Console openni2-devel.x86_64: W: no-documentation openni2-examples.x86_64: W: no-documentation openni2-examples.x86_64: W: no-manual-page-for-binary MWClosestPointApp openni2-examples.x86_64: W: no-manual-page-for-binary SimpleViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultiDepthViewer openni2-examples.x86_64: W: no-manual-page-for-binary ClosestPointViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultipleStreamRead openni2-examples.x86_64: W: no-manual-page-for-binary EventBasedRead openni2-examples.x86_64: W: no-manual-page-for-binary SimpleRead openni2-java.x86_64: W: only-non-binary-in-usr-lib openni2-java.x86_64: W: no-documentation 7 packages and 1 specfiles checked; 0 errors, 21 warnings. Thanks, --scott Ok. Then you need to rename this with proper name. OpenNI2 Christopher - Are you saying that the package should be renamed to OpenNI2? So: OpenNI2 OpenNI2-devel OpenNI2-doc OpenNI2-examples OpenNI2-java ...would be the package names. If this is what you'd like to see, is there a reason that the openni package isn't named similarly? Do you think it would cause confusion if they were named differently like this? Thanks, --scott Sorry. Ignore my last comment, somehow I submitted a wrong comment. Busy now.... :) I updated some paths and got the JNI working per Fedora's packaging spec. Also added a javadoc subpackage (per Fedora's packaging spec). Spec URL: http://csc.mcs.sdsmt.edu/openni2/openni2.spec SRPM URL: http://csc.mcs.sdsmt.edu/openni2/openni2-2.2.0.33-4.fc19.src.rpm Koji scratch builds: F19: http://koji.fedoraproject.org/koji/taskinfo?taskID=6493248 F20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6493249 rpmlint output: openni2.src: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.src: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2-doc.noarch: W: no-documentation openni2-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados openni2-javadoc.noarch: W: spelling-error %description -l en_US documentatation -> documentation, instrumentation, argumentation openni2.x86_64: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.x86_64: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2.x86_64: W: no-soname /usr/lib64/libOpenNI2.so openni2.x86_64: W: no-manual-page-for-binary Ni2Viewer openni2.x86_64: W: no-manual-page-for-binary PSLinkConsole openni2.x86_64: W: no-manual-page-for-binary PS1080Console openni2-devel.x86_64: W: no-documentation openni2-examples.x86_64: W: no-documentation openni2-examples.x86_64: W: no-manual-page-for-binary MWClosestPointApp openni2-examples.x86_64: W: no-manual-page-for-binary SimpleViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultiDepthViewer openni2-examples.x86_64: W: no-manual-page-for-binary ClosestPointViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultipleStreamRead openni2-examples.x86_64: W: no-manual-page-for-binary EventBasedRead openni2-examples.x86_64: W: no-manual-page-for-binary SimpleRead openni2-java.x86_64: W: no-documentation 8 packages and 1 specfiles checked; 0 errors, 21 warnings. Thanks, --scott I was sponsored into the packaging group as a co-maintainer about a week ago, so this bug no longer blocks FE-NEEDSPONSOR. Now awaiting approval. I removed myself from CC, hope you can find some people to finish the review soon. I just consolidated some of the patches and cleaned up the naming. I also changed the pkgconfig to install to datadir instead of libdir, which seems more the norm among Fedora packages. Since the package seems to be pretty close to complete, I reset the release number to 1 so that the initial release to Fedora is at 1. I am also now a co-maintainer for the sister-package, openni. Now only awaiting approval. Spec URL: http://cottsay.fedorapeople.org/openni2/openni2.spec SRPM URL: http://cottsay.fedorapeople.org/openni2/openni2-2.2.0.33-1.fc20.src.rpm Koji scratch builds: F19: http://koji.fedoraproject.org/koji/taskinfo?taskID=6593263 F20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6593269 rpmlint output: openni2.src: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.src: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2-doc.noarch: W: no-documentation openni2-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados openni2-javadoc.noarch: W: spelling-error %description -l en_US documentatation -> documentation, instrumentation, argumentation openni2.x86_64: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.x86_64: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2.x86_64: W: no-soname /usr/lib64/libOpenNI2.so openni2.x86_64: W: no-manual-page-for-binary Ni2Viewer openni2.x86_64: W: no-manual-page-for-binary PSLinkConsole openni2.x86_64: W: no-manual-page-for-binary PS1080Console openni2-devel.x86_64: W: no-documentation openni2-examples.x86_64: W: no-documentation openni2-examples.x86_64: W: no-manual-page-for-binary MWClosestPointApp openni2-examples.x86_64: W: no-manual-page-for-binary SimpleViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultiDepthViewer openni2-examples.x86_64: W: no-manual-page-for-binary ClosestPointViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultipleStreamRead openni2-examples.x86_64: W: no-manual-page-for-binary EventBasedRead openni2-examples.x86_64: W: no-manual-page-for-binary SimpleRead openni2-java.x86_64: W: no-documentation 8 packages and 1 specfiles checked; 0 errors, 21 warnings. Thanks, --scott Is it a noarch package? If so you can install pkgconfig file to %_datadir; If not please install to %_libdir. So noarch vs arch is how they end up in different directories...I understand now. This makes a lot of sense now that I know. Thank you, the package has been updated. Spec URL: http://cottsay.fedorapeople.org/openni2/openni2.spec SRPM URL: http://cottsay.fedorapeople.org/openni2/openni2-2.2.0.33-1.fc20.src.rpm Koji scratch builds: F19: http://koji.fedoraproject.org/koji/taskinfo?taskID=6597089 F20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6597100 rpmlint output: openni2.src: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.src: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2-doc.noarch: W: no-documentation openni2-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados openni2-javadoc.noarch: W: spelling-error %description -l en_US documentatation -> documentation, instrumentation, argumentation openni2.x86_64: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.x86_64: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2.x86_64: W: no-soname /usr/lib64/libOpenNI2.so openni2.x86_64: W: no-manual-page-for-binary Ni2Viewer openni2.x86_64: W: no-manual-page-for-binary PSLinkConsole openni2.x86_64: W: no-manual-page-for-binary PS1080Console openni2-devel.x86_64: W: no-documentation openni2-examples.x86_64: W: no-documentation openni2-examples.x86_64: W: no-manual-page-for-binary MWClosestPointApp openni2-examples.x86_64: W: no-manual-page-for-binary SimpleViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultiDepthViewer openni2-examples.x86_64: W: no-manual-page-for-binary ClosestPointViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultipleStreamRead openni2-examples.x86_64: W: no-manual-page-for-binary EventBasedRead openni2-examples.x86_64: W: no-manual-page-for-binary SimpleRead openni2-java.x86_64: W: no-documentation 8 packages and 1 specfiles checked; 0 errors, 21 warnings. Thanks, --scott http://www.openni.org/ seems to be unreachable. PrimeSense was bought by Apple and they shut down the website [1]. The article specifically mentions that the code on GitHub will stay there. I'll change the SPEC file to point there instread. It looks like freenect has a version of the OpenNI2 driver that is supposed to be placed in the %{_libdir}/openni2 directory. Is there such a thing as a directory conflict, or can both packages provide that directory? [1] http://www.i-programmer.info/news/194-kinect/7004-openni-to-close-.html (In reply to Scott K Logan from comment #16) > PrimeSense was bought by Apple and they shut down the website [1]. The > article specifically mentions that the code on GitHub will stay there. I'll > change the SPEC file to point there instread. > > It looks like freenect has a version of the OpenNI2 driver that is supposed > to be placed in the %{_libdir}/openni2 directory. Is there such a thing as a > directory conflict, or can both packages provide that directory? > > [1] http://www.i-programmer.info/news/194-kinect/7004-openni-to-close-.html for that is bug 1094787, see bz dependency seems development moved here: http://structure.io/openni and git is here https://github.com/occipital/openni2 I'll take this for review. Here's my first pass at the review. It's in good shape, but there are still issues. See the "Note" sections under the [!] items for more details. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Packages have proper BuildRequires/Requires on jpackage-utils - Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files directly in %_libdir. See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages - Javadoc subpackages should not have Requires: jpackage-utils Note: jpackage-utils requires are automatically generated by the buildsystem See: https://fedoraproject.org/wiki/Packaging:Java ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Apache (v2.0)", "BSD (2 clause)", "LGPL (v3 or later)", "Apache (v2.0) LGPL (v3 or later)", "Unknown or generated". 152 files have unknown license. Note: ThirdParty/GL/glh is BSD [!]: License file installed when any subpackage combination is installed. Note: -doc and -javadoc packages do not include license [x]: Package must own all directories that it creates. Note: Directories without known owners: /etc/udev, /etc/udev/rules.d [x]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/lib64/openni2/Drivers(openni2, libfreenect-openni), /usr/lib64/openni2(openni2, libfreenect-openni) [!]: %build honors applicable compiler flags or justifies otherwise. Note: The Fedora CFLAGS are not present during build [!]: Package contains no bundled libraries without FPC exception. Note: ThirdParty/ contains GL headers, binaries, and libjpeg [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [!]: Requires correct, justified where necessary. Note: the %{?_isa} macro is missing from the devel package requirement on the base package [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. [x]: Packages must not store files under /srv, /opt or /usr/local [!]: Package complies to the Packaging Guidelines Note: Use new %license macro Note: No sonames on libOpenNI2.so https://fedoraproject.org/wiki/Packaging:Guidelines#Downstream_.so_name_versioning [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x]: Package requires other packages for directories it uses. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. Java: [x]: Bundled jar/class files should be removed before build [x]: Javadoc documentation files are generated and included in -javadoc subpackage [x]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink) Maven: [-]: If package contains pom.xml files install it (including depmaps) even when building with ant [x]: Old add_to_maven_depmap macro is not being used ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in openni2-devel , openni2-java , openni2-javadoc , openni2-doc , openni2-examples [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [!]: Patches link to upstream bugs/comments/lists or are otherwise justified. Note: no comments around patches [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [-]: %check is present and all tests pass. [!]: Packages should try to preserve timestamps of original installed files. Note: -p flag should be added to "install" commands in spec [!]: Spec use %global instead of %define unless justified. Note: %define requiring justification: %define psarch x86, %define psarch x64, %define psarch Arm [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: The placement of pkgconfig(.pc) files are correct. [x]: SourceX is a working URL. [x]: Package should compile and build into binary rpms on all supported architectures. Java: [x]: Packages are noarch unless they use JNI Note: openni2 subpackage is not noarch. Please verify manually [x]: Package uses upstream build method (ant/maven/etc.) ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. [-]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Test run failed [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: openni2-2.2.0.33-1.fc21.x86_64.rpm openni2-devel-2.2.0.33-1.fc21.x86_64.rpm openni2-java-2.2.0.33-1.fc21.x86_64.rpm openni2-javadoc-2.2.0.33-1.fc21.noarch.rpm openni2-doc-2.2.0.33-1.fc21.noarch.rpm openni2-examples-2.2.0.33-1.fc21.x86_64.rpm openni2-2.2.0.33-1.fc21.src.rpm openni2.x86_64: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.x86_64: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2.x86_64: W: no-soname /usr/lib64/libOpenNI2.so openni2.x86_64: W: no-manual-page-for-binary Ni2Viewer openni2.x86_64: W: no-manual-page-for-binary PSLinkConsole openni2.x86_64: W: no-manual-page-for-binary PS1080Console openni2-devel.x86_64: W: only-non-binary-in-usr-lib openni2-devel.x86_64: W: no-documentation openni2-java.x86_64: W: no-documentation openni2-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados openni2-javadoc.noarch: W: spelling-error %description -l en_US documentatation -> documentation, instrumentation, argumentation openni2-doc.noarch: W: no-documentation openni2-examples.x86_64: W: no-documentation openni2-examples.x86_64: W: no-manual-page-for-binary MWClosestPointApp openni2-examples.x86_64: W: no-manual-page-for-binary SimpleViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultiDepthViewer openni2-examples.x86_64: W: no-manual-page-for-binary ClosestPointViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultipleStreamRead openni2-examples.x86_64: W: no-manual-page-for-binary EventBasedRead openni2-examples.x86_64: W: no-manual-page-for-binary SimpleRead openni2.src: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.src: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe 7 packages and 0 specfiles checked; 0 errors, 22 warnings. Requires -------- openni2-java (rpmlib, GLIBC filtered): java jpackage-utils libOpenNI2.so()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) openni2 rtld(GNU_HASH) openni2-javadoc (rpmlib, GLIBC filtered): jpackage-utils openni2 (rpmlib, GLIBC filtered): config(openni2) ld-linux-x86-64.so.2()(64bit) libGL.so.1()(64bit) libOpenNI2.so()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libglut.so.3()(64bit) libjpeg.so.62()(64bit) libjpeg.so.62(LIBJPEG_6.2)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libudev.so.1()(64bit) libudev.so.1(LIBUDEV_183)(64bit) libusb-1.0.so.0()(64bit) rtld(GNU_HASH) openni2-doc (rpmlib, GLIBC filtered): openni2-examples (rpmlib, GLIBC filtered): libGL.so.1()(64bit) libMWClosestPoint.so()(64bit) libOpenNI2.so()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libglut.so.3()(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) openni2 rtld(GNU_HASH) openni2-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config openni2 pkgconfig(libusb-1.0) Provides -------- openni2-java: libOpenNI2.jni.so()(64bit) openni2-java openni2-java(x86-64) openni2-javadoc: openni2-javadoc openni2: config(openni2) libDummyDevice.so()(64bit) libOniFile.so()(64bit) libOpenNI2.so()(64bit) libPS1080.so()(64bit) libPSLink.so()(64bit) openni2 openni2(x86-64) openni2-doc: openni2-doc openni2-examples: openni2-examples openni2-examples(x86-64) openni2-devel: openni2-devel openni2-devel(x86-64) pkgconfig(libopenni2) Unversioned so-files -------------------- openni2: /usr/lib64/libOpenNI2.so openni2: /usr/lib64/openni2/Drivers/libDummyDevice.so openni2: /usr/lib64/openni2/Drivers/libOniFile.so openni2: /usr/lib64/openni2/Drivers/libPS1080.so openni2: /usr/lib64/openni2/Drivers/libPSLink.so openni2-java: /usr/lib64/openni2/libOpenNI2.jni.so Source checksums ---------------- https://github.com/OpenNI/OpenNI2/archive/7bef8f639e4d64a85a794e85fe3049dbb2acd32e/openni2-2.2.0.33-7bef8f6.tar.gz : CHECKSUM(SHA256) this package : 02809a74d42ccb32fd06ea9f01e4a4e7193d6b133747c212948d8f7f6b9a6d29 CHECKSUM(SHA256) upstream package : 02809a74d42ccb32fd06ea9f01e4a4e7193d6b133747c212948d8f7f6b9a6d29 Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -b 1060920 Buildroot used: fedora-21-x86_64 Active plugins: Generic, Shell-api, Java, C/C++ Disabled plugins: Python, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG Thanks for digging into this, Rich. I know it is a pretty big package. This was among the first *real* SPEC files that I wrote, so looking back now, I see a bunch of rookie mistakes. I did my best to "spiffy" it up - I'm sure we'll spot more issues, however. I should mention that I intend to target EPEL7. Key changes: - Update to packaging guidelines regarding %license - Performed downstream .so versioning (See [1]) for libOpenNI2.so. I gathered from the changelog that API changes could happen with minor version changes, so that is the SONAME version I used. If my understanding is correct, we DON'T need to .so version the libraries in /usr/lib64/openni2/ because they aren't ever linked against...correct? - Removed Requires: jpackage-utils - Added %{?_isa} to subpackage Requires where appropriate - %install phase now preserves timestamps - Use CFLAGS during build - Fixes for GCC 5 and special CFLAGS used by Fedora [1] https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Downstream_.so_name_versioning Spec URL: http://cottsay.fedorapeople.org/openni2/openni2.spec SRPM URL: http://cottsay.fedorapeople.org/openni2/openni2-2.2.0.33-2.fc23.src.rpm Koji scratch builds: rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=10291443 rpmlint output: openni2.src: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.src: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2-doc.noarch: W: no-documentation openni2-javadoc.noarch: W: spelling-error Summary(en_US) Javadocs -> Java docs, Java-docs, Avocados openni2.x86_64: W: spelling-error %description -l en_US middleware -> middle ware, middle-ware, middleweight openni2.x86_64: W: spelling-error %description -l en_US lifecycle -> life cycle, life-cycle, Wycliffe openni2.x86_64: W: no-manual-page-for-binary Ni2Viewer openni2.x86_64: W: no-manual-page-for-binary PSLinkConsole openni2.x86_64: W: no-manual-page-for-binary PS1080Console openni2-devel.x86_64: W: only-non-binary-in-usr-lib openni2-devel.x86_64: W: no-documentation openni2-examples.x86_64: W: no-documentation openni2-examples.x86_64: W: no-manual-page-for-binary MWClosestPointApp openni2-examples.x86_64: W: no-manual-page-for-binary SimpleViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultiDepthViewer openni2-examples.x86_64: W: no-manual-page-for-binary ClosestPointViewer openni2-examples.x86_64: W: no-manual-page-for-binary MultipleStreamRead openni2-examples.x86_64: W: no-manual-page-for-binary EventBasedRead openni2-examples.x86_64: W: no-manual-page-for-binary SimpleRead openni2-java.x86_64: W: no-documentation 8 packages and 1 specfiles checked; 0 errors, 20 warnings. Thanks, --scott for fedora 22 'dnf copr enable -y jkastner/various'. trying to install openni2-examples, i get this: "Error: nothing provides libMWClosestPoint.so()(64bit) needed by openni2-examples-2.2.0.33-2.fc22.x86_64" well MWClosestPointApp needs libMWClosestPoint.so in reachable path: [indy@localhost ~]$ MWClosestPointApp MWClosestPointApp: error while loading shared libraries: libMWClosestPoint.so: cannot open shared object file: No such file or directory there are two solutions 1.) add _libdir/openni2 to /etc/ld-config.d, but i think openni2 is folder for openni2 itself 2.) put libMWClosestPoint.so to _libdir itself Since nothing changed here in 4 years, it's probably safe to close this ticket. This packages has largely been abandoned, and I'm not aware of any modern products being released that utilize it. So many patches are needed to get it where it needs to be (debian has 18 for this package), and the spec file isn't very maintainable. I'm going to abandon this review. If someone is interested in taking it on, please feel free. |