Bug 8066 - Add EXCLUDE_FROM_SHLIBS to variable reference
Summary: Add EXCLUDE_FROM_SHLIBS to variable reference
Status: VERIFIED FIXED
Alias: None
Product: Reference
Classification: Documentation
Component: handbook (show other bugs)
Version: unspecified
Hardware: All Multiple
: Medium enhancement
Target Milestone: 1.9
Assignee: Scott Rifenbark
QA Contact: Bogdan Alexandru Voiculescu
URL:
Whiteboard: 22 Sept 2015 - RESOLVED/FIXED
Depends on:
Blocks:
 
Reported: 2015-07-28 13:23 UTC by Vladimir Smelov
Modified: 2015-11-17 16:03 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Done (doc changes complete)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Smelov 2015-07-28 13:23:02 UTC
EXCLUDE_FROM_SHLIBS variable very usefull in case of prebuilt packages when it is required to do not expose to all package's libraries. I.e. skip shlib procedure for package.
I am aware about PRIVATE_LIBS variable but this variable requires to list all libraries i.e. write some scanning code, so it is for case when some libraries can be exposed and others are not.
Comment 1 Scott Rifenbark 2015-09-17 16:10:21 UTC
Hi, 

How is this variable used in code?  Is the variable set to "True" or do you specify package name(s)?  Can you give me further details on use?

Thanks,
Scott
Comment 2 Vladimir Smelov 2015-09-17 16:29:42 UTC
Hi,
This is particular package's flag, so it is used as boolean. "True" value is Ok but in all usages in Yocto's classes ( meta/classes/allarch.bbclass and others) it is used as ="1", so I think it is better to suggest to users to use it in the same way.
Comment 3 Scott Rifenbark 2015-09-17 17:24:32 UTC
Hi, 

I added the variable description.  It needs to be checked for accuracy as I am not 100% positive if I have the behavior correct.  Please look it over and let me know if I have twisted any meaning.  You can see the new entry here: http://www.yoctoproject.org/docs/1.9/ref-manual/ref-manual.html#var-EXCLUDE_FROM_SHLIB

Thanks, 
Scott
Comment 4 Vladimir Smelov 2015-09-18 11:38:23 UTC
I think it is better to use same wording as in PRIVATE_LIBS:
"
This variable trigger OpenEmbedded build system's shared resolver to exclude particular package from shared libraries scan (shlib prodocedure).
So it is similar to PRIVATE_LIBS variable which exludes only package's particular libraries and this variable exclude whole package.

Use the variable by setting it to "1" for a particular package: 
     EXCLUDE_FROM_SHLIB = "1"

"
Please correct my english mistakes if any...

Also it is problem what shlib procedure is not described normally in the docs. Only managing variables are described. So now we cannot refer on it in variable description. Maybe we need to describe SHLIB somehow ? - think ti can be usefull for understand overall build process in Yocto.
Comment 5 Paul Eggleton 2015-09-18 11:40:02 UTC
The variable is called EXCLUDE_FROM_SHLIBS, not EXCLUDE_FROM_SHLIB.
Comment 6 Vladimir Smelov 2015-09-18 11:58:55 UTC
Right. Good catch !
Comment 7 Scott Rifenbark 2015-09-18 14:59:25 UTC
Hi, 

I updated the description based on your suggestions.  See http://www.yoctoproject.org/docs/1.9/ref-manual/ref-manual.html#var-EXCLUDE_FROM_SHLIBS for the new material. Also named the variable correctly to EXCLUDE_FROM_SHLIBS.

Regarding documenting the shlib procedure....  I grepped for "shlib" in poky and it only returned "hashilib".  Is this a procedure in the same family as say "do_bootimg" and "do_rootfs"?  Where would we document shlib?

Thanks, 
Scott
Comment 8 Vladimir Smelov 2015-09-18 15:35:16 UTC
I missed "libraries" in 
"
Triggers the OpenEmbedded build system's shared resolver to exclude 
"
so, should be
"
Triggers the OpenEmbedded build system's shared libraries resolver to exclude 
"


And variable name is not fixed in 
"
EXCLUDE_FROM_SHLIB = "1"
"
So should be
"
EXCLUDE_FROM_SHLIBS = "1"
"

Regarding shlibs procedure:
Phisically it located in the "meta/classes/package.bbclass" / "package_do_shlibs". So as far as I understand it is common package build phase. And this phase is not mentioned in documentation. But since it may define implicitly some dependcies between packages it is reasonable to mention it for packages developers and especially for developers of 3rd party ones.
Comment 9 Scott Rifenbark 2015-09-18 17:55:28 UTC
Hi, 

I updated the variable description.  Sorry about missing the one occurrence of the name where I still had it mispelled.  After talking with Paul, I decided to not give the package_do_shlibs internal function its own documentation area.  We document tasks but not internal functions.  However, I tried to address the concerns in a note within the variable's description.

Please look it over at http://www.yoctoproject.org/docs/1.9/ref-manual/ref-manual.html#var-EXCLUDE_FROM_SHLIBS.

Thanks,
Scott
Comment 10 Vladimir Smelov 2015-09-18 19:12:33 UTC
Now it looks consistent and clean.
Thank you !
Comment 11 Scott Rifenbark 2015-09-22 14:15:10 UTC
Changing status to RESOLVED/FIXED and setting the doc flag to "Done".

Thanks