mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-02 07:43:56 +08:00
🎉 Sync 2026-10-01 14:45:51
This commit is contained in:
1 parent
f1518a803c
commit
620e59fee5
124 files changed
+21594
-1
No files matched your search
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
|
||||
changed=0
|
||||
|
||||
if ! uci -q get "luci.themes.Liquid" 2>/dev/null; then
|
||||
uci set "luci.themes.Liquid=/luci-static/liquid"
|
||||
changed=1
|
||||
fi
|
||||
|
||||
# 首次安装(非升级)时无条件将默认主题设为 liquid:
|
||||
# 固件编译场景下 luci.main.mediaurlbase 可能已被 luci-base 的
|
||||
# uci-defaults 预设为 /luci-static/bootstrap(或用户 sed 改的集合
|
||||
# 默认),若不覆盖,首次进入 LuCI 会 fallback 到 themes/null。
|
||||
# 单独判断 PKG_UPGRADE,不依赖 themes.Liquid 是否已注册
|
||||
# (固件可能已预置注册但 mediaurlbase 未指向 liquid);
|
||||
# 若已是 liquid 则跳过(避免无谓 commit)。
|
||||
if [ "$PKG_UPGRADE" != 1 ] && \
|
||||
[ "$(uci -q get luci.main.mediaurlbase)" != "/luci-static/liquid" ]; then
|
||||
uci set "luci.main.mediaurlbase=/luci-static/liquid"
|
||||
changed=1
|
||||
fi
|
||||
|
||||
if [ $changed = 1 ]; then
|
||||
uci commit luci
|
||||
fi
|
||||
|
||||
# 主题持久化配置(模式/主题色/Bing 壁纸开关):首次安装时创建默认 section
|
||||
if [ ! -f /etc/config/liquid ]; then
|
||||
touch /etc/config/liquid
|
||||
uci set "liquid.theme=theme"
|
||||
uci commit liquid
|
||||
fi
|
||||
|
||||
# 清除 LuCI 路由缓存,使主题新增的 save_config 端点(menu.d/controller)立即可用
|
||||
rm -f /tmp/luci-indexcache /tmp/luci-indexcache.* 2>/dev/null
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Zed 自签 APK 公钥:条件写入(已有则跳过,添加不覆盖)。
|
||||
#
|
||||
# 为什么用 uci-defaults 而不是只靠 postinst:
|
||||
# 固件构建时**不执行包脚本**——package/Makefile 与 image.mk 里的 apk
|
||||
# 调用都带 --no-scripts,postinst 在构建期不会跑,所以"第三方编译固件
|
||||
# 包含本主题"时 postinst 方案无法把公钥带进镜像。
|
||||
# 而 /etc/uci-defaults/ 下的包文件会随 rootfs 留在固件里,设备**首次
|
||||
# 开机**由 /etc/init.d/boot 自动执行 —— 公钥信任自动建立,无需用户
|
||||
# 任何操作;对装过 pushbot 的设备则检测到同名文件直接跳过。
|
||||
#
|
||||
# 为什么不做成包内文件:
|
||||
# pushbot 与主题会带同一把公钥;apk 严格追踪文件归属,两个包 manifest
|
||||
# 声明同一路径会报 "trying to overwrite ... owned by" 冲突。
|
||||
# 本脚本创建的文件不在任何包 manifest 内 → 多包共存各写一次、后者跳过。
|
||||
#
|
||||
# 设备端还有两条同样的兜底路径:包 postinst(在线安装时)与 OTA 安装前
|
||||
# 自举(老设备首次走 OTA 时),三者都是"有则跳过"的幂等写入。
|
||||
|
||||
[ -f /etc/apk/keys/zed-openwrt-apk.pem ] || {
|
||||
mkdir -p /etc/apk/keys
|
||||
printf '%s\n' \
|
||||
'-----BEGIN PUBLIC KEY-----' \
|
||||
'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE16+nzzY9Lx5wvzZoWs/18vZxsNZD' \
|
||||
'jv+CqECJLUj+fA7J228Iu13DVUO8CK9jQyLHtqkw0f4/X2bKLlLiz281zQ==' \
|
||||
'-----END PUBLIC KEY-----' > /etc/apk/keys/zed-openwrt-apk.pem
|
||||
}
|
||||
|
||||
exit 0
|
||||
Reference in new issue
Block a user