我不想bash
在我的 yocto 图像中,但它包含在几个依赖项中。我能够摆脱其中的大多数,现在只剩rpm
下(我需要的)。
追踪它,我发现只有两个脚本
#!/bin/bash
没有明显的原因有一个shebang。编写一个bbappend
补丁来修补这两个脚本的解释器行并RDEPEND
成功删除 encybitbake
是一个可以工作的图像(包括 rpm 数据包安装)。
但这仍然让人感到不舒服,因为有人可能有理由明确要求bash
脚本。Shellcheck.net 有足够的警告,但没有关于 POSIX 不兼容的警告。
你能看到不以bash
这种简单的方式消除依赖的原因吗?
事实证明,最终需要删除更多依赖项。我的最终补丁
recipes-devtools/rpm/files/0001-remove-bash-dependency.patch
看起来像:只有依赖检查似乎真的依赖于
bash
功能,但无论如何,即使使用bash
. 没有依赖检查的安装工作。这对我来说没关系。但后来我发现了其他几个声称使用 any 的脚本
/bin/sh
,但充满了 bashisms ...叹息