diff options
author | Moses Narrow | 2020-02-20 10:11:30 -0600 |
---|---|---|
committer | Moses Narrow | 2020-02-20 10:11:30 -0600 |
commit | ba88376ce8698471e8b51a7bd2104fdd5bd5ce08 (patch) | |
tree | 524a2e187a28c9ea04d020b24277a7fc20882137 | |
parent | 35ab37d53a846f3e9d9ca68fc25b491d3be0917b (diff) | |
download | aur-ba88376ce8698471e8b51a7bd2104fdd5bd5ce08.tar.gz |
deterministic build, revised signature checking & dependencies
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 223 | ||||
-rw-r--r-- | PKGBUILD.sig | bin | 566 -> 566 bytes | |||
-rw-r--r-- | skycoin-scripts.tar.gz | bin | 0 -> 686 bytes | |||
-rw-r--r-- | skycoin-systemd.tar.gz | bin | 0 -> 322 bytes |
5 files changed, 111 insertions, 130 deletions
@@ -1,17 +1,21 @@ pkgbase = skycoin - pkgdesc = Skycoin Cryptocurrency Wallet + pkgdesc = Skycoin Cryptocurrency Wallet ; latest versioned release (compiled from source) pkgver = 0.27.0 - pkgrel = 1 + pkgrel = 2 url = https://github.com/SkycoinProject/skycoin arch = any - makedepends = dep - makedepends = git makedepends = go - makedepends = gcc + makedepends = skycoin-keyring source = https://github.com/SkycoinProject/skycoin/archive/v0.27.0.tar.gz - source = https://raw.githubusercontent.com/0pcom/skycoin_archlinux_packages/master/key + source = skycoin-scripts.tar.gz + source = skycoin-systemd.tar.gz + source = PKGBUILD.sig + validpgpkeys = DE08F924EEE93832DABC642CA8DC761B1C0C0CFC + validpgpkeys = 98F934F04F9334B81DFA3398913BBD5206B19620 sha256sums = 2e6c47f058f6f459e6572e6acf3e34403cf14fdc0f2511a4238b7280aae2d026 - sha256sums = 41c0a4a42ae64479b008392053f4a947618acd6bb9c3ed2672dafdb2453caa14 + sha256sums = ca8344614b60e0d9d57b0eba4b44e0febc4addf83a54685539c45e08364b2d23 + sha256sums = d14d3d597b80a2b79e5edb7e956a7926ca7065230e87fdca026036888835ad42 + sha256sums = SKIP pkgname = skycoin options = !strip @@ -4,18 +4,27 @@ pkgname=skycoin pkgname1=skycoin projectname=skycoin githuborg=SkycoinProject -pkgdesc="Skycoin Cryptocurrency Wallet" +pkgdesc="Skycoin Cryptocurrency Wallet ; latest versioned release (compiled from source)" pkgver=0.27.0 -pkggopath="github.com/${githuborg}/${pkgname1}" -pkgrel=1 +#pkgver=0.27.0 +pkgrel=2 +#pkgrel=2 arch=('any') -url="https://${pkggopath}" license=() -makedepends=(dep git go gcc) +pkggopath="github.com/${githuborg}/${pkgname1}" +url="https://${pkggopath}" +makedepends=(go skycoin-keyring) source=("${url}/archive/v${pkgver}.tar.gz" -"https://raw.githubusercontent.com/0pcom/skycoin_archlinux_packages/master/key") +"${pkgname1}-scripts.tar.gz" +"${pkgname1}-systemd.tar.gz" +"PKGBUILD.sig") sha256sums=('2e6c47f058f6f459e6572e6acf3e34403cf14fdc0f2511a4238b7280aae2d026' -'41c0a4a42ae64479b008392053f4a947618acd6bb9c3ed2672dafdb2453caa14') + 'ca8344614b60e0d9d57b0eba4b44e0febc4addf83a54685539c45e08364b2d23' + 'd14d3d597b80a2b79e5edb7e956a7926ca7065230e87fdca026036888835ad42' + 'SKIP') +validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC' # Moses Narrow <moe_narrow@use.startmail.com> + '98F934F04F9334B81DFA3398913BBD5206B19620') #iketheadore skycoin <luxairlake@protonmail.com> + case "$CARCH" in x86) export GOARCH="386" GO386="387" ;; @@ -33,127 +42,95 @@ mipsel) export GOARCH="mipsle" ;; *) return 1 ;; esac -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/github.com/${githuborg}/ ${srcdir}/go/bin - ln -rTsf ${srcdir}/${pkgname1}-${pkgver} ${srcdir}/go/src/github.com/${githuborg}/${pkgname1} - cd ${srcdir}/go/src/github.com/${githuborg}/${pkgname1} - #git submodule --quiet update --init --recursive + prepare() { + #gpg --import key + #verify PKGBUILD signature + gpg --verify ${srcdir}/PKGBUILD.sig ../PKGBUILD + # https://wiki.archlinux.org/index.php/Go_package_guidelines + mkdir -p ${srcdir}/go/src/github.com/${githuborg}/ ${srcdir}/go/bin + # ln -rTsf ${srcdir}/${pkgname1} ${srcdir}/go/src/${pkggopath} + ln -rTsf ${srcdir}/${pkgname1}-${pkgver} ${srcdir}/go/src/${pkggopath} + #cd ${srcdir}/go/src/github.com/${githuborg}/${pkgname1} + #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 + } + +build() { export GOPATH="${srcdir}"/go export GOBIN=${GOPATH}/bin export PATH=${GOPATH}/bin:${PATH} - msg2 'installing go dependencies' - #dep init - #dep ensure -} - -build() { -##detect architecture & adjust build args accordingly -##not used currently because makefile is malfunctioning -#case "$CARCH" in -# arm*) make release-standalone osarch="linux/arm" -# ;; -# aarch64*) make release-standalone osarch="linux/arm" -# ;; -# x86_64) _pkgarch="$pkgoption1" -# make release-standalone osarch="linux/amd64" -# ;; -#esac - -## manually build -export GOPATH="${srcdir}"/go -export GOBIN=${GOPATH}/bin -export PATH=${GOPATH}/bin:${PATH} -cd ${srcdir}/go/src/github.com/${githuborg}/${pkgname1}/cmd -go install \ - -gcflags "all=-trimpath=${GOPATH}" \ - -asmflags "all=-trimpath=${GOPATH}" \ - -v ./... - -msg 2 'creating launcher scripts skycoin-wallet & skycoin-wallet-nohup' -mkdir -p ${srcdir}/${pkgname1}-scripts -cd ${srcdir}/${pkgname1}-scripts -echo -e '#!/bin/bash -#launch skycoin wallet -export GOBIN=/usr/lib/skycoin/go/bin -export GOPATH=GOBIN=/usr/lib/skycoin/go -skycoin -gui-dir=/usr/lib/skycoin/skycoin/src/gui/static/ -launch-browser=true -enable-all-api-sets=true -enable-gui=true -log-level=debug' > ${pkgname1}-wallet -chmod +x ${pkgname1}-wallet - -echo -e '#!/bin/bash -#launch skycoin wallet with nohup -export GOBIN=/usr/lib/skycoin/go/bin -export GOPATH=GOBIN=/usr/lib/skycoin/go -nohup skycoin -gui-dir=/usr/lib/skycoin/skycoin/src/gui/static -launch-browser=true -enable-all-api-sets=true -enable-gui=true -log-level=debug > /dev/null 2>&1 &echo "skycoin wallet has started"' > ${pkgname1}-wallet-nohup -chmod +x ${pkgname1}-wallet-nohup - -echo -e '#!/bin/bash \n #launch skycoin daemon -export GOBIN=/usr/lib/skycoin/go/bin \n export GOPATH=GOBIN=/usr/lib/skycoin/go -skycoin -gui-dir=/usr/lib/skycoin/skycoin/src/gui/static/ -enable-gui=false -launch-browser=false -log-level=debug -enable-all-api-sets=true' > ${pkgname1}-node -chmod +x ${pkgname1}-node - -echo -e '#!/bin/bash -#halt skycoin -sudo killall skycoin -sudo killall cli -sudo killall cipher-testdata -sudo killall newcoin -sudo killall monitor-peers -echo "skycoin halted"' > ${pkgname1}-halt -chmod +x ${pkgname1}-halt -# -msg 2 'creating system.d .service files' -#these service files point to skywire & skywire-node-miner scripts from above -#the systemd service files included with skywire are wrong for archlinux (debian formatted) -cd ${srcdir}/go -echo -e '[Unit] -Description=Skycoin Node service -After=network.target -After=network-online.target - -[Service] -Type=oneshot -ExecStart=/usr/bin/skycoin-node -RemainAfterExit=yes -ExecStop=/usr/bin/skycoin-halt -TryExec=/usr/bin/skycoin - -[Install] -WantedBy=multi-user.target ' > ${pkgname1}-node.service + cmddir=${srcdir}/go/src/${pkggopath}/cmd + #using go build for determinism + cd ${cmddir}/address_gen + msg2 'building skycoin-address_gen binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/cipher-testdata + msg2 'building skycoin-cipher-testdata binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/monitor-peers + msg2 'building skycoin-monitor-peers binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/newcoin + msg2 'building skycoin-newcoin binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/skycoin-cli + msg2 'building skycoin-cli binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + cd ${cmddir}/skycoin + msg2 'building skycoin binary' + go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ . + #binary transparency + cd $GOBIN + msg2 'binary sha256sums' + sha256sum $(ls) } 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}/src/gui -#install binaries & symlink to /usr/bin -msg2 'installing binaries' -skybin="${srcdir}"/go/bin -#avoid generic names for binaries -#collect the binaries & install -skybins=$( ls "$skybin") -for i in ${skybins}; 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} -done -#install the web dir (UI) -cp -r ${srcdir}/${pkgname1}-$pkgver/src/gui/static ${pkgdir}/usr/lib/${projectname}/${pkgname1}/src/gui -#install the scripts -skycoinscripts=$( ls ${srcdir}/${pkgname1}-scripts ) -for i in ${skycoinscripts}; do -cp ${srcdir}/${pkgname1}-scripts/${i} ${pkgdir}/usr/bin/${i} -done -#correct symlink names -namechange=$(ls --ignore='skycoin*' ${pkgdir}/usr/bin/) -for i in ${namechange}; do -mv ${pkgdir}/usr/bin/${i} ${pkgdir}/usr/bin/${pkgname1}-${i} + options=(!strip staticlibs) + #create directory trees + skysrcdir=${srcdir}/${pkgname1}-${pkgver} + skypath=${pkgdir}/usr/lib/${projectname} + skygobin=${skypath}/go/bin + skyguidir=${skypath}/${pkgname1}/src/gui + mkdir -p ${pkgdir}/usr/bin + mkdir -p ${skygobin} + mkdir -p ${skyguidir} + #install binaries & symlink to /usr/bin + msg2 'installing binaries' + skybin="${srcdir}"/go/bin + #avoid generic names for binaries + #collect the binaries & install + skybins=$( ls "$skybin") + for i in $skybins; do + install -Dm755 ${srcdir}/go/bin/${i} ${skygobin}/${i} + ln -rTsf ${skygobin}/$i ${pkgdir}/usr/bin/${i} + chmod 755 ${pkgdir}/usr/bin/${i} + done + #install the web dir (UI) + cp -r ${skysrcdir}/src/gui/static ${skyguidir} + #install the scripts + cd ${srcdir}/${pkgname1}-scripts/ + skycoinscripts=$( ls ) + for i in $skycoinscripts; do + install -Dm755 ${srcdir}/${pkgname1}-scripts/${i} ${skygobin}/${i} + ln -rTsf ${skygobin}/${i} ${pkgdir}/usr/bin/${i} + chmod 755 ${pkgdir}/usr/bin/${i} + done + #correct symlink names + cd ${pkgdir}/usr/bin/ + namechange=$(ls --ignore='skycoin*') + for i in $namechange; do + mv ${pkgdir}/usr/bin/${i} ${pkgdir}/usr/bin/${pkgname1}-${i} + done + #install the system.d service + cd ${srcdir}/${pkgname1}-systemd/ + skysystemd=$( ls ) + for i in $skysystemd; do + install -Dm644 ${srcdir}/${pkgname1}-systemd/${i} ${pkgdir}/usr/lib/systemd/system/${i} done -#install the system.d service -install -Dm644 ${srcdir}/go/${pkgname1}-node.service ${pkgdir}/usr/lib/systemd/system/${pkgname1}-node.service } diff --git a/PKGBUILD.sig b/PKGBUILD.sig Binary files differindex 55b576dc103c..5ce20f6b35a6 100644 --- a/PKGBUILD.sig +++ b/PKGBUILD.sig diff --git a/skycoin-scripts.tar.gz b/skycoin-scripts.tar.gz Binary files differnew file mode 100644 index 000000000000..50bc1e13d2e1 --- /dev/null +++ b/skycoin-scripts.tar.gz diff --git a/skycoin-systemd.tar.gz b/skycoin-systemd.tar.gz Binary files differnew file mode 100644 index 000000000000..7b786d4701ec --- /dev/null +++ b/skycoin-systemd.tar.gz |