<?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>10248</bug_id>
          
          <creation_ts>2016-09-08 21:43:21 +0000</creation_ts>
          <short_desc>Suggested new section on how automatically added runtime dependencies work</short_desc>
          <delta_ts>2016-09-21 20:35:32 +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>2.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>21 Sept 2016: RESOLVED</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.2 M4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>ulfalizer</reporter>
          <assigned_to name="Scott Rifenbark">srifenbark</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>poky.doc.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>ross.burton</cc>
    
    <cc>srifenbark</cc>
          
          
          <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>65956</commentid>
    <comment_count>0</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-08 21:43:21 +0000</bug_when>
    <thetext>Hello Scott,

Here&apos;s another largeish change. Can&apos;t think of any other ones I want to make
for now. :)

The description of the automatic runtime dependency mechanisms (&apos;shlibdeps&apos; and
&apos;pcdeps&apos;) is very terse and leaves out important details (most importantly,
where the information comes from). Instead of bloating the RDEPENDS glossary
entry further, I think we should add a new section on automatically added
runtime dependencies. I suggest the following changes:

1. Add a new section:

  4.4. Automatically Added Runtime Dependencies
  
  The build system automatically adds common types of runtime dependencies
  between packages, meaning they do not need to be declared explicitly with
  [RDEPENDS]. There are two automatic mechanisms that deal, respectively, with
  shared libraries and pkg-config modules. Other types of runtime dependencies
  must still be declared manually.

  More information on the two automatic mechanisms is given below:
  
   * shlibdeps:
     During the [do_package] task of each recipe, all shared libraries
     installed by the recipe are located. For each shared library, the package
     that contains the shared library is registered as providing the shared
     library (more specifically, it is registered as providing the
     [soname](https://en.wikipedia.org/wiki/Soname) of the library). The
     resulting package-to-shared-library mapping is saved globally in
     [PKGDATA_DIR] by [do_packagedata].
  
     Simultaneously, all executables and shared libraries installed by the
     recipe are inspected to see what shared libraries they link against. For
     each shared library dependency that is found, PKGDATA_DIR is queried to
     see if some package (likely from a different recipe) contains the shared
     library. If such a package is found, a runtime dependency is added from
     the package that depends on the shared library to the package that
     contains it.
  
     If the library being linked against is versioned (includes a version
     number), then the automatically added runtime dependency will specify at
     least that version, as if &quot;&lt;package&gt; (&gt;= &lt;version&gt;)&quot; had been added to
     RDEPENDS. This forces an upgrade of the package that provides the shared
     library when installing the package that depends on it, if needed.
  
     If you want to avoid a package being registered as providing a particular
     shared library (e.g. because the library is for internal use only), then
     add the library to [PRIVATE_LIBS] inside the package&apos;s recipe.
  
   * pcdeps:
     During the [do_package] task of each recipe, all pkg-config modules (.pc
     files) installed by the recipe are located. For each module, the package
     that contains the module is registered as providing the module. The
     resulting package-to-module mapping is saved globally in [PKGDATA_DIR] by
     [do_packagedata].
  
     Simultaneously, all pkg-config modules installed by the recipe are
     inspected to see what other modules they depend on. A module is seen as
     depending on another module if it contains a &quot;Requires:&quot; line that
     specifies the other module. For each module dependency, PKGDATA_DIR is
     queried to see if some package contains the module. If such a package is
     found, a runtime dependency is added from the package that depends on the
     module to the package that contains it.
  
     This mechanism most often infers dependencies between -dev packages.

  The do_package task depends on the [do_packagedata] task of each recipe in
  [DEPENDS] (via a
  [vardeps](https://www.yoctoproject.org/docs/2.2/bitbake-user-manual/bitbake-user-manual.html#variable-flags)
  declaration), which guarantees that the required
  package-to-shared-library/module mapping information will be available when
  needed (provided that DEPENDS has been set correctly).


2. Replace the beginning of the RDEPENDS glossary entry, before the paragraph
that starts with &quot;the names of the packages...&quot;, with the following. I
rephrased it a bit to talk about the most important stuff first (the package
runtime dependencies, rather than the do_build-&gt;do_package_write_*
dependencies).

  RDEPENDS
  
  Lists runtime dependencies of a package. These are other packages that must
  be installed in order for the package to function correctly. As an example,
  the following assignment declares that the package foo needs the packages bar
  and baz to be installed:
  
    RDEPENDS_foo = &quot;bar baz&quot;
  
  The most common types of package runtime dependencies are detected and added
  automatically. Therefore, most recipes do not need to set RDEPENDS. See
  [4.3. Automatically Added Runtime Dependencies] for more information.
  
  The practical effect of the above RDEPENDS assignment is that bar and baz
  will be declared as dependencies inside the package foo when it is written
  out by one of the
  [do_package_write_*](http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#ref-tasks-package_write_deb)
  tasks. Exactly how this is done depends on the package format used (see
  [PACKAGE_CLASSES]). When the corresponding package manager installs the
  package, it will know to also install the packages it depends on.
  
  To ensure that the packages bar and baz get built, the above RDEPENDS
  assignment also causes a task dependency to be added. This dependency is from
  the recipe&apos;s [do_build](not to be confused with [do_compile]) task to the
  do_package_write_* task of the recipes that build bar and baz.


3. Remove the following part of the RDEPENDS glossary entry, since it&apos;s covered
by the new section, which is also linked earlier:

  In many cases you do not need to explicitly add runtime dependencies using
  RDEPENDS since some automatic handling occurs:
  
    shlibdeps: ...
  
    pcdeps: ...


4. (Unrelated clarification)

Replace

  Because the RDEPENDS variable applies to packages being built, you should
  always use the variable in a form with an attached package name.

with

  Because the RDEPENDS variable applies to packages being built, you should
  always use the variable in a form with an attached package name (remember
  that a single recipe can build multiple packages).


5. (Unrelated clarification)

Replace

  The package name you attach to the RDEPENDS variable must appear as it would
  in the PACKAGES namespace before any renaming of the output package by
  classes like debian. 

with

  The package names you use with RDEPENDS must appear as they would in the
  PACKAGES variable. The [PKG] variable allows a different name to be used for
  the final package (for example, the [debian] class uses this to rename
  packages), but this final package name can&apos;t be used with RDEPENDS. This
  makes sense as RDEPENDS is meant to be independent of the package format
  used.


6. In the DEPENDS glossary entry, replace

  However, as explained in the RDEPENDS glossary entry, runtime dependencies
  will often be added automatically, meaning DEPENDS alone is sufficient for
  most recipes.

with

  However, as explained in [4.3. Automatically Added Runtime Dependencies],
  runtime dependencies will often be added automatically, meaning DEPENDS alone
  is sufficient for most recipes.


7. Add the following to the end of the do_package glossary entry:

  The do_package task, in conjunction with [do_packagedata], also saves some
  important metadata about the package. See [PKGDESTWORK] and
  [4.3. Automatically Added Runtime Dependencies].


8. Add the following to the end of the do_packagedata glossary entry:

  The data is saved in [PKGDATA_DIR].


9. Add the following to the end of the PKGDATA_DIR:

  For examples of how this data is used, see
  [4.3. Automatically Added Runtime Dependencies]
  and [2.3.3. Viewing Package Information with oe-pkgdata-util].


Cheers,
Ulf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65962</commentid>
    <comment_count>1</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-08 23:03:59 +0000</bug_when>
    <thetext>Self-nit:

These three,

  The resulting package-to-shared-library mapping...
  The resulting package-to-module mapping...
  ...the required package-to-shared-library/module mapping...

should be

  The resulting shared-library-to-package mapping...
  The resulting module-to-package mapping...
  ...the required shared-library/module-to-package mapping...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65963</commentid>
    <comment_count>2</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-08 23:46:20 +0000</bug_when>
    <thetext>One last nit:

The following could be added to the end of the PRIVATE_LIBS entry:

  See [4.3. Automatically Added Runtime Dependencies] for more
  information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66094</commentid>
    <comment_count>3</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2016-09-13 18:25:53 +0000</bug_when>
    <thetext>Ulf, 

See the following:

1. http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#automatically-added-runtime-dependencies - the new section.

2 - 5.  http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-RDEPENDS  - All the changes in the RDEPENDS glossary entry.

6. http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-DEPENDS - see the middle bullet in the notes box for the change.

7. http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#ref-tasks-package - for the do_package task description.

8. http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#ref-tasks-packagedata - for the do_packagedata task description.

9. http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-PKGDATA_DIR - for the PKGDATA_DIR glossary change.

See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-PRIVATE_LIBS for the last nit in the comment list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66099</commentid>
    <comment_count>4</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-13 19:10:51 +0000</bug_when>
    <thetext>Thanks!

Some proofreading below:

* This sounds a bit weird:

    Simultaneously, all pkg-config modules installed by the recipe are
    inspected to see what other modules on which the pkg-config modules
    depend.

  Maybe it should have been

    Simultaneously, all pkg-config modules installed by the recipe are
    inspected to see what other pkg-config modules they depend on.

* PACKAGE_CLASSES just lists the package format that should be used, so maybe

    Exactly how this is done depends on the package format used used as
    described in PACKAGE_CLASSES.

  would be better as

    Exactly how this is done depends on which package format is used, which is
    determined by PACKAGE_CLASSES.

* I had a braino in my original version. Instead of [vardeps], it should
  be [deptask]. The same link can be used.

* There might be an extra &apos;the&apos; in

    (not to be confused with the do_compile)

* Typo: &quot;to the to the&quot; :)

Cheers,
Ulf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66118</commentid>
    <comment_count>5</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-14 00:51:40 +0000</bug_when>
    <thetext>One more change:

I just realized that the paragraph that starts with &quot;if the library being linked against is versioned...&quot; might be a bit misleading. It&apos;s the version of the package that matters, not the version number in the soname. From looking at the code in package.bbclass, it seems you&apos;d have to try really really hard not to get a version restriction added (maybe it&apos;s even dead code), so we could probably skip that part too.

The entire paragraph could be replaced with the following:

  The automatically added runtime dependency also includes a version
  restriction. This version restriction specifies that at least the current
  version of the package that provides the shared library must be used, as if
  &quot;&lt;package&gt; (&gt;= &lt;package version&gt;)&quot; had been added to [RDEPENDS]. This forces
  an upgrade of the package containing the shared library when installing the
  package that depends on the library, if needed.


Cheers,
Ulf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66135</commentid>
    <comment_count>6</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2016-09-14 12:59:55 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; Thanks!
&gt; 
&gt; Some proofreading below:
&gt; 
&gt; * This sounds a bit weird:
&gt; 
&gt;     Simultaneously, all pkg-config modules installed by the recipe are
&gt;     inspected to see what other modules on which the pkg-config modules
&gt;     depend.
&gt; 
&gt;   Maybe it should have been
&gt; 
&gt;     Simultaneously, all pkg-config modules installed by the recipe are
&gt;     inspected to see what other pkg-config modules they depend on.

I have a fixation with not ending a sentence with a preposition like &quot;on&quot;.  I have researched it and it is perfectly allowable in these modern times.  I still try to write things such that they don&apos;t end this way.  However, I am not going to be anal about it :)

See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#automatically-added-runtime-dependencies

&gt; 
&gt; * PACKAGE_CLASSES just lists the package format that should be used, so maybe
&gt; 
&gt;     Exactly how this is done depends on the package format used used as
&gt;     described in PACKAGE_CLASSES.
&gt; 
&gt;   would be better as
&gt; 
&gt;     Exactly how this is done depends on which package format is used, which
&gt; is
&gt;     determined by PACKAGE_CLASSES.

See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-RDEPENDS

&gt; 
&gt; * I had a braino in my original version. Instead of [vardeps], it should
&gt;   be [deptask]. The same link can be used.

See last paragraph in http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#automatically-added-runtime-dependencies

&gt; 
&gt; * There might be an extra &apos;the&apos; in
&gt; 
&gt;     (not to be confused with the do_compile)
&gt; 

See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-RDEPENDS

&gt; * Typo: &quot;to the to the&quot; :)

Same... see http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-RDEPENDS

&gt; 
&gt; Cheers,
&gt; Ulf

(In reply to comment #5)
&gt; One more change:
&gt; 
&gt; I just realized that the paragraph that starts with &quot;if the library being
&gt; linked against is versioned...&quot; might be a bit misleading. It&apos;s the version
&gt; of the package that matters, not the version number in the soname. From
&gt; looking at the code in package.bbclass, it seems you&apos;d have to try really
&gt; really hard not to get a version restriction added (maybe it&apos;s even dead
&gt; code), so we could probably skip that part too.
&gt; 
&gt; The entire paragraph could be replaced with the following:
&gt; 
&gt;   The automatically added runtime dependency also includes a version
&gt;   restriction. This version restriction specifies that at least the current
&gt;   version of the package that provides the shared library must be used, as if
&gt;   &quot;&lt;package&gt; (&gt;= &lt;package version&gt;)&quot; had been added to [RDEPENDS]. This
&gt; forces
&gt;   an upgrade of the package containing the shared library when installing the
&gt;   package that depends on the library, if needed.

Sounds good... See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#automatically-added-runtime-dependencies

&gt; 
&gt; 
&gt; Cheers,
&gt; Ulf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66152</commentid>
    <comment_count>7</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-14 18:52:34 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Thanks!
&gt; &gt; 
&gt; &gt; Some proofreading below:
&gt; &gt; 
&gt; &gt; * This sounds a bit weird:
&gt; &gt; 
&gt; &gt;     Simultaneously, all pkg-config modules installed by the recipe are
&gt; &gt;     inspected to see what other modules on which the pkg-config modules
&gt; &gt;     depend.
&gt; &gt; 
&gt; &gt;   Maybe it should have been
&gt; &gt; 
&gt; &gt;     Simultaneously, all pkg-config modules installed by the recipe are
&gt; &gt;     inspected to see what other pkg-config modules they depend on.
&gt; 
&gt; I have a fixation with not ending a sentence with a preposition like &quot;on&quot;. 
&gt; I have researched it and it is perfectly allowable in these modern times.  I
&gt; still try to write things such that they don&apos;t end this way.  However, I am
&gt; not going to be anal about it :)
&gt; 
&gt; See
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.
&gt; html#automatically-added-runtime-dependencies

Looks good to me.

I only remembered that (fake?) Churchill quote (http://public.wsu.edu/~brians/errors/churchill.html), but I couldn&apos;t remember what it was about (&quot;about what it was?&quot; :P)

Seems like a pretty arbitrary rule/trend, but I guess that goes for a lot of stuff in languages.
 
&gt; &gt; 
&gt; &gt; * PACKAGE_CLASSES just lists the package format that should be used, so maybe
&gt; &gt; 
&gt; &gt;     Exactly how this is done depends on the package format used used as
&gt; &gt;     described in PACKAGE_CLASSES.
&gt; &gt; 
&gt; &gt;   would be better as
&gt; &gt; 
&gt; &gt;     Exactly how this is done depends on which package format is used, which
&gt; &gt; is
&gt; &gt;     determined by PACKAGE_CLASSES.
&gt; 
&gt; See
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-RDEPENDS

LGTM

&gt; &gt; 
&gt; &gt; * I had a braino in my original version. Instead of [vardeps], it should
&gt; &gt;   be [deptask]. The same link can be used.
&gt; 
&gt; See last paragraph in
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.
&gt; html#automatically-added-runtime-dependencies

LGTM

&gt; &gt; 
&gt; &gt; * There might be an extra &apos;the&apos; in
&gt; &gt; 
&gt; &gt;     (not to be confused with the do_compile)
&gt; &gt; 
&gt; 
&gt; See
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-RDEPENDS

LGTM

&gt; &gt; * Typo: &quot;to the to the&quot; :)
&gt; 
&gt; Same... see
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-RDEPENDS

LGTM

&gt; &gt; 
&gt; &gt; Cheers,
&gt; &gt; Ulf
&gt; 
&gt; (In reply to comment #5)
&gt; &gt; One more change:
&gt; &gt; 
&gt; &gt; I just realized that the paragraph that starts with &quot;if the library being
&gt; &gt; linked against is versioned...&quot; might be a bit misleading. It&apos;s the version
&gt; &gt; of the package that matters, not the version number in the soname. From
&gt; &gt; looking at the code in package.bbclass, it seems you&apos;d have to try really
&gt; &gt; really hard not to get a version restriction added (maybe it&apos;s even dead
&gt; &gt; code), so we could probably skip that part too.
&gt; &gt; 
&gt; &gt; The entire paragraph could be replaced with the following:
&gt; &gt; 
&gt; &gt;   The automatically added runtime dependency also includes a version
&gt; &gt;   restriction. This version restriction specifies that at least the current
&gt; &gt;   version of the package that provides the shared library must be used, as if
&gt; &gt;   &quot;&lt;package&gt; (&gt;= &lt;package version&gt;)&quot; had been added to [RDEPENDS]. This
&gt; &gt; forces
&gt; &gt;   an upgrade of the package containing the shared library when installing the
&gt; &gt;   package that depends on the library, if needed.
&gt; 
&gt; Sounds good... See
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.
&gt; html#automatically-added-runtime-dependencies

LGTM

Thanks,
Ulf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66153</commentid>
    <comment_count>8</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-14 20:38:08 +0000</bug_when>
    <thetext>Excuse the piggybacking, but I found two small semirelated documentation
issues. I&apos;ll open a separate bug if I find more stuff so that we can close
this one. :P

1. The description of PKGDESTWORK in the glossary looks wrong. I suspect
   do_package and do_packagedata got swapped here (or maybe &quot;from&quot; was supposed
   to be &quot;for&quot;):

     Points to a temporary work area used by the do_package task to write
     output from the do_packagedata task.

   Here&apos;s an improved version of the entire glossary entry:

     Points to a temporary work area where the [do_package] task saves package
     metadata. The PKGDESTWORK location defaults to the following:

       ${WORKDIR}/pkgdata

     Do not change this default.

     The [do_packagedata] task copies the package metadata from PKGDESTWORK to
     [PKGDATA_DIR] to make it available globally.


2. This description would be a more accurate replacement for
   the current version of &apos;8.1.19. do_packagedata&apos;:

     Saves package metadata generated by the [do_package] task in [PKGDATA_DIR]
     to make it available globally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66260</commentid>
    <comment_count>9</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2016-09-16 17:42:53 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; Excuse the piggybacking, but I found two small semirelated documentation
&gt; issues. I&apos;ll open a separate bug if I find more stuff so that we can close
&gt; this one. :P
&gt; 
&gt; 1. The description of PKGDESTWORK in the glossary looks wrong. I suspect
&gt;    do_package and do_packagedata got swapped here (or maybe &quot;from&quot; was
&gt; supposed
&gt;    to be &quot;for&quot;):
&gt; 
&gt;      Points to a temporary work area used by the do_package task to write
&gt;      output from the do_packagedata task.
&gt; 
&gt;    Here&apos;s an improved version of the entire glossary entry:
&gt; 
&gt;      Points to a temporary work area where the [do_package] task saves
&gt; package
&gt;      metadata. The PKGDESTWORK location defaults to the following:
&gt; 
&gt;        ${WORKDIR}/pkgdata
&gt; 
&gt;      Do not change this default.
&gt; 
&gt;      The [do_packagedata] task copies the package metadata from PKGDESTWORK
&gt; to
&gt;      [PKGDATA_DIR] to make it available globally.

See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-PKGDESTWORK for the change Ulf.

&gt; 
&gt; 
&gt; 2. This description would be a more accurate replacement for
&gt;    the current version of &apos;8.1.19. do_packagedata&apos;:
&gt; 
&gt;      Saves package metadata generated by the [do_package] task in
&gt; [PKGDATA_DIR]
&gt;      to make it available globally.

See http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#ref-tasks-packagedata</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66268</commentid>
    <comment_count>10</comment_count>
    <who name="">ulfalizer</who>
    <bug_when>2016-09-16 20:09:42 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Excuse the piggybacking, but I found two small semirelated documentation
&gt; &gt; issues. I&apos;ll open a separate bug if I find more stuff so that we can close
&gt; &gt; this one. :P
&gt; &gt; 
&gt; &gt; 1. The description of PKGDESTWORK in the glossary looks wrong. I suspect
&gt; &gt;    do_package and do_packagedata got swapped here (or maybe &quot;from&quot; was
&gt; &gt; supposed
&gt; &gt;    to be &quot;for&quot;):
&gt; &gt; 
&gt; &gt;      Points to a temporary work area used by the do_package task to write
&gt; &gt;      output from the do_packagedata task.
&gt; &gt; 
&gt; &gt;    Here&apos;s an improved version of the entire glossary entry:
&gt; &gt; 
&gt; &gt;      Points to a temporary work area where the [do_package] task saves
&gt; &gt; package
&gt; &gt;      metadata. The PKGDESTWORK location defaults to the following:
&gt; &gt; 
&gt; &gt;        ${WORKDIR}/pkgdata
&gt; &gt; 
&gt; &gt;      Do not change this default.
&gt; &gt; 
&gt; &gt;      The [do_packagedata] task copies the package metadata from PKGDESTWORK
&gt; &gt; to
&gt; &gt;      [PKGDATA_DIR] to make it available globally.
&gt; 
&gt; See
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#var-
&gt; PKGDESTWORK for the change Ulf.
&gt; 
&gt; &gt; 
&gt; &gt; 
&gt; &gt; 2. This description would be a more accurate replacement for
&gt; &gt;    the current version of &apos;8.1.19. do_packagedata&apos;:
&gt; &gt; 
&gt; &gt;      Saves package metadata generated by the [do_package] task in
&gt; &gt; [PKGDATA_DIR]
&gt; &gt;      to make it available globally.
&gt; 
&gt; See
&gt; http://www.yoctoproject.org/docs/2.2/ref-manual/ref-manual.html#ref-tasks-
&gt; packagedata

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66435</commentid>
    <comment_count>11</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2016-09-21 20:35:32 +0000</bug_when>
    <thetext>Thanks, 

Closing this out to RESOLVED and setting the doc flag to &quot;done&quot;.

Scott</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>