From: Bruce Ashfield <bruce.ashfield@windriver.com>
To: "Saxena, Rahul" <rahul.saxena@intel.com>
Cc: "yocto@yoctoproject.org" <yocto@yoctoproject.org>,
"Hart, Darren" <darren.hart@intel.com>
Subject: Re: Error when applying kernel patch from BSP: "Uncommited changes detected. Refresh first" error
Date: Tue, 4 Sep 2012 13:48:31 -0400 [thread overview]
Message-ID: <50463EEF.5030504@windriver.com> (raw)
In-Reply-To: <63ECFF2A2302B44093D7CE9E9962C49003322DB5@ORSMSX103.amr.corp.intel.com>
On 12-09-04 12:25 PM, Saxena, Rahul wrote:
>
>
> -----Original Message-----
> From: Bruce Ashfield [mailto:bruce.ashfield@windriver.com]
> Sent: Tuesday, September 04, 2012 7:12 AM
> To: Saxena, Rahul
> Cc: Bruce Ashfield; yocto@yoctoproject.org; Hart, Darren
> Subject: Re: [yocto] Error when applying kernel patch from BSP: "Uncommited changes detected. Refresh first" error
>
> On 12-09-04 02:08 AM, Saxena, Rahul wrote:
>>
>>
>> -----Original Message-----
>> From: Bruce Ashfield [mailto:bruce.ashfield@gmail.com]
>> Sent: Friday, August 31, 2012 6:59 PM
>> To: Saxena, Rahul
>> Cc: yocto@yoctoproject.org; Hart, Darren
>> Subject: Re: [yocto] Error when applying kernel patch from BSP:
>> "Uncommited changes detected. Refresh first" error
>>
>> On Fri, Aug 31, 2012 at 7:26 PM, Saxena, Rahul<rahul.saxena@intel.com> wrote:
>>>
>>>
>>> Hi,
>>>
>>>
>>>
>>> I am trying to apply a kernel patch from the BSP, but getting a error.
>>>
>>>
>>>
>>> DEBUG: Executing shell function do_patch
>>>
>>> Unstaged changes after reset:
>>>
>>> M .gitignore
>>>
>>> Deleted branch meta-temp (was 580ac9c).
>>>
>>> warning: could not find (or was already included): cfg/x86_64.scc
>>> (/home/rsaxena/YoctoWork2/rangeley3/tmp/work/rangeley-poky-linux/linu
>>> x
>>> -yocto-3.4.4+git3+dab07bdc3a53b21220da3af91c5d2729b027b5a7_2+19f7e43b
>>> 5
>>> 4aef08d58135ed2a897d77b624b320a-r3/linux/meta/cfg/kernel-cache/bsp/co
>>> m
>>> mon-pc-64)
>>>
>>> [INFO] validating against known patches (rangeley-standard-meta)
>>>
>>> [ ] (|)(1 %)
>>>
>>> [# ] (/)(2 %)
>>>
>>> [# ] (-)(3 %)
>>>
>>> [## ] (\)(4 %)
>>>
>>> [## ] (|)(5 %)
>>>
>>> [### ] (/)(6 %)
>>>
>>>
>>>
>>> --
>>>
>>> [############################################ ] (/)(89 %)
>>>
>>> [############################################# ] (-)(90 %)
>>>
>>> Uncommited changes detected. Refresh first.
>>>
>>> [ERROR] unable to complete push
>>>
>>> pending patches are:
>>>
>>> links/linux-yocto/msi.patch
>>>
>>> ERROR. could not update git tree
>>>
>>> ERROR. Could not modify standard/common-pc-64/rangeley
>>>
>>> ERROR: Function failed: do_patch (see
>>> /home/rsaxena/YoctoWork2/rangeley3/tmp/work/rangeley-poky-linux/linux
>>> -
>>> yocto-3.4.4+git3+dab07bdc3a53b21220da3af91c5d2729b027b5a7_2+19f7e43b5
>>> 4
>>> aef08d58135ed2a897d77b624b320a-r3/temp/log.do_patch.39386
>>> for further information)
>>>
>>>
>>>
>>> My linux-yocto_3.4.bbappend file has the statements:
>>>
>>> SRC_URI +="file://patchlist.scc"
>>>
>>> SRC_URI +="file://my_rangeley.cfg"
>>>
>>> COMPATIBLE_MACHINE_rangeley = "rangeley"
>>>
>>>
>>>
>>> KMACHINE_rangeley = "rangeley"
>>>
>>> KBRANCH_rangeley = "standard/common-pc-64/rangeley"
>>>
>>> SRCREV_machine_pn-linux-yocto_rangeley ?=
>>> "19f7e43b54aef08d58135ed2a897d77b624b320a"
>>>
>>> SRCREV_meta_pn-linux-yocto_rangeley ?=
>>> "dab07bdc3a53b21220da3af91c5d2729b027b5a7"
>>>
>>>
>>>
>>> cat linux-yocto/patchlist.scc
>>>
>>>
>>>
>>> patch msi.patch
>>>
>>>
>>>
>>> I am using the master branch of poky.
>>>
>>>
>>>
>>> What is the meaning of the ERROR messages above ?
>> It means that the patch or some other work happened in the linux source directory and hence nothing else can be applied (i.e. git stops you).
>>
>> Head to your kernel source directory and do a 'git status', that'll give you some info about what has happened.
>>
>> Bruce
>>
>> I had done 'git status' before but apparently missed noticing the following.
>>
>> 'git status' shows the following:
>>
>> # (use "git checkout --<file>..." to discard changes in working directory)
>> #
>> # modified: .gitignore
>> #
>> # Untracked files:
>> # (use "git add<file>..." to include in what will be committed)
>> #
>> # meta/
>>
>>
>> I looked at the .gitignore file. 'meta/' is missing from this file, while it exists in the actual kernel source (i.e. my local clone). The build software seems to have modified .gitignore to remove 'meta/' for some reason.
>>
>>
>> I edited .gitignore manually to add 'meta/' and was able to run the
>> run_do_patch.xx file to successfully apply the patch to standard/common-pc-64/Rangeley branch.
>>
>> Any idea as to why this is occurring and what should be done to prevent build system from modifying .gitignore ?
>
> Hmmm. I can't see how this is happening. The gitignore is already patch, and when it is updated, it should never conflict with changes in the BSP branch.
>
> I really need to reproduce the problem to be more helpful. Are the changes on your BSP branch public ? Do you have any modifications to the .gitignore in that branch / patches ?
>
> Cheers,
>
> Bruce
>
> OK, I can see now what happened.
>
> The .gitignore file in meta branch of linux-yocto-3.4 has 'meta/'. I had removed this meta/ in my local clone to
> allow me to commit my changes some weeks ago (and forgot about it) and dint bother to add it 'meta/' back
> as I figured (apparently wrongly) that it wont matter.
>
> Anyhow, is it a mistake that a 'meta/' exists in gitignore file in meta branch of linux-yocto-3.4 repo ?
> Why would one want to ignore changes in meta dir itself for the meta branch ?
That I can explain. The difference is that in 3.0 vs 3.4 the meta
branch is now an orphan. Which simply means that in 3.0 the meta
branch had a common root with the kernel source tree. In 3.4, we've
clarified things, and the meta branch no longer has a common root
with the kernel source.
The orphan branch means that we do not have to update every branch in
the tree when any BSP has a configuration change. But to make the
configuration changes available to a single board (or many boards if
you build with a single tree + many configs) the simplest way to make
the config visible to the build branch is to make the meta directory
untracked. Once it is untracked, you'll always see it in your git
status checks during development. That is simply noise, since we know
that directory is untracked, and we don't want it in the status.
If you want to change meta files and push them to another kernel, you
do that on the meta branch. In that branch, all files are tracked like
you expect.
Cheers,
Bruce
>
> It does not exist in .gitignore file of meta branch of linux-yocto-3.0 repo as I would expect.
>
> Rahul
>
>>
>> Rahul
>>
>>>
>>> Any suggestions would be greatly appreciated.
>>>
>>>
>>>
>>> Thanks
>>>
>>> Rahul
>>>
>>>
>>> _______________________________________________
>>> yocto mailing list
>>> yocto@yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>>
>>
>>
>>
>> --
>> "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end"
>> _______________________________________________
>> yocto mailing list
>> yocto@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>
prev parent reply other threads:[~2012-09-04 17:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-31 23:26 Error when applying kernel patch from BSP: "Uncommited changes detected. Refresh first" error Saxena, Rahul
2012-09-01 1:59 ` Bruce Ashfield
2012-09-04 6:08 ` Saxena, Rahul
2012-09-04 14:11 ` Bruce Ashfield
2012-09-04 16:25 ` Saxena, Rahul
2012-09-04 17:48 ` Bruce Ashfield [this message]
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=50463EEF.5030504@windriver.com \
--to=bruce.ashfield@windriver.com \
--cc=darren.hart@intel.com \
--cc=rahul.saxena@intel.com \
--cc=yocto@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.