github.com/ericwq/aprilsh@v0.0.0-20240517091432-958bc568daa0/build/APKBUILD (about)

     1  # Contributor: Wang Qi <ericwq057@qq.com>
     2  # Maintainer: Wang Qi <ericwq057@qq.com>
     3  pkgname=aprilsh
     4  pkgver=0.6.40
     5  pkgrel=1
     6  pkgdesc="Remote shell support intermittent or mobile network"
     7  url="https://github.com/ericwq/aprilsh"
     8  arch="all"
     9  license="MIT"
    10  depends="$pkgname-client $pkgname-server"
    11  makedepends="go protoc utmps-dev ncurses ncurses-terminfo musl-locales protoc-gen-go"
    12  subpackages="$pkgname-client $pkgname-server $pkgname-openrc"
    13  source="https://github.com/ericwq/aprilsh/releases/download/$pkgver/aprilsh-$pkgver.tar.gz
    14  	apshd.logrotate
    15  	apshd.initd"
    16  
    17  # build info (part 1) required by go build
    18  _git_tag=0.6.40
    19  _git_commit=6e1115c
    20  _git_branch=HEAD
    21  
    22  # set build tags based on glibc or musl
    23  _musl=$(ldd /bin/ls | grep 'musl'|head -n 1| awk '{print $1}')
    24  if [ "$_musl" == "" ]
    25  then
    26  	_build_tag="-tags utmp"
    27  else
    28  	_build_tag="-tags utmps"
    29  fi
    30  
    31  # go build need this
    32  export PATH=$PATH:~/go/bin
    33  export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
    34  export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
    35  export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
    36  
    37  build() {
    38  	# generate protocol buffer code
    39  	protoc --go_out=. -I . ./protobufs/transportInstruction.proto
    40  	protoc --go_out=. -I . ./protobufs/hostInput.proto
    41  	protoc --go_out=. -I . ./protobufs/userInput.proto
    42  
    43  	# prepare build info (part 2)
    44  	_module_name=$(head ./go.mod | grep '^module' | awk '{print $2}')
    45  	_go_version=$(go version | grep 'version' | awk '{print $3}')
    46  
    47  	# set ldflags
    48  	local ldflags="-s -w \
    49  		-X $_module_name/frontend.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%S) \
    50  		-X $_module_name/frontend.GitBranch=$_git_branch \
    51  		-X $_module_name/frontend.GitCommit=$_git_commit \
    52  		-X $_module_name/frontend.GitTag=$_git_tag \
    53  		-X $_module_name/frontend.GoVersion=$_go_version \
    54  		"
    55  	echo "build server start: $(date)"
    56  	go build $_build_tag -ldflags="$ldflags" -o "$builddir/bin/apshd" ./frontend/server
    57  	echo "build server end  : $(date)"
    58  	echo "output server to  : $builddir/bin/apshd"
    59  
    60  
    61  	# set ldflags (required for update BuildTime)
    62  	local ldflags="-s -w \
    63  		-X $_module_name/frontend.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%S) \
    64  		-X $_module_name/frontend.GitBranch=$_git_branch \
    65  		-X $_module_name/frontend.GitCommit=$_git_commit \
    66  		-X $_module_name/frontend.GitTag=$_git_tag \
    67  		-X $_module_name/frontend.GoVersion=$_go_version \
    68  		"
    69  	echo "build client start: $(date)"
    70  	go build -ldflags="$ldflags" -o "$builddir/bin/apsh" ./frontend/client
    71  	echo "build client end  : $(date)"
    72  	echo "output client to  : $builddir/bin/apsh"
    73  }
    74  
    75  check() {
    76  	go test ./encrypt/...
    77  	go test ./frontend/
    78  	APRILSH_APSHD_PATH="$builddir/bin/apshd" go test $_build_tag ./frontend/server
    79  	go test ./frontend/client
    80  	go test ./network/...
    81  	go test ./statesync/...
    82  	go test ./terminal/...
    83  	go test ./util/...
    84  }
    85  
    86  package() {
    87  	install -Dm755 "$builddir/bin/apshd" "$pkgdir/usr/bin/apshd"
    88  	install -Dm755 "$builddir/bin/apsh"  "$pkgdir/usr/bin/apsh"
    89  	install -Dm755 "$srcdir/apshd.initd" "$pkgdir/etc/init.d/apshd"
    90  	install -Dm644 "$srcdir/apshd.logrotate" "$pkgdir/etc/logrotate.d/apshd"
    91  }
    92  
    93  client() {
    94  	replaces="$pkgname"
    95  	pkgdesc="$pkgname client"
    96  	depends="musl-locales ncurses ncurses-terminfo"
    97  	amove usr/bin/apsh
    98  }
    99  
   100  server() {
   101  	replaces="$pkgname"
   102  	pkgdesc="$pkgname server"
   103  	depends="musl-locales utmps ncurses ncurses-terminfo wezterm-extra-terminfo openssh-server"
   104  	amove usr/bin/apshd
   105  }
   106  
   107  sha512sums="
   108  6a04d17f3f375a5b73503e794e799300e5d7ec277dbe36f7af751ddaca37544006adcb7c53bc7e6a33b6c4364ed846a996789fe6dc94aacd7583bc7a6b0f3464  aprilsh-0.6.14.tar.gz
   109  3e865e0ece136649ad681bfd0b839e46f8adaf2bb76b989b45d1a7722fe9d1bbdf07842a3bd8ae387eadfc5b876f95f15b924c269154b38fc1e860a81016e9c2  apshd.initd
   110  "