[yocto] NooB: applying new patches to older files, where do I find the older files?
Randy MacLeod
randy.macleod at windriver.com
Thu Oct 31 10:07:41 PDT 2019
On 10/31/19 6:36 AM, R wrote:
> On 31-10-2019 01:52, Randy MacLeod wrote:
>> On 10/30/19 8:16 AM, R wrote:
>>> Hello List,
>>>
>>> First I'm working on a unsupported distro (Manjaro) and try to get an
>>> older version (2.7.1) of poky working. I have ask a question before
>>> and Ross Burton pointed me in the direction of a patch.
>>> Now I'm trying to apply that patch, however the patch is for a newer
>>> version of the original files, so I need to make my own patch for the
>>> older version of these files.
>>> (reason: WARNING: Some of the context lines in patches were ignored.
>>> This can lead to incorrectly applied patches.)
>>>
>>> The patch says: the file to be patch is e.g. /linux-user/syscall.c
>>> My question is where can I find the original syscall.c before any
>>> patches are applied to it?
>>
>> Hi Robert,
>>
>> This file and the patch are for the qemu package.
>>
>> You can run:
>> $ bitbake -c patch qemu-native <--- host build
>> or
>> $ bitbake -c patch qemu <--- target build
>> to get all the patches that are listed in the qemu recipe in poky:
>> meta/recipes-devtools/qemu/qemu_3.1.1.1.bb
>> and
>> meta/recipes-devtools/qemu/qemu.inc
>> applied to unpacked source.
>>
>> The patched source will be in (this is on master branch):
>>
>> <build_area>/tmp-glibc/work/x86_64-linux/qemu-native/4.1.0-r0/qemu-4.1.0/linux-user/syscall.c
>>
>>
>> poky might just be /tmp/ instead of /tmp-glibc/
>>
>> In my case the log of the patching is in:
>> tmp-glibc/work/x86_64-linux/qemu-native/4.1.0-r0/temp/log.do_patch
>>
>>>
>>> Just to be complete: I have tried the latest warrior branch and that
>>> worked fine. My objective is not just to get it working be also to
>>> get a grip on how the system works :-)
>>
>> Super.
>>
>> Have you looked at:
>> https://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html
>>
>> and perhaps:
>>
>> https://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#finding-the-temporary-source-code
>>
>>
>> will be useful now.
>>
>> Manipulating patches by hand can be tedious. There's a tool
>> called wiggle:
>> https://linux.die.net/man/1/wiggle
>> which can help but may be too much for you to deal with initially.
>>
>> Actually, I suggest that you build on a supported distro initially
>> to understand the basic workflow and then decide if you want to figure
>> out how to make Arch/Manjaro work.
>>
>> ../Randy
>>
>>> Thanks,
>>> Robert.
>
> Thanks Randy,
> Very helpful, especially the trigger to look into the development manual.
> I know starting with a supported distro would be the smarter choice. But
> then it would just work and I would probably make tiny steps in changes,
> this way I'm pulled right into the belly of the "beast" and I will learn
> much faster how it works :-) Disadvantage is that I maybe overwhelmed,
> so I will ask a question like this one, occasionally.
> Robert
Makes sense I suppose, good luck, questioned welcomed.
There are also people on freenode IRC #oe if you are interested.
A few Yocto devs have used ArchLinux so you're not breaking completely
new ground, FYI.
../Randy
>
>
>
--
# Randy MacLeod
# Wind River Linux
More information about the yocto
mailing list