diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 166 |
1 files changed, 103 insertions, 63 deletions
@@ -1,46 +1,33 @@ # Maintainer: Moses Narrow <moe_narrow@use.startmail.com> # Maintainer: Rudi [KittyCash] <rudi@skycoinmail.com> projectname=skycoin -pkgname=skywire -pkgname1=skybian +pkgname=skywire-git +pkgname1=skywire githuborg=SkycoinProject pkgdesc="Skywire: Building a New Internet. Skycoin.com" -pkgver='0.2.3.test.eca53df' -pkggopath="github.com/${githuborg}/${pkgname1}" +pkgver='autogenerated' +#pkgver='autogenerated' pkgrel=1 -arch=('x86_64' 'aarch64' 'armv7' 'armv8' 'armv7l' 'armv7h') +#pkgrel=1 +arch=('any') +pkggopath="github.com/${githuborg}/skywire-mainnet" url="https://${pkggopath}" +group=skycoinproject license=() -makedepends=(skycoin-keyring) -depends=() -#source=("git+${url}.git#branch=${BRANCH:-develop}" -source=("${url}/raw/develop/static/skybian-firstrun" -"${url}/raw/develop/static/skybian-firstrun.service" -"${url}/raw/develop/static/skywire-hypervisor.service" -"${url}/raw/develop/static/skywire-visor.service" +makedepends=(git go npm python python2 skycoin-keyring) +provides=('skywire') +conflicts=('skywire') +install=skywire.install +source=("git+${url}.git#branch=${BRANCH:-develop}" +"skywire-scripts.tar.gz" "PKGBUILD.sig") -sha256sums=('3ccdd8b13b33d805d8c5a8ee89b3563ceaa74d6105fa88f843543f041a51bde9' -'e7de6671c3e803de4d2f1306653112165edc9b92601a8d586476035c10e67525' -'99a01866a21a02b7c972262cb054da718419d4e8d37dcd36cefbb5b17d877867' -'d891297b28463e9ac8f765a95fc1d0488b51d01f47692a7aa62a3ac0baa443ac' +sha256sums=('SKIP' + 'fff8b9f7d4e60c8993497a963161f934d445f4d7cf2ff47bc787dcb459c8b351' 'SKIP') -sha256sums_x86_64=('31ed1a12e0a1b7016e82a57e3614722c0b6591008ac3b646bf065944f7a74547') -sha256sums_aarch64=('5ee60c5b7ce63999520167ab44b7f3b7a2328ea9ebbbabe043cc5245b50d5a81') -sha256sums_armv7=('6ebadb2b6dbba87a060993560fe957d617f40ca7e467129889d51baebe57fa47') -sha256sums_armv7l=('6ebadb2b6dbba87a060993560fe957d617f40ca7e467129889d51baebe57fa47') -sha256sums_armv7h=('6ebadb2b6dbba87a060993560fe957d617f40ca7e467129889d51baebe57fa47') -sha256sums_armv8=('5ee60c5b7ce63999520167ab44b7f3b7a2328ea9ebbbabe043cc5245b50d5a81') -source_x86_64=("https://github.com/SkycoinProject/skywire-mainnet/releases/download/v0.2.3-test-eca53df/skywire-v0.2.3-test-eca53df-linux-amd64.tar.gz") -source_aarch64=("https://github.com/SkycoinProject/skywire-mainnet/releases/download/v0.2.3-test-eca53df/skywire-v0.2.3-test-eca53df-linux-arm64.tar.gz") -source_armv7=("https://github.com/SkycoinProject/skywire-mainnet/releases/download/v0.2.3-test-eca53df/skywire-v0.2.3-test-eca53df-linux-arm.tar.gz") -source_armv7l=("https://github.com/SkycoinProject/skywire-mainnet/releases/download/v0.2.3-test-eca53df/skywire-v0.2.3-test-eca53df-linux-arm.tar.gz") -source_armv7h=("https://github.com/SkycoinProject/skywire-mainnet/releases/download/v0.2.3-test-eca53df/skywire-v0.2.3-test-eca53df-linux-arm.tar.gz") -source_armv8=("https://github.com/SkycoinProject/skywire-mainnet/releases/download/v0.2.3-test-eca53df/skywire-v0.2.3-test-eca53df-linux-arm64.tar.gz") - validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC' # Moses Narrow <moe_narrow@use.startmail.com> '98F934F04F9334B81DFA3398913BBD5206B19620') #iketheadore skycoin <luxairlake@protonmail.com> - - +#tar -czvf skywire-scripts.tar.gz skywire-scripts +#updatepkgsums export GOOS=linux export GOPATH="${srcdir}" export GOROOT="$builddir" @@ -65,47 +52,100 @@ mipsel) export GOARCH="mipsle" ;; *) return 1 ;; esac - +pkgver() { + cd "${srcdir}/skywire-mainnet" + local version=$(git describe --abbrev=0 | tr --delete v) + local version=${version//-/_} + local date=$(git log -1 --format="%cd" --date=short | sed s/-//g) + local count=$(git rev-list --count HEAD) + local commit=$(git rev-parse --short HEAD) + echo "${version}_${date}.${count}_${commit}_${BRANCH:-develop}" +} prepare() { #verify PKGBUILD signature - gpg --verify ${srcdir}/PKGBUILD.sig ../PKGBUILD - # https://wiki.archlinux.org/index.php/Go_package_guidelines + gpg --verify ../PKGBUILD.sig ../PKGBUILD + + # https://wiki.archlinux.org/index.php/Go_package_guidelines + mkdir -p ${srcdir}/go/src/github.com/${githuborg}/ ${srcdir}/go/bin ${srcdir}/go/apps + ln -rTsf ${srcdir}/skywire-mainnet ${srcdir}/go/src/${pkggopath} + cd ${srcdir}/go/src/${pkggopath}/ + #export GOPATH="${srcdir}"/go + #export GOBIN=${GOPATH}/bin + #export PATH=${GOPATH}/bin:${PATH} } -#build() { -# mkdir -p ${srcdir}/go/src/github.com/${githuborg}/ ${srcdir}/go/bin -# ln -rTsf ${srcdir}/${pkgname1} ${srcdir}/go/src/${pkggopath} -# cd ${srcdir}/go/src/${pkggopath}/ -# export GOPATH="${srcdir}"/go -# export GOBIN=${GOPATH}/bin -# export PATH=${GOPATH}/bin:${PATH} -# cmddir=${srcdir}/go/src/${pkggopath}/cmd -# #using go build for determinism -# cd ${cmddir}/skyconf -# msg2 'building skyconf binary' -# go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . -#} +build() { + export GOPATH=${srcdir}/go + export GOBIN=${GOPATH}/bin + export GOAPPS=${GOPATH}/apps + export PATH=${GOPATH}/bin:${PATH} + cd ${srcdir}/go/src/${pkggopath} + #build hypervisor UI + make install-deps-ui + make lint-ui + make build-ui + #build binaries + cmddir=${srcdir}/go/src/${pkggopath}/cmd + #using go build for determinism + cd ${cmddir}/apps/skychat + msg2 'building skychat binary' + go build -mod=mod -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ . + cd ${cmddir}/apps/skysocks + msg2 'building skysocks binary' + go build -mod=mod -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ . + cd ${cmddir}/apps/skysocks-client + msg2 'building skysocks-client binary' + go build -mod=mod -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ . + cd ${cmddir}/skywire-visor + msg2 'building skywire-visor binary' + go build -mod=mod -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/skywire-cli + msg2 'building skywire-cli binary' + go build -mod=mod -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/setup-node + msg2 'building setup-node binary' + go build -mod=mod -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/hypervisor + msg2 'building hypervisor binary' + go build -mod=mod -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + #binary transparency + cd $GOBIN + msg2 'binary sha256sums' + sha256sum $(ls) + cd $GOAPPS + sha256sum $(ls) + +} package() { - options=(!strip staticlibs) + export GOPATH=${srcdir}/go + export GOBIN=${GOPATH}/bin + export GOAPPS=${GOPATH}/apps #create directory trees mkdir -p ${pkgdir}/usr/bin/apps - mkdir -p ${pkgdir}/etc/skywire - #mkdir -p ${pkgdir}/usr/lib/${projectname}/${pkgname}/hypervisorconfig/ - #mkdir -p ${pkgdir}/usr/lib/${projectname}/${pkgname}/setup-node - msg2 'installing binaries' - install -Dm755 ${srcdir}/hypervisor ${pkgdir}/usr/bin/skywire-hypervisor - install -Dm755 ${srcdir}/skywire-visor ${pkgdir}/usr/bin/skywire-visor - install -Dm755 ${srcdir}/skywire-cli ${pkgdir}/usr/bin/skywire-cli - install -Dm755 ${srcdir}/apps/skychat ${pkgdir}/usr/bin/apps/skychat - install -Dm755 ${srcdir}/apps/skysocks ${pkgdir}/usr/bin/apps/skysocks - install -Dm755 ${srcdir}/apps/skysocks-client ${pkgdir}/usr/bin/apps/skysocks-client - install -Dm755 ${srcdir}/skybian-firstrun ${pkgdir}/etc/systemd/system/skybian-firstrun - + skywirebins=$( ls ${GOBIN} ) + for i in ${skywirebins}; do + install -Dm755 ${GOBIN}/${i} ${pkgdir}/usr/bin/${i} + done + skywireapps=$( ls ${GOAPPS} ) + for i in ${skywireapps}; do + install -Dm755 ${GOAPPS}/${i} ${pkgdir}/usr/bin/apps/${i} + done + #install scripts + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire-halt.sh ${pkgdir}/usr/bin/skywire-halt + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire.sh ${pkgdir}/usr/bin/skywire + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire-setuser.sh ${pkgdir}/usr/bin/skywire-setuser + install -Dm644 ${srcdir}/${pkgname1}-scripts/hypervisorconfig.PKGBUILD ${pkgdir}/usr/lib/${projectname}/${pkgname1}/hypervisorconfig/PKGBUILD + cd ${pkgdir}/usr/bin/ + mv hypervisor ${pkgname1}-hypervisor #install the system.d services - install -Dm644 ${srcdir}/skybian-firstrun.service ${pkgdir}/etc/systemd/system/skybian-firstrun.service - install -Dm644 ${srcdir}/skywire-hypervisor.service ${pkgdir}/etc/systemd/system/skywire-hypervisor.service - install -Dm644 ${srcdir}/skywire-visor.service ${pkgdir}/etc/systemd/system/skywire-visor.service + install -Dm644 ${srcdir}/go/src/${pkggopath}/init/${pkgname1}-hypervisor.service ${pkgdir}/usr/lib/systemd/system/${pkgname1}-hypervisor.service + install -Dm644 ${srcdir}/go/src/${pkggopath}/init/${pkgname1}-visor.service ${pkgdir}/usr/lib/systemd/system/${pkgname1}-visor.service + #tls key and certificate generation + install -Dm755 ${srcdir}/${_pkgname}-scripts/generate.sh ${pkgdir}/usr/lib/skycoin/skywire/ssl/generate.sh + ln -rTsf ${pkgdir}/usr/lib/skycoin/skywire/ssl/generate.sh ${pkgdir}/usr/bin/skywire-tls-gen + install -Dm644 ${srcdir}/${_pkgname}-scripts/certificate.cnf ${pkgdir}/usr/lib/skycoin/skywire/ssl/certificate.cnf + } |