Bug 3262

Summary: Glossary entry for "STAMP" variable doesn't match the software
Product: [Documentation] Reference Reporter: Patrick Turley <patrickturley>
Component: handbookAssignee: Scott Rifenbark <srifenbark>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: bluelightning, poky.doc.watcher, poky.watcher, sgw
Version: unspecified   
Target Milestone: 1.4   
Hardware: All   
OS: Multiple   
URL: http://git.yoctoproject.org/cgit.cgi/yocto-docs/commit/?id=ea50e41dc71d3876dd1b00aeec663400ac4a5ced
Whiteboard: 15 Nov 2012 - resolved
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

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