当前位置:  技术问答>linux和unix

如何编写patch文件

    来源: 互联网  发布时间:2016-11-11

    本文导语:  如何编写patch文件啊? 就是需要自己编改写一个xen版本的patch文件 谁知道patch文件的语法、格式、结构什么的么??非常感谢 (不是diff和patch命令) | 没有非常明白你的问题,但大体上如果是一个补...

如何编写patch文件啊?

就是需要自己编改写一个xen版本的patch文件

谁知道patch文件的语法、格式、结构什么的么??非常感谢

(不是diff和patch命令)

|


没有非常明白你的问题,但大体上如果是一个补丁无法直接应用到当前源码上的话,一般是由于版本不对,即这个补丁当时制作时对应的xen的版本和你现在的不一样。

可以尝试这样,先rpmbuild -bp *xen.SPEC将xen的源码解压开,然后复制一份比如复制为xen.orig

之后打开xway的patch,根据里面的内容自己在xen中找到对应的地方加入改动。之后再重新打补丁即可。

你可以可以直接先编译好原来的,之后一边添加一边编译测试,最后再汇总所有改动。

patch的内容一般都很简洁明了的,比如:


diff --git a/include/linux/fb.h b/include/linux/fb.h
【这儿表示一个小段的开始】
index c10163b..1296af4 100644
--- a/include/linux/fb.h  (一般表示原文件,a是原文件对应的目录)
+++ b/include/linux/fb.h  (一般表示改动过的文件,b是其目录名,所以可以直接看他们的下层目录来找)
@@ -403,6 +403,7 @@ struct fb_cursor {
 #include 
 #include 
 #include 
+#include 
【+表示增加一行】
 #include 

 struct vm_area_struct;
@@ -862,10 +863,22 @@ struct fb_info {
【@@ -862...   此处表示对应该文件的多少行多少列】
    /* we need the PCI or similiar aperture base/size not
       smem_start/size as smem_start may just be an object
       allocated inside the aperture so may not actually overlap */
-   resource_size_t aperture_base;
-   resource_size_t aperture_size;
【-表示删除改行】
+   struct apertures_struct {
+       unsigned int count;
+       struct aperture {
+           resource_size_t base;
+           resource_size_t size;
+       } ranges[0];
+   } *apertures;
 };

+static inline struct apertures_struct *alloc_apertures(unsigned int max_num) {
+   struct apertures_struct *a = kzalloc(sizeof(struct apertures_struct)
+           + max_num * sizeof(struct aperture), GFP_KERNEL);
+   a->count = max_num;
+   return a;
+}
+
 #ifdef MODULE
 #define FBINFO_DEFAULT FBINFO_MODULE
 #else

|
最好不要用这种方法,使用diff是最方便的

直接修改patch的话,如果你改的很少又刚好修改其中一行而且保证其行数不会乱掉可以,不然行数乱了它对应不上就无法使用了

建议你用rpmbuild -bp ****.spec

然后在BUILD/xen*目录下复制一份进行修改,之后通过diff制作一个补丁,新补丁再加到SPEC中并重新打包。


|
为什么不用diff和patch命令?

|
查patch命令手册.

    
 
 

您可能感兴趣的文章:

  • 如何在LINUX下用一个普通文件调用一个自己编写的调用系统的文件
  • Linux下如何编写脚本文件
  • Linux有没有类似bat文件,如何编写。
  • 100请教:如何编写脚本,执行某个目录下的所有可执行文件,并将其输出内容重定向到某个文件。(在线等)
  • 各位ggmm,问一个简单问题,在编写完ejb的三个文件后,怎么将其编译成。class文件?
  • 请问怎样用shell脚本编写Linux下的文件备份程序
  • linux下ftp发送文件的异常处理改如何编写
  • 怎么在LINUX下打开QT编写的文件。。。。
  • 如何用shell编写一个脚本文件?
  • 在linux怎么编写文件传输
  • 如何编写Makefile,使得只编译改变的文件
  • 使用editplus编写java如何编译成字节码文件,如何解释
  • 我的Jbuilder怎么引用我自己编写的Class文件?
  • 自己编写一个程序编译进内核,要修改makefile文件吗?
  • 如何编写批处理文件
  • 有什么办法自己用java编写一个数据库读写的文件呀?
  • 怎样编写一个Shell,把当前目录下的所有文件都重新命名
  • 请教Makefile文件编写
  • 删除文件的shell脚本编写,条件内详
  • 我编写的Makefile文件怎么老是有错误那??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 编写 linux shell 有什么好的编写工具呢?
  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 用Qt3.1.4编写的程序,如何加入自己编写的另外一个动态库呀?诚恳指教!!
  • 如图 scsi <---> scsi controller <---> pci <---> cpu 如果我想对scsi编写驱动我该对哪个部分编写?
  • 用什么工具编写JSP,可以象用InterDev编写ASP一样方便快捷?
  • 编写程序如编写人生,有人和我的意见相同吗?
  • 请问用jsp编写程序,非要编写代码么?有没有什么象fontpage2000那样的工具,能够生成一些固定模板的工具?就是说不用全部都写的工具。望
  • 用jsp编写web程序到底和java serverlet编写web程序有和区别
  • socket中,从client端(用java编写的)传到server端(用c编写的)的字符串为何总多一个ASCII码为10的字符呀?
  • 如何用java编写一个NT平台下的标准服务?
  • 关于用vj编写sniffer一问。
  • java能不能编写单独运行的程序?
  • 用JAVA编写COM组件
  • 关于版本和bug管理的rule(规则)的编写
  • 在windows下可以用Code::Blocks编写linux程序吗?
  • 函数互相调用时Makefile编写
  • linux下用java编写邮箱客户端程序与在windows下有什么不同??
  • AIX下如何编写批处理命令和计划任务
  • 怎么用JBuild编写java console程序
  • 如何编写EJB的客户端程序?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3