Description of problem: mod_revocator needs to acccess the ck.api header template. Version-Release number of selected component (if applicable): nss-3.14.7 How reproducible: always Steps to Reproduce: 1. Search for ck.api anywhere in /usr/lib{64} 3. Actual results: It cannot be found Expected results: I shoulld be found in some nested directory Additional info: Bug 7862677 requests that mod_revocator replace its use of nss private headers with public ones. mod_revocator is implemented as an NSS pkcs #11 module that uses NSS's own ckfw facilites. ckfw is NSS's cryptokey framework and it provides the ck.api header. Via a perl script mod_revocator build fileswill generate its own module private header from the ck.api template. The ck.api file needs to be installed in an appropriate directory in the system for mod_revocator for to access it.
This ck.api is not a header properly but a template from which to generate a header so /usr/includes/nss3 may not be a good location and possibly be contrary to fedora packaging guidelines. Nathan Kinder suggested installing in an nss direcory nested within /usr/share/docs. I propose that it be installed as %{_usr}/share/doc/nss3/templates/ck.api.
Created attachment 651733 [details] spec file changes to install nsscki.api for mod_revocator - in patch form This actullay installs the nsscki.api in the two alternative locations mentioned before, the neted directory in the doc area and also in the nss incules. While doing some quick testing with mod_revocator I found that the latter location makes the work of modifying the mod_revocator spec file easier - at least for me. We should choose the most apprpriate method.
Comment on attachment 651733 [details] spec file changes to install nsscki.api for mod_revocator - in patch form Which of the two locations do you recommend?
I don't see any issue with that template being in /usr/include/nss3, especially if other code is using the template to generate a header for its own use. That said, I don't mind if you prefer to put it in a docsdir, but unless you need to have it in two places, just pick one. (If you really do need it in multiple places, please symlink it.) Also, please don't ever use things like this in the Release field: 10.1%{?dist}.installnssck.api.2 Just increment from: 10%{?dist} to 11%{?dist} And explain it as thoroughly as you'd like in the %changelog entry. :)
(In reply to comment #4) > I don't see any issue with that template being in /usr/include/nss3, > especially if other code is using the template to generate a header for its > own use. That's good to know. Makes it simpler for mod_revocator.spec. > > That said, I don't mind if you prefer to put it in a docsdir, but unless you > need to have it in two places, just pick one. (If you really do need it in > multiple places, please symlink it.) > Doing it in the headers is my preference. I showed for the docs option also as it was suggested in case the headers option would not be allowed but its okay. I propose then going with the headers option. > Also, please don't ever use things like this in the Release field: > > 10.1%{?dist}.installnssck.api.2 I never do, only when doing scratch builds to install in my system or to share with others for evaluation while working this out. We spot the scratch builds and their intent easily that way. > > Just increment from: > > 10%{?dist} > > to > > 11%{?dist} Will certainly do with the official build. > > And explain it as thoroughly as you'd like in the %changelog entry. :) Will certainly do. Thank you Spot for your prompt review.
Created attachment 653311 [details] spec file changes to install nsscki.pai in /usr/includes/nss3 Keeps changes to mod_revocator.spec to a minimum.
Verified with Matt's help hat mod_revocator can indeed access the file from that location and can use it.