applications
app-meta-*
Makefile
- 描述文件,参考下文约定logo.png
- 图标文件,目前只支持pngconfig.sh
- 自动配置脚本
fake-top
- 辅助文件,无需关注Makefile
- 辅助文件,无需关注meta.mk
- 辅助文件,无需关注
META_TITLE:=
使用官方名称,如果有中文就用中文META_DESCRIPTION:=
中文描述META_AUTHOR:=
是作者名称,如果是非个人作者则填组织或者公司名称META_DEPENDS:=
的第一个应该是能代表这个APP的主包,方便作为版本更新的依据,不要将其他插件可能依赖的包加到这里,以免卸载时将其他插件也卸载了,如果需要添加额外的包,参考下面的#依赖额外的包META_ARCH:=
用来填写支持的处理器架构,如果是架构无关的应用或者OpenWRT官方仓库支持的软件包则不需要这一行。如果有多个架构用空格隔开,例如x86_64 aarch64
。目前可能的取值有x86_64
,x86
,aarch64
,arm
PKG_VERSION:=
版本号,尽量跟主包保持一致PKG_RELEASE:=
元数据修正版本,必须是数字,可以使用1
,2
,3
或者日期如20240314
。在版本号PKG_VERSION
未变更的情况下可以通过提升PKG_RELEASE
来产生更新。META_WEBSITE:=
官网链接(注意如果链接包含#,需要转义成\#)META_TUTORIAL:=
教程链接(注意如果链接包含#,需要转义成\#)META_AUTOCONF:=
用来配合自动配置脚本,这里填写支持的自动配置参数,如果不支持自动配置请勿包含这一行。如果有多个配置参数用空格隔开,例如path enable
。目前可能的取值有path
(配置/数据路径),enable
(安装完立即启动)META_UCI:=
插件的主要UCI配置文件名,用来检查插件是否已经被手动/自动配置过。填写文件名即可,例如aria2
META_TITLE.en:=
英文名称,如果跟META_TITLE
一样就不用填META_DESCRIPTION.en:=
英文描述
由于 iStore 卸载插件的时候会将META_DEPENDS
列表里的软件包都卸载,所以不能将其他插件共同依赖的软件包加到列表里。一般情况下,插件的主包就已经依赖需要的软件包了,不用再写到META_DEPENDS
中。如果某些软件包没被主包依赖,又希望安装,那么参考下面的步骤:
- 编辑
dummy/Makefile
,添加一行$(eval $(call DummyPackage,插件名-deps,+额外依赖,,0.00))
,例如serverchan
添加额外的+iputils-arping +curl +jq
依赖:$(eval $(call DummyPackage,serverchan-deps,+iputils-arping +curl +jq,,0.00))
- 在之前的
Makefile
的META_DEPENDS:=
位置添加+插件名-deps
,例如serverchan
:META_DEPENDS:=+luci-app-serverchan +serverchan-deps
注意:如果插件依赖 Docker ,请使用META_DEPENDS:=+docker-deps
自动配置插件的脚本,由iStore或其他插件在此插件安装完以后根据用户选择调用。调用时会传入以下环境变量:
变量 | 说明 | 必须 |
---|---|---|
ISTORE_CONF_DIR | 配置文件保存路径,例如/mnt/nvme/Configs |
是 |
ISTORE_CACHE_DIR | 缓存/临时文件保存路径,例如/mnt/nvme/Caches |
是 |
ISTORE_PUBLIC_DIR | 公共文件夹,例如/mnt/nvme/Public |
是 |
ISTORE_DL_DIR | 下载文件保存路径,例如/mnt/nvme/Public/Downloads |
是 |
ISTORE_DONT_START | 自动配置以后不启用插件,取值1或空 | 否 |
以下操作都在github上进行
- Fork 本项目,如果之前Fork过,那先删掉自己的项目重新Fork
- 切换到
main
分支 - 同步上游仓库:点击
Fetch upstream
,再点击Fetch and merge
即可,这一步如有疑问请参考官方文档 - 创建PR用的临时分支:切换到
main
分支,点击分支下拉菜单,在输入框输入新分支的名称(也就是不存在的分支名称),例如add_app_jellyfin
,搜索结果会变成Create branch: *** from 'main'
,点这个搜索结果,稍等会自动创建并切换到新分支 - 在新分支中进行更改,完成以后提交PR
- 等PR合并以后,可以在
branches
页面删除临时分支,也可以保留临时分支,但是不要再进行变更和PR