All of lore.kernel.org
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@linux.intel.com>
To: Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: "poky@yoctoproject.org" <poky@yoctoproject.org>
Subject: Re: kernel SRCREV and meta series woes re new preempt_rt recipe
Date: Fri, 17 Dec 2010 08:17:27 -0800	[thread overview]
Message-ID: <4D0B8D17.9020805@linux.intel.com> (raw)
In-Reply-To: <AANLkTi=Ydq_ttWB6=P8F9wCx06Q6zWMzCuT4FwvdmWL7@mail.gmail.com>

On 12/17/2010 05:53 AM, Bruce Ashfield wrote:
> On Thu, Dec 16, 2010 at 6:51 PM, Darren Hart<dvhart@linux.intel.com>  wrote:
>> Hey Bruce,
>>
>> (lots of logs, explanation all through to the end)
>>
>> I'm running into a couple issues I haven't been able to explain.
>> I'm building from poky-contrib dvhart/rt which I rebased against
>> zedd/kernel today (646be7efc3c2a966607526439e3ad812cb4ae3f8). My
>> local.conf has 'MACHINE?=qemux86-64'.
>
> This repo is missing a paired up kernel repo modification, but it should
> be sane.
>
>>
>> You can see the linux-yocto-rt recipe in my contrib branch mentioned
>> above, but for quick reference, here's the diff from linux-yocto-stable:
>
> one demerit point fine for a non-unified diff ;)

Heh, in this case I thought the simple diff did a better job 
highlighting the only significant change was:

LINUX_KERNEL_TYPE = "preempt_rt"

>
>>
>>         $ diff linux-yocto-stable_git.bb linux-yocto-rt_stablegit.bb
>>         14a15
>>         >  LINUX_KERNEL_TYPE = "preempt_rt"
>>         21c22
>>         <  COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|atom-pc|routerstationpro|mpc8315e-rdb|beagleboard)"
>>         ---
>>         >  COMPATIBLE_MACHINE = "(qemux86-64)"
>>         32a34
>>         >       print "LINUX_KERNEL_TYPE_EXTENSION: ", bb.data.getVar("LINUX_KERNEL_TYPE_EXTENSION", d)
>>         37a40,41
>>         >  #SRCREV_machine_pn-linux-yocto-rt_qemux86-64 = "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
>>         >  #SRCREV = "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
>>
>> I determined the SRCREV from:
>>         $ git log --pretty=oneline origin/common_pc_64-preempt_rt -1
>>         f49444f06875894389e640bcda6c3f6ceb1f0c3e Merge branch 'standard' into common_pc_
>>
>
> That should be the right rev.
>

Richard,

Any thoughts on this first error - from here down to Bruce's comment?


>> First, bitbake is complaining about SRCREV while parsing
>> linux-yocto-rt_stablegit.bb:
>>
>>         $ bitbake linux-yocto-rt
>>         NOTE: Handling BitBake files: | (0236/0803) [29 %]
>>         LINUX_KERNEL_TYPE_EXTENSION:  preempt-rt # dvhart debug
>>         NOTE:<class 'bb.fetch.InvalidSRCREV'>:Please set SRCREV to a valid value while evaluating:
>>         ${@bb.fetch.get_srcrev(d)}
>>         NOTE:<class 'bb.fetch.InvalidSRCREV'>:Please set SRCREV to a valid value while evaluating:
>>         ${LINUX_VERSION}+git${SRCPV}
>>         NOTE:<class 'bb.fetch.InvalidSRCREV'>:Please set SRCREV to a valid value while evaluating:
>>         ${PN}-${EXTENDPE}${PV}-${PR}
>>         NOTE:<class 'bb.fetch.InvalidSRCREV'>:Please set SRCREV to a valid value while evaluating:
>>         ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PF}
>>         NOTE:<class 'bb.fetch.InvalidSRCREV'>:Please set SRCREV to a valid value while evaluating:
>>         ${WORKDIR}/linux
>>         NOTE:<class 'bb.fetch.InvalidSRCREV'>:Please set SRCREV to a valid value while evaluating:
>>                 cd ${S}
>>                 if [ -f ${WORKDIR}/defconfig ]; then
>>                     defconfig=${WORKDIR}/defconfig
>>                 fi
>>
>>                 kbranch=${KBRANCH}
>>
>>                 # simply ensures that a branch of the right name has been created
>>                 createme ${ARCH} ${kbranch} ${defconfig}
>>                 if [ $? -ne 0 ]; then
>>                         echo "ERROR. Could not create ${kbranch}"
>>                         exit 1
>>                 fi
>>
>>                 # updates or generates the target description
>>                 if [ -n "${KERNEL_FEATURES}" ]; then
>>                        addon_features="--features ${KERNEL_FEATURES}"
>>                 fi
>>                 updateme ${addon_features} ${ARCH} ${WORKDIR}
>>                 if [ $? -ne 0 ]; then
>>                         echo "ERROR. Could not update ${kbranch}"
>>                         exit 1
>>                 fi
>>
>>                 # executes and modifies the source tree as required
>>                 patchme ${kbranch}
>>                 if [ $? -ne 0 ]; then
>>                         echo "ERROR. Could not modify ${kbranch}"
>>                         exit 1
>>                 fi
>>
>>         NOTE: Error expanding variable do_patch
>>         ERROR: Please set SRCREV to a valid value while parsing /home/dvhart/data/poky.git/meta/recipes-kernel/linux/linux-yocto-rt_stablegit.bb
>>         NOTE: Handling BitBake files: - (0802/0803) [99 %]Command execution failed: Traceback (most recent call last):
>>           File "/vol/1/dvhart/poky.git/scripts/..//bitbake/lib/bb/command.py", line 85, in runAsyncCommand
>>             self.cooker.updateCache()
>>           File "/vol/1/dvhart/poky.git/scripts/..//bitbake/lib/bb/cooker.py", line 804, in updateCache
>>             if not self.parser.parse_next():
>>           File "/vol/1/dvhart/poky.git/scripts/..//bitbake/lib/bb/cooker.py", line 1036, in parse_next
>>             raise ParsingErrorsFound
>>         ParsingErrorsFound
>>
>
>> I have added a SRC_REV in poky-default-revisions:
>>         +# preempt_rt SRCREVs
>>         +SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
>
> I've seen this man times, and typically it has always had to do with
> processing order of the files related to the fetcher. I'm hoping
> Richard reads this and can jump in with more details, since this is
> something internal to BB and not something I've had the pleasure
> of adding or digging into very much.
>
>>
>>
>> If I add the following to linux-yocto-rt_stablegit.bb:
>>         SRCREV = "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
>
> This hits it with a hammer .. yes. Because you set this, we aren't
> counting on the machine specific override of SRCREV to set the
> variable.  So this ensures that the variable has *something*, just
> not something that the fetcher will use properly.


But will it send the proper information to the kernel tools? I 
understand something needs to get fixed in bitbake or the linux-yocto 
recipe components, but does this short-cut that to allow us to examine 
the kernel-tools issues?


>>
>>
>> I get passed the parse error, but do_patch fails:
>>
>>         Unstaged changes after reset:
>>         M       .gitignore
>>         M       Documentation/DocBook/kgdb.tmpl

<snip>

>>         Aborting
>>         warning: could not find ktypes/temp.scc
>>         ./0-wrs_meta-temp-33ebe31bfbabe8a7793524c85ea65707.sco: line 14: temp_68b329da9893e34099c7d8ad5cb9c940: command not found
>>         ERROR. Could not locate meta series for common_pc_64-preempt_rt
>>         ERROR: Task failed: ('function do_patch failed', '/vol/1/dvhart/poky.git/build/tmp/work/qemux86-64-poky-linux/linux-yocto-rt-2.6.34+git1+f49444f06875894389e640bcda6c3f6ceb1f0c3e_2+f49444f06875894389e640bcda6c3f6ceb1f0c3e-r0/temp/log.do_patch.30710')
>
>
> This means you built a random temporary board and when the branch
> validation steps kicked in, they declared that patches were not present,
> and tried to re-push changes (which were really there) and hence caused
> your failure.
>
> It implies that your tools weren't up to date to me. Since I made changes
> to allow it to locate the proper meta series adapting for the _ vs -
> in the name.

I thought we left the _ in the kernel repository and only munged it to - 
in the bitbake string. The log mentions "common_pc_64-preempt_rt" which 
I took to mean it was looking for the right thing. Is this not the case?

>
> I'll check the SRCREV I pushed for the tools and see if it is out of date.
>
>>
>>
>> I look at look at the linux directory:
>>         $ cd tmp/work/qemux86-64-poky-linux/linux-yocto-rt-2.6.34+git1+f49444f06875894389e640bcda6c3f6ceb1f0c3e_2+f49444f06875894389e640bcda6c3f6ceb1f0c3e-r0/linux/
>>         $ git branch
>>           arm_versatile_926ejs-standard
>>           atom-pc-standard
>>           beagleboard-standard
>>           blacksand-standard
>>           common_pc-preempt_rt
>>           common_pc-standard
>>           common_pc_64-preempt_rt
>>           common_pc_64-standard
>>           crownbay-standard
>>           davinci-consolidated-2.6.34-merge
>>           emenlow-standard
>>           fsl-mpc8315e-rdb-standard
>>           kgdb-2.6.34-base-merge
>>           master
>>           mti_malta32_be-standard
>>           mti_malta32_le-standard
>>           omap-base-merge
>>           preempt_rt
>>           qemu_ppc32-standard
>>           routerstationpro-standard
>>           rt-2.6.34-base-merge
>>           standard
>>           wrs_base
>>           wrs_meta
>>           wrs_meta-orig
>>         * wrs_meta-temp
>>
>> This suggests to me that I'm not hitting the previous
>> no-local-branches-after-clone issues, and that "common_pc-preempt_rt"
>> does indeed exist. A quick review of the linux-2.6-wrs.git wrs_meta
>> branch wrs directory suggests all the preempt-rt meta data exists and
>> matches the expected naming.
>>
>>         $ find wrs -name "*preempt_rt*"
>>         wrs/cfg/kernel-cache/bsp/common_pc/common_pc-preempt_rt.scc
>>         wrs/cfg/kernel-cache/bsp/common_pc_64/common_pc_64-preempt_rt.scc
>>         wrs/cfg/kernel-cache/ktypes/preempt_rt
>>         wrs/cfg/kernel-cache/ktypes/preempt_rt/preempt_rt.cfg
>>         wrs/cfg/kernel-cache/ktypes/preempt_rt/preempt_rt.scc
>>         wrs/cfg/meta/common_pc-preempt_rt-meta
>>         wrs/cfg/meta/common_pc_64-preempt_rt-meta
>>         wrs/patches/common_pc_64-preempt_rt
>>         wrs/patches/preempt_rt
>>         wrs/patches/common_pc-preempt_rt
>>
>>
>> Any thoughts on what might be going wrong?
>
> Just the tools :) Since I just built the same thing here and it worked. I'll
> grab your recipe and have a look at the SRCREV and hopefully send a
> consolidated series ASAP.

dvhart@doubt:wr-kernel-tools.git$ git log --pretty=oneline -1
796d7fef92b2eed449c17c14441587ff0c465368 configme: check alternate 
meta-series

$ grep kern-tools 
../../../meta/conf/distro/include/poky-default-revisions.inc
SRCREV_pn-kern-tools-native ??= "796d7fef92b2eed449c17c14441587ff0c465368"

They appear to be in agreement, and that SRCREV is for the META_ALT 
patch - but it wasn't obvious to me if that was the one to account for 
-_ mangling.

-- 
Darren Hart
Yocto Linux Kernel


  reply	other threads:[~2010-12-17 16:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-16 23:51 kernel SRCREV and meta series woes re new preempt_rt recipe Darren Hart
2010-12-17 13:53 ` Bruce Ashfield
2010-12-17 16:17   ` Darren Hart [this message]
2010-12-17 18:17     ` Bruce Ashfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D0B8D17.9020805@linux.intel.com \
    --to=dvhart@linux.intel.com \
    --cc=bruce.ashfield@gmail.com \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.