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