summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMoses Narrow2020-02-20 10:11:30 -0600
committerMoses Narrow2020-02-20 10:11:30 -0600
commitba88376ce8698471e8b51a7bd2104fdd5bd5ce08 (patch)
tree524a2e187a28c9ea04d020b24277a7fc20882137
parent35ab37d53a846f3e9d9ca68fc25b491d3be0917b (diff)
downloadaur-ba88376ce8698471e8b51a7bd2104fdd5bd5ce08.tar.gz
deterministic build, revised signature checking & dependencies
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD223
-rw-r--r--PKGBUILD.sigbin566 -> 566 bytes
-rw-r--r--skycoin-scripts.tar.gzbin0 -> 686 bytes
-rw-r--r--skycoin-systemd.tar.gzbin0 -> 322 bytes
5 files changed, 111 insertions, 130 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8bd10d733a06..03a3a2097547 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index c29375a55acc..1bbc0f94f8a8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
index 55b576dc103c..5ce20f6b35a6 100644
--- a/PKGBUILD.sig
+++ b/PKGBUILD.sig
Binary files differ
diff --git a/skycoin-scripts.tar.gz b/skycoin-scripts.tar.gz
new file mode 100644
index 000000000000..50bc1e13d2e1
--- /dev/null
+++ b/skycoin-scripts.tar.gz
Binary files differ
diff --git a/skycoin-systemd.tar.gz b/skycoin-systemd.tar.gz
new file mode 100644
index 000000000000..7b786d4701ec
--- /dev/null
+++ b/skycoin-systemd.tar.gz
Binary files differ