无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3241|回复: 3
打印 上一主题 下一主题

[已解决] 行数变动导致patch-chinese.diff有2处fail

[复制链接]
跳转到指定楼层
1#
发表于 2012-3-17 21:37:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用graphicsmode+unifont.hex.gz怎么也没fontfile反应快,
即便用上小字库(难道是我心理作用?:P),于是最终决定自己打补丁编译.
patch时有两处fail了,看了下,是新版的行号改变导致的.
两处都是stage2.c文件grub_sprintf的翻译部分,并不影响使用.
手工编辑了一下,重新使用diff生成了patch,上传到这里.
管理员检测后有空更新到源里吧.

patch-chinese.diff.diff
  1. --- patch-chinese.diff.org    2012-03-17 00:14:28.531250000 +0800
  2. +++ patch-chinese.diff    2012-03-17 20:16:30.593750000 +0800
  3. @@ -30,7 +30,7 @@
  4. ===================================================================
  5. --- grub4dos-chs/stage2/stage2.c    (revision 244)
  6. +++ grub4dos-chs/stage2/stage2.c    (working copy)
  7. -@@ -138,6 +138,12 @@
  8. +@@ -143,6 +143,12 @@
  9.   static void
  10.   print_default_help_message (char *config_entries)
  11.   {
  12. @@ -43,7 +43,7 @@
  13.         grub_printf ("\n Use the %c and %c keys to highlight an entry.",
  14.              (unsigned long)(unsigned char)DISP_UP, (unsigned long)(unsigned char)DISP_DOWN);
  15.         
  16. -@@ -153,18 +159,38 @@
  17. +@@ -158,18 +164,38 @@
  18.           }
  19.   #endif
  20.   #endif
  21. @@ -87,7 +87,7 @@
  22.       }
  23.   
  24.         default_help_message_destoyed = 0;
  25. -@@ -643,8 +669,14 @@
  26. +@@ -661,8 +687,14 @@
  27.             /* Print a message.  */
  28.             if (! silent_hiddenmenu)
  29.             {
  30. @@ -104,7 +104,7 @@
  31.             }
  32.           }
  33.       }
  34. -@@ -736,7 +768,12 @@
  35. +@@ -760,7 +792,12 @@
  36.         print_default_help_message (config_entries);
  37.   
  38.         if (current_term->flags & TERM_DUMB)
  39. @@ -116,21 +116,22 @@
  40. +#endif
  41. +        grub_printf ("\n\nThe selected entry is %d ", entryno);
  42.         else
  43. -     print_entries (first_entry, entryno, menu_entries, config_entries);
  44. +     print_entries (first_entry, entryno, menu_entries);
  45.       }
  46. -@@ -783,6 +820,11 @@
  47. +@@ -806,7 +843,11 @@
  48. +           unsigned char tmp_buf[512];
  49.             unsigned char *p;
  50.             unsigned char ch = ' ';
  51. -
  52. +-
  53. +#ifdef SUPPORT_GRAPHICS
  54. +          if (graphics_inited && ushFontReaded && graphics_mode <= 0xFF)
  55. -+        grub_sprintf (tmp_buf, "  高亮选中的条目将会自动运行于 %d 秒之后。  ", grub_timeout);
  56. ++        grub_sprintf ((char*)tmp_buf, "  高亮选中的条目将会自动运行于 %d 秒之后。  ", grub_timeout);
  57. +          else
  58. +#endif
  59. -           grub_sprintf (tmp_buf, " The highlighted entry will be booted automatically in %d seconds.", grub_timeout);
  60. +           grub_sprintf ((char*)tmp_buf, " The highlighted entry will be booted automatically in %d seconds.", grub_timeout);
  61.             gotoxy (0, MENU_BOX_B + 5);
  62.             p = tmp_buf;
  63. -@@ -812,7 +854,14 @@
  64. +@@ -836,7 +877,14 @@
  65.            since we're comming in here also on GRUB_TIMEOUT == -1 and
  66.            hang in GETKEY */
  67.         if (current_term->flags & TERM_DUMB)
  68. @@ -143,9 +144,10 @@
  69. +#endif
  70. +        grub_printf ("\r    Highlighted entry is %d: ", entryno);
  71. +      }
  72. -
  73. -       c = /*ASCII_CHAR*/ (getkey ());
  74. -
  75. +       #ifndef GRUB_UTIL
  76. +       if (config_entries && hotkey_func)
  77. +       {
  78. +
  79. Index: grub4dos-chs/stage2/graphics.c
  80. ===================================================================
  81. --- grub4dos-chs/stage2/graphics.c    (revision 244)
复制代码
这是patch时的rej文件: stage2.c.rej.gz (591 Bytes, 下载次数: 24)
这是新旧补丁的diff文件: patch-chinese.diff.diff.gz (1.12 KB, 下载次数: 20)
这是修改后无错误的patch文件: patch-chinese.diff.gz (20.18 KB, 下载次数: 13)

[ 本帖最后由 tobeme2 于 2012-3-18 18:18 编辑 ]
2#
发表于 2012-3-18 11:47:41 | 只看该作者
不打算更新,即使这次改了,下次还是会出现这样的情况,维护起来很麻烦的说(以前为了保证这个补丁可以使用,每次修改都得小心尽量不影响),而且也不实用。

我的建议是不要在内核中使用FONTFILE命令,而应该采用外部命令。

目前已经有FONTFILE外部命令,只需要稍微修改就可以适应最新版本的GRUB4DOS。
记得主要是setxy和getxy的变动。可以自己找一下相关的资料。论坛上之前的提到过的。

[ 本帖最后由 chenall 于 2012-3-18 19:16 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2012-3-18 18:18:17 | 只看该作者
哦,原来有外部命令.
回复

使用道具 举报

4#
发表于 2012-3-19 13:41:31 | 只看该作者
开发者已经放弃了的东西,如果任何人觉得不应该放弃,那么他都可以另外开辟一个项目,并独立维护。

举例来说,grub4dos 本身就是继续开发已经被放弃了的 grub legacy 的。

这是自由的。

放弃者,不是错。

继续开发者,也不是错。

这叫做 “ 不同的选择、不同的路线、不同的理念 ”。

总之,没有 “ 对 ” 与 “ 错 ” 之分。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 20:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表