linux下对rpm源码手工打补丁
前言 通常情况rpm包组件管理方式下的linux环境,常用打补丁的方式只有一种: 修改spec文件定义的Patch和patch字段 ,其实spec文件中调用的底层命令还是patch. 因为业务需要要编译内核,需要测试某一阶段不同补丁对内核的影响,但是通过修改spec文件进行编译时每次都是全量编译, 验证周期非常长 ,因为执行rpmbuil -bp SPECS/xxx.spec --define="_topdir `pwd`"会重建BUILD目录; 问题思考 分析spec中打补丁的本质是调用patch进行打补丁,所以考虑对BUILD下源码目录进行手工打补丁,这样不会每次重建BUILD目录,可以利用Make -j num_of_thread方式进行增量编译,可以快速缩短验证周期; 内核编译注意事项: 解决办法 基本命令语法: patch [-R] {-p(n)} [--dry-run] < patch_file_name p:为path的缩写。 n:指将patch文件中的path第n条’/’及其左边部分取消。 -R:卸载patch包。 --dry-run:尝试patch软件,并不真正修改软件。 使用实例: /home/sense/patch-2.6.19.1 ============================================================