summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMoses Narrow2020-11-14 16:13:37 -0600
committerMoses Narrow2020-11-14 16:13:37 -0600
commit8410704a8278f46ea50f415c9efc9ac62364bc53 (patch)
tree814b29c34e49d88c6c999116bdd730a45d5ecd90
parentc0253514710592d75fe1ade983a5733d78d3dd03 (diff)
downloadaur-8410704a8278f46ea50f415c9efc9ac62364bc53.tar.gz
implement autoconfig and satellite package
-rw-r--r--.SRCINFO7
-rw-r--r--PKGBUILD103
-rw-r--r--PKGBUILD.sigbin566 -> 566 bytes
-rw-r--r--skywire-scripts.tar.gzbin0 -> 2610 bytes
-rw-r--r--skywire.install47
5 files changed, 79 insertions, 78 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e344511474b4..6a8b494dd623 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,17 +1,20 @@
pkgbase = skywire
pkgdesc = Skywire Mainnet Node implementation. Develop Banch. Skycoin.com
pkgver = autogenerated
- pkgrel = 7
+ pkgrel = 8
url = https://github.com/skycoin/skywire
+ install = skywire.install
arch = any
makedepends = git
makedepends = go
makedepends = skycoin-keyring
+ optdepends = readonly-cache: distribute hypervisorkey package for cluster management
source = git+https://github.com/skycoin/skywire.git#branch=develop
+ source = skywire-scripts.tar.gz
source = PKGBUILD.sig
validpgpkeys = DE08F924EEE93832DABC642CA8DC761B1C0C0CFC
- validpgpkeys = 98F934F04F9334B81DFA3398913BBD5206B19620
sha256sums = SKIP
+ sha256sums = 48e1c1d816eb7ca9b0802a9b19e3b9284336570cc0b4477e8bdf7ecab7ad998d
sha256sums = SKIP
pkgname = skywire
diff --git a/PKGBUILD b/PKGBUILD
index 19be66ec72ae..25b86cde29d3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,36 +1,33 @@
-# Maintainer: Moses Narrow <moe_narrow@use.startmail.com>
+ # Maintainer: Moses Narrow <moe_narrow@use.startmail.com>
# Maintainer: Rudi [KittyCash] <rudi@skycoinmail.com>
_projectname=skycoin
pkgname=skywire
_pkgname=${pkgname}
_githuborg=${_projectname}
-pkgdesc=" Skywire Mainnet Node implementation. Develop Banch. Skycoin.com"
+pkgdesc="Skywire Mainnet Node implementation. Develop Banch. Skycoin.com"
_pkggopath="github.com/${_githuborg}/${_pkgname}"
pkgver='autogenerated'
#pkgver='autogenerated'
-pkgrel=7
-#pkgrel=7
+pkgrel=8
+#pkgrel=8
arch=('any')
url="https://${_pkggopath}"
license=()
makedepends=(git go skycoin-keyring)
-#install=skywire.install
+optdepends=('readonly-cache: distribute hypervisorkey package for cluster management')
+install=skywire.install
source=("git+${url}.git#branch=${BRANCH:-develop}"
-#"skywire-scripts.tar.gz"
+"skywire-scripts.tar.gz"
"PKGBUILD.sig")
sha256sums=('SKIP'
+ '48e1c1d816eb7ca9b0802a9b19e3b9284336570cc0b4477e8bdf7ecab7ad998d'
'SKIP')
-validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC' # Moses Narrow <moe_narrow@use.startmail.com>
-'98F934F04F9334B81DFA3398913BBD5206B19620') #iketheadore skycoin <luxairlake@protonmail.com>
+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"
-#export GOBIN="$GOROOT"/bin
-#export GOROOT_FINAL=/usr/lib/go
-
-export CGO_ENABLED=1
+#export CGO_ENABLED=1
case "$CARCH" in
x86) export GOARCH="386" GO386="387" ;;
@@ -50,12 +47,12 @@ mipsel) export GOARCH="mipsle" ;;
pkgver() {
cd "${srcdir}/${_pkgname}"
- 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}"
+ 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() {
@@ -66,9 +63,6 @@ prepare() {
mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin ${srcdir}/go/apps
ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath}
cd ${srcdir}/go/src/${_pkggopath}/
- #export GOPATH="${srcdir}"/go
- #export GOBIN=${GOPATH}/bin
- #export PATH=${GOPATH}/bin:${PATH}
}
build() {
@@ -76,11 +70,7 @@ build() {
export GOBIN=${GOPATH}/bin
export GOAPPS=${GOPATH}/apps
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
msg2 'building skychat binary'
@@ -121,34 +111,53 @@ build() {
package() {
#create directory trees
- mkdir -p ${pkgdir}/usr/bin/ ${pkgdir}/opt/skywire/bin/ ${pkgdir}/opt/skywire/apps/
+ _skydir="opt/skywire"
+ mkdir -p ${pkgdir}/usr/bin/
+ mkdir -p ${pkgdir}/${_skydir}/bin/
+ mkdir -p ${pkgdir}/${_skydir}/apps/
+ mkdir -p ${pkgdir}/${_skydir}/ssl
+ mkdir -p ${pkgdir}/${_skydir}/local
+ mkdir -p ${pkgdir}/${_skydir}/dmsgpty
+ mkdir -p ${pkgdir}/${_skydir}/${_pkgname}
+ mkdir -p ${pkgdir}/${_skydir}/transport_logs
+
msg2 'installing binaries'
_skywirebins=$( ls ${srcdir}/go/bin )
for i in ${_skywirebins}; do
- install -Dm755 ${srcdir}/go/bin/${i} ${pkgdir}/opt/skywire/bin/${i}
- ln -rTsf ${pkgdir}/opt/skywire/bin/${i} ${pkgdir}/usr/bin/${i}
+ install -Dm755 ${srcdir}/go/bin/${i} ${pkgdir}/${_skydir}/bin/${i}
+ ln -rTsf ${pkgdir}/${_skydir}/bin/${i} ${pkgdir}/usr/bin/${i}
done
#check
- msg2 'testing `skywire-cli visor gen-config --help`'
- ${pkgdir}/opt/skywire/bin/skywire-cli visor gen-config --help
+ #msg2 'testing `skywire-cli visor gen-config --help`'
+ #${pkgdir}/opt/skywire/bin/skywire-cli visor gen-config --help
_skywireapps=$( ls ${srcdir}/go/apps )
for i in ${_skywireapps}; do
- install -Dm755 ${srcdir}/go/apps/${i} ${pkgdir}/opt/skywire/apps/${i}
- ln -rTsf ${pkgdir}/opt/skywire/apps/${i} ${pkgdir}/usr/bin/${i}
+ install -Dm755 ${srcdir}/go/apps/${i} ${pkgdir}/${_skydir}/apps/${i}
+ ln -rTsf ${pkgdir}/${_skydir}/apps/${i} ${pkgdir}/usr/bin/${i}
done
- #install scripts - disabled pending review
- #install -Dm755 ${srcdir}/${_pkgname}-scripts/skywire-halt.sh ${pkgdir}/usr/bin/skywire-halt
- #install -Dm755 ${srcdir}/${_pkgname}-scripts/skywire.sh ${pkgdir}/usr/bin/skywire
- #install -Dm755 ${srcdir}/${_pkgname}-scripts/skywire-setuser.sh ${pkgdir}/usr/bin/skywire-setuser
- #install -Dm644 ${srcdir}/${_pkgname}-scripts/hypervisorconfig.PKGBUILD ${pkgdir}/usr/lib/${_projectname}/${_pkgname}/hypervisorconfig/PKGBUILD
- #cd ${pkgdir}/usr/bin/
- #mv hypervisor ${_pkgname}-hypervisor
+ #install scripts
+ install -Dm755 ${srcdir}/${_pkgname}-scripts/skywire-halt.sh ${pkgdir}/usr/bin/skywire-halt
+ install -Dm755 ${srcdir}/${_pkgname}-scripts/skywire-setuser.sh ${pkgdir}/usr/bin/skywire-setuser
+
+ #install the satellite PKGBUILD for distributing the hypervisor key and it's script
+ install -Dm755 ${srcdir}/${_pkgname}-scripts/keypkg-gen.sh ${pkgdir}/usr/bin/keypkg-gen
+ install -Dm755 ${srcdir}/${_pkgname}-scripts/hypervisorkey.PKGBUILD ${pkgdir}/opt/${_pkgname}/hypervisorkey/PKGBUILD
+ install -Dm755 ${srcdir}/${_pkgname}-scripts/hypervisorkey.install ${pkgdir}/opt/${_pkgname}/hypervisorkey/hypervisorkey.install
+
+ cd ${pkgdir}/usr/bin/
+ mv ${_pkgname}-visor ${_pkgname}
#install the system.d services
#install -Dm644 ${srcdir}/go/src/${_pkggopath}/init/${_pkgname}-hypervisor.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}-hypervisor.service
- install -Dm644 ${srcdir}/go/src/${_pkggopath}/init/${_pkgname}-visor.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}-visor.service
- #tls key and certificate generation
- install -Dm755 ${srcdir}/${_pkgname}/static/skywire-manager-src/ssl/generate.sh ${pkgdir}/opt/skywire/ssl/generate.sh
- ln -rTsf ${pkgdir}/opt/skywire/ssl/generate.sh ${pkgdir}/usr/bin/skywire-tls-gen
- install -Dm644 ${srcdir}/${_pkgname}/static/skywire-manager-src/ssl/certificate.cnf ${pkgdir}/opt/skywire/ssl/certificate.cnf
+ #install -Dm644 ${srcdir}/go/src/${_pkggopath}/init/${_pkgname}-visor.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}-visor.service
+
+ #install the patched system.d services
+ install -Dm644 ${srcdir}/${_pkgname}-scripts/${_pkgname}.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}.service
+ install -Dm644 ${srcdir}/${_pkgname}-scripts/${_pkgname}-visor.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}-visor.service
+
+ #tls key and certificate generation
+ #install -Dm755 ${srcdir}/${_pkgname}/static/skywire-manager-src/ssl/generate-1.sh ${pkgdir}/${_skydir}/ssl/generate.sh
+ install -Dm755 ${srcdir}/${_pkgname}-scripts/generate.sh ${pkgdir}/${_skydir}/ssl/generate.sh
+ ln -rTsf ${pkgdir}/${_skydir}/ssl/generate.sh ${pkgdir}/usr/bin/skywire-tls-gen
+ install -Dm644 ${srcdir}/${_pkgname}/static/skywire-manager-src/ssl/certificate.cnf ${pkgdir}/${_skydir}/ssl/certificate.cnf
}
diff --git a/PKGBUILD.sig b/PKGBUILD.sig
index 27b00f60c76b..5fb9c6b87652 100644
--- a/PKGBUILD.sig
+++ b/PKGBUILD.sig
Binary files differ
diff --git a/skywire-scripts.tar.gz b/skywire-scripts.tar.gz
new file mode 100644
index 000000000000..d965d0f87674
--- /dev/null
+++ b/skywire-scripts.tar.gz
Binary files differ
diff --git a/skywire.install b/skywire.install
index d5a5e893027c..6c5392731be6 100644
--- a/skywire.install
+++ b/skywire.install
@@ -1,44 +1,33 @@
post_install() {
- systemctl disable --now skywire-hypervisor.service
+ #kill any instance that was running
+ systemctl disable --now skywire.service
systemctl disable --now skywire-visor.service
- skywire-halt
-
- skywire-cli visor gen-config -ro /etc/skywire-visor.json
- if pacman -Qi hypervisorconfig > /dev/null ; then
- local hvisorkey=$(cat /usr/lib/skycoin/skywire/hypervisor.txt)
- echo "Setting hypervisor key to $hvisorkey"
- else
- skywire-hypervisor gen-config -ro /etc/skywire-hypervisor.json
- local hvisorkey=$(cat /etc/skywire-hypervisor.json | grep "public_key" | awk '{print substr($2,2,66)}')
- echo "Setting hypervisor key to $hvisorkey"
- #setting key and cert in hypervisor config file
- skywire-tls-gen
- sed -i 's+"enable_tls": false,+"enable_tls": true,+g' /etc/skywire-hypervisor.json
- sed -i 's+"tls_cert_file": "",+"tls_cert_file": "/usr/lib/skycoin/skywire/ssl/cert.pem",+g' /etc/skywire-hypervisor.json
- sed -i 's+"tls_key_file": ""+"tls_key_file": "/usr/lib/skycoin/skywire/ssl/key.pem"+g' /etc/skywire-hypervisor.json
- echo "Starting hypervisor on 127.0.0.1:8000"
- systemctl enable --now skywire-hypervisor.service
- fi
- sed -i 's/"hypervisors".*/"hypervisors": ["'"${hvisorkey}"'"],/' /etc/skywire-visor.json
- systemctl enable --now skywire-visor.service
+ #config generation writes in the current dir;
+ #so we want to make anything spawned by the process appear as a subdirectory of /root
+ cd ~/
+ #try to reuse old config
+ [[ -f /opt/skywire/skywire.json ]] && cp -b /opt/skywire/skywire.json ~/skywire.json
+ #generate hypervisor configuration
+ skywire-cli visor gen-config --is-hypervisor -p -r -o skywire.json
+ mv skywire.json /opt/skywire/skywire.json
+ skywire-tls-gen
+ echo "Skywire has been configured, starting now on https://127.0.0.1:8000"
+ systemctl enable --now skywire.service
+ echo "run keypkg-gen to generate the distributable public key package"
}
-pre-upgrade() {
-systemctl disable --now skywire-hypervisor.service
-systemctl disable --now skywire-visor.service
-skywire-halt
-}
+#pre-upgrade() {
+#}
post_upgrade() {
post_install
}
pre-remove() {
- systemctl disable --now skywire-hypervisor.service
+ systemctl disable --now skywire.service
systemctl disable --now skywire-visor.service
- skywire-halt
}
post_remove() {
-rm -rf /etc/skywire-hypervisor.json /etc/skywire-visor.json /usr/lib/skycoin/skywire
+rm -rf /opt/skywire
}