Bug 1338339 (openrave) - Review Request: openrave - Open Robotics Automation Virtual Environment
Summary: Review Request: openrave - Open Robotics Automation Virtual Environment
Keywords:
Status: CLOSED WONTFIX
Alias: openrave
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/rdiankov/openrave/...
Whiteboard: NotReady
: 674008 (view as bug list)
Depends On: 1340656
Blocks: 1225692
TreeView+ depends on / blocked
 
Reported: 2016-05-21 19:31 UTC by Till Hofmann
Modified: 2020-05-10 13:45 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-10 13:45:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Till Hofmann 2016-05-21 19:31:59 UTC
Spec URL: https://thofmann.fedorapeople.org/openrave.spec
SRPM URL: https://thofmann.fedorapeople.org/openrave-0.9.0-11.20160519git2baf4e3.fc23.src.rpm
Description:
OpenRAVE is targeted for real-world autonomous robot applications, and
includes a seamless integration of 3-D simulation, visualization, planning,
scripting and control.
Fedora Account System Username: thofmann

koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=14208789

There are two bundled libraries. Both libraries are dead upstream and maintained within the openRAVE project. According to the package guidelines [1], Provides have been added for both libraries.

rpmlint:
========
python2-openrave.x86_64: W: no-documentation
openrave-octave.x86_64: W: no-documentation
openrave-models.noarch: W: no-documentation
openrave-devel.x86_64: W: no-documentation
openrave.x86_64: W: no-documentation
--> documentation is in separate doc package

openrave-devel.x86_64: W: no-manual-page-for-binary openrave-config
openrave-devel.x86_64: W: no-manual-page-for-binary openrave-createplugin.py
python2-openrave.x86_64: W: no-manual-page-for-binary openrave.py
python2-openrave.x86_64: W: no-manual-page-for-binary openrave-robot.py
openrave.x86_64: W: no-manual-page-for-binary openrave
--> no manpages provided by upstream

openrave-devel.x86_64: W: only-non-binary-in-usr-lib
--> devel packages contains symlinks to actual libs

python2-openrave.x86_64: E: non-executable-script /usr/lib64/python2.7/site-packages/openravepy/_openravepy_/ikfast_generator_cpp.py 644 /usr/bin/env
python2-openrave.x86_64: E: non-executable-script /usr/lib64/python2.7/site-packages/openravepy/_openravepy_/ikfast_generator_cpp_sympy0_6.py 644 /usr/bin/env
openrave.x86_64: E: non-executable-script /usr/share/openrave/openrave.bash 644 /bin/bash
--> not intended to be executable scripts, see [2] for a short discussion

python2-openrave.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python2.7/site-packages/openravepy/_openravepy_/ikfast.h
--> part of the bindings

openrave.x86_64: W: shared-lib-calls-exit /usr/lib64/libopenrave-core.so.0.9.0 exit.5
--> reported upstream [3]

There is one patch [4] which is necessary because qhull paths changed in rawhide. It doesn't make sense to send that patch upstream because it is specific to Fedora (although a more general solution would be possible).
All other changes have been merged upstream.

Note that there has been a review request before (bz #674008). This review request is based on the old one.

A review would be highly appreciated!

[1] https://fedoraproject.org/wiki/Bundled_Libraries?rd=Packaging:Bundled_Libraries
[2] https://github.com/rdiankov/openrave/pull/353
[3] https://github.com/rdiankov/openrave/issues/355
[4] https://thofmann.fedorapeople.org/openrave.qhull.patch

Comment 1 Till Hofmann 2016-05-21 19:34:49 UTC
*** Bug 674008 has been marked as a duplicate of this bug. ***

Comment 2 Till Hofmann 2016-05-25 09:14:03 UTC
There is a COPR for openRAVE: https://copr.fedorainfracloud.org/coprs/thofmann/openrave/

Comment 3 Igor Gnatenko 2016-05-25 13:02:13 UTC
Thanks for very good preparation.

There are some small issues from first glance, I will do full review in few hours.

Comment 4 Till Hofmann 2016-05-25 18:10:06 UTC
Spec URL: https://thofmann.fedorapeople.org/openrave.spec
SRPM URL: https://thofmann.fedorapeople.org/openrave-0.9.0-14.20160519git2baf4e3.fc23.src.rpm

koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=14250308

The package currently doesn't build on rawhide because of a bug in a recent change in assimp (pkg-config flags are wrong - I'll file a bug).

Changes:
* Fix several undefined reference errors that occurred while loading plugins (pull request sent upstream [1])
* Fix a bug in the cmake config that caused a dead symlink /usr/bin/openrave -> /usr/bin/openrave (pull request sent upstream [2])
* Add a patch for openrave issue #323 [3]. This patch is not sent upstream because it is only a workaround
* Do not filter out requires from the plugins, but only filter out requires of plugins (i.e. don't filter out SoQt, but filter out libconfigurationcache because this is an openrave lib not in LDPATH)


[1] https://github.com/rdiankov/openrave/pull/403
[2] https://github.com/rdiankov/openrave/pull/404
[3] https://github.com/rdiankov/openrave/issues/323

Comment 5 Igor Gnatenko 2016-05-27 07:32:13 UTC
---
main pkg
 
> Source0:        https://github.com/rdiankov/openrave/archive/%{commit}/openrave-%{commit}.tar.gz
I would prefer to use: https://github.com/rdiankov/openrave/archive/%{commit}/openrave-%{shortcommit}.tar.gz
Up to you.

> Provides:       bundled(ivcon) = 0
don't need version here

---
-devel subpkg

> Requires:       %{name} = %{version}-%{release}
Forgot to add %{?_isa} after %{name}

---
%build section

>   -DCMAKE_BUILD_TYPE=RelWithDebInfo \
not needed, %cmake does this for you

>   -DBASH_COMPLETION_DIR="%{_sysconfdir}/bash_completion.d" \
I think it could be detected automatically (in CMakeLists, didn't check upstream sources). Anyway proper path is %{_datadir}/bash-completion/completions/

> make %{?_smp_mflags}
can be replaced with %make_build, up to you

---
%install section

> make install DESTDIR=%{buildroot}
can be replaced with %make_install, up to you

> find %{buildroot} -name '*.la' -exec rm -f {} ';'
replace with: find %{buildroot}%{_libdir} -type f -name '*.la' -delete ';'

> bash_completion stuff
see above

---
%files sections

-> once you will move bash_completion stuff into %{_datadir} remove %config(noreplace)

> %{_datadir}/%{name}/openrave.bash
I think it shouldn't go here

> %{_bindir}/openrave-createplugin.py
I would prefer to have this file without .py suffix
Also would be better to change shebang to something like /usr/bin/python2 and add Requires: python2-%{name} because this script requires Python module

---
Other notes

-> Is it possible to build python3 subpackage?

Comment 6 Igor Gnatenko 2016-05-27 07:34:50 UTC
Also about version...

1. Release tag should start from 0. to indicated that it is not after release, but before
2. I would prefer to not have date in Release because it is totally useless even Guidelines says to have it (because you can update package twice or more per day)

So I would prefer to have version: 0.9.0-0.15.2baf4e3

Comment 7 Till Hofmann 2016-05-29 20:43:48 UTC
Spec URL: https://thofmann.fedorapeople.org/openrave.spec
SRPM URL: https://thofmann.fedorapeople.org/openrave-0.9.0-15.git8bfb8a6.fc23.src.rpm
koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=14303392

Thank you for your comments!

(In reply to Igor Gnatenko from comment #5)
> ---
> main pkg
>  
> > Source0:        https://github.com/rdiankov/openrave/archive/%{commit}/openrave-%{commit}.tar.gz
> I would prefer to use:
> https://github.com/rdiankov/openrave/archive/%{commit}/openrave-
> %{shortcommit}.tar.gz
> Up to you.

Done.

> 
> > Provides:       bundled(ivcon) = 0
> don't need version here

done - but rpmlint gives a warning. Should I ignore it?
> 
> ---
> -devel subpkg
> 
> > Requires:       %{name} = %{version}-%{release}
> Forgot to add %{?_isa} after %{name}

Fixed.

> 
> ---
> %build section
> 
> >   -DCMAKE_BUILD_TYPE=RelWithDebInfo \
> not needed, %cmake does this for you
> 
> >   -DBASH_COMPLETION_DIR="%{_sysconfdir}/bash_completion.d" \
> I think it could be detected automatically (in CMakeLists, didn't check
> upstream sources). Anyway proper path is
> %{_datadir}/bash-completion/completions/

I fixed the path and removed the cmake flag.
> 
> > make %{?_smp_mflags}
> can be replaced with %make_build, up to you

Replaced.

> 
> ---
> %install section
> 
> > make install DESTDIR=%{buildroot}
> can be replaced with %make_install, up to you

Replaced.

> 
> > find %{buildroot} -name '*.la' -exec rm -f {} ';'
> replace with: find %{buildroot}%{_libdir} -type f -name '*.la' -delete ';'

Done.

> 
> > bash_completion stuff
> see above
> 
> ---
> %files sections
> 
> -> once you will move bash_completion stuff into %{_datadir} remove
> %config(noreplace)

Fixed

> 
> > %{_datadir}/%{name}/openrave.bash
> I think it shouldn't go here

I completely removed the file because it's not useful for a systemwide install. The only thing it does is to set up PATH, PYTHONPATH etc. But for a system install, everything is in the respective path anyway.

> 
> > %{_bindir}/openrave-createplugin.py
> I would prefer to have this file without .py suffix
> Also would be better to change shebang to something like /usr/bin/python2
> and add Requires: python2-%{name} because this script requires Python module

I replaced all shebangs and renamed the script to openrave-createplugin. I also added the dependency.

> 
> ---
> Other notes
> 
> -> Is it possible to build python3 subpackage?

Unfortunately no, because flann is only available for python2 right now. I'll add a python3 package when flann supports python3.

I did some additional changes:
* I added locale files
* I updated to a newer commit that included our patches
* I added a patch for some issues with relative paths. I'll send the patch upstream soon.

As you suggested, I removed the date from the release. I *think* this is a post-release, that's why I chose this release tag. I sent an email to upstream to confirm this is indeed the case. If not, I'll update the Release tag accordingly.

Comment 8 Till Hofmann 2016-05-29 20:46:51 UTC
The assimp package was bumped to 3.2.0 in F24, too. This means this package doesn't build in Rawhide or F24 at the moment. I reported the issue and added a dependency on the issue.

Comment 9 Till Hofmann 2016-06-07 08:21:35 UTC
Spec URL: https://thofmann.fedorapeople.org/openrave.spec
SRPM URL: https://thofmann.fedorapeople.org/openrave-0.9.0-16.git8bfb8a6.fc23.src.rpm

koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=14403483

I added a patch to fix an issue with numpy; the patch is from an open pull request.

The issue with wrong flags in assimp has been fixed in rawhide; openrave builds successfully again. An update for F24 is currently pending.

Comment 10 Igor Gnatenko 2016-07-07 21:24:59 UTC
Sorry for so much time waiting for me. Unfortunately I'm busy with lots of other stuff =(

Unfortunately I will not be able to make full-proper-review soon. Anyway package looks good and you are great packager! Hope someone else will pick this review as soon as possible.

Comment 11 Raphael Groner 2016-07-14 13:56:06 UTC
Are you interested in a review swap?

Comment 12 Till Hofmann 2016-07-14 14:57:00 UTC
(In reply to Raphael Groner from comment #11)
> Are you interested in a review swap?

Yes, definitely. I'm currently quite busy and it may take two weeks until I can start working on a review, but if that's not a problem for you, I'd be glad to swap!

Comment 13 Antonio T. (sagitter) 2016-07-30 12:19:09 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Header files in -devel subpackage, if present.
  Note: python2-openrave : /usr/lib/python2.7/site-
  packages/openravepy/_openravepy_/ikfast.h
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages

  I'm not sure where python header files must be installed, but i guess they should be pushed under an include directory. 

- plugins/rplanners/ParabolicPathSmooth (BSD)
 These files are involved in the building and licensed under BSD  license.
 I think, you should include BSD with LGPLv3+ and ASL 2.0

- examples/doormanipulation/SetupWAMScene.m
  examples/doormanipulation/rundoormanipulation.m
 are licensed under GPLv3+; this license should be included in the
 octave sub-package. 

- Bundled plugins/include/boost/* files should be erased

- %{_datadir}/%{name} is not owned

- Latest stable released version is the 0.8.2
  Are you sure this is not a pre-release of 0.9.0 ?

- There are tests. Why are not performed ?

- Octave files should be installed in %{octpkglibdir}

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[?]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: ldconfig called in %post and %postun if required.
[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)", "GPL", "LGPL", "GPL (v2 or later)", "GPL (v3
     or later)", "Unknown or generated", "MIT/X11 (BSD like)", "BSL
     (v1.0)", "*No copyright* LGPL", "*No copyright* Public domain", "GPL
     (v2 or later) (with incorrect FSF address)", "*No copyright* LGPL (v3
     or later)", "BSD (3 clause)", "BSD (2 clause)", "zlib/libpng". 244
     files have unknown license. Detailed output of licensecheck in
     /home/sagitter/1338339-openrave/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[!]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[ ]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/libexec/octave/packages
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/openrave,
     /usr/lib/cmake, /usr/libexec/octave/packages
[x]: %build honors applicable compiler flags or justifies otherwise.
[!]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[?]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[-]: The spec file handles locales properly.
[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.
[x]: Requires correct, justified where necessary.
[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]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[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 %license.
[x]: Package does not own files or directories owned by other packages.
[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]: Dist tag is present.
[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 does not use a name that already exists.
[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.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Python eggs must not download any dependencies during the build
     process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== 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).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     openrave-models , openrave-doc , openrave-debuginfo
[ ]: Package functions as described.
[?]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: Scriptlets must be sane, if used.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[?]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[ ]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 2795520 bytes in /usr/share
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: openrave-0.9.0-16.git8bfb8a6.fc25.i686.rpm
          openrave-devel-0.9.0-16.git8bfb8a6.fc25.i686.rpm
          openrave-models-0.9.0-16.git8bfb8a6.fc25.noarch.rpm
          openrave-doc-0.9.0-16.git8bfb8a6.fc25.noarch.rpm
          python2-openrave-0.9.0-16.git8bfb8a6.fc25.i686.rpm
          openrave-octave-0.9.0-16.git8bfb8a6.fc25.i686.rpm
          openrave-debuginfo-0.9.0-16.git8bfb8a6.fc25.i686.rpm
          openrave-0.9.0-16.git8bfb8a6.fc25.src.rpm
openrave.i686: W: shared-lib-calls-exit /usr/lib/libopenrave-core.so.0.9.0 exit
openrave.i686: W: no-documentation
openrave.i686: W: no-manual-page-for-binary openrave
openrave-devel.i686: W: no-documentation
openrave-devel.i686: W: no-manual-page-for-binary openrave-config
openrave-devel.i686: W: no-manual-page-for-binary openrave-createplugin
openrave-models.noarch: W: no-documentation
python2-openrave.i686: W: no-documentation
python2-openrave.i686: W: devel-file-in-non-devel-package /usr/lib/python2.7/site-packages/openravepy/_openravepy_/ikfast.h
python2-openrave.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openravepy/_openravepy_/ikfast_generator_cpp_sympy0_6.py 644 /usr/bin/python2 
python2-openrave.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openravepy/_openravepy_/ikfast_generator_cpp.py 644 /usr/bin/python2 
python2-openrave.i686: W: no-manual-page-for-binary openrave-robot.py
python2-openrave.i686: W: no-manual-page-for-binary openrave.py
openrave-octave.i686: W: no-documentation
openrave.src:51: W: unversioned-explicit-provides bundled(ivcon)
8 packages and 0 specfiles checked; 2 errors, 13 warnings.




Rpmlint (debuginfo)
-------------------
Checking: openrave-debuginfo-0.9.0-16.git8bfb8a6.fc25.i686.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
python2-openrave.i686: W: no-documentation
python2-openrave.i686: W: devel-file-in-non-devel-package /usr/lib/python2.7/site-packages/openravepy/_openravepy_/ikfast.h
python2-openrave.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openravepy/_openravepy_/ikfast_generator_cpp_sympy0_6.py 644 /usr/bin/python2 
python2-openrave.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openravepy/_openravepy_/ikfast_generator_cpp.py 644 /usr/bin/python2 
python2-openrave.i686: W: no-manual-page-for-binary openrave.py
python2-openrave.i686: W: no-manual-page-for-binary openrave-robot.py
openrave-octave.i686: W: no-documentation
openrave-models.noarch: W: no-documentation
openrave-devel.i686: W: no-documentation
openrave-devel.i686: W: no-manual-page-for-binary openrave-createplugin
openrave-devel.i686: W: no-manual-page-for-binary openrave-config
openrave.i686: W: shared-lib-calls-exit /usr/lib/libopenrave-core.so.0.9.0 exit
openrave.i686: W: no-documentation
openrave.i686: W: no-manual-page-for-binary openrave
7 packages and 0 specfiles checked; 2 errors, 12 warnings.



Requires
--------
python2-openrave (rpmlib, GLIBC filtered):
    /usr/bin/python2
    flann-python
    libANN.so.1
    libboost_python.so.1.60.0
    libboost_system.so.1.60.0
    libboost_thread.so.1.60.0
    libc.so.6
    libgcc_s.so.1
    libgcc_s.so.1(GCC_3.0)
    libm.so.6
    libopenrave-core.so.0
    libopenrave.so.0
    libpython2.7.so.1.0
    librt.so.1
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    libstdc++.so.6(CXXABI_1.3.8)
    libstdc++.so.6(CXXABI_1.3.9)
    openrave(x86-32)
    python(abi)
    rtld(GNU_HASH)
    sympy

openrave-octave (rpmlib, GLIBC filtered):
    octave(api)
    openrave(x86-32)

openrave-models (rpmlib, GLIBC filtered):

openrave-doc (rpmlib, GLIBC filtered):

openrave-debuginfo (rpmlib, GLIBC filtered):

openrave-devel (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/pkg-config
    libopenrave-core.so.0
    libopenrave-core_c.so.0
    libopenrave.so.0
    libopenrave_c.so.0
    openrave(x86-32)
    python2-openrave(x86-32)

openrave (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libCoin.so.60
    libOpenThreads.so.20
    libQtCore.so.4
    libQtGui.so.4
    libSoQt.so.20
    libX11.so.6
    libassimp.so.3
    libboost_filesystem.so.1.60.0
    libboost_iostreams.so.1.60.0
    libboost_system.so.1.60.0
    libboost_thread.so.1.60.0
    libc.so.6
    libcollada-dom2.4-dp.so.0
    libcrlibm.so.0
    libfparser-4.5.so
    libgcc_s.so.1
    libgcc_s.so.1(GCC_3.0)
    libgcc_s.so.1(GCC_4.0.0)
    liblapack.so.3
    libm.so.6
    libode.so.4
    libopenrave-core.so.0
    libopenrave-core_c.so.0
    libopenrave.so.0
    libopenrave_c.so.0
    libosg.so.130
    libosgDB.so.130
    libosgFX.so.130
    libosgGA.so.130
    libosgManipulator.so.130
    libosgQt.so.130
    libosgText.so.130
    libosgViewer.so.130
    libpcrecpp.so.0
    libpthread.so.0
    libqhull.so.7
    librt.so.1
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    libstdc++.so.6(CXXABI_1.3.8)
    libstdc++.so.6(CXXABI_1.3.9)
    libxml2.so.2
    libxml2.so.2(LIBXML2_2.4.30)
    libxml2.so.2(LIBXML2_2.6.0)
    libz.so.1
    openrave-models
    rtld(GNU_HASH)



Provides
--------
python2-openrave:
    python2-openrave
    python2-openrave(x86-32)
    pythonNonedist(openravepy)

openrave-octave:
    openrave-octave
    openrave-octave(x86-32)

openrave-models:
    openrave-models

openrave-doc:
    openrave-doc

openrave-debuginfo:
    openrave-debuginfo
    openrave-debuginfo(x86-32)

openrave-devel:
    cmake(openrave)
    openrave-devel
    openrave-devel(x86-32)
    pkgconfig(openrave)
    pkgconfig(openrave-core)

openrave:
    bundled(convexdecomposition)
    bundled(ivcon)
    libopenrave-core.so.0
    libopenrave-core_c.so.0
    libopenrave.so.0
    libopenrave_c.so.0
    openrave
    openrave(x86-32)



Unversioned so-files
--------------------
openrave: /usr/lib/openrave/plugins/libbasecontrollers.so
openrave: /usr/lib/openrave/plugins/libbaserobots.so
openrave: /usr/lib/openrave/plugins/libbasesamplers.so
openrave: /usr/lib/openrave/plugins/libbasesensors.so
openrave: /usr/lib/openrave/plugins/libconfigurationcache.so
openrave: /usr/lib/openrave/plugins/libdualmanipulation.so
openrave: /usr/lib/openrave/plugins/libgrasper.so
openrave: /usr/lib/openrave/plugins/libikfastsolvers.so
openrave: /usr/lib/openrave/plugins/liblogging.so
openrave: /usr/lib/openrave/plugins/liboderave.so
openrave: /usr/lib/openrave/plugins/libpqprave.so
openrave: /usr/lib/openrave/plugins/libqtcoinrave.so
openrave: /usr/lib/openrave/plugins/libqtosgrave.so
openrave: /usr/lib/openrave/plugins/librmanipulation.so
openrave: /usr/lib/openrave/plugins/librplanners.so
openrave: /usr/lib/openrave/plugins/libtextserver.so
python2-openrave: /usr/lib/python2.7/site-packages/openravepy/_openravepy_/convexdecompositionpy.so
python2-openrave: /usr/lib/python2.7/site-packages/openravepy/_openravepy_/openravepy_configurationcache.so
python2-openrave: /usr/lib/python2.7/site-packages/openravepy/_openravepy_/openravepy_int.so
python2-openrave: /usr/lib/python2.7/site-packages/openravepy/_openravepy_/pyANN_int.so

Source checksums
----------------
https://github.com/rdiankov/openrave/archive/8bfb8a6a96d5606b663436495983b0605f251f60/openrave-8bfb8a6.tar.gz :
  CHECKSUM(SHA256) this package     : 7c75873d4675692714e68e472a463ceed86cb1955d494f06ed3ea3f440cb1b59
  CHECKSUM(SHA256) upstream package : 7c75873d4675692714e68e472a463ceed86cb1955d494f06ed3ea3f440cb1b59


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -m fedora-rawhide-i386 -b 1338339
Buildroot used: fedora-rawhide-i386
Active plugins: Python, Generic, Shell-api, C/C++
Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 14 Till Hofmann 2016-08-01 12:17:42 UTC
Spec URL: https://thofmann.fedorapeople.org/openrave.spec
SRPM URL: https://thofmann.fedorapeople.org/openrave-0.9.0-0.17.git8bfb8a6.fc24.src.rpm

scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=15091234

Thank you for your comments!

(In reply to Antonio Trande from comment #13)
> Issues:
> =======
> - Header files in -devel subpackage, if present.
>   Note: python2-openrave : /usr/lib/python2.7/site-
>   packages/openravepy/_openravepy_/ikfast.h
>   See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
> 
>   I'm not sure where python header files must be installed, but i guess they
> should be pushed under an include directory. 

I moved them to /usr/include/openrave/openrave, where the other header files are located, too. I'm not 100% sure if this is the right location, though.


> 
> - plugins/rplanners/ParabolicPathSmooth (BSD)
>  These files are involved in the building and licensed under BSD  license.
>  I think, you should include BSD with LGPLv3+ and ASL 2.0

Fixed.


> 
> - examples/doormanipulation/SetupWAMScene.m
>   examples/doormanipulation/rundoormanipulation.m
>  are licensed under GPLv3+; this license should be included in the
>  octave sub-package.

Fixed.


> 
> - Bundled plugins/include/boost/* files should be erased

Done. I also added a Provides: for the bundled boost-numeric-bindings. I looked into this: The bindings are not available in any package and it doesn't make sense to package them, as the bindings used in openrave are an old version (version 1), while there are newer, incompatible bindings.


> 
> - %{_datadir}/%{name} is not owned

Are you sure? The Spec has "%dir %{_datadir}/%{name}" in the files list, and rpmls confirms that the directory is owned by the package.


> 
> - Latest stable released version is the 0.8.2
>   Are you sure this is not a pre-release of 0.9.0 ?

Not 100%. I changed to the pre-release versioning scheme. I contacted upstream about this, but they haven't responded. But switching from pre-release to post-release is easier than vice versa, so I'll stick with the pre-release versioning for now.

> 
> - There are tests. Why are not performed ?

The tests require openrave to be installed, e.g. it tries to load model files from /usr/share/openrave.

> 
> - Octave files should be installed in %{octpkglibdir}

I didn't know about that macro, fixed.

Comment 15 Till Hofmann 2016-08-01 12:18:48 UTC
I also had to disable the qtosgrave plugin, which has an issue with undefined symbols: https://github.com/rdiankov/openrave/issues/426

Comment 16 Antonio T. (sagitter) 2016-08-01 16:35:47 UTC
(In reply to Till Hofmann from comment #14)
> Spec URL: https://thofmann.fedorapeople.org/openrave.spec
> SRPM URL:
> https://thofmann.fedorapeople.org/openrave-0.9.0-0.17.git8bfb8a6.fc24.src.rpm
> 
> scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=15091234
> 
> Thank you for your comments!
> 
> (In reply to Antonio Trande from comment #13)
> > Issues:
> > =======
> > - Header files in -devel subpackage, if present.
> >   Note: python2-openrave : /usr/lib/python2.7/site-
> >   packages/openravepy/_openravepy_/ikfast.h
> >   See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
> > 
> >   I'm not sure where python header files must be installed, but i guess they
> > should be pushed under an include directory. 
> 
> I moved them to /usr/include/openrave/openrave, where the other header files
> are located, too. I'm not 100% sure if this is the right location, though.
> 
> 
> > 
> > - plugins/rplanners/ParabolicPathSmooth (BSD)
> >  These files are involved in the building and licensed under BSD  license.
> >  I think, you should include BSD with LGPLv3+ and ASL 2.0
> 
> Fixed.
> 
> 
> > 
> > - examples/doormanipulation/SetupWAMScene.m
> >   examples/doormanipulation/rundoormanipulation.m
> >  are licensed under GPLv3+; this license should be included in the
> >  octave sub-package.
> 
> Fixed.
> 
> 
> > 
> > - Bundled plugins/include/boost/* files should be erased
> 
> Done. I also added a Provides: for the bundled boost-numeric-bindings. I
> looked into this: The bindings are not available in any package and it
> doesn't make sense to package them, as the bindings used in openrave are an
> old version (version 1), while there are newer, incompatible bindings.
> 
> 
> > 
> > - %{_datadir}/%{name} is not owned
> 
> Are you sure? The Spec has "%dir %{_datadir}/%{name}" in the files list, and
> rpmls confirms that the directory is owned by the package.
> 

Sorry, i did not seen that line.
Why %{_datadir}/%{name} is owned by main package even if it does not provide files under %{_datadir}/%{name}?

I guess %{_datadir}/%{name} directory can be co-owned by '-devel' and 'models' sub-packages only.

> 
> > 
> > - Latest stable released version is the 0.8.2
> >   Are you sure this is not a pre-release of 0.9.0 ?
> 
> Not 100%. I changed to the pre-release versioning scheme. I contacted
> upstream about this, but they haven't responded. But switching from
> pre-release to post-release is easier than vice versa, so I'll stick with
> the pre-release versioning for now.
> 
> > 
> > - There are tests. Why are not performed ?
> 
> The tests require openrave to be installed, e.g. it tries to load model
> files from /usr/share/openrave.

Not even by setting the environment variable in %check?
http://openrave.org/docs/0.8.0/environment_variables/

> 
> > 
> > - Octave files should be installed in %{octpkglibdir}
> 
> I didn't know about that macro, fixed.

http://fedoraproject.org/wiki/Packaging:Octave

Comment 17 Till Hofmann 2016-08-01 18:01:54 UTC
Spec URL: https://thofmann.fedorapeople.org/openrave.spec
SRPM URL: https://thofmann.fedorapeople.org/openrave-0.9.0-0.18.git8bfb8a6.fc24.src.rpm

(In reply to Antonio Trande from comment #16)
> 
> Sorry, i did not seen that line.
> Why %{_datadir}/%{name} is owned by main package even if it does not provide
> files under %{_datadir}/%{name}?
> 
> I guess %{_datadir}/%{name} directory can be co-owned by '-devel' and
> 'models' sub-packages only.

Good suggestion, I moved ownership from the main package to devel and models.

> > 
> > > 
> > > - There are tests. Why are not performed ?
> > 
> > The tests require openrave to be installed, e.g. it tries to load model
> > files from /usr/share/openrave.
> 
> Not even by setting the environment variable in %check?
> http://openrave.org/docs/0.8.0/environment_variables/

True, that works, but currently most tests fail. I'm not sure if they're really maintained. I'll try to work with upstream to get them running. Is this a blocker for you?

Comment 18 Antonio T. (sagitter) 2016-08-01 19:32:33 UTC
>True, that works, but currently most tests fail. I'm not sure if they're really > maintained. I'll try to work with upstream to get them running. Is this a 
> blocker for you?

Depends by the cause of failures.

Comment 19 Till Hofmann 2016-08-01 21:16:59 UTC
test results: https://thofmann.fedorapeople.org/openrave/results.xml

Most tests fail to a missing type converter. I've reported the issue upstream: https://github.com/rdiankov/openrave/issues/427

Comment 20 Antonio T. (sagitter) 2016-08-02 11:51:04 UTC
(In reply to Till Hofmann from comment #19)
> test results: https://thofmann.fedorapeople.org/openrave/results.xml
> 
> Most tests fail to a missing type converter. I've reported the issue
> upstream: https://github.com/rdiankov/openrave/issues/427

It's similar to error reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1358725

Can you try to rebuild on rawhide ?

Comment 21 Till Hofmann 2016-08-02 13:19:22 UTC
(In reply to Antonio Trande from comment #20)
> (In reply to Till Hofmann from comment #19)
> > test results: https://thofmann.fedorapeople.org/openrave/results.xml
> > 
> > Most tests fail to a missing type converter. I've reported the issue
> > upstream: https://github.com/rdiankov/openrave/issues/427
> 
> It's similar to error reported here:
> https://bugzilla.redhat.com/show_bug.cgi?id=1358725
> 
> Can you try to rebuild on rawhide ?

Thanks for pointing me into the right direction.

That worked, but there are still some failed tests: https://kojipkgs.fedoraproject.org//work/tasks/2514/15102514/build.log

Comment 22 Till Hofmann 2016-08-03 09:47:58 UTC
I asked upstream about the tests:
https://github.com/rdiankov/openrave/issues/428

Comment 23 Antonio T. (sagitter) 2016-09-20 17:04:27 UTC
I guess that upstream needs more information about (build log is not accessible anymore).

Comment 24 Till Hofmann 2016-09-23 09:20:49 UTC
I added a link to a copy of a full build log: https://thofmann.fedorapeople.org/openrave/build.log

Comment 25 Raphael Groner 2017-09-22 11:10:13 UTC
Seems stalled due to upstream. You might want to poke again.

Comment 26 Till Hofmann 2017-10-06 12:20:18 UTC
Latest 0.9.0 release does not build, reported upstream [1].

After that builds, I will poke them again because of the failing tests.

[1] https://github.com/rdiankov/openrave/issues/532

Comment 27 Till Hofmann 2017-10-09 17:17:10 UTC
Spec URL: https://thofmann.fedorapeople.org/openrave/openrave.spec
SRPM URL: https://thofmann.fedorapeople.org/openrave/openrave-0.9.0-1.fc26.src.rpm

Updated to 0.9.0 release with a new GCC7 patch taken from upstream master. Tests still fail, I've poked them again about the failing tests.

Comment 28 Antonio T. (sagitter) 2017-10-12 11:00:34 UTC
(In reply to Till Hofmann from comment #27)
> Spec URL: https://thofmann.fedorapeople.org/openrave/openrave.spec
> SRPM URL:
> https://thofmann.fedorapeople.org/openrave/openrave-0.9.0-1.fc26.src.rpm
> 
> Updated to 0.9.0 release with a new GCC7 patch taken from upstream master.
> Tests still fail, I've poked them again about the failing tests.

We can't build this src rpm:

 # /usr/bin/dnf builddep --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 28 /var/lib/mock/fedora-rawhide-x86_64/root//builddir/build/SRPMS/openrave-0.9.0-1.fc28.src.rpm
Last metadata expiration check: 0:00:00 ago on Thu 12 Oct 2017 12:59:07 PM CEST.
No matching package to install: 'boost-python'
Not all dependencies satisfied

Comment 29 Till Hofmann 2020-05-10 13:45:25 UTC
I found communication with upstream increasingly difficult, e.g., my patches to add compatibility with boost 1.6x [1] have been ignored without comment for over a year. I'm no longer interested in packaging openrave.

[1] https://github.com/rdiankov/openrave/pull/625


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