2017-09-04 5 views
0

J'ai une recette de yocto pour compiler un code de GitHub. J'ai modifié certains fichiers et je veux appliquer un patch au code récupéré à partir de github. Voici ma recette pour le code de construction.Patch application à déposer dans la recette yocto

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" 

Après mon patch appliqué

--- /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 

Ainsi je veux appliquer le correctif à partir de GitHub le code récupéré local. Mais quand j'essaie de bitbake appliquer patch je reçois toujours l'erreur suivante "Impossible de trouver le fichier à patcher à la ligne d'entrée 3"

Répondre

1

Le problème est comment vous avez créé votre patch. La façon la plus simple (si vous êtes habitué à git) est d'utiliser git. Sinon, différencier deux arbres sources complets est un moyen simple et efficace. Une façon de résoudre votre problème serait d'ajouter ;striplevel=0 à la ligne SRC_URI. (Un niveau de bande de 1 est supposé par bitbake/OE).

Une autre façon serait de modifier votre patch pour commencer par:

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

Cela devrait résoudre votre problème.