mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-02 19:03:56 +08:00
🏅 Sync 2026-09-29 23:26:13
This commit is contained in:
1 parent
24a2a6e85c
commit
7829fcd774
2 files changed
+28
-6
No files matched your search
+14
-3
@@ -26,7 +26,7 @@ endif
|
|||||||
|
|
||||||
PKG_NAME:=meow
|
PKG_NAME:=meow
|
||||||
PKG_VERSION:=$(MEOW_VERSION)
|
PKG_VERSION:=$(MEOW_VERSION)
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=3
|
||||||
|
|
||||||
# 直接用上游 release 的 aarch64 静态 musl 二进制,不在 buildroot 内交叉编译 Rust
|
# 直接用上游 release 的 aarch64 静态 musl 二进制,不在 buildroot 内交叉编译 Rust
|
||||||
PKG_SOURCE:=$(MEOW_TARBALL_FILE)
|
PKG_SOURCE:=$(MEOW_TARBALL_FILE)
|
||||||
@@ -55,12 +55,23 @@ define Package/meow/description
|
|||||||
透明代理 / 网关模式需自行选中内核模块:kmod-nft-tproxy kmod-nft-socket
|
透明代理 / 网关模式需自行选中内核模块:kmod-nft-tproxy kmod-nft-socket
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# 预编译二进制:解包即可;上游 tarball 内部布局变化时自动定位二进制
|
预编译二进制:解包后定位 meow 并安装到 $(PKG_BUILD_DIR)/meow
|
||||||
|
|
||||||
|
注意 1:配方里的 shell 变量与命令替换必须写成 $$ 形式($$BIN、$$(find ...))。
|
||||||
|
写成单个 $ 时 make 会先做变量展开:$B 展开为空、$(find ...) 展开为空,
|
||||||
|
命令退化成 BIN=; ... install -m 0755 "IN" ...,报错 install: cannot stat 'IN'。
|
||||||
|
|
||||||
|
注意 2:OpenWrt 的解包命令为 tar -C $(PKG_BUILD_DIR)/.. -xf -,不带
|
||||||
|
--strip-components,tarball 顶层目录会落在 $(PKG_BUILD_DIR) 的同级位置。
|
||||||
|
上游 release 顶层目录是 meow-v<ver>-aarch64-unknown-linux-musl;自建扁平
|
||||||
|
结构 tarball 的 meow 会直接落在 $(PKG_BUILD_DIR)/.. 下。故搜索范围必须
|
||||||
|
同时覆盖 $(PKG_BUILD_DIR) 与其父目录,否则会误报未找到 meow 二进制。
|
||||||
define Build/Prepare
|
define Build/Prepare
|
||||||
$(call Build/Prepare/Default)
|
$(call Build/Prepare/Default)
|
||||||
if [ ! -f $(PKG_BUILD_DIR)/meow ]; then \
|
if [ ! -f $(PKG_BUILD_DIR)/meow ]; then \
|
||||||
BIN=$$(find $(PKG_BUILD_DIR) -type f -name meow | head -n1); \
|
BIN=$$(find $(PKG_BUILD_DIR) $(PKG_BUILD_DIR)/.. -maxdepth 3 -type f -name meow 2>/dev/null | head -n1); \
|
||||||
[ -n "$$BIN" ] || { echo "ERROR: $(PKG_SOURCE) 内未找到 meow 二进制"; exit 1; }; \
|
[ -n "$$BIN" ] || { echo "ERROR: $(PKG_SOURCE) 内未找到 meow 二进制"; exit 1; }; \
|
||||||
|
echo "meow binary: $$BIN"; \
|
||||||
install -m 0755 "$$BIN" $(PKG_BUILD_DIR)/meow; \
|
install -m 0755 "$$BIN" $(PKG_BUILD_DIR)/meow; \
|
||||||
fi
|
fi
|
||||||
endef
|
endef
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ new file mode 100644
|
|||||||
index 0000000..69ef4e4
|
index 0000000..69ef4e4
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/meow/Makefile
|
+++ b/meow/Makefile
|
||||||
@@ -0,0 +1,118 @@
|
@@ -0,0 +1,129 @@
|
||||||
+#
|
+#
|
||||||
+# meow —— OpenWrt 包定义
|
+# meow —— OpenWrt 包定义
|
||||||
+#
|
+#
|
||||||
@@ -61,12 +61,23 @@ index 0000000..69ef4e4
|
|||||||
+ 透明代理 / 网关模式需自行选中内核模块:kmod-nft-tproxy kmod-nft-socket
|
+ 透明代理 / 网关模式需自行选中内核模块:kmod-nft-tproxy kmod-nft-socket
|
||||||
+endef
|
+endef
|
||||||
+
|
+
|
||||||
+# 预编译二进制:解包即可;上游 tarball 内部布局变化时自动定位二进制
|
+预编译二进制:解包后定位 meow 并安装到 $(PKG_BUILD_DIR)/meow
|
||||||
|
+
|
||||||
|
+注意 1:配方里的 shell 变量与命令替换必须写成 $$ 形式($$BIN、$$(find ...))。
|
||||||
|
+ 写成单个 $ 时 make 会先做变量展开:$B 展开为空、$(find ...) 展开为空,
|
||||||
|
+ 命令退化成 BIN=; ... install -m 0755 "IN" ...,报错 install: cannot stat 'IN'。
|
||||||
|
+
|
||||||
|
+注意 2:OpenWrt 的解包命令为 tar -C $(PKG_BUILD_DIR)/.. -xf -,不带
|
||||||
|
+ --strip-components,tarball 顶层目录会落在 $(PKG_BUILD_DIR) 的同级位置。
|
||||||
|
+ 上游 release 顶层目录是 meow-v<ver>-aarch64-unknown-linux-musl;自建扁平
|
||||||
|
+ 结构 tarball 的 meow 会直接落在 $(PKG_BUILD_DIR)/.. 下。故搜索范围必须
|
||||||
|
+ 同时覆盖 $(PKG_BUILD_DIR) 与其父目录,否则会误报未找到 meow 二进制。
|
||||||
+define Build/Prepare
|
+define Build/Prepare
|
||||||
+ $(call Build/Prepare/Default)
|
+ $(call Build/Prepare/Default)
|
||||||
+ if [ ! -f $(PKG_BUILD_DIR)/meow ]; then \
|
+ if [ ! -f $(PKG_BUILD_DIR)/meow ]; then \
|
||||||
+ BIN=$$(find $(PKG_BUILD_DIR) -type f -name meow | head -n1); \
|
+ BIN=$$(find $(PKG_BUILD_DIR) $(PKG_BUILD_DIR)/.. -maxdepth 3 -type f -name meow 2>/dev/null | head -n1); \
|
||||||
+ [ -n "$$BIN" ] || { echo "ERROR: $(PKG_SOURCE) 内未找到 meow 二进制"; exit 1; }; \
|
+ [ -n "$$BIN" ] || { echo "ERROR: $(PKG_SOURCE) 内未找到 meow 二进制"; exit 1; }; \
|
||||||
|
+ echo "meow binary: $$BIN"; \
|
||||||
+ install -m 0755 "$$BIN" $(PKG_BUILD_DIR)/meow; \
|
+ install -m 0755 "$$BIN" $(PKG_BUILD_DIR)/meow; \
|
||||||
+ fi
|
+ fi
|
||||||
+endef
|
+endef
|
||||||
|
|||||||
Reference in new issue
Block a user