gpt4 book ai didi

patch - 将补丁应用到 yocto 配方中的文件

转载 作者:行者123 更新时间:2023-12-04 20:31:15 24 4
gpt4 key购买 nike

我有一个 yocto recipe 来编译来自 github 的代码。我修改了一些文件,并希望对从 github 获取的代码应用补丁。以下是我构建代码的秘诀。

SUMMARY = "Linux NFC stack for NCI based NXP NFC Controllers"
HOMEPAGE = "https://github.com/NXPNFCLinux/linux_libnfc-nci"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/include/linux_nfc_api.h;endline=17;md5=42fdb99b3ff2c12f594b22a774cb7308"
SECTION = "libs"

SRC_URI = "git://github.com/NXPNFCLinux/linux_libnfc-nci.git \

file:///home/pratyush/Desktop/custom_board/drivers/PN7150/linux_libnfc-nci/demoapp-main-patch1.patch"
SRCREV = "7cf539d3d9c0d682c8da5968fbf5615ae9993060"
PV = "2.1+git${SRCPV}"
EXTRA_OECONF =" --enable-pn7150"

S = "${WORKDIR}/git"

inherit autotools
FILES_${PN} += "${libdir}/libnfc_nci_linux-1.so"
FILES_SOLIBSDEV = "${libdir}/libnfc_nci_linux.so"
按照我的补丁应用
--- /home/root/PN7150/linux_libnfc-nci/Makefile.am
+++ Makefile.am
@@ -1,7 +1,7 @@
lib_LTLIBRARIES = libnfc_nci_linux.la

-sbin_PROGRAMS = nfcDemoApp
-nfcDemoApp_DEPENDENCIES = libnfc_nci_linux.la
+sbin_PROGRAMS = readNfc
+readNfc_DEPENDENCIES = libnfc_nci_linux.la

LDFLAGS = -Bstatic

@@ -9,13 +9,13 @@
LDFLAGS += -L$(openssldir)/lib -lcrypto -lssl
endif

-nfcDemoApp_FLAGS = -I$(srcdir)/demoapp -I$(srcdir)/src/include
+readNfc_FLAGS = -I$(srcdir)/demoapp -I$(srcdir)/src/include

AM_CPPFLAGS = \
-I$(srcdir)/src/include \
$(INCLUDE_PARAMS) \
$(libnfc_nci_linux_la_FLAGS) \
- $(nfcDemoApp_FLAGS)
+ $(readNfc_FLAGS)

if LLCP1_3
AM_CPPFLAGS += \
@@ -177,7 +177,7 @@
src/service/linux_nfc_api.c \
src/service/linux_nfc_factory_api.c

-nfcDemoApp_SOURCES := \
+readNfc_SOURCES := \
demoapp/main.c \
demoapp/tools.c

@@ -231,6 +231,6 @@
libnfc_nci_linux_la_LDFLAGS +=-DPN551C2=3
libnfc_nci_linux_la_LDFLAGS += -shared -pthread -ldl -lrt -fPIC -release 1 -versionnfo 0:0:0

-nfcDemoApp_LDFLAGS = -pthread -ldl -lrt -lnfc_nci_linux
+readNfc_LDFLAGS = -pthread -ldl -lrt -lnfc_nci_linux
因此,我想将补丁从本地应用到 github 获取的代码。但是每当我尝试 bitbake apply patch 我总是收到以下错误:

can't find file to patch at input line 3

最佳答案

问题在于您如何创建补丁。最简单的方法(如果您习惯使用 git)是使用 git。否则,比较两个完整的源代码树是一种很好且简单的方法。

解决您的问题的一种方法是添加 ;striplevel=0SRC_URI线。 (bitbake/OE 假定 strip 级别为 1)。

另一种方法是修改您的补丁以开始:

--- a/Makefile.am
+++ b/Makefile.am

那应该可以解决您的问题。

关于patch - 将补丁应用到 yocto 配方中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46033250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com