mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-04 23:43:56 +08:00
🔥 Sync 2026-10-24 23:19:23
This commit is contained in:
1 parent
9886197604
commit
37e1475e87
59 files changed
+5167
-1483
No files matched your search
@@ -2,6 +2,44 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [2.7.3-r3] - 安装命令改用通配文件名,翻译包并入对应包管理器代码块(仅文档)
|
||||
|
||||
`README.md` / `README.en.md` 的安装步骤不再写死版本号:opkg 用
|
||||
`luci-app-substore_*.ipk`,apk 用 `luci-app-substore-*.apk`,避免每次升
|
||||
PKG_RELEASE 后文档里的文件名立刻过期。简体中文翻译包的安装命令移入同一代码块,
|
||||
用注释标明「中文界面需额外安装翻译包」;原先单独的翻译包安装代码块随之删除,
|
||||
只保留 `PKG_PO_VERSION` 的说明。
|
||||
|
||||
### 影响
|
||||
|
||||
**仅文档,无代码、无测试变更。** PKG_RELEASE 按版本约定 `2.7.3-r2` → `2.7.3-r3`,
|
||||
README 与 `docs/INSTALL.md` 的版本号同步更新。全套 **59 个测试文件、179 条断言、
|
||||
0 失败**(未改动被测代码,跑一遍确认无意外)。
|
||||
|
||||
## [2.7.3-r2] - README 章节重排:安装提前,构建并入「从源码编译」(仅文档)
|
||||
|
||||
`README.md` / `README.en.md` 的「安装」整体移到「功能特性」之前,让拿到包的人先看到
|
||||
安装方式、再看能力清单;「安装」末尾新增 **从源码编译** 小节,原先独立成节的
|
||||
「构建」并入其中并删除。
|
||||
|
||||
合并时修正了原「构建」段里一条**不存在的 make 目标**:
|
||||
`make package/luci-i18n-substore-zh-cn/compile` —— make 的目标按目录生成、不按包名,
|
||||
`.github/workflows/build.yml` 与 `docs/BUILD.md` 均已写明这一点。新小节改为经 CI
|
||||
验证过的做法:翻译包与主包同属 `package/luci-app-substore`,随同一条 `compile`
|
||||
命令产出;它是 HIDDEN 包(无 Kconfig prompt),编译前需显式打开语言符号:
|
||||
|
||||
```sh
|
||||
echo "CONFIG_LUCI_LANG_zh_Hans=y" >> .config
|
||||
make defconfig
|
||||
```
|
||||
|
||||
同时把 README 与 `docs/INSTALL.md` 中滞后的版本号 `2.7.2-r1` 同步为 `2.7.3-r2`。
|
||||
|
||||
### 影响
|
||||
|
||||
**仅文档,无代码、无测试变更。** PKG_RELEASE 按版本约定 `2.7.3-r1` → `-r2`。全套
|
||||
**59 个测试文件、179 条断言、0 失败**(未改动被测代码,跑一遍确认无意外)。
|
||||
|
||||
## [2.7.3-r1] - 结清「附:P2 修复范围」:改写为历史范围定义(仅文档)
|
||||
|
||||
`docs/LEGACY_ISSUES.md` 末尾的「附:P2 修复范围」一节,是 P2 **开工时**写下的范围
|
||||
|
||||
@@ -10,7 +10,7 @@ PKG_NAME:=luci-app-substore
|
||||
# 版本约定:每次提交 PKG_RELEASE +1(2.1.2-r1 ~ r9);
|
||||
# 达到 r10 时 PKG_VERSION 末位 +1(2.1.2 -> 2.1.3),PKG_RELEASE 重置为 1。
|
||||
PKG_VERSION:=2.7.3
|
||||
PKG_RELEASE:=24
|
||||
PKG_RELEASE:=25
|
||||
|
||||
LUCI_DEPENDS:=+luci-lua-runtime +luci-compat
|
||||
|
||||
|
||||
@@ -8,6 +8,67 @@ group them, then re-emit them in a format your client can consume.
|
||||
|
||||

|
||||
|
||||
## Installation
|
||||
|
||||
> The version in the package name must match `PKG_VERSION` / `PKG_RELEASE` in the
|
||||
> [Makefile](Makefile) (currently `2.7.3-r3`).
|
||||
|
||||
**Minimum supported: OpenWrt / ImmortalWrt 23.05** (older releases are out of scope).
|
||||
|
||||
opkg (OpenWrt / ImmortalWrt 24.10 and earlier):
|
||||
|
||||
```bash
|
||||
opkg install luci-app-substore_*.ipk
|
||||
# Simplified Chinese UI needs the translation package as well
|
||||
opkg install luci-i18n-substore-zh-cn_*.ipk
|
||||
```
|
||||
|
||||
OpenWrt 25.12 and newer (apk):
|
||||
|
||||
```bash
|
||||
apk add --allow-untrusted luci-app-substore-*.apk
|
||||
# Simplified Chinese UI needs the translation package as well
|
||||
apk add --allow-untrusted luci-i18n-substore-zh-cn-*.apk
|
||||
```
|
||||
|
||||
> The main package ships no translations, so the UI stays English without the
|
||||
> translation package. Its version comes from the `po/` commit time (LuCI's
|
||||
> `PKG_PO_VERSION`), so it does not share the main package's version; install it by
|
||||
> filename wildcard. Set the LuCI language to Simplified Chinese afterwards — the
|
||||
> package's uci-defaults adds it to `luci.languages` automatically.
|
||||
|
||||
Then open LuCI: **Services → Subscriptions**.
|
||||
|
||||
### Building from source
|
||||
|
||||
In an OpenWrt / ImmortalWrt source tree matching the target firmware:
|
||||
|
||||
```sh
|
||||
cd openwrt
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -a
|
||||
git clone https://github.com/Arthur97172/luci-app-substore.git package/luci-app-substore
|
||||
make menuconfig # LuCI → Applications → luci-app-substore
|
||||
make package/luci-app-substore/compile V=s
|
||||
```
|
||||
|
||||
The Simplified Chinese package `luci-i18n-substore-zh-cn` is generated by `luci.mk`
|
||||
from `po/zh_Hans/` and lives in the same `package/luci-app-substore` directory, so the
|
||||
same `compile` command produces it. It is a HIDDEN package (no Kconfig prompt), though,
|
||||
so enable its language symbol before building or it will not be selected:
|
||||
|
||||
```sh
|
||||
echo "CONFIG_LUCI_LANG_zh_Hans=y" >> .config
|
||||
make defconfig
|
||||
```
|
||||
|
||||
> Note that `make package/luci-i18n-substore-zh-cn/compile` is **not a valid target** —
|
||||
> make targets are per directory, not per package name (see
|
||||
> [docs/BUILD.md](docs/BUILD.md)).
|
||||
|
||||
The `.ipk` (or `.apk` on apk builds) is produced under `bin/packages/.../`; install
|
||||
it as described above.
|
||||
|
||||
## Features
|
||||
|
||||
**Subscription management**
|
||||
@@ -85,40 +146,6 @@ group them, then re-emit them in a format your client can consume.
|
||||
**LuCI interface & i18n**
|
||||
- English by default, Simplified Chinese when the runtime language is `zh-cn`
|
||||
|
||||
## Installation
|
||||
|
||||
> The version in the package name must match `PKG_VERSION` / `PKG_RELEASE` in the
|
||||
> [Makefile](Makefile) (currently `2.7.2-r1`).
|
||||
|
||||
**Minimum supported: OpenWrt / ImmortalWrt 23.05** (older releases are out of scope).
|
||||
|
||||
opkg (OpenWrt / ImmortalWrt 24.10 and earlier):
|
||||
|
||||
```bash
|
||||
opkg install luci-app-substore-2.7.2-r1.ipk
|
||||
```
|
||||
|
||||
apk (OpenWrt / ImmortalWrt 25.12+):
|
||||
|
||||
```bash
|
||||
apk add --allow-untrusted luci-app-substore-2.7.2-r1.apk
|
||||
```
|
||||
|
||||
The Simplified Chinese UI needs a **separately installed** translation package —
|
||||
the main package ships no translations, so the UI stays English without it:
|
||||
|
||||
```bash
|
||||
opkg install luci-i18n-substore-zh-cn_*.ipk # 24.10 and earlier
|
||||
apk add --allow-untrusted luci-i18n-substore-zh-cn_*.apk # 25.12+
|
||||
```
|
||||
|
||||
> Its version comes from the `po/` commit time (LuCI's `PKG_PO_VERSION`), so it
|
||||
> does not share the main package's `2.7.2-r1`; install it by filename wildcard.
|
||||
> Set the LuCI language to Simplified Chinese afterwards — the package's
|
||||
> uci-defaults adds it to `luci.languages` automatically.
|
||||
|
||||
Then open LuCI: **Services → Subscriptions**.
|
||||
|
||||
## Usage
|
||||
|
||||
1. **Add a subscription** — paste the subscription URL; optionally set up a
|
||||
@@ -208,21 +235,6 @@ oversight; the reasoning for each is in
|
||||
- [CHANGELOG.md](CHANGELOG.md) — changelog
|
||||
- [docs/LEGACY_ISSUES.md](docs/LEGACY_ISSUES.md) — known unfixed issues (pending decision)
|
||||
|
||||
## Building
|
||||
|
||||
Place the package under an OpenWrt / ImmortalWrt SDK or source tree matching the
|
||||
target firmware, then:
|
||||
|
||||
```bash
|
||||
cp -r luci-app-substore <openwrt-tree>/package/
|
||||
make package/luci-app-substore/compile V=s
|
||||
# Simplified Chinese is a separate package (luci.mk auto-generates it from
|
||||
# po/zh_Hans/), so it must be compiled on its own:
|
||||
make package/luci-i18n-substore-zh-cn/compile V=s
|
||||
```
|
||||
|
||||
The `.ipk` (or `.apk` on apk builds) is produced under `bin/packages/.../`.
|
||||
|
||||
## Development & testing
|
||||
|
||||
The core is plain Lua 5.1 with no `luci.*` dependency, so it is unit-testable
|
||||
|
||||
+56
-45
@@ -10,6 +10,62 @@
|
||||
|
||||

|
||||
|
||||
## 安装
|
||||
|
||||
> 包名中的版本号必须与 [Makefile](Makefile) 的 `PKG_VERSION` / `PKG_RELEASE` 保持一致
|
||||
> (当前 `2.7.3-r3`)。
|
||||
|
||||
**最低支持 OpenWrt / ImmortalWrt 23.05**(更早的版本不在支持范围内)。
|
||||
|
||||
opkg(OpenWrt / ImmortalWrt 24.10 及更早):
|
||||
|
||||
```bash
|
||||
opkg install luci-app-substore_*.ipk
|
||||
# 中文界面需额外安装翻译包
|
||||
opkg install luci-i18n-substore-zh-cn_*.ipk
|
||||
```
|
||||
|
||||
OpenWrt 25.12 及更新版本(apk):
|
||||
|
||||
```bash
|
||||
apk add --allow-untrusted luci-app-substore-*.apk
|
||||
# 中文界面需额外安装翻译包
|
||||
apk add --allow-untrusted luci-i18n-substore-zh-cn-*.apk
|
||||
```
|
||||
|
||||
> 主包不含译文,未装翻译包时界面为英文。翻译包的版本号由 `po/` 目录的提交时间推导
|
||||
> (LuCI 的 `PKG_PO_VERSION`),与主包不同名,按文件名通配安装即可。装好后 LuCI
|
||||
> 语言设为「简体中文」即生效(该包的 uci-defaults 会自动把它加进 `luci.languages`)。
|
||||
|
||||
然后在 LuCI 菜单打开:**服务 → 订阅**。
|
||||
|
||||
### 从源码编译
|
||||
|
||||
在版本与目标固件匹配的 OpenWrt / ImmortalWrt 源码树中:
|
||||
|
||||
```sh
|
||||
cd openwrt
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -a
|
||||
git clone https://github.com/Arthur97172/luci-app-substore.git package/luci-app-substore
|
||||
make menuconfig # LuCI → Applications → luci-app-substore
|
||||
make package/luci-app-substore/compile V=s
|
||||
```
|
||||
|
||||
简体中文翻译包 `luci-i18n-substore-zh-cn` 由 `luci.mk` 按 `po/zh_Hans/` 自动生成,
|
||||
与主包同属 `package/luci-app-substore` 目录,随同一条 `compile` 命令一并产出。但它是
|
||||
HIDDEN 包(无 Kconfig prompt),编译前要显式打开语言符号,否则不会被选中:
|
||||
|
||||
```sh
|
||||
echo "CONFIG_LUCI_LANG_zh_Hans=y" >> .config
|
||||
make defconfig
|
||||
```
|
||||
|
||||
> 注意**不存在** `make package/luci-i18n-substore-zh-cn/compile` 这个目标 —— make 的
|
||||
> 目标按目录生成,不按包名(详见 [docs/BUILD.md](docs/BUILD.md))。
|
||||
|
||||
`.ipk`(或 apk 构建下的 `.apk`)生成于 `bin/packages/.../` 下,按上面的方式安装即可。
|
||||
|
||||
## 功能特性
|
||||
|
||||
**订阅管理**
|
||||
@@ -72,38 +128,6 @@
|
||||
**LuCI 界面与国际化**
|
||||
- 默认英文,运行时语言为 `zh-cn` 时自动显示简体中文
|
||||
|
||||
## 安装
|
||||
|
||||
> 包名中的版本号必须与 [Makefile](Makefile) 的 `PKG_VERSION` / `PKG_RELEASE` 保持一致
|
||||
> (当前 `2.7.2-r1`)。
|
||||
|
||||
**最低支持 OpenWrt / ImmortalWrt 23.05**(更早的版本不在支持范围内)。
|
||||
|
||||
opkg(OpenWrt / ImmortalWrt 24.10 及更早):
|
||||
|
||||
```bash
|
||||
opkg install luci-app-substore-2.7.2-r1.ipk
|
||||
```
|
||||
|
||||
apk(OpenWrt / ImmortalWrt 25.12+):
|
||||
|
||||
```bash
|
||||
apk add --allow-untrusted luci-app-substore-2.7.2-r1.apk
|
||||
```
|
||||
|
||||
简体中文界面需要**单独安装**翻译包 —— 主包不含译文,未装时界面为英文:
|
||||
|
||||
```bash
|
||||
opkg install luci-i18n-substore-zh-cn_*.ipk # 24.10 及更早
|
||||
apk add --allow-untrusted luci-i18n-substore-zh-cn_*.apk # 25.12+
|
||||
```
|
||||
|
||||
> 翻译包的版本号由 `po/` 目录的提交时间推导(LuCI 的 `PKG_PO_VERSION`),
|
||||
> 与主包的 `2.7.2-r1` 不同名,按文件名通配安装即可。装好后 LuCI 语言设为
|
||||
> 「简体中文」即生效(该包的 uci-defaults 会自动把它加进 `luci.languages`)。
|
||||
|
||||
然后在 LuCI 菜单打开:**服务 → 订阅**。
|
||||
|
||||
## 使用方法
|
||||
|
||||
1. **添加订阅** —— 粘贴订阅 URL;可选的按订阅 cron 定时、规则或下载代理。
|
||||
@@ -180,19 +204,6 @@ apk add --allow-untrusted luci-i18n-substore-zh-cn_*.apk # 25.12+
|
||||
- [CHANGELOG.md](CHANGELOG.md) — 更新日志
|
||||
- [docs/LEGACY_ISSUES.md](docs/LEGACY_ISSUES.md) — 遗留缺陷汇总(待决定修复方案)
|
||||
|
||||
## 构建
|
||||
|
||||
将本包放入与目标固件版本匹配的 OpenWrt / ImmortalWrt SDK 或源码树:
|
||||
|
||||
```bash
|
||||
cp -r luci-app-substore <openwrt-tree>/package/
|
||||
make package/luci-app-substore/compile V=s
|
||||
# 简体中文翻译是独立包(luci.mk 按 po/zh_Hans/ 自动生成),需要单独编译:
|
||||
make package/luci-i18n-substore-zh-cn/compile V=s
|
||||
```
|
||||
|
||||
`.ipk`(或 apk 构建下的 `.apk`)生成于 `bin/packages/.../` 下。
|
||||
|
||||
## 开发与测试
|
||||
|
||||
核心逻辑为纯 Lua 5.1,不依赖 `luci.*`,无需设备即可单元测试。`tests/` 下每个测试文件自包含:
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
> NOTE: stage-0 skeleton has not yet been installed/verified on a target device.
|
||||
> This document will be updated once installation is validated.
|
||||
>
|
||||
> 包名中的版本号需与 Makefile 的 `PKG_VERSION` / `PKG_RELEASE` 保持同步(当前 2.7.2-r1)。
|
||||
> 包名中的版本号需与 Makefile 的 `PKG_VERSION` / `PKG_RELEASE` 保持同步(当前 2.7.3-r3)。
|
||||
|
||||
**最低支持 OpenWrt / ImmortalWrt 23.05**(更早的版本不在支持范围内 —— 23.05 起
|
||||
LuCI 使用 ucode dispatcher,ACL 的入口级校验依赖它,见
|
||||
@@ -12,13 +12,13 @@ LuCI 使用 ucode dispatcher,ACL 的入口级校验依赖它,见
|
||||
## Install (opkg — OpenWrt / ImmortalWrt 24.10 及更早)
|
||||
|
||||
```bash
|
||||
opkg install luci-app-substore-2.7.2-r1.ipk
|
||||
opkg install luci-app-substore-2.7.3-r3.ipk
|
||||
```
|
||||
|
||||
## Install (apk — OpenWrt / ImmortalWrt 25.12+)
|
||||
|
||||
```bash
|
||||
apk add --allow-untrusted luci-app-substore-2.7.2-r1.apk
|
||||
apk add --allow-untrusted luci-app-substore-2.7.3-r3.apk
|
||||
```
|
||||
|
||||
## Install the Simplified Chinese translation (optional, separate package)
|
||||
@@ -32,7 +32,7 @@ apk add --allow-untrusted luci-i18n-substore-zh-cn_*.apk # 25.12+
|
||||
```
|
||||
|
||||
该包的版本号由 `po/` 目录的提交时间推导(LuCI 的 `PKG_PO_VERSION`),
|
||||
与主包的 `2.7.2-r1` 不同名,按文件名通配安装即可。它会安装
|
||||
与主包的 `2.7.3-r3` 不同名,按文件名通配安装即可。它会安装
|
||||
`/usr/lib/lua/luci/i18n/substore.zh-cn.lmo`,并通过 uci-defaults 把
|
||||
`zh_cn` 加进 `luci.languages`;把 LuCI 语言切到「简体中文」即生效。
|
||||
|
||||
|
||||
Reference in new issue
Block a user