首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何知道补丁命令是否有效?

我如何知道补丁命令是否有效?
EN

Unix & Linux用户
提问于 2014-05-04 15:07:25
回答 2查看 12.3K关注 0票数 2

我正在尝试应用一个补丁,这是由寻求-为android项目提供的代码,我从Cyanogenmod下载。用make编译成功的代码,所以我知道所有的文件都在那里。我只是无法了解补丁在做什么,或者它是否工作。我尝试了-verbose选项。我不知道修补程序遍历目录和查找要更新的文件需要多长时间。我看不到cpu里有什么活动。下面是我所看到的说明:在这里输入链接描述,这是我看到的屏幕截图:

代码语言:javascript
复制
   root@ubuntu:~/android/system# ls
    abi       cm-11-2      docs             Makefile   sdk
    android   cm-11-3      external         ndk        smartcard-api-3_1_0
    art       cts          frameworks       out        smartcard-api-3_1_0.tgz
    bionic    dalvik       hardware         packages   system
    bootable  developers   kernel           pdk        tools
    build     development  libcore          prebuilt   vendor
    cm-11     device       libnativehelper  prebuilts
    root@ubuntu:~/android/system# cd smartcard-api-3_1_0
    root@ubuntu:~/android/system/smartcard-api-3_1_0# cd ..
    root@ubuntu:~/android/system# patch -p1 smartcard-api-3_1_0/smartcard-api.patch   ^C
     root@ubuntu:~/android/system# patch -p1 -R smartcard-api-3_1_0/smartcard- api.patch 
    ^C
    root@ubuntu:~/android/system# patch -p1 -verbose smartcard-   api-3_1_0/smartcard-  
    api.patch 
    patch 2.6.1
    Copyright (C) 1988 Larry Wall
    Copyright (C) 2003, 2009 Free Software Foundation, Inc.

我认为在某些情况下,我应该寻找目标文件?下面的输出似乎表明一个修补程序是成功的,而另一个文件没有找到?我想我必须找到目标文件并指定它?由于某些原因,即使是完整的路径也不被识别。

代码语言:javascript
复制
root@ubuntu:~/android/system# patch -p1 < smartcard-api-3_1_0/uicc.patch 
patching file frameworks/base/telephony/java/com/android/internal/telephony  /ITelephony.aidl
Hunk #1 FAILED at 304.
1 out of 1 hunk FAILED -- saving rejects to file frameworks/base/telephony /java/com/android/internal/telephony/ITelephony.aidl.rej
patching file frameworks/base/telephony/java/com/android/internal/telephony  /RILConstants.java
Hunk #1 FAILED at 55.
Hunk #2 FAILED at 262.
2 out of 2 hunks FAILED -- saving rejects to file frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java.rej
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony /CommandException.java
Hunk #1 FAILED at 42.
Hunk #2 FAILED at 83.
2 out of 2 hunks FAILED -- saving rejects to file frameworks/opt/telephony  /src/java/com/android/internal/telephony/CommandException.java.rej
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony /CommandsInterface.java
Hunk #1 succeeded at 1250 (offset 109 lines).
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony /IccCard.java
Hunk #1 FAILED at 214.
1 out of 1 hunk FAILED -- saving rejects to file frameworks/opt/telephony  /src/java/com/android/internal/telephony/IccCard.java.rej
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony  /RIL.java
Hunk #1 succeeded at 2592 (offset 253 lines).
Hunk #2 succeeded at 4109 (offset 467 lines).
Hunk #3 succeeded at 4619 (offset 543 lines).
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony/sip/SipCommandInterface.java
Hunk #1 FAILED at 536.
1 out of 1 hunk FAILED -- saving rejects to file frameworks/opt/telephony/src/java/com/android/internal/telephony/sip/SipCommandInterface.java.rej
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony  /test/SimulatedCommands.java
Hunk #1 FAILED at 1655.
1 out of 1 hunk FAILED -- saving rejects to file frameworks/opt/telephony /src/java/com/android/internal/telephony/test/SimulatedCommands.java.rej
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/IccCardProxy.java
Hunk #1 succeeded at 844 (offset 102 lines).
patching file frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/UiccCardApplication.java
Hunk #1 FAILED at 44.
Hunk #2 succeeded at 437 (offset 100 lines).
Hunk #3 succeeded at 941 (offset 194 lines).
1 out of 3 hunks FAILED -- saving rejects to file frameworks/opt/telephony  /src/java/com/android/internal/telephony/uicc/UiccCardApplication.java.rej
patching file frameworks/opt/telephony/tests/telephonytests/src/com/android    /internal/telephony/gsm/UsimDataDownloadCommands.java
Hunk #1 succeeded at 651 with fuzz 2 (offset 21 lines).
can't find file to patch at input line 404
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
 diff --git a/packages/apps/Phone/src/com/android/phone  /PhoneInterfaceManager.java b/packages/apps/Phone/src/com/android/phone    /PhoneInterfaceManager.java
|index 6600ae5..2ae6739 100644
|--- a/packages/apps/Phone/src/com/android/phone/PhoneInterfaceManager.java
|+++ b/packages/apps/Phone/src/com/android/phone/PhoneInterfaceManager.java
--------------------------
File to patch: 
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2014-05-04 19:19:12

由于某些原因,必须通过重定向将补丁文件输入修补程序,即

代码语言:javascript
复制
     patch file

不管用,但是

代码语言:javascript
复制
    patch < file

作品

票数 6
EN

Unix & Linux用户

发布于 2016-03-08 05:32:03

您可以使用-i选项而不是直接使用重定向:

代码语言:javascript
复制
$ patch -i /path/to/file.patch
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/127808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档