I compared the contents of mozilla/dist/public/nss between 3.11.x and 3.12 The NSS 3.12 build process places several new headers files into dist/public/nss: sdb.h sftkdbt.h pkix*.h (about 15-20 files) Should these files really be public? If the answer is "no", then we should not copy those files to dist/public/nss
Alexei, If I'm not mistaken, the pkix header files should all be private exports. Right? If so, Please fix it so that they are not exported as public files. Kai, Good catch!
Definitely a NSS213Beta1 blocker. We can't be publishing private API headers.
Created attachment 288361 [details] [diff] [review] move pkix header file into private export directory
Comment on attachment 288361 [details] [diff] [review] move pkix header file into private export directory r=nelson
What about the non-libpkix header files? sdb.h sftkdbt.h Should they be private or public?
Did you look at the files actually contained in dist/public/nss ? Your patches addresses 14 files, but I see 16 files starting with "pkix" appearing in that directory. I compared the filenames and the ones not addressed by your patch are: pkix_comcertselparams.h pkix_certselector.h
I think Bob must answer the question in comment 5.
Committing attachment 288361 [details] [diff] [review]: /cvsroot/mozilla/security/nss/lib/libpkix/pkix/certsel/manifest.mn,v <-- manifest.mn new revision: 1.5; previous revision: 1.4 /cvsroot/mozilla/security/nss/lib/libpkix/include/manifest.mn,v <-- manifest.mn new revision: 1.4; previous revision: 1.3
RE: comment 5. sdb.h and sftkdbt.h should be nss private. bob
Created attachment 291262 [details] [diff] [review] make sdb.h and sftkdbt.h private Is this the right patch?
Comment on attachment 291262 [details] [diff] [review] make sdb.h and sftkdbt.h private checked in this patch. /cvsroot/mozilla/security/nss/lib/softoken/manifest.mn,v <-- manifest.mn new revision: 1.34; previous revision: 1.33
Are sdb.h and sftkdbt.h included by any files outside of lib/softoken? If not, then they don't need to be exported at all. Only header files that exist in one directory but are included by files in another directory need to be exported either publicly or privately.
sdb.h and sftkdbt.h are included by files in lib/softoken/legacydb, which look like they're inside lib/softoken but are considered to be outside lib/softoken by our build system. This is why sdb.h and sftkdbt.h still need to be exported privately. It's reported in our newsgroup that stale copies of these headers are still in dist/public/nss in some Mozilla developer and tinderbox's long-lived build trees. I think it's less work to ask them to delete the dist/public/nss directories from those build trees, but if it becomes an issue, a patch for the Makefile in lib/softoken, lib/libpkix/pkix/certsel and lib/libpkix/include directories like this would work: Index: Makefile =================================================================== RCS file: /cvsroot/mozilla/security/nss/lib/softoken/Makefile,v retrieving revision 1.5 diff -u -r1.5 Makefile --- Makefile 25 Apr 2004 15:03:16 -0000 1.5 +++ Makefile 24 Feb 2008 02:18:55 -0000 @@ -93,3 +93,9 @@ endif endif endif + +# Remove headers that were formerly exported to dist/public/nss. +# Remove this makefile rule after NSS 3.12 ships. +export:: + rm -f $(PUBLIC_EXPORT_DIR)/sdb.h + rm -f $(PUBLIC_EXPORT_DIR)/sftkdbt.h