<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>8066</bug_id>
          
          <creation_ts>2015-07-28 13:23:02 +0000</creation_ts>
          <short_desc>Add EXCLUDE_FROM_SHLIBS to variable reference</short_desc>
          <delta_ts>2015-11-17 16:03:07 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>9</classification_id>
          <classification>Documentation</classification>
          <product>Reference</product>
          <component>handbook</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>22 Sept 2015 - RESOLVED/FIXED</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>1.9</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vladimir Smelov">vladimir.smelov</reporter>
          <assigned_to name="Scott Rifenbark">srifenbark</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>bogdanx.a.voiculescu</cc>
    
    <cc>poky.doc.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>srifenbark</cc>
          
          <qa_contact name="Bogdan Alexandru Voiculescu">bogdanx.a.voiculescu</qa_contact>
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Done (doc changes complete)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>52665</commentid>
    <comment_count>0</comment_count>
    <who name="Vladimir Smelov">vladimir.smelov</who>
    <bug_when>2015-07-28 13:23:02 +0000</bug_when>
    <thetext>EXCLUDE_FROM_SHLIBS variable very usefull in case of prebuilt packages when it is required to do not expose to all package&apos;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54221</commentid>
    <comment_count>1</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2015-09-17 16:10:21 +0000</bug_when>
    <thetext>Hi, 

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

Thanks,
Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54224</commentid>
    <comment_count>2</comment_count>
    <who name="Vladimir Smelov">vladimir.smelov</who>
    <bug_when>2015-09-17 16:29:42 +0000</bug_when>
    <thetext>Hi,
This is particular package&apos;s flag, so it is used as boolean. &quot;True&quot; value is Ok but in all usages in Yocto&apos;s classes ( meta/classes/allarch.bbclass and others) it is used as =&quot;1&quot;, so I think it is better to suggest to users to use it in the same way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54232</commentid>
    <comment_count>3</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2015-09-17 17:24:32 +0000</bug_when>
    <thetext>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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54255</commentid>
    <comment_count>4</comment_count>
    <who name="Vladimir Smelov">vladimir.smelov</who>
    <bug_when>2015-09-18 11:38:23 +0000</bug_when>
    <thetext>I think it is better to use same wording as in PRIVATE_LIBS:
&quot;
This variable trigger OpenEmbedded build system&apos;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&apos;s particular libraries and this variable exclude whole package.

Use the variable by setting it to &quot;1&quot; for a particular package: 
     EXCLUDE_FROM_SHLIB = &quot;1&quot;

&quot;
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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54256</commentid>
    <comment_count>5</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2015-09-18 11:40:02 +0000</bug_when>
    <thetext>The variable is called EXCLUDE_FROM_SHLIBS, not EXCLUDE_FROM_SHLIB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54259</commentid>
    <comment_count>6</comment_count>
    <who name="Vladimir Smelov">vladimir.smelov</who>
    <bug_when>2015-09-18 11:58:55 +0000</bug_when>
    <thetext>Right. Good catch !</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54280</commentid>
    <comment_count>7</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2015-09-18 14:59:25 +0000</bug_when>
    <thetext>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 &quot;shlib&quot; in poky and it only returned &quot;hashilib&quot;.  Is this a procedure in the same family as say &quot;do_bootimg&quot; and &quot;do_rootfs&quot;?  Where would we document shlib?

Thanks, 
Scott</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54283</commentid>
    <comment_count>8</comment_count>
    <who name="Vladimir Smelov">vladimir.smelov</who>
    <bug_when>2015-09-18 15:35:16 +0000</bug_when>
    <thetext>I missed &quot;libraries&quot; in 
&quot;
Triggers the OpenEmbedded build system&apos;s shared resolver to exclude 
&quot;
so, should be
&quot;
Triggers the OpenEmbedded build system&apos;s shared libraries resolver to exclude 
&quot;


And variable name is not fixed in 
&quot;
EXCLUDE_FROM_SHLIB = &quot;1&quot;
&quot;
So should be
&quot;
EXCLUDE_FROM_SHLIBS = &quot;1&quot;
&quot;

Regarding shlibs procedure:
Phisically it located in the &quot;meta/classes/package.bbclass&quot; / &quot;package_do_shlibs&quot;. 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54296</commentid>
    <comment_count>9</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2015-09-18 17:55:28 +0000</bug_when>
    <thetext>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&apos;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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54297</commentid>
    <comment_count>10</comment_count>
    <who name="Vladimir Smelov">vladimir.smelov</who>
    <bug_when>2015-09-18 19:12:33 +0000</bug_when>
    <thetext>Now it looks consistent and clean.
Thank you !</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54441</commentid>
    <comment_count>11</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2015-09-22 14:15:10 +0000</bug_when>
    <thetext>Changing status to RESOLVED/FIXED and setting the doc flag to &quot;Done&quot;.

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56543</commentid>
    <comment_count>12</comment_count>
    <who name="Bogdan Alexandru Voiculescu">bogdanx.a.voiculescu</who>
    <bug_when>2015-11-17 15:50:58 +0000</bug_when>
    <thetext>Verified on 
http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#var-EXCLUDE_FROM_SHLIBS
http://www.yoctoproject.org/docs/2.0/ref-manual/ref-manual.html#var-EXCLUDE_FROM_SHLIBS
http://www.yoctoproject.org/docs/1.9/ref-manual/ref-manual.html#var-EXCLUDE_FROM_SHLIBS</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>