Hi all,

I have a question regarding the the RPM dependency generator scripts.
I'm working on packaging the ROS stack [1,2] and I'm currently dealing
with the dependency generation. My goal is to wrap all Provides and
Requires for sonames because ROS does not use proper sonames (and
therefore they shouldn't be in the ld cache), but I still want to use
the information for ROS packages. This means I want to replace:

Provides: librosconsole.so()(64bit)
=>
Provides: ros(librosconsole.so()(64bit))
[or possibly ros-kinetic(librosconsole.so()(64bit))]

and similarly for Requires.

I have a working solution [3] that wraps all ROS Provides and Requires
and generates other Provides and Requirest just as elfdeps does, but it
uses an (imho ugly) hack: As I don't want to have the normal Provides
generated by elfdeps, I have:

%__ros_path         ^/usr/lib.*/ros/.*$
%__elf_exclude_path %__ros_path


in /usr/lib/rpm/fileattrs/ros.attr. I see two problems: If
%__elf_exclude_path is set by something else, it is overridden, because
I couldn't figure out how to append to the exclude path. Second,
%__elf_exclude_path should not be set at all in ros.attr, the doc [4] says:
"NAME needs to be replaced by the name choosen for the file attribute
and needs to be the same as the file name of the macro file itself"

It still works, but shouldn't according to the documentation.

So my question: Is there any other way to exclude the ROS dir to be
checked by elfdeps? I cannot just use %__requires_exclude_from because I
want my dependency generator to run on the directory.

Thanks for any hints.

Kind regards,
Till

[1] https://pagure.io/ros
[2] https://copr.fedorainfracloud.org/coprs/thofmann/ros/
[3] https://pagure.io/ros-rpm-macros
[4] http://rpm.org/user_doc/dependency_generators.html
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to