2026/6/11 16:47:12
网站建设
项目流程
网站注册表单怎么做,如何拥有自己的私人网站平台,新乡定制网站建设公司,网络运营好学吗文章目录 需求思路实现Yocto_dev上的操作Yocto_rel上的操作 需求
软件开发有两个工程#xff1a;
用于开发的工程#xff1a;Yocto_dev用于发布给客户的工程#xff1a;Yocto_rel
将Yocto_dev中的模块Foo#xff0c;已闭源的方式发布到Yocto_rel中。
思路
在Yocto_dev…文章目录需求思路实现Yocto_dev上的操作Yocto_rel上的操作需求软件开发有两个工程用于开发的工程Yocto_dev用于发布给客户的工程Yocto_rel将Yocto_dev中的模块Foo已闭源的方式发布到Yocto_rel中。思路在Yocto_dev上构建Foo生成Foo的rpm包在Yocto_dev上建立名为Foo_rel的layer在Foo_rel中将Foo的rpm包安装到镜像中。实现Yocto_dev上的操作在Yocto_dev上构建Foo。构建后便可以得到${WORKDIR}/deploy-rpms/${TRANSLATED_TARGET_ARCH}/${PN}-${PV}-${PR}.${TRANSLATED_TARGET_ARCH}.rpm包.也可以在Yocto_dev的Foo.bb中添加以下代码用于将rpm文档拷贝到build/rpm目录下。inherit deploy do_deploy[nostamp]1do_deploy(){install-d${TOPDIR}/rpminstall-m0644${WORKDIR}/deploy-rpms/${TRANSLATED_TARGET_ARCH}/${PN}-${PV}-${PR}.${TRANSLATED_TARGET_ARCH}.rpm${TOPDIR}/rpm}addtask deploy after do_package_write_rpm before do_buildYocto_rel上的操作创建一个名为Foo_rel的layer结构如下Foo_rel - files -- rpm --- Foo.rpm - Foo_rel.bbFoo_rel.bb的作用是将files/rpm/Foo.rpm的安装到镜像。而Foo.rpm是从Yocto_dev的构建中拷贝出来的rpm包。DESCRIPTIONInstall filesLICENSECLOSEDSRC_URIfile://rpmSRCREV_${PN}${AUTOREV}DEPENDSrpm-nativeS${WORKDIR}/rpmINHIBIT_PACKAGE_STRIP1INHIBIT_PACKAGE_DEBUG_SPLIT1INSANE_SKIP:${PN}already-stripped dev-deps file-rdepsINSANE_SKIP:${PN}-devdev-elf dev-deps file-rdepsdo__compile(){:}do_install(){rpm2cpio ${S}/Foo.rpm|cpio-idmv--no-absolute-filenames-D ${D}}FILES:${PN}/FILES_${PN}-dev/如果有多个rpm需要安装可以将rpm都放到一起然后将do_install()变更为do_install(){forrpm_filein${S}/*.rpm;do rpm2cpio ${rpm_file}|cpio-idmv--no-absolute-filenames-D ${D}done}