From 799adfbf31de05fd044e9ee064a3cc090bfc2c66 Mon Sep 17 00:00:00 2001 From: SunBK201 Date: Thu, 13 Nov 2025 23:16:25 +0800 Subject: [PATCH] chore: bump version to 1.8.2 --- .github/workflows/release.yml | 10 ++++------ build.sh | 16 +++++++++------- ipkg-build.sh | 7 ++++--- ipkg/CONTROL/control | 2 +- ipkg/CONTROL/control-e | 2 +- openwrt/Makefile | 2 +- openwrt/files/luci/model/cbi/ua3f.lua | 2 +- po2lmo | Bin 52648 -> 0 bytes src/main.go | 2 +- 9 files changed, 22 insertions(+), 21 deletions(-) delete mode 100755 po2lmo diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fe59ce6..5dada64 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,13 +23,11 @@ jobs: - name: Clone and build po2lmo run: | - git clone https://github.com/openwrt-dev/po2lmo.git - cd po2lmo - make - cd .. - cp po2lmo/po2lmo ./po2lmo - chmod +x ./po2lmo rm -rf po2lmo + git clone https://github.com/openwrt-dev/po2lmo.git po2lmo-build + cd po2lmo-build + make + sudo make install - name: Build binaries run: | diff --git a/build.sh b/build.sh index 7f6182f..68527b4 100755 --- a/build.sh +++ b/build.sh @@ -8,7 +8,7 @@ set -e project_name="ua3f" -release_version="1.8.1" +release_version="1.8.2" target=main.go dist=./dist release_dir=./bin @@ -44,25 +44,25 @@ for target_item in $TARGET_LIST; do case "$goarch" in mipsle-softfloat) - GOOS=$goos GOARCH=mipsle GOMIPS=softfloat go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" + CGO_ENABLED=0 GOOS=$goos GOARCH=mipsle GOMIPS=softfloat go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" ;; mipsle-hardfloat) - GOOS=$goos GOARCH=mipsle GOMIPS=hardfloat go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" + CGO_ENABLED=0 GOOS=$goos GOARCH=mipsle GOMIPS=hardfloat go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" ;; armv7) - GOOS=$goos GOARCH=arm GOARM=7 go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" + CGO_ENABLED=0 GOOS=$goos GOARCH=arm GOARM=7 go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" ;; armv8) alias_name=$project_name-$release_version-${goos}-arm64 if [ ! -f "../dist/bin/$alias_name" ]; then echo ">>> Building $goos/arm64 (for armv8 alias)" - GOOS=$goos GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o "$alias_name" "$target" + CGO_ENABLED=0 GOOS=$goos GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o "$alias_name" "$target" cp "$alias_name" ../dist/bin/ fi cp "../dist/bin/$alias_name" "$obj_name" ;; *) - GOOS=$goos GOARCH="$goarch" go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" + CGO_ENABLED=0 GOOS=$goos GOARCH="$goarch" go build -trimpath -ldflags="-s -w" -o "$obj_name" "$target" ;; esac @@ -106,7 +106,7 @@ mkdir -p \ cp openwrt/files/ua3f.init $opkg_template/etc/init.d/ua3f cp openwrt/files/ua3f.uci $opkg_template/etc/config/ua3f cp -r openwrt/files/luci/* $opkg_template/usr/lib/lua/luci/ -./po2lmo openwrt/po/zh_cn/ua3f.po $opkg_template/usr/lib/lua/luci/i18n/ua3f.zh-cn.lmo +po2lmo openwrt/po/zh_cn/ua3f.po $opkg_template/usr/lib/lua/luci/i18n/ua3f.zh-cn.lmo # only build ipk for linux targets for target_item in $TARGET_LIST; do @@ -119,6 +119,8 @@ for target_item in $TARGET_LIST; do obj_name=$project_name-$release_version-${goos}-${goarch} [ -f "$dist/bin/$obj_name" ] || continue + echo ">>> Building IPK for $goos/$goarch ..." + mv "$dist/bin/$obj_name" $opkg_template/usr/bin/ua3f sh "$ipkg_build" "$opkg_template" mv "$project_name"_"$release_version"-1_all.ipk "$dist/$project_name"_"$release_version"-1_"${goos}_${goarch}".ipk diff --git a/ipkg-build.sh b/ipkg-build.sh index 0cba54d..ea0341c 100755 --- a/ipkg-build.sh +++ b/ipkg-build.sh @@ -12,13 +12,14 @@ set -e version=1.0 FIND="$(command -v find)" FIND="${FIND:-$(command -v gfind)}" -TAR="${TAR:-$(command -v gtar)}" +# Try gtar first (macOS), fall back to tar (Linux) +TAR="$(command -v gtar 2>/dev/null || command -v tar)" # try to use fixed source epoch if [ -n "$PKG_SOURCE_DATE_EPOCH" ]; then - TIMESTAMP=$(date --date="@$PKG_SOURCE_DATE_EPOCH") + TIMESTAMP=$(date --date="@$PKG_SOURCE_DATE_EPOCH" 2>/dev/null || date -r "$PKG_SOURCE_DATE_EPOCH") elif [ -n "$SOURCE_DATE_EPOCH" ]; then - TIMESTAMP=$(date --date="@$SOURCE_DATE_EPOCH") + TIMESTAMP=$(date --date="@$SOURCE_DATE_EPOCH" 2>/dev/null || date -r "$SOURCE_DATE_EPOCH") else TIMESTAMP=$(date) fi diff --git a/ipkg/CONTROL/control b/ipkg/CONTROL/control index 935753f..0a48387 100644 --- a/ipkg/CONTROL/control +++ b/ipkg/CONTROL/control @@ -1,5 +1,5 @@ Package: ua3f -Version: 1.8.1-1 +Version: 1.8.2-1 Depends: luci-compat, ipset, iptables, iptables-mod-tproxy, iptables-mod-extra, iptables-mod-nat-extra, kmod-ipt-conntrack, iptables-mod-ipopt, iptables-mod-nfqueue, iptables-mod-conntrack-extra, kmod-nf-conntrack-netlink Source: /feed/openwrt SourceName: UA3F diff --git a/ipkg/CONTROL/control-e b/ipkg/CONTROL/control-e index 935753f..0a48387 100644 --- a/ipkg/CONTROL/control-e +++ b/ipkg/CONTROL/control-e @@ -1,5 +1,5 @@ Package: ua3f -Version: 1.8.1-1 +Version: 1.8.2-1 Depends: luci-compat, ipset, iptables, iptables-mod-tproxy, iptables-mod-extra, iptables-mod-nat-extra, kmod-ipt-conntrack, iptables-mod-ipopt, iptables-mod-nfqueue, iptables-mod-conntrack-extra, kmod-nf-conntrack-netlink Source: /feed/openwrt SourceName: UA3F diff --git a/openwrt/Makefile b/openwrt/Makefile index 752559f..3e5a41b 100644 --- a/openwrt/Makefile +++ b/openwrt/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=UA3F -PKG_VERSION:=1.8.1 +PKG_VERSION:=1.8.2 PKG_RELEASE:=1 # PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/openwrt/files/luci/model/cbi/ua3f.lua b/openwrt/files/luci/model/cbi/ua3f.lua index 781980d..3db6128 100644 --- a/openwrt/files/luci/model/cbi/ua3f.lua +++ b/openwrt/files/luci/model/cbi/ua3f.lua @@ -6,7 +6,7 @@ local NamedSection = cbi.NamedSection local ua3f = cbi.Map("ua3f", "UA3F", [[ - Version: 1.8.1 + Version: 1.8.2
Across the Campus we can reach every corner in the world. ]] diff --git a/po2lmo b/po2lmo deleted file mode 100755 index 8b5e9ef558e9f1b3d1e392c1ae1a515a45abe7f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52648 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