Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将相同的文件添加到多个包中_Linux_Yocto_Openembedded - Fatal编程技术网

Linux 将相同的文件添加到多个包中

Linux 将相同的文件添加到多个包中,linux,yocto,openembedded,Linux,Yocto,Openembedded,我有一个例子,其中三个二进制文件位于/usr/bin目录中,并且希望测试程序位于一个单独的包中: /usr/bin/execbin1 /usr/bin/execbin2 /usr/bin/test 在配方文件中,我指定了构建中需要的包 PACKAGES = "${PN}-dbg ${PN}-custom ${PN} ${PN}-doc ${PN}-dev ${PN}-locale" 现在我想在${PN}-custom包中添加/usr/bin/test。我做了以下工作: FILES_${PN}

我有一个例子,其中三个二进制文件位于
/usr/bin
目录中,并且希望测试程序位于一个单独的包中:

/usr/bin/execbin1 /usr/bin/execbin2 /usr/bin/test
在配方文件中,我指定了构建中需要的包

PACKAGES = "${PN}-dbg ${PN}-custom ${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
现在我想在${PN}-custom包中添加
/usr/bin/test
。我做了以下工作:

FILES_${PN}-custom = "${bindir}/test"
FILES_${PN} = "${bindir}/*"
考虑这样一种情况,即我还希望在中添加相同的
/usr/bin/test
${PN}包。我尝试了以下方法:

FILES_${PN}-custom = "${bindir}/test"
FILES_${PN} = "${bindir}/*"
但是生成的${PN}包只有
execbin1
execbin1
。 我需要
${PN}
包中的所有二进制文件


有什么建议吗?

您不能将同一个文件放在多个包中。没有必要:为什么PN不能依赖于PN自定义?

您不能将同一个文件放在多个包中。没有必要:为什么PN不能依赖于PN定制?

让您的普通包(没有任何后缀的包)依赖于您的定制包:

RDEPENDS_${PN} += "${PN}-custom"
正如您所描述的问题,我理解它只是一个运行时依赖项,但如果您在构建时需要它,同样的原理也适用(
依赖于
),当然。

让您的普通包(没有任何后缀的包)依赖于您的自定义包:

RDEPENDS_${PN} += "${PN}-custom"

正如您所描述的问题,我理解它只是一个运行时依赖关系,但是如果您在构建时需要它,同样的原理也适用(
依赖于
),当然。

据我所知,这不是默认的方法,所以我想这可能很棘手。另一方面,我不明白为什么您需要一次在${PN}内的测试程序,而另一次不需要。如果需要testprogram,请将${PN}-custom安装到映像中,如果不需要,请简单地说,我也没有尝试过,r提供${PN}+=“${PN}-custom”。仍然没有希望。旁注没有回答你的问题:如果你想定义新的包来在
${PN}
之前提取东西,你可以使用
package\u-before\u-PN+=“${PN}-custom”
,所以你不需要修改默认的
PACKAGES
变量。@tomasnovy你的意思是
package\u-before\u-PN+=“${PN}-custom”
。我相信这与
PACKAGES=“${PN}-dbg${PN}-custom${PN}${PN}-doc${PN}-dev${PN}-locale”
?@Sam我的意思是
PACKAGE\u-BEFORE\u-PN
,请参阅。这是不一样的,因为在
包中订购
很重要,而且您的服务也不同。最好不要接触“系统”变量(例如,为了可维护性)。据我所知,这不是默认的方法,所以我想这可能会很棘手。另一方面,我不明白为什么您需要一次在${PN}内的测试程序,而另一次不需要。如果需要testprogram,请将${PN}-custom安装到映像中,如果不需要,请简单地说,我也没有尝试过,r提供${PN}+=“${PN}-custom”。仍然没有希望。旁注没有回答你的问题:如果你想定义新的包来在
${PN}
之前提取东西,你可以使用
package\u-before\u-PN+=“${PN}-custom”
,所以你不需要修改默认的
PACKAGES
变量。@tomasnovy你的意思是
package\u-before\u-PN+=“${PN}-custom”
。我相信这与
PACKAGES=“${PN}-dbg${PN}-custom${PN}${PN}-doc${PN}-dev${PN}-locale”
?@Sam我的意思是
PACKAGE\u-BEFORE\u-PN
,请参阅。这是不一样的,因为在
包中订购
很重要,而且您的服务也不同。最好不要触摸“系统”变量(例如为了可维护性)。
RPROVIDES{PN}+=“${PN}-custom”
RPROVIDES{PN}+=“${PN}-custom”