diff options
Diffstat (limited to 'deb.PKGBUILD')
-rw-r--r-- | deb.PKGBUILD | 129 |
1 files changed, 68 insertions, 61 deletions
diff --git a/deb.PKGBUILD b/deb.PKGBUILD index 5f06162381d0..aab9445c809e 100644 --- a/deb.PKGBUILD +++ b/deb.PKGBUILD @@ -13,12 +13,15 @@ pkgdesc="Skywire Mainnet Node implementation. Develop Banch. Debian package" _pkgarch=$(dpkg --print-architecture) #leave arch package as any arch=('any') +#manually version for now _pkgver='0.3.0' -_tag_ver='v0.3.0' -pkgver='autogenerated' +#_tag_ver='v0.3.0' +pkgver=${_pkgver} #pkgver='autogenerated' -pkgrel=6 -#pkgrel=6 +#pkgrel keeps getting reset when build is run +_pkgrel=2 +#pkgrel=2 +pkgrel=${_pkgrel} _pkggopath="github.com/${_githuborg}/${_pkgname}" url="https://${_pkggopath}" license=() @@ -27,25 +30,28 @@ depends=() _debdeps="reprepro" #_debdeps="" _scripts="skywire-deb-scripts" -source=("git+${url}.git#branch=${BRANCH:-develop}" -"${_scripts}.tar.gz" -'deb.PKGBUILD.sig' -'deb.PKGBUILD') +#source=("git+${url}.git#branch=${BRANCH:-develop}" +#build to needed commit because of develop branch instability +source=("git+${url}.git#commit=d156980280fdb2ddfc8765ff77cdd55c0b7e9d9c" +"${_scripts}.tar.gz") +#'deb.PKGBUILD.sig' #skip the pgp checks for now as makepkg and yay handle it differently +#'deb.PKGBUILD') sha256sums=('SKIP' - '61122b39103760f4543b8a4c3da1ce695333ff4915cf76199ba8fb337cb13774' - 'SKIP' - 'SKIP') + '61122b39103760f4543b8a4c3da1ce695333ff4915cf76199ba8fb337cb13774') +# 'SKIP' +# 'SKIP') validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC') # Moses Narrow <moe_narrow@use.startmail.com> #tar -czvf skywire-deb-scripts.tar.gz skywire-deb-scripts #updpkgsums deb.PKGBUILD -## BINARY CROSS COMPILATION IS NOT WORKING - REASONS UNKNOWN ## +## BINARY CROSS COMPILATION IS NOT WORKING - PENDING INVESTIGATION ## #[[ $_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) ## Build only on native architecture for now ## -pkgver() { +#manually version for now +#pkgver() { #cd "${srcdir}/${_pkgname}" #local _version=$(git describe --abbrev=0 | tr --delete v) #local _version=${_version//-/_} @@ -53,12 +59,13 @@ pkgver() { #local _count=$(git rev-list --count HEAD) #local _commit=$(git rev-parse --short HEAD) #echo "${_pkgver}_${_date}.${_count}_${_commit}_${BRANCH:-develop}" - echo "${_pkgver}" -} +# echo "${_pkgver}" +#} prepare() { +#skip signature verification for now because yay handles it differently than makepkg #verify PKGBUILD signature - gpg --verify ${srcdir}/deb.PKGBUILD.sig ${srcdir}/deb.PKGBUILD +# 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} @@ -67,11 +74,10 @@ prepare() { } build() { - - export GOPATH=${srcdir}/go export GOBIN=${GOPATH}/bin.${_pkgarch} export GOAPPS=${GOPATH}/apps.${_pkgarch} +#enable static compilation export CC=musl-gcc #export GOOS=linux #export GOARCH=amd64 @@ -120,96 +126,93 @@ sha256sum $(ls) #create control file for the debian package echo "Package: skywire" > ${srcdir}/${_pkgarch}.control -echo "Version: ${pkgver}-${pkgrel}" >> ${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 "Maintainer: github.com/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 +#TO DO: revise versioning for satellite package +echo "Version: 1" >> ${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 "Maintainer: github.com/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} +_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/ +_skyapps="${_skydir}/apps" +_systemddir="etc/systemd/system" +_skybin="${_skydir}/bin" +mkdir -p ${_pkgdir}/usr/bin +#this was done at my discretion for tls autoconfig mkdir -p ${_pkgdir}/${_skydir}/ssl +#the skeleton of the hyperviorkey package; created with a script run on target machines +mkdir -p ${_pkgdir}/${_skydir}/hypervisorkey/opt/${_pkgname} +#other dirs must be created or the visor will create them at runtime with weird permissions mkdir -p ${_pkgdir}/${_skydir}/local mkdir -p ${_pkgdir}/${_skydir}/dmsgpty -mkdir -p ${_pkgdir}/${_skydir}/${_pkgname} +mkdir -p ${_pkgdir}/${_skydir}/${_pkgname} #needed? 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} + install -Dm755 ${srcdir}/go/bin.${_pkgarch}/${i} ${_pkgdir}/${_skybin}/${i} + ln -rTsf ${_pkgdir}/${_skybin}/${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} + install -Dm755 ${srcdir}/go/apps.${_pkgarch}/${i} ${_pkgdir}/${_skyapps}/${i} + ln -rTsf ${_pkgdir}/${_skyapps}/${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} +_msg2 'renaming skywire-visor to skywire' +mv ${_pkgdir}/usr/bin/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} -#Change binary name of skywire-visor to skywire -cd ${_pkgdir}/usr/bin/ -mv ${_pkgname}-visor ${_pkgname} +_msg2 'installing systemd services' +install -Dm644 ${srcdir}/${_scripts}/${_pkgname}.service ${_pkgdir}/${_systemddir}/${_pkgname}.service +install -Dm644 ${srcdir}/${_scripts}/${_pkgname}-visor.service ${_pkgdir}/${_systemddir}/${_pkgname}-visor.service -#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 +_msg2 'installing tls key and certificate generation scripts' #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 -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 -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 +_msg2 'installing `hypervisorkey` satellite .deb package build script' +install -Dm755 ${srcdir}/${_scripts}/keypkg-gen.sh ${_pkgdir}/usr/bin/keypkg-gen +_msg2 'installing `hypervisorkey` control file and postinst script' +install -Dm755 ${srcdir}/${_pkgarch}.hypervisorkey.control ${_pkgdir}/${_skydir}/hypervisorkey/DEBIAN/control +install -Dm755 ${srcdir}/${_scripts}/hypervisorkey.postinst ${_pkgdir}/${_skydir}/hypervisorkey/DEBIAN/postinst -#install the apt repo creation script + +_msg2 'installing apt-repo-create 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 +_msg2 'installing readonly-cache systemd 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 control file and postinst script for the debian package +_msg2 'installing the control file and postinst script' install -Dm755 ${srcdir}/${_pkgarch}.control ${_pkgdir}/DEBIAN/control install -Dm755 ${srcdir}/${_scripts}/postinst.sh ${_pkgdir}/DEBIAN/postinst @@ -222,6 +225,10 @@ mv *.deb ../../ exit } +#check() { +#_msg2 'testing `skywire-cli visor gen-config --help`' +#${pkgdir}/opt/skywire/bin/skywire-cli visor gen-config --help +#} _msg2() { (( QUIET )) && return |