classes/buildhistory: show command line in commit message
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Thu, 15 Aug 2013 17:04:36 +0000 (18:04 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 16 Aug 2013 10:44:16 +0000 (11:44 +0100)
Record the bitbake command line in the commit message as a further
context indication.

(From OE-Core rev: 34fb802b2170f0fe208e54e7a4d18f663db72f90)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/buildhistory.bbclass

index b2e5cc5..6fb1ba6 100644 (file)
@@ -495,6 +495,14 @@ def buildhistory_get_sdkvars(d):
     return outputvars(sdkvars, listvars, d)
 
 
+def buildhistory_get_cmdline(d):
+    if sys.argv[0].endswith('bin/bitbake'):
+        bincmd = 'bitbake'
+    else:
+        bincmd = sys.argv[0]
+    return '%s %s' % (bincmd, ' '.join(sys.argv[1:]))
+
+
 buildhistory_commit() {
        if [ ! -d ${BUILDHISTORY_DIR} ] ; then
                # Code above that creates this dir never executed, so there can't be anything to commit
@@ -514,18 +522,19 @@ END
                # Check if there are new/changed files to commit (other than metadata-revs)
                repostatus=`git status --porcelain | grep -v " metadata-revs$"`
                HOSTNAME=`hostname 2>/dev/null || echo unknown`
+               CMDLINE="${@buildhistory_get_cmdline(d)}"
                if [ "$repostatus" != "" ] ; then
                        git add -A .
                        # porcelain output looks like "?? packages/foo/bar"
                        # Ensure we commit metadata-revs with the first commit
                        for entry in `echo "$repostatus" | awk '{print $2}' | awk -F/ '{print $1}' | sort | uniq` ; do
-                               git commit $entry metadata-revs -m "$entry: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $HOSTNAME" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
+                               git commit $entry metadata-revs -m "$entry: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $HOSTNAME" -m "cmd: $CMDLINE" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
                        done
                        if [ "${BUILDHISTORY_PUSH_REPO}" != "" ] ; then
                                git push -q ${BUILDHISTORY_PUSH_REPO}
                        fi
                else
-                       git commit ${BUILDHISTORY_DIR}/ --allow-empty -m "No changes: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $HOSTNAME" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
+                       git commit ${BUILDHISTORY_DIR}/ --allow-empty -m "No changes: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $HOSTNAME" -m "cmd: $CMDLINE" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
                fi) || true
 }