diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 180 |
1 files changed, 133 insertions, 47 deletions
@@ -1,29 +1,42 @@ # Maintainer: Moses Narrow <moe_narrow@use.startmail.com> -# Maintainer: Steve Skydev <steve@skycoin.net> +# Maintainer: Rudi [KittyCash] <rudi@skycoinmail.com> projectname=skycoin pkgname=skywire-mainnet pkgname1=skywire -pkgdesc="Skywire: Building a New Internet. Skycoin.net" +githuborg=SkycoinProject +pkgdesc="Skywire: Building a New Internet. Skycoin.com" pkgver='autogenerated' -pkggopath="github.com/$projectname/$pkgname1" -pkgrel=5 +#pkgver='autogenerated' +pkggopath="github.com/${githuborg}/${pkgname}" +pkgrel=8 +#pkgrel=8 arch=('any') url="https://${pkggopath}" license=() -makedepends=(dep git go gcc) +makedepends=(git go skycoin-keyring) provides=('skywire') conflicts=('skywire') -source=("git+${url}.git#branch=${BRANCH:-mainnet}") -sha256sums=('SKIP') -validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC') - +source=("git+${url}.git#branch=${BRANCH:-develop}" +"skywire-scripts.tar.gz" +"skywire-systemd.tar.gz" +"hypervisorconfigPKGBUILD" +"PKGBUILD.sig") +sha256sums=('SKIP' + 'fc3848567394b263f7db70466ac8ff91272ee7340724d7b745c736539890721a' + '315affd25223a3aff13909d4420eb4818648e53479dd6b9368d57b446b776407' + '399926d8addcde6bb588a67739971525f953060b83693cb2a7a081480c4c5091' + 'SKIP') +validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC' # Moses Narrow <moe_narrow@use.startmail.com> + '98F934F04F9334B81DFA3398913BBD5206B19620') #iketheadore skycoin <luxairlake@protonmail.com> +#tar -czvf skywire-scripts.tar.gz skywire-scripts +#tar -czvf skywire-systemd.tar.gz skywire-systemd export GOOS=linux -export GOPATH="$srcdir" +export GOPATH="${srcdir}" export GOROOT="$builddir" export GOBIN="$GOROOT"/bin -export GOROOT_FINAL=/usr/lib/$pkgname +export GOROOT_FINAL=/usr/lib/go -export CGO_ENABLED=0 +export CGO_ENABLED=1 case "$CARCH" in x86) export GOARCH="386" GO386="387" ;; @@ -42,61 +55,134 @@ mipsel) export GOARCH="mipsle" ;; esac pkgver() { - cd "$srcdir/$pkgname1" + cd "${srcdir}/${pkgname}" 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 "$date.${count}_$commit" + echo "${date}.${count}_${commit}" } prepare() { + #gpg --import key + #verify PKGBUILD signature + gpg --verify ../PKGBUILD.sig ../PKGBUILD # https://wiki.archlinux.org/index.php/Go_package_guidelines - mkdir -p $srcdir/go/src/${pkggopath//$pkgname1/} "$srcdir"/go/bin - ln -rTsf $srcdir/$pkgname1 $srcdir/go/src/$pkggopath - cd $srcdir/go/src/$pkggopath/ - git checkout mainnet - git submodule --quiet update --init --recursive - - export GOPATH="$srcdir"/go + mkdir -p ${srcdir}/go/src/github.com/${githuborg}/ ${srcdir}/go/bin + ln -rTsf ${srcdir}/${pkgname} ${srcdir}/go/src/${pkggopath} + cd ${srcdir}/go/src/${pkggopath}/ + #git submodule --quiet update --init --recursive + export GOPATH="${srcdir}"/go export GOBIN=${GOPATH}/bin export PATH=${GOPATH}/bin:${PATH} msg2 'installing go dependencies' - dep init - dep ensure + go mod vendor -v + #dep init + #dep ensure } build() { - export GOPATH=$srcdir/go + export GOPATH=${srcdir}/go export GOBIN=${GOPATH}/bin export PATH=${GOPATH}/bin:${PATH} - cd $srcdir/go/src/$pkggopath - make build - make install - #user must generate default json config by running this script after install - msg 2 'creating setup script; please run skywire-seup after installation' - echo -e '#!/bin/bash \n # this script sets up skywire after installation \n mkdir -p ~/skywire \n sudo chmod 777 ~/skywire \n sudo chmod 777 ~/apps \n cd ~/ \n ln -s /usr/lib/skycoin/skywire/apps ~/ \n skywire-cli node gen-config -r \n skywire-manager-node gen-config -r \n skywire-manager-node \n #skywire-node skywire-config.json' > $srcdir/go/bin/$pkgname1-setup - chmod +x $srcdir/go/bin/$pkgname1-setup + cd ${srcdir}/go/src/${pkggopath} + + cmddir=${srcdir}/go/src/${pkggopath}/cmd + #using go build for determinism + cd ${cmddir}/apps/skychat + msg2 'building skychat binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/apps/helloworld + msg2 'building helloworld binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/apps/skysocks + msg2 'building skysocks binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/apps/skysocks-client + msg2 'building skysocks-client binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/skywire-visor + msg2 'building skywire-visor binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/skywire-cli + msg2 'building skywire-cli binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/setup-node + msg2 'building setup-node binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/hypervisor + msg2 'building hypervisor binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . +# cd ${cmddir}/dmsgpty +# msg2 'building dmsgpty binary' +# go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + #binary transparency + cd $GOBIN + msg2 'binary sha256sums' + sha256sum $(ls) + +# make build +# make install +# mv messaging-server ${srcdir}/go/bin/messaging-server } package() { options=(!strip staticlibs) #create directory trees - mkdir -p $pkgdir/usr/bin - mkdir -p $pkgdir/usr/lib/$projectname/go/bin - mkdir -p $pkgdir/usr/lib/$projectname/$pkgname1/ - #restate go envs - export GOPATH=$pkgdir/usr/lib/$projectname/go - export GOBIN=$pkgdir/usr/lib/$projectname/go/bin - #putting the sources in /usr/lib/skycoin/skywire - cp -r $srcdir/$pkgname1/ $pkgdir/usr/lib/$projectname/ + mkdir -p ${pkgdir}/usr/bin + mkdir -p ${pkgdir}/usr/lib/${projectname}/go/bin + mkdir -p ${pkgdir}/usr/lib/${projectname}/${pkgname}/static + mkdir -p ${pkgdir}/usr/lib/${projectname}/${pkgname}/hypervisorconfig/ + #mkdir -p ${pkgdir}/usr/lib/${projectname}/${pkgname}/setup-node + export GOPATH=${pkgdir}/usr/lib/${projectname}/go + export GOBIN=${pkgdir}/usr/lib/${projectname}/go/bin + #NOT putting the sources in /usr/lib/skycoin/skywire for size considerations + cp -r ${srcdir}/${pkgname}/static/skywire-manager-src ${pkgdir}/usr/lib/${projectname}/${pkgname}/static/skywire-manager-src +# cd ${pkgdir}/usr/lib/${projectname}/${pkgname}/static/skywire-manager-src +# npm install --user root +# find ${pkgdir}/usr/lib/${projectname}/${pkgname} -type d -exec chmod 755 {} + + # npm gives ownership of ALL FILES to build user +# chown -R root:root "$pkgdir" msg2 'installing binaries' - skybins="$srcdir"/go/bin - cp $skybins/manager-node $skybins/$pkgname1-manager-node - skywirebins=$( ls $skybins ) - for i in $skywirebins; do - install -Dm755 $srcdir/go/bin/$i $pkgdir/usr/lib/$projectname/go/bin/$i - ln -rTsf $pkgdir/usr/lib/$projectname/go/bin/$i $pkgdir/usr/bin/$i - chmod 755 $pkgdir/usr/bin/$i + skybins="${srcdir}"/go/bin + #ln -rTsf ${skybins}/manager-node ${skybins}/${pkgname1}-manager-node + skywirebins=$( ls ${skybins} ) + for i in ${skywirebins}; do + install -Dm755 ${srcdir}/go/bin/${i} ${GOBIN}/${i} + ln -rTsf ${GOBIN}/${i} ${pkgdir}/usr/bin/${i} + chmod 755 ${GOBIN}/${i} done - msg2 'please run skywire-setup after installing this package' + + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire-halt.sh ${GOBIN}/skywire-halt.sh + ln -rTsf ${GOBIN}/skywire-halt.sh ${pkgdir}/usr/bin/skywire-halt + + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire-mainnet.sh ${GOBIN}/skywire-mainnet.sh + ln -rTsf ${GOBIN}/skywire-mainnet.sh ${pkgdir}/usr/bin/skywire-mainnet + + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire-hypervisor-nohup.sh ${GOBIN}/skywire-hypervisor-nohup.sh + ln -rTsf ${GOBIN}/skywire-hypervisor-nohup.sh ${pkgdir}/usr/bin/skywire-hypervisor-nohup + + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire-visor-nohup.sh ${GOBIN}/skywire-visor-nohup.sh + ln -rTsf ${GOBIN}/skywire-visor-nohup.sh ${pkgdir}/usr/bin/skywire-visor-nohup + + install -Dm755 "${srcdir}/${pkgname1}-scripts/skywire-mainnet-config.sh" "${GOBIN}/skywire-mainnet-config.sh" + ln -rTsf "${GOBIN}/skywire-mainnet-config.sh" "${pkgdir}/usr/bin/skywire-mainnet-config" + + install -Dm755 ${srcdir}/${pkgname1}-scripts/skywire-setuser.sh ${GOBIN}/skywire-setuser.sh + ln -rTsf ${GOBIN}/skywire-setuser.sh ${pkgdir}/usr/bin/skywire-setuser + + chmod 755 ${pkgdir}/usr/lib/${projectname}/go/bin/* + install -Dm644 ${srcdir}/hypervisorconfigPKGBUILD ${pkgdir}/usr/lib/${projectname}/${pkgname}/hypervisorconfig/PKGBUILD +#prepend name to the symlinks + cd ${pkgdir}/usr/bin/ + #mv dmsgpty ${pkgname1}-dmsgpty + mv helloworld ${pkgname1}-helloworld + mv hypervisor ${pkgname1}-hypervisor + mv setup-node ${pkgname1}-setup-node + mv skychat ${pkgname1}-skychat + mv skysocks ${pkgname1}-skysocks + mv skysocks-client ${pkgname1}-skysocks-client + #install the system.d services + install -Dm644 ${srcdir}/${pkgname1}-systemd/${pkgname1}-hypervisor.service ${pkgdir}/usr/lib/systemd/system/${pkgname1}-hypervisor.service + install -Dm644 ${srcdir}/${pkgname1}-systemd/${pkgname1}-visor.service ${pkgdir}/usr/lib/systemd/system/${pkgname1}-visor.service + } |