2017-07-24 15 views
0

Je veux remplacer le fichier par défaut vsftpd.conf avec mon propre fichier! Mon fichier bitbake semble suivante:Comment écrire une recette yocto/bitbake pour remplacer le fichier vsftpd.conf par défaut avec mon propre fichier?

bbexample_1.0.bb

DESCRIPTION = "Configuration and extra files for TX28" 
LICENSE = "CLOSED" 
LIC_FILES_CHKSUM = "" 

S = "${WORKDIR}" 

SRC_URI += " \ 
    file://ld.so.conf \ 
    file://nginx/nginx.conf \ 
    file://init.d/myscript.sh" 

inherit allarch 

do_install() { 
    install -d ${D}${sysconfdir} 
    install -d ${D}${sysconfdir}/nginx 
    install -d ${D}${sysconfdir}/init.d 
    rm -f ${D}${sysconfdir}/ld.so.conf 
    install -m 0755 ${WORKDIR}/ld.so.conf ${D}${sysconfdir} 
    install -m 0755 ${WORKDIR}/nginx/nginx.conf ${D}${sysconfdir}/nginx/ 
    install -m 0755 ${WORKDIR}/init.d/myscript.sh ${D}${sysconfdir}/init.d/ 
} 

bbexample_1.0.bbappend

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" 

SRC_URI += " \ 
    file://vsftpd.conf" 

do_install_append() { 
    install -m 0755 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir} 
} 

Mais, le fichier n'a pas pu être remplacé! Qu'est-ce qui ne va pas?

Répondre

0

vous devez ajouter à votre recette:

FILES_${PN} += " file you installed" 
1

Ce que vous devez faire est d'utiliser un bbappend dans votre propre couche,

vsftpd recette est situé dans meta-openembedded/meta-networking/recipes-daemons

Ainsi, vous devez créer un fichier appelé vstfpd_%.bbappend (% rend valable pour toutes les versions

Ce fichier doit se trouver dans <your-layer>/meta-networking/recipes-daemons. Vous devez également mettre votre commande vsftpd.conf dans <your-layer>/meta-networking/recipes-daemons/vsftpd dossier

Son contenu doit être:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 

do_install_append(){ 
    install -m 644 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir} 
} 

Exemple de méta-OpenEmbedded here

+0

J'ai essayé _______, mais je n'ai pas eu de succès. – BachehKaraji

+0

Pour être sûr que vous êtes bbappend est chargé. Utilisez 'bitbake-layers show-appends | grep vsftpd' –