Thread (1 message) 1 message, 1 author, 2016-08-27

Re: [RFCv2 00/15] RFCv2: Consolidated userspace RDMA library repo

From: Jason Gunthorpe <hidden>
Date: 2016-08-27 05:21:38

On Fri, Aug 26, 2016 at 11:17:52PM -0400, Doug Ledford wrote:
quoted
rpmbuild does stuff that needs to be checked out and validated by
upstream at least occasionally, or packaging becomes too hard for the
downstream because of broken build infra.
Given that rpmbuild is basically nothing more than a scripted build
session, as long as the make/cmake system works well, so will
rpmbuild.
Well, the thing that cases pain is the %configure and %cmake macros
that rpmbuild provides, and sorting out all the various distro-specific
install paths.

eg I ran into this bug with %cmake while testing 
(see https://bugzilla.redhat.com/show_bug.cgi?id=1301720)
and had to deal with it in both the spec file and the build scripts.
The main things that cause problems for distros when upstream does it
are things like using rpath to search alternate library locations.
It
rpath is sorted automatically. %cmake takes care of it.

Be aware that rpath will still be set in the build output, just
stripped during 'make install'.
quoted
We've never been able to run the rdma stack from the build trees,
It's possible...you just have to do every step in the right order ;-)  I
had a spreadsheet that I tracked packages, versions, build states,
install states, and dependencies.  Made things a lot easier.
Yes, I've done that too, but the hardwired load path for the .driver
files is still a difficult problem.

I have an approach in mind to fix this too.
shouldn't be mandatory.  However, in order to make it very explicit
since I suspect most people want RoCE support and might not realize they
are missing a build requirement for it to work, the tests in the
configure script could be changed to add a new feature "RoCE Support
(default: yes)" and make the libnl3/libnl test be part of the RoCE
support, and if it isn't present, fail.  Then people have to turn off
RoCE to build it without libnl3/libnl.  That would be more effective of
a configure setup I think.
Yes, I agree. This is straightforward to do as well, I'll look at it.

Also, do you know why we have the libnl1 fallback support? I couldn't
figure out what distro needed that.

BTW, I've basically de-supported any distro that doesn't have O_CLOEXEC
and related, which probably includes anything that needed libnl1. We
can probably remove libnl1 someday too.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help