联系管理员

开通文章发布权限

扫码 添加微信
微信图片
电话:18888888888 QQ:-

泰山派抽补丁和打补丁方式

抽补丁

使用文件夹:gw_android_patch_script 进行抽补丁。

通过网盘分享的文件:gw_android_patch_script.zip
链接: https://pan.baidu.com/s/1HlJPGTRYpJcAbUlFsd3wXA 提取码: 1234

将其放在跟 SDK 同目录下。
图片#B #S #R #60% #auto

然后去到指定的SDK下,执行命令:

python3 ../gw_android_patch_script/gw_repo_patch_script_v1_0.py pack

比如,我要抽取 android SDK的补丁,则我去到androidSDK下,执行命令:
图片#B #S #R #60% #auto
打包完成示意图:
图片#B #S #R #60% #auto
打包完成后会在我们的SDK下,生成一个文件夹 gw_firmware。将其移到到SDK同级目录下,让SDK保持干净。
图片#B #S #R #60% #auto

我们可以看一下这个 gw_firmware 文件夹下是什么东西。
图片#B #S #R #60% #auto
它会将我们的更改记录保存下来。

linux SDK 抽补丁

比如要抽 kernel 的补丁,则去到 kernel 的目录下执行命令:

python3 ../../gw_android_patch_script/gw_repo_patch_script_v1_0.py gitpack

执行完成后在文件下就有 gw_firmware 补丁了。

打补丁

有了补丁文件那么就可以来进行打补丁操作了,打补丁是通过patch命令完成的。一般情况下,打补丁命令使用格式如下(这里只介绍了对源文件(夹)进行打补丁操作):

patch -pN < xxx.patch

xxx.patch文件是上面diff命令生成的补丁文件,打补丁就是patch利用diff制作的补丁来实现源文件(夹)和目的文件(夹)的转换。这样说就意味着你可以从源文件(夹)到目的文件(夹),也可以目的文件(夹)到源文件(夹)。一般情况下,我们都是将源文件打补丁到我们修改后的目的文件。
选项:

  • -pN:选项打补丁时要忽略掉第N层目录

这里还是以实例来说明-pN选项的作用,假如补丁文件内有这样格式内容:

diff -uNr src/bsp/bsp_led.c modify/bsp/bsp_led.c

当我们在src目录下进行打补丁时,此时打补丁所在的目录是在src目录,它从当前目录下可以寻找bsp的文件夹,在它下面找bsp_led.c,所以此时需要用-p1来指定忽略第一个/前的目录(这里用到的是相对路径)。

patch -p1 < my_patch_name.patch

 

评论

快捷导航

把好文章收藏到微信

打开微信,扫码查看

关闭

还没有账号?立即注册