• 解决 SDK制作和打patch时出现的问题


    • 问题:

    打patch时爆出如下问题:

    patching file linux-4.14.55-fmxx/scripts/dtc/include-prefixes/arm/xxxx-psoc.dtsi
    Reversed (or previously applied) patch detected!  Assume -R? [n]    

    敲n # 提示此处已打过补丁,和patch文件中的不一致

    1. y表示退回到没有打补丁前(下一条Apply anyway? [n]不会出现,直接还原到补丁前)  
    2. n表示不退回 保持现状

    Apply anyway? [n]    

    # 是否继续apply patch

    1. y 会出现 Hunk #1 FAILED at 142. 的提示 3 out of 3 hunks FAILED saving rejects to file xxx.rej
    2. n Skipping patch. 4 out of 4 hunks ignored saving rejects to file xxx.rej
    • 前情提要:

    release SDK版本时 需要制作上一版本的 patch,以便使用户直接apply patch就可以更新到最新版本。

    制作patch --> diff -uprN old-file-dir new-file-dir > xxx.patch

    打补丁 --> cd ./old-file-dir

         patch -p1 < ../xxx.patch

    • 原因:

    那么究竟是在哪里已经更改过这个dtsi文件呢??

    翻看patch文件,来来回回check,终于发现些端倪

    xxxx-psoc.dtsi在以下两处出现过

    1. linux-4.14.55-fmxx/arch/arm/boot/dts/xxxx-psoc.dtsi
    2. linux-4.14.55-fmxx/scripts/dtc/include-prefixes/arm/xxxx-psoc.dtsi

    ls -l linux-4.14.55-fmxx/scripts/dtc/include-prefixes/

    arm -> ../../../arch/arm/boot/dts

    是一个链接,指向1 所以显然已经更改过了。

    • 解决方案:

    基于上述分析,需要更改patch文件,将文件中link部分重复修改的部分删除。

    以上。

  • 相关阅读:
    redis学习(二)-高级特性
    redis学习(一)-基础知识
    设计模式类型
    装饰者设计模式
    udp代理
    docker: unrecognized service
    centos6.x 编译安装zabbix_proxy 2.2.5
    写了一个shell,删除15天以上日志
    tempo 删除团队失败
    github批量删除organization下的private repo
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/12421164.html
Copyright © 2020-2023  润新知