[LU-9215] build: Re-add the lustre-devel package. Created: 15/Mar/17 Updated: 18/Dec/20 Resolved: 18/Dec/20 |
|
| Status: | Closed |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.14.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | parinay v kondekar (Inactive) | Assignee: | James A Simmons |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||
| Description |
|
This re-adds the lustre-devel package. |
| Comments |
| Comment by Gerrit Updater [ 15/Mar/17 ] |
|
Parinay Kondekar (parinay.kondekar@seagate.com) uploaded a new patch: https://review.whamcloud.com/25997 |
| Comment by Minh Diep [ 17/Mar/17 ] |
|
Hi parinay, Could you elaborate the reason we want devel packages? is there anything you are doing that can't be done with existing packages? |
| Comment by Brian Murrell (Inactive) [ 16/May/17 ] |
|
Building other tools that want to use Lustre also needs this, such as Robinhood. |
| Comment by Andreas Dilger [ 24/May/17 ] |
|
Brian, I agree that based on the name "lustre-devel" one would assume this would be used by externally-built packages, but if you look at the patch it includes every header from the Lustre source tree (including kernel headers). I would instead expect that lustre-devel would include the lustre/include/lustre directory headers, and the liblustreapi.a library (the liblustreapi.so library should always be installed). |
| Comment by Sebastien Piechurski [ 10/Jul/18 ] |
|
Can we reconsider this ticket ? We have a use-case where such a package would be useful: we build an external LND, which needs to be rebuilt with each new lustre release. Having the headers (mainly lustre/include libcfs/include and lnet/include), the config.h and the Module.symvers file for a given build in a package would help streamlining the build process. Would a revised patch that provides such a package with these files (filtering out the kernel headers) be acceptable ? About the liblustreapi.a, as it is already part of the main lustre rpm, I guess it does not really need to be provided by the -devel package. |
| Comment by Andreas Dilger [ 16/Jul/18 ] |
|
spiechurski, I'm not against having a lustre-devel package per-se, but I am against including every header into that package. My preference would be to include header files into that package on an as-needed basis to build the required modules, rather than including everything. That avoids adding dependence on internal implementation details that are not really forming a stable API, and also makes it easier to see which interfaces are actually being used by external modules. On the other hand, is there a reason that the ptl4lnd is not submitted into the master branch? That would simplify keeping it updated for newer Lustre releases, since you will have at least some of the ptl4lnd updates as part of the ongoing development activities by other parties, even if the LND is itself not always being tested for each patch. Having a small test system at Atos that is fetching any patches from Gerrit that affect LNet and running a brief test (e.g. lnet-selftest with NETTYPE=ptl4) would go a long way to ensuring that this LND does not break. |
| Comment by James A Simmons [ 17/Jul/18 ] |
|
That is not how devel rpms work. They normally contain only static libraries and user land headers. Your ptl4lnd driver is a kernel driver so its going to always be dependent on the lustre kernel code |
| Comment by Andreas Dilger [ 17/Jul/18 ] |
|
I don't think there is any question about the kernel or Lustre APIs being kept stable,, but that doesn't prevent modules from having conditional compilation as we already do with Lustre today. I don't object in principle to our-of-tree modules being built, but agree that "lustre-devel" is maybe not a good package name unless it also includes both the in-kernel and userspace development headers. |
| Comment by Gerrit Updater [ 20/Nov/20 ] |
|
James Simmons (jsimmons@infradead.org) uploaded a new patch: https://review.whamcloud.com/40728 |
| Comment by James A Simmons [ 21/Nov/20 ] |
|
By popular demand I added back lustre-devel for user land handling. As for what people are requesting that is kmod-lustre-devel rpm that you want. |
| Comment by Gerrit Updater [ 17/Dec/20 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/40728/ |
| Comment by Peter Jones [ 17/Dec/20 ] |
|
Aa true man of the people |
| Comment by James A Simmons [ 17/Dec/20 ] |
|
Actually one more patch. People want the ability to build against external LND drivers. |
| Comment by Andreas Dilger [ 17/Dec/20 ] |
|
James, that could go under a separate ticket? My understanding is that would be something quite different - building out-of-tree kernel modules, rather than the patch which just landed, which is for userspace tools that need access to the interface/protocol structures and constants and such? |
| Comment by Cory Spitz [ 18/Dec/20 ] |
|
simmonsja, FYI: https://github.com/Cray/lustre/blob/cray-2.12-int/cray-obs/cray-lnet.pc and https://github.com/Cray/lustre/blob/cray-2.12-int/cray-obs/cray-lustre-api-devel.pc |
| Comment by James A Simmons [ 18/Dec/20 ] |
|
Andreas I can do that. The only reason I brought this up is that people earlier in this ticket asked for it. Also patch https://review.whamcloud.com/#/c/25997 seemed to be heading into that direction instead of handling the user land devel package handling. Cory those *.pc inspired me to develop the patch that just landed |