Merge pull request #1681 from shan100github/issue-1673

Adding support for OpenWrt-mips arch
This commit is contained in:
dcarns 2022-11-10 10:34:25 -05:00 committed by GitHub
commit 5ff5e5dca3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 55 additions and 4 deletions

View file

@ -306,6 +306,48 @@ jobs:
prerelease: true
asset_name: netclient-mipsle
netclient-mips:
runs-on: ubuntu-latest
needs: version
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set Variables
run: |
TAG=${{needs.version.outputs.tag}}
VERSION=${{needs.version.outputs.version}}
echo "NETMAKER_VERSION=${TAG}" >> $GITHUB_ENV
echo "PACKAGE_VERSION=${VERSION}" >> $GITHUB_ENV
- name: Setup go
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Build
run: |
cd netclient
env CGO_ENABLED=0 GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags "-s -w -X 'main.version=$NETMAKER_VERSION'" -o build/netclient-mips/netclient main.go
env CGO_ENABLED=0 GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags "-s -w -X 'main.version=$NETMAKER_VERSION'" -o build/netclient-mips-upx/netclient main.go && upx build/netclient-mips-upx/netclient
- name: Upload mips to Release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: netclient/build/netclient-mips/netclient
tag: ${{ env.NETMAKER_VERSION }}
overwrite: true
prerelease: true
asset_name: netclient-mips
- name: Upload upx compressed version of mips to Release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: netclient/build/netclient-mips-upx/netclient
tag: ${{ env.NETMAKER_VERSION }}
overwrite: true
prerelease: true
asset_name: netclient-mips-upx
netclient-freebsd:
runs-on: ubuntu-latest
needs: version

View file

@ -20,7 +20,12 @@ function build
build $_goarch $_goose 5 && build $_goarch $_goose 6 && build $_goarch $_goose 7
else
echo $_out
GOARM=$_goarm GOARCH=$_goarch GOOS=$_goose GOHOSTARCH=$__HOST_ARCH CGO_ENABLED=0 go build -ldflags="-X 'main.version=$VERSION'" -o $_out
if [ "$_goarch" == "mips" ]; then
# If the binary created through `GOMIPS=softfloat GOARCH=mipsle` is not compatible with your hardware, try changing these variables and creating a binary file compatible with your hardware.
GOARM=$_goarm GOMIPS=softfloat GOARCH=mipsle GOOS=$_goose GOHOSTARCH=$__HOST_ARCH CGO_ENABLED=0 go build -ldflags="-X 'main.version=$VERSION'" -o $_out
else
GOARM=$_goarm GOARCH=$_goarch GOOS=$_goose GOHOSTARCH=$__HOST_ARCH CGO_ENABLED=0 go build -ldflags="-X 'main.version=$VERSION'" -o $_out
fi
fi
}

View file

@ -148,8 +148,11 @@ case $(uname | tr A-Z a-z) in
arm*)
dist=netclient-$CPU_ARCH
;;
mipsle)
mipsle)
dist=netclient-mipsle
;;
mips*)
dist=netclient-$CPU_ARCH
;;
*)
fatal "$CPU_ARCH : cpu architecture not supported"
@ -240,6 +243,8 @@ if [ "${OS}" = "OpenWRT" ] || [ "${OS}" = "TurrisOS" ]; then
else
wget $curl_opts -O netclient.service.tmp https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/openwrt-daemon.sh
fi
elif [ "${OS}" = "OpenWRT" ] && [ "$CPU_ARCH" = "mips" ]; then
wget $curl_opts -O netclient.service.tmp https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/openwrt-daemon.sh
else
cat << 'END_OF_FILE' > ./netclient.service.tmp
#!/bin/sh /etc/rc.common
@ -292,5 +297,4 @@ END_OF_FILE
/etc/init.d/netclient start
else
rm -f netclient
fi
fi