summarylogtreecommitdiffstats
path: root/deb.PKGBUILD
diff options
context:
space:
mode:
authorMoses Narrow2020-11-21 09:10:04 -0600
committerMoses Narrow2020-11-21 09:10:04 -0600
commite4ceb167ac83b69966c54465e7fa4ef442b4d06e (patch)
tree864d170cd3ae39e5de6cac4ca6c368b50824bb63 /deb.PKGBUILD
parent7ae9e8c87608cc830e12290422ed02eee2398a32 (diff)
downloadaur-e4ceb167ac83b69966c54465e7fa4ef442b4d06e.tar.gz
add deb.PKGBUILD and skywire-deb-scripts.tar.gz; minor asthetic changes to PKGBUILD
Diffstat (limited to 'deb.PKGBUILD')
-rw-r--r--deb.PKGBUILD218
1 files changed, 218 insertions, 0 deletions
diff --git a/deb.PKGBUILD b/deb.PKGBUILD
new file mode 100644
index 000000000000..b897b9e837c3
--- /dev/null
+++ b/deb.PKGBUILD
@@ -0,0 +1,218 @@
+# 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. Debian package"
+#Uncoment to select architecture - not working currently
+#_pkgarch=amd64
+#_pkgarch=arm64
+#_pkgarch=armhf
+#set to native architecture with dpkg
+_pkgarch=$(dpkg --print-architecture)
+#leave arch package as any
+arch=('any')
+_pkgver='0.3.0'
+_tag_ver='v0.3.0'
+pkgver=0.3.0
+#pkgver='autogenerated'
+pkgrel=1
+#pkgrel=2
+_pkggopath="github.com/${_githuborg}/${_pkgname}"
+url="https://${_pkggopath}"
+license=()
+makedepends=(dpkg git go skycoin-keyring)
+depends=()
+_debdeps="reprepro"
+#_debdeps=""
+_scripts="skywire-deb-scripts"
+source=("git+${url}.git#branch=${BRANCH:-develop}"
+"${_scripts}.tar.gz"
+'deb.PKGBUILD.sig'
+'deb.PKGBUILD')
+sha256sums=('SKIP'
+ '61122b39103760f4543b8a4c3da1ce695333ff4915cf76199ba8fb337cb13774'
+ 'SKIP'
+ 'e58d1f3cdace9330ca821275e48eb2b9a35bf871db23c2d843e8bbeca82be35f')
+#tar -czvf skywire-deb-scripts.tar.gz skywire-deb-scripts
+#updpkgsums deb.PKGBUILD
+
+## BINARY CROSS COMPILATION IS NOT WORKING - REASONS UNKNOWN ##
+#[[ $_pkgarch == "amd64" ]] && _buildwith=(env GOOS=linux GOARCH=amd64)
+#[[ $_pkgarch == "arm64" ]] && _buildwith=(env GOOS=linux GOARCH=arm64)
+#[[ $_pkgarch == "armhf" ]] && _buildwith=(env GOOS=linux GOARCH=arm GOARM=6)
+
+
+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 "${_pkgver}_${_date}.${_count}_${_commit}_${BRANCH:-develop}"
+ echo "${_pkgver}"
+}
+
+prepare() {
+ #verify PKGBUILD signature
+ gpg --verify ${srcdir}/deb.PKGBUILD.sig ${srcdir}/deb.PKGBUILD
+
+ # https://wiki.archlinux.org/index.php/Go_package_guidelines
+ mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin.${_pkgarch} ${srcdir}/go/apps.${_pkgarch}
+ ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath}
+ cd ${srcdir}/go/src/${_pkggopath}/
+}
+
+build() {
+ export GOPATH=${srcdir}/go
+ export GOBIN=${GOPATH}/bin.${_pkgarch}
+ export GOAPPS=${GOPATH}/apps.${_pkgarch}
+
+#create read only cache binary
+#export GOOS=linux
+#export GOARCH=arm64
+#${_buildwith}
+go build -o $GOBIN/ ${_scripts}/readonlycache.go
+
+_cmddir=${srcdir}/go/src/${_pkggopath}/cmd
+#using go build for determinism
+msg2 'building skychat binary'
+cd ${_cmddir}/apps/skychat
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ .
+msg2 'building skysocks binary'
+cd ${_cmddir}/apps/skysocks
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ .
+msg2 'building skysocks-client binary'
+cd ${_cmddir}/apps/skysocks-client
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ .
+msg2 'building vpn-client binary'
+cd ${_cmddir}/apps/vpn-client
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ .
+msg2 'building vpn-server binary'
+cd ${_cmddir}/apps/vpn-server
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOAPPS/ .
+msg2 'building skywire-visor binary'
+cd ${_cmddir}/skywire-visor
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ .
+msg2 'building skywire-cli binary'
+cd ${_cmddir}/skywire-cli
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ .
+msg2 'building setup-node binary'
+cd ${_cmddir}/setup-node
+go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ .
+#msg2 'building hypervisor binary' #hypervisor has been combined with the visor
+#cd ${_cmddir}/hypervisor
+#go build -trimpath -ldflags '-extldflags ${LDFLAGS}' -ldflags=-buildid= -o $GOBIN/ .
+#binary transparency
+cd $GOBIN
+msg2 'binary sha256sums'
+sha256sum $(ls)
+cd $GOAPPS
+sha256sum $(ls)
+
+
+#create control file for the debian package
+echo "Package: skywire" > ${srcdir}/${_pkgarch}.control
+echo "Version: ${pkgver}-${pkgrel}" >> ${srcdir}/${_pkgarch}.control
+echo "Priority: optional" >> ${srcdir}/${_pkgarch}.control
+echo "Section: web" >> ${srcdir}/${_pkgarch}.control
+echo "Architecture: ${_pkgarch}" >> ${srcdir}/${_pkgarch}.control
+echo "Depends: ${_debdeps}" >> ${srcdir}/${_pkgarch}.control
+echo "Maintainer: the-skycoin-project" >> ${srcdir}/${_pkgarch}.control
+echo "Description: ${pkgdesc}" >> ${srcdir}/${_pkgarch}.control
+
+#create control file for the hypervisorkey debian package
+echo "Package: hypervisorkey" > ${srcdir}/${_pkgarch}.hypervisorkey.control
+echo "Version: ${pkgver}-${pkgrel}" >> ${srcdir}/${_pkgarch}.hypervisorkey.control
+echo "Priority: optional" >> ${srcdir}/${_pkgarch}.hypervisorkey.control
+echo "Section: web" >> ${srcdir}/${_pkgarch}.hypervisorkey.control
+echo "Architecture: ${_pkgarch}" >> ${srcdir}/${_pkgarch}.hypervisorkey.control
+echo "Depends: ${_pkgname}" >> ${srcdir}/${_pkgarch}.hypervisorkey.control
+echo "Maintainer: the-skycoin-project" >> ${srcdir}/${_pkgarch}.hypervisorkey.control
+echo "Description: package for the hypervisor key" >> ${srcdir}/${_pkgarch}.hypervisorkey.control
+}
+
+package() {
+msg2 'creating dirs'
+#set up to create a .deb package
+_debpkgdir=${_pkgname}-${pkgver}-${pkgrel}-${_pkgarch}
+_pkgdir=${pkgdir}/${_debpkgdir}
+_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'
+
+#loop to install the binaries
+_skywirebins=$( ls ${srcdir}/go/bin.${_pkgarch} )
+for i in ${_skywirebins}; do
+ msg2 "$i"
+ install -Dm755 ${srcdir}/go/bin.${_pkgarch}/${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 'installing apps'
+#loop to install the apps
+_skywireapps=$( ls ${srcdir}/go/apps.${_pkgarch} )
+for i in ${_skywireapps}; do
+ msg2 "$i"
+ install -Dm755 ${srcdir}/go/apps.${_pkgarch}/${i} ${_pkgdir}/${_skydir}/apps/${i}
+ ln -rTsf ${_pkgdir}/${_skydir}/apps/${i} ${_pkgdir}/usr/bin/${i}
+done
+
+msg2 'installing scripts and systemd services'
+#install the satellite package build script and elements for distributing the hypervisor key
+install -Dm755 ${srcdir}/${_scripts}/keypkg-gen.sh ${pkgdir}/usr/bin/keypkg-gen
+install -Dm755 ${srcdir}/${_pkgarch}.hypervisorkey.control ${pkgdir}/opt/${_pkgname}/hypervisorkey/DEBIAN/control
+install -Dm755 ${srcdir}/${_scripts}/hypervisorkey.postinst ${pkgdir}/opt/${_pkgname}/hypervisorkey/DEBIAN/postinst
+mkdir -p ${pkgdir}/opt/${_pkgname}/hypervisorkey/opt/${_pkgname}
+
+#Change binary name of skywire-visor to skywire
+cd ${_pkgdir}/usr/bin/
+mv ${_pkgname}-visor ${_pkgname}
+
+#install the system.d services
+install -Dm644 ${srcdir}/${_scripts}/${_pkgname}.service ${_pkgdir}/etc/systemd/system/${_pkgname}.service
+install -Dm644 ${srcdir}/${_scripts}/${_pkgname}-visor.service ${_pkgdir}/etc/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}/${_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
+install -Dm644 ${srcdir}/${_scripts}/certificate.cnf ${pkgdir}/${_skydir}/ssl/certificate.cnf
+
+#install the readonly-cache binary sytemd service
+#install -Dm755 ${srcdir}/readonlycache ${_pkgdir}/usr/bin/readonlycache ##this was installed from the GOBIN
+install -Dm644 ${srcdir}/${_scripts}/readonly-cache.service ${_pkgdir}/etc/systemd/system/readonly-cache.service
+
+#install the apt repo creation script
+install -Dm755 ${srcdir}/${_scripts}/apt-repo-create.sh ${_pkgdir}/usr/bin/apt-repo-create
+
+#install the hypervisor key package creation script
+install -Dm755 ${srcdir}/${_scripts}/keypkg-gen.sh ${_pkgdir}/usr/bin/keypkg-gen
+
+#install the control file and postinst script for the debian package
+install -Dm755 ${srcdir}/${_pkgarch}.control ${_pkgdir}/DEBIAN/control
+install -Dm755 ${srcdir}/${_scripts}/postinst.sh ${_pkgdir}/DEBIAN/postinst
+
+msg2 'creating the debian package'
+#create the debian package
+cd $pkgdir
+dpkg-deb --build ${_debpkgdir}
+mv *.deb ../../
+#exit so the arch package doesn't get built
+exit
+}