Indeed, several of the included header files were never used. I removed all includes of: pkglibmsgs.h nhash.h pkglocale.h from files under usr/src/cmd/svr4pkg as well as from llib-lpkg. I am restarting builds to verify everything is correct before generating my last webrev.
thanks, Moriah Moriah Waterland wrote: > I agree that most of those header files seem like they should be > internal to the library. However, each of those are currently > included by files over in the package commands. As we discussed, I will > run a couple quick tests to see if we can get rid of any of these > includes. It is likely that at least some of them are not actually valid. > > -Moriah > > > James Carlson wrote: > >>>> usr/src/lib/libpkg/common/llib-lpkg >>>> >>>> I'm not sure what this file is for. It doesn't have any content. >>>> >>> Well, I did a search for the header files in libpkg and found that 9 of >>> the header files were included by code under usr/src/cmd/svr4pkg. I >>> included the following files in llib-lpkg: >>> cfext.h >>> keystore.h >>> nhash.h >>> p12lib.h >>> pkgerr.h >>> pkglib.h >>> pkglibmsgs.h >>> pkglocale.h >>> pkgweb.h >> >> I don't think I follow. The things in llib-lpkg should be *only* the >> header files that are required to define the interfaces exported by >> the library. Things internal to the library (at least some of the >> above appears to be internal) don't belong there. >> >> The llib-l* file is used to construct the lint library (*.ln). The >> lint library contains the interfaces for the library, so you can lint >> other things against the library without having to lint them against >> the library source. Because of this usage, you generally want to >> minimize the things defined in there to *just* the things you need, >> and nothing else. (The ideal lint library defines exactly the same >> set of symbols that are in the mapfile. It's usually hard to get to >> that ideal, because common headers are often needed to make the >> llib-l* file syntactically correct, but it shouldn't just be >> "everything.") >> > _______________________________________________ > install-discuss mailing list > install-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/install-discuss