diff options
author | Moses Narrow | 2020-11-14 16:13:37 -0600 |
---|---|---|
committer | Moses Narrow | 2020-11-14 16:13:37 -0600 |
commit | 8410704a8278f46ea50f415c9efc9ac62364bc53 (patch) | |
tree | 814b29c34e49d88c6c999116bdd730a45d5ecd90 | |
parent | c0253514710592d75fe1ade983a5733d78d3dd03 (diff) | |
download | aur-8410704a8278f46ea50f415c9efc9ac62364bc53.tar.gz |
implement autoconfig and satellite package
-rw-r--r-- | .SRCINFO | 7 | ||||
-rw-r--r-- | PKGBUILD | 103 | ||||
-rw-r--r-- | PKGBUILD.sig | bin | 566 -> 566 bytes | |||
-rw-r--r-- | skywire-scripts.tar.gz | bin | 0 -> 2610 bytes | |||
-rw-r--r-- | skywire.install | 47 |
5 files changed, 79 insertions, 78 deletions
@@ -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 @@ -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 Binary files differindex 27b00f60c76b..5fb9c6b87652 100644 --- a/PKGBUILD.sig +++ b/PKGBUILD.sig diff --git a/skywire-scripts.tar.gz b/skywire-scripts.tar.gz Binary files differnew file mode 100644 index 000000000000..d965d0f87674 --- /dev/null +++ b/skywire-scripts.tar.gz 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 } |