Bug 3262 - Glossary entry for "STAMP" variable doesn't match the software
Summary: Glossary entry for "STAMP" variable doesn't match the software
Status: RESOLVED FIXED
Alias: None
Product: Reference
Classification: Documentation
Component: handbook (show other bugs)
Version: unspecified
Hardware: All Multiple
: Medium normal
Target Milestone: 1.4
Assignee: Scott Rifenbark
QA Contact:
URL: http://git.yoctoproject.org/cgit.cgi/...
Whiteboard: 15 Nov 2012 - resolved
Depends on:
Blocks:
 
Reported: 2012-10-09 16:07 UTC by Patrick Turley
Modified: 2012-11-16 00:08 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Turley 2012-10-09 16:07:33 UTC
Here's the current definition for the "STAMP" variable:


The directory (usually TMPDIR/stamps) with timestamps of executed tasks. 


In "denzil", here's the assignment that appears in "bitbake.conf":


STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PF}"
Comment 1 Scott Rifenbark 2012-10-16 20:48:45 UTC
I updated the STAMP glossary description based on information from Paul Eggleton.  In defining STAMP a couple of new variables needed added to the glossary: MULTIMACH_TARGET_SYS and EXTENDPE.  I put in these as well.

I am not marking this resolved until someone looks it over and is happy with it.

Scott
Comment 2 Patrick Turley 2012-10-16 20:52:48 UTC
I can't view the new definition because I have neglected to bookmark the development version of the reference manual. Can you please give the link, and I promise to keep the bookmark this time.
Comment 3 Scott Rifenbark 2012-10-16 20:55:10 UTC
I neglected to put the link in, which I usually do  :(

See http://www.yoctoproject.org/docs/1.3/poky-ref-manual/poky-ref-manual.html#var-STAMP

Scott
Comment 4 Patrick Turley 2012-10-16 21:38:37 UTC
I have two concerns:

1) The text shows the current definition of STAMP in the bitbake.conf file as if it's the only sensible or perhaps even workable assignment.

2) It also says "STAMP is more than just the directory." That's apparent, and I don't know why it's specifically called out. 

I *think* this is better:


Specifies the base path used to create recipe stamp files. The path to an actual stamp file is constructed by evaluating this string and then appending additional information. At this writing, the default assignment in bitbake.conf is:

     STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PN}-${EXTENDPE}${PV}-${PR}"
                    
See TMPDIR, MULTIMACH_TARGET_SYS, PN, EXTENDPE, PV, and PR for related variable information.


That's my input. After taking this into account, I'm sure whatever you choose will be best.
Comment 5 Scott Rifenbark 2012-10-17 14:33:10 UTC
Patrick, 

Your definition is better.  For me it would be nice understand a bit more.  Would it be helpful to show other possible definitions of STAMP?  I am assuming that the assignment in the bitbake.conf file is not the only one since it is a default.

To me, it looks like STAMP is more than just the base path for the the actual stamp file if you were to resolve all the variables.  Once MULTIMACH_TARGET_SYS, PN, EXTENDPE, PV, and PR are resolved you have an actual stamp file correct?  I went into the stamps directory on my system after building out core-image-minimal for the qemux86 machine and here is an example stamp file:

poky/build/tmp/stamps/qemux86-poky-linux/base-files-3.0.14-r72.do_build.b91222f884558ca5a3d6dccfd6dccfd6d8d0f3

So for this example:
   TMPDIR = poky/build/tmp
   MULTIMACH_TARGET_SYS = qemux86-poky-linux
   PN = base-file
   EXTENDPE = "" (guessing)
   PV = 3.0.14
   PR = r72.do_build.b<hash>

I don't know if this is correct.  Not that I would document all this but for my understanding it would be good to know.  Any further understanding of STAMP that you can pass on here would be good. 

I changed the glossary entry as follows based on your explanation.  You can also see it at http://www.yoctoproject.org/docs/1.3/poky-ref-manual/poky-ref-manual.html#var-STAMP


    STAMP

    Specifies the base path used to create recipe stamp files. The path 
    to an  actual stamp file is constructed by evaluating this string and 
    then appending additional information. Currently, the default assignment
    for STAMP as set in the meta/conf/bitbake.conf file is:

         STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PN}-${EXTENDPE}${PV}-${PR}"
                        

    See TMPDIR, MULTIMACH_TARGET_SYS, PN, EXTENDPE, PV, and PR for related
    variable information.
Comment 6 Patrick Turley 2012-10-17 14:58:54 UTC
I've been studying BitBake and Yocto for about three weeks now, so the definition I offered contains *everything* I know (or *think* I know) about the STAMP variable.

> Would it be helpful to show other possible definitions of STAMP?  I am
> assuming that the assignment in the bitbake.conf file is not the only one
> since it is a default.

I certainly can't say with authority, but I would bet money the assignment in bitbake.conf is the *only* assignment. To me, it appears this variable is vital to, and deeply-embedded in, the building process. I don't think there's any profit to fiddling with it.

> To me, it looks like STAMP is more than just the base path for the the actual
> stamp file...

I believe your breakdown of the example stamp file path is accurate, except for the final element. The value of variable "PR" ("package release") is most likely only "r72", which leaves a lot of stuff remaining. That remaining stuff looks like the name of the task that was executing, followed by some other information I know nothing about. Thus, it appears BitBake is appending to the evaluated value of STAMP.

> Any further understanding of STAMP that you can pass on here would be good.

I have nothing further to offer.
Comment 7 Paul Eggleton 2012-10-17 15:06:50 UTC
Patrick's understanding here is perfect and for what it's worth I approve of the latest version of the text.

I also agree that it's rather unlikely that anyone would change the value of STAMP; however it is still very useful to have it in the glossary for people looking to understand how the system works. I don't think there's a whole lot more to be added to the glossary for this variable; if we want to document stamps further it's more into the realms of how they are used rather than the path where they are stored.
Comment 8 Scott Rifenbark 2012-10-17 15:10:36 UTC
Patrick, 

Thanks for the additional comments.  I appreciate them.  I will leave the definition as it stands now and mark the bug as resolved.  If I get further information on it from the community I will update it.

Thanks!

Scott
Comment 9 Scott Rifenbark 2012-11-16 00:08:09 UTC
Marked resolved.  See latest comments for approvals.

Scott