v2rayN/debian/rules

51 lines
1.5 KiB
Text
Raw Normal View History

#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export DOTNET_CLI_TELEMETRY_OPTOUT=1
# 推断目标 RID按构建机架构
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
ifeq ($(DEB_HOST_ARCH),amd64)
RID := linux-x64
else ifeq ($(DEB_HOST_ARCH),arm64)
RID := linux-arm64
else
$(error Unsupported architecture $(DEB_HOST_ARCH))
endif
# 预编译产物期望位置(随源包一起上传)
PREBUILT_DIR := packaging/prebuilt/$(RID)
OUT_DIR := build/out
%:
dh $@
override_dh_auto_build:
@echo "[info] 使用预编译产物重打包: $(PREBUILT_DIR)"
test -d "$(PREBUILT_DIR)" || { \
echo "[error] 未找到预编译目录 $(PREBUILT_DIR)"; \
echo "请在打包前将 dotnet publish 的输出放入该目录 (参考 README)"; \
exit 1; \
}
rm -rf "$(OUT_DIR)" && mkdir -p "$(OUT_DIR)"
cp -a "$(PREBUILT_DIR)/"* "$(OUT_DIR)/"
override_dh_auto_install:
# 安装主体到 /usr/lib/v2rayn
mkdir -p debian/v2rayn/usr/lib/v2rayn
cp -a "$(OUT_DIR)/"* debian/v2rayn/usr/lib/v2rayn/
# 包装启动器到 /usr/bin
install -Dm0755 debian/scripts/v2rayn debian/v2rayn/usr/bin/v2rayn
# 安装 desktop 条目与图标
install -Dm0644 debian/v2rayn.desktop debian/v2rayn/usr/share/applications/v2rayN.desktop
# 优先使用构建输出中的图标
if [ -f "$(OUT_DIR)/v2rayN.png" ]; then \
install -Dm0644 "$(OUT_DIR)/v2rayN.png" debian/v2rayn/usr/share/icons/hicolor/256x256/apps/v2rayN.png; \
fi
override_dh_auto_clean:
rm -rf "$(OUT_DIR)"