news 2026/4/17 23:18:27

【Yocto】将编写软件已闭源的方式发布

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Yocto】将编写软件已闭源的方式发布

文章目录

  • 需求
  • 思路
  • 实现
    • Yocto_dev上的操作
    • Yocto_rel上的操作

需求

软件开发有两个工程:

  1. 用于开发的工程:Yocto_dev
  2. 用于发布给客户的工程:Yocto_rel

将Yocto_dev中的模块Foo,已闭源的方式发布到Yocto_rel中。

思路

  1. 在Yocto_dev上构建Foo,生成Foo的rpm包
  2. 在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]="1"do_deploy(){install-d"${TOPDIR}/rpm"install-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_build

Yocto_rel上的操作

创建一个名为Foo_rel的layer,结构如下

Foo_rel - files -- rpm --- Foo.rpm - Foo_rel.bb

Foo_rel.bb的作用是将files/rpm/Foo.rpm的安装到镜像。而Foo.rpm是从Yocto_dev的构建中拷贝出来的rpm包。

DESCRIPTION="Install files"LICENSE="CLOSED"SRC_URI="file://rpm"SRCREV_${PN}="${AUTOREV}"DEPENDS="rpm-native"S="${WORKDIR}/rpm"INHIBIT_PACKAGE_STRIP="1"INHIBIT_PACKAGE_DEBUG_SPLIT="1"INSANE_SKIP:${PN}+="already-stripped dev-deps file-rdeps"INSANE_SKIP:${PN}-dev+="dev-elf dev-deps file-rdeps"do__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}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 15:29:51

字节一面:千万级订单表新增字段怎么弄?

故事背景最近我们遇到了一个看似简单但背后很有坑的需求:在千万级订单表中新增一个业务字段。需求来自隔壁项目组,他们需要这个字段做一些统计分析。从开发角度看,这事很常见,新增字段嘛,直接ALTER TABLE加一下不就行了…

作者头像 李华
网站建设 2026/4/17 15:21:46

小程序毕设项目推荐-基于微信小程序羽球快讯爱好者平台基于springboot+微信小程序的羽球快讯爱好者平台小程序【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/17 21:12:38

小程序毕设项目推荐-基于微信小程序的交通违法有奖曝光平台设计与实现基于springboot+微信小程序的的交通违法有奖曝光平台【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/14 7:22:11

精度下降预警机制设计,工业质检Agent稳定性保障的最后防线

第一章:精度下降预警机制设计,工业质检Agent稳定性保障的最后防线在高自动化产线中,质检Agent长期运行可能因模型漂移、环境噪声或设备老化导致识别精度隐性下降。若未及时发现,将引发批量误检,造成重大质量事故。为此…

作者头像 李华
网站建设 2026/4/16 10:40:15

真正能升上去的人,最会处理模糊地带

职场里有个残酷规律:越往上走,越没有“标准答案”。流程不清晰、责任边界不明确、资源分配模糊、方向时常变动……你以为这是混乱,其实这是组织在筛人。因为真正能升上去的人,都有一个共同点——他们最会处理模糊地带。 为什么&am…

作者头像 李华
网站建设 2026/4/17 15:32:00

算法---LeetCode 572. 另一棵树的子树

1. 题目 原题链接 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree…

作者头像 李华