-
然后在config添加CONFIG_PACKAGE_luci-app-passwall2=y 就可以了?它的依赖是自动添加的? 2.在这种情况下,openclash我只需要它相关的依赖,不把openclash编译进去,那只有一个个添加? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
嗨,对于你的问题,我来介绍一下 OpenWrt 软件包的“依赖”是怎么回事。 依赖是什么凡是可以编译的软件包,都需要一个 Makefile 文件,以 luci-app-passwall 的 Makefile 为例,点进去可以看到 依赖怎样被选中当你 make menuconfig 时,每选中一个软件包,其 Makefile 中包含的全部必要依赖都会被自动选中。同时对于这些依赖,它们本身也有 Makefile,其中也包含新的依赖,这些新的依赖也会被选中。如此传递直到没有任何遗漏。 自动依赖靠谱吗想要自动选择依赖功能靠谱,有两个先决条件: 有了以上基础,依赖问题就很简单了。 Then enjoy it~😃✌ |
Beta Was this translation helpful? Give feedback.
嗨,对于你的问题,我来介绍一下 OpenWrt 软件包的“依赖”是怎么回事。
依赖是什么
凡是可以编译的软件包,都需要一个 Makefile 文件,以 luci-app-passwall 的 Makefile 为例,点进去可以看到
LUCI_DEPENDS:+coreutils +coreutils-base64 +coreutils-nohup +curl
等一系列其他软件包的名字,它们就是这个软件包的必要依赖。
依赖怎样被选中
当你 make menuconfig 时,每选中一个软件包,其 Makefile 中包含的全部必要依赖都会被自动选中。同时对于这些依赖,它们本身也有 Makefile,其中也包含新的依赖,这些新的依赖也会被选中。如此传递直到没有任何遗漏。
自动依赖靠谱吗
想要自动选择依赖功能靠谱,有两个先决条件:
一是各个依赖之间互不冲突,这对于包含在 package 仓库中的包来说一般没问题。
二是依赖本身要包含在 package 仓库里,否则编译时找不到依赖就会报错或者功能缺失。
有了以上基础,依赖问题就很简单了。
对于问题1,想添加一个 luci-app 软件,最简单的办法就是在 config 里加入其本身,因为依赖应该交给软件作者来写好。当然你也要保证依赖在 package 库里存在,比如 immortalwrt-21.02 仓库就没有 sing-box。
对于问题2,没错,需要自己一个个加入,原因是很显而易见的。当然,虽然现在有很多不同的科学上网插件,但是它们的依赖往往有很多重复,所以自行添加也没有那么麻烦。
对于问题3,没错,只要 Makefi…