openwrt-app-meta
openwrt-app-meta copied to clipboard
ipk元数据,用于istore的软件列表
OpenWRT应用程序元数据
目录结构
-
applications
-
app-meta-*
-
Makefile
- 描述文件,参考下文约定 -
logo.png
- 图标文件,目前只支持png
-
-
-
fake-top
- 辅助文件,无需关注 -
Makefile
- 辅助文件,无需关注 -
meta.mk
- 辅助文件,无需关注
Makefile书写约定
-
META_TITLE:=
使用官方名称,如果有中文就用中文 -
META_DESCRIPTION:=
中文描述 -
META_AUTHOR:=
是作者名称,如果是非个人作者则填组织或者公司名称 -
META_DEPENDS:=
的第一个应该是能代表这个APP的主包,方便作为版本更新的依据,不要将其他插件可能依赖的包加到这里,以免卸载时将其他插件也卸载了,如果需要添加额外的包,参考下面的#依赖额外的包 -
META_ARCH:=
用来填写支持的处理器架构,如果是架构无关的应用或者OpenWRT官方仓库支持的软件包则不需要这一行。如果有多个架构用空格隔开,例如x86_64 aarch64_cortex-a53
-
PKG_VERSION:=
版本号,尽量跟主包保持一致 -
PKG_RELEASE:=
元数据修正版本,必须是数字,可以使用1
,2
,3
或者日期如20240314
。在版本号PKG_VERSION
未变更的情况下可以通过提升PKG_RELEASE
来产生更新。 -
META_WEBSITE:=
官网链接(注意如果链接包含#,需要转义成\#) -
META_TUTORIAL:=
教程链接(注意如果链接包含#,需要转义成\#)
国际化
-
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
在线提交流程
以下操作都在github上进行
准备工作
- Fork 本项目,如果之前Fork过,那先删掉自己的项目重新Fork
修改元数据
- 切换到
main
分支 - 同步上游仓库:点击
Fetch upstream
,再点击Fetch and merge
即可,这一步如有疑问请参考官方文档 - 创建PR用的临时分支:切换到
main
分支,点击分支下拉菜单,在输入框输入新分支的名称(也就是不存在的分支名称),例如add_app_jellyfin
,搜索结果会变成Create branch: *** from 'main'
,点这个搜索结果,稍等会自动创建并切换到新分支 - 在新分支中进行更改,完成以后提交PR
- 等PR合并以后,可以在
branches
页面删除临时分支,也可以保留临时分支,但是不要再进行变更和PR