Linux下patch的制作和应用

2310阅读 0评论2013-08-26 qiushui_007
分类:LINUX

1. patch文件的结构
补丁头
补丁头是分别由---/+++开头的两行,用来表示要打补丁的文件。---开头表示旧文件,+++开头表示新文件。
一个补丁文件中的多个补丁
一个补丁文件中可能包含以---/+++开头的很多节,每一节用来打一个补丁。所以在一个补丁文件中可以包含好多个补丁

块是补丁中要修改的地方。它通常由一部分不用修改的东西开始和结束。他们只是用来表示要修改的位置。他们通常以@@开始,结束于另一个块的开始或者一个新的补丁头。
块的缩进
块会缩进一列,而这一列是用来表示这一行是要增加还是要删除的。
块的第一列
+号表示这一行是要加上的。
-号表示这一行是要删除的。
没有加号也没有减号表示这里只是引用的而不需要修改。

Index: target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig
===================================================================
--- target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig (revision 35629)
+++ target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig (working copy)
@@ -129,6 +129,11 @@
  select RALINK_DEV_GPIO_BUTTONS
  select RALINK_DEV_GPIO_LEDS
 
+config RT305X_MACH_MPR_A1
+ bool "HAME MPR-A1 board support"
+ select RALINK_DEV_GPIO_BUTTONS
+ select RALINK_DEV_GPIO_LEDS
+
 config RT305X_MACH_WR512_3GN
  bool "SH-WR512NU/WS-WR512N1-like 3GN router"
  select RALINK_DEV_GPIO_BUTTONS

2. diff: 比较两个文本文件, 列出其不同之处. diff oldip getip
diff命令,不仅可以比较两个文件或目录的不同,还可以将新旧两个对象的不同之处生成补丁文件。
之后用patch命令根据这个补丁文件将旧的对象更新到与新对象一致。
diff -rNu old new > diff.patch #diff生成补丁
patch -p0 < diff.patch #patch打补丁
diff old new #校验成果


3. 


参考:
1. Linux下patch的制作和应用
http://www.cnblogs.com/itech/archive/2009/08/19/1549729.html

2. 
上一篇:openwrt下安装curl, 占用近1M空间, 常用命令集锦
下一篇:openwrt下摄像头测试总结