diff options
author | Moses Narrow | 2021-01-03 09:06:37 -0600 |
---|---|---|
committer | Moses Narrow | 2021-01-03 09:06:37 -0600 |
commit | 0428f1441a8d8a5886be50f99069dd196475798c (patch) | |
tree | 75b7f508f4251aa143092a400cae7461d5606b7a | |
parent | 7cf2f3081a36c9096a48d315bc4948770cc51f3f (diff) | |
download | aur-0428f1441a8d8a5886be50f99069dd196475798c.tar.gz |
more script refinements ; added cross compile .deb PKGBUILD
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 64 | ||||
-rw-r--r-- | cc.deb.PKGBUILD | 274 | ||||
-rw-r--r-- | deb.PKGBUILD | 51 | ||||
-rw-r--r-- | skywire-deb-scripts.tar.gz | bin | 5262 -> 5789 bytes | |||
-rw-r--r-- | skywire-scripts.tar.gz | bin | 7360 -> 7617 bytes | |||
-rw-r--r-- | skywire.install | 2 |
7 files changed, 338 insertions, 59 deletions
@@ -1,7 +1,7 @@ pkgbase = skywire pkgdesc = Skywire Mainnet Node implementation. Skycoin.com pkgver = 0.3.0 - pkgrel = 7 + pkgrel = 8 url = https://github.com/skycoin/skywire install = skywire.install arch = i686 @@ -19,10 +19,10 @@ pkgbase = skywire makedepends = go makedepends = musl makedepends = kernel-headers-musl - source = git+https://github.com/skycoin/skywire.git##branch=develop + source = git+https://github.com/skycoin/skywire.git source = skywire-scripts.tar.gz sha256sums = SKIP - sha256sums = f51b642a4ea57b2eed4aeab75577d041aceb4e277c36a2f8de64c6d367f15d84 + sha256sums = 535b7681d4515b24882e648441184796af72af55eb507a05f22de68896892201 pkgname = skywire @@ -8,8 +8,8 @@ pkgdesc="Skywire Mainnet Node implementation. Skycoin.com" _pkggopath="github.com/${_githuborg}/${_pkgname}" pkgver=0.3.0 #pkgver='autogenerated' -pkgrel=7 -#pkgrel=7 +pkgrel=8 +#pkgrel=8 arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' ) url="https://${_pkggopath}" license=() @@ -23,7 +23,7 @@ source=("git+${url}.git" ##branch=${BRANCH:-develop}" #'PKGBUILD.sig' #disable signature checking for now #'PKGBUILD') sha256sums=('SKIP' - 'f51b642a4ea57b2eed4aeab75577d041aceb4e277c36a2f8de64c6d367f15d84') + '535b7681d4515b24882e648441184796af72af55eb507a05f22de68896892201') # 'SKIP' # 'SKIP') #validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC') # Moses Narrow <moe_narrow@use.startmail.com> @@ -51,7 +51,8 @@ mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin ${srcdir}/g ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath} cd ${srcdir}/go/src/${_pkggopath}/ #avoid develop branch build failures on ARM -[[ $CARCH == "x86_64" ]] && git checkout develop || git checkout d156980280fdb2ddfc8765ff77cdd55c0b7e9d9c +#[[ $CARCH == "x86_64" ]] && git checkout develop || git checkout d156980280fdb2ddfc8765ff77cdd55c0b7e9d9c +git checkout develop } build() { @@ -109,6 +110,7 @@ package() { #create directory trees or the visor might make them with weird permissions _skydir="opt/skywire" _skyapps="${_skydir}/apps" +_skyscripts="${_skydir}/scripts" _systemddir="etc/systemd/system" _skybin="${_skydir}/bin" mkdir -p ${pkgdir}/usr/bin @@ -122,60 +124,62 @@ mkdir -p ${pkgdir}/${_skydir}/${_pkgname}-save mkdir -p ${pkgdir}/${_skydir}/transport_logs mkdir -p ${pkgdir}/${_skydir}/skycache mkdir -p ${pkgdir}/${_skydir}/hypervisorkey +mkdir -p ${pkgdir}/${_skydir}/scripts _msg2 'installing binaries' _skywirebins=$( ls ${srcdir}/go/bin ) for i in ${_skywirebins}; do - install -Dm755 ${srcdir}/go/bin/${i} ${pkgdir}/${_skybin}/${i} - ln -rTsf ${pkgdir}/${_skybin}/${i} ${pkgdir}/usr/bin/${i} + _install2 ${srcdir}/go/bin/${i} ${_skybin} done - +_msg2 'installing apps' _skywireapps=$( ls ${srcdir}/go/apps ) for i in ${_skywireapps}; do - install -Dm755 ${srcdir}/go/apps/${i} ${pkgdir}/${_skyapps}/${i} - ln -rTsf ${pkgdir}/${_skyapps}/${i} ${pkgdir}/usr/bin/${i} + _install2 ${srcdir}/go/apps/${i} ${_skyapps} +done +_msg2 'installing scripts' +_skywirescripts=$( ls ${srcdir}/${_scripts}/${_pkgname} ) +for i in ${_skywirescripts}; do + _install2 ${srcdir}/${_scripts}/${_pkgname}/${i} ${_skyscripts} done -#install scripts -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-halt.sh ${pkgdir}/usr/bin/${_pkgname}-halt -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-setuser.sh ${pkgdir}/usr/bin/${_pkgname}-setuser - -#install the PKGBUILD for generating the config backup (and restoration?) scripts -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-save.sh ${pkgdir}/usr/bin/${_pkgname}-save -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-restore.sh ${pkgdir}/usr/bin/${_pkgname}-restore -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-autoconfig.sh ${pkgdir}/usr/bin/${_pkgname}-autoconfig -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-reset.sh ${pkgdir}/usr/bin/${_pkgname}-reset - -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-save.PKGBUILD ${pkgdir}/${_skydir}/${_pkgname}-save/PKGBUILD -install -Dm755 ${srcdir}/${_scripts}/${_pkgname}-save.install ${pkgdir}/${_skydir}/${_pkgname}-save/${_pkgname}-save.install +install -Dm755 ${srcdir}/${_scripts}/skywire-save/${_pkgname}-save.PKGBUILD ${pkgdir}/${_skydir}/${_pkgname}-save/PKGBUILD +install -Dm755 ${srcdir}/${_scripts}/skywire-save/${_pkgname}-save.install ${pkgdir}/${_skydir}/${_pkgname}-save/${_pkgname}-save.install +install -Dm644 ${srcdir}/${_scripts}/skywire-save/${_pkgname}-save.txt ${pkgdir}/${_skydir}/${_pkgname}-save/${_pkgname}-save.install #install the satellite PKGBUILD for distributing the hypervisor key and it's script -install -Dm755 ${srcdir}/${_scripts}/keypkg-gen.sh ${pkgdir}/usr/bin/keypkg-gen -install -Dm755 ${srcdir}/${_scripts}/hypervisorkey.PKGBUILD ${pkgdir}/${_skydir}/hypervisorkey/PKGBUILD -install -Dm755 ${srcdir}/${_scripts}/hypervisorkey.install ${pkgdir}/${_skydir}/hypervisorkey/hypervisorkey.install -install -Dm755 ${srcdir}/${_scripts}/hypervisorkey-autoconfig.sh ${pkgdir}/${_skydir}/hypervisorkey/hypervisorkey-autoconfig.sh +install -Dm755 ${srcdir}/${_scripts}/hypervisorkey/hypervisorkey.PKGBUILD ${pkgdir}/${_skydir}/hypervisorkey/PKGBUILD +install -Dm755 ${srcdir}/${_scripts}/hypervisorkey/hypervisorkey.install ${pkgdir}/${_skydir}/hypervisorkey/hypervisorkey.install +install -Dm755 ${srcdir}/${_scripts}/hypervisorkey/hypervisorkey-autoconfig.sh ${pkgdir}/${_skydir}/hypervisorkey/hypervisorkey-autoconfig.sh #rename visor to skywire -mv ${pkgdir}/usr/bin/${_pkgname}-visor ${pkgdir}/usr/bin/${_pkgname} +[[ -f ${pkgdir}/usr/bin/${_pkgname}-visor ]] && mv ${pkgdir}/usr/bin/${_pkgname}-visor ${pkgdir}/usr/bin/${_pkgname} #install the system.d services (from the source) #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 #install the patched system.d services -install -Dm644 ${srcdir}/${_scripts}/${_pkgname}.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}.service -install -Dm644 ${srcdir}/${_scripts}/${_pkgname}-visor.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}-visor.service +install -Dm644 ${srcdir}/${_scripts}/systemd/${_pkgname}.service ${pkgdir}/${_systemddir}/${_pkgname}.service +install -Dm644 ${srcdir}/${_scripts}/systemd/${_pkgname}-visor.service ${pkgdir}/${_systemddir}/${_pkgname}-visor.service #install the skycache systemd service -install -Dm644 ${srcdir}/${_scripts}/skycache.service ${pkgdir}/usr/lib/systemd/system/skycache.service +install -Dm644 ${srcdir}/${_scripts}/skycache.service ${pkgdir}/${_systemddir}/skycache.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 +install -Dm755 ${srcdir}/${_scripts}/ssl/generate.sh ${pkgdir}/${_skydir}/ssl/generate.sh ln -rTsf ${pkgdir}/${_skydir}/ssl/generate.sh ${pkgdir}/usr/bin/${_pkgname}-tls-gen install -Dm644 ${srcdir}/${_pkgname}/static/${_pkgname}-manager-src/ssl/certificate.cnf ${pkgdir}/${_skydir}/ssl/certificate.cnf } +_install2() { +_binname="${1##*/}" +_binname="${_binname%%.*}" +install -Dm755 ${1} ${pkgdir}/${2}/${_binname} +ln -rTsf ${pkgdir}/${2}/${_binname} ${pkgdir}/usr/bin/${_binname} +chmod +x usr/bin/${_binname} + +} _msg2() { (( QUIET )) && return diff --git a/cc.deb.PKGBUILD b/cc.deb.PKGBUILD new file mode 100644 index 000000000000..72c9a976437d --- /dev/null +++ b/cc.deb.PKGBUILD @@ -0,0 +1,274 @@ +# 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" +#set to native architecture with dpkg +_pkgarch=$(dpkg --print-architecture) +_pkgarches=('armhf' 'arm64' 'amd64') +#Uncoment to select architecture - cross compile not working currently +#_pkgarch=amd64 +#_pkgarch=arm64 +#_pkgarch=armhf +#leave arch package as any +arch=('any') +#manually version for now +_pkgver='0.3.0' +#_tag_ver='v0.3.0' +pkgver=${_pkgver} +#pkgver='autogenerated' +#pkgrel keeps getting reset when build is run +_pkgrel=3 +#pkgrel=3 +pkgrel=${_pkgrel} +_pkggopath="github.com/${_githuborg}/${_pkgname}" +url="https://${_pkggopath}" +license=() +#make deps for every architecture are included here.. +makedepends=('dpkg' 'git' 'go' 'musl' 'kernel-headers-musl' 'aarch64-linux-musl' 'arm-linux-gnueabihf-musl') #'aarch64-linux-musl' 'arm-linux-gnueabihf-musl' 'skycoin-keyring') +depends=() +_debdeps="reprepro" +#_debdeps="" +_scripts="skywire-deb-scripts" +#source=("git+${url}.git#branch=${BRANCH:-develop}" +#build to needed commit because of develop branch instability +source=("git+${url}.git" ##branch=${BRANCH:-develop}" +"${_scripts}.tar.gz" ) +#'deb.PKGBUILD.sig' #skip the pgp checks for now as makepkg and yay handle it differently +#'deb.PKGBUILD') +sha256sums=('SKIP' + 'f993e28400f72a05500f0b091d6d308c5a4a1299a2490ff0ecb5b59b0805e5b1') +# 'SKIP' +# 'SKIP') +#validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC') # Moses Narrow <moe_narrow@use.startmail.com> + +#tar -czvf skywire-deb-scripts.tar.gz skywire-deb-scripts +#updpkgsums deb.PKGBUILD + + +prepare() { + for i in ${_pkgarches[@]}; do + _msg2 "$i" +done +#skip signature verification for now because yay handles it differently than makepkg + #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.${_pkgarches[@]} ${srcdir}/go/apps.${_pkgarches[@]} + ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath} + cd ${srcdir}/go/src/${_pkggopath}/ + + #[[ $CARCH == "x86_64" ]] && git checkout develop || git checkout d156980280fdb2ddfc8765ff77cdd55c0b7e9d9c + git checkout d156980280fdb2ddfc8765ff77cdd55c0b7e9d9c +} + +build() { + local GOPATH=${srcdir}/go + export GOOS=linux + export CGO_ENABLED=1 + #export CC=musl-gcc + #static cross-compilation + for i in ${_pkgarches[@]}; do + msg2 "_pkgarch=$i" + local _pkgarch=$i + export GOPATH=${srcdir}/go + export GOBIN=${GOPATH}/bin.${_pkgarch} + export _GOAPPS=${GOPATH}/apps.${_pkgarch} + export GOOS=linux + #export CC=musl-gcc + #static cross-compilation + [[ $_pkgarch == "amd64" ]] && export GOARCH=amd64 && export CC=musl-gcc + [[ $_pkgarch == "arm64" ]] && export GOARCH=arm64 && export CC=aarch64-linux-musl-gcc + [[ $_pkgarch == "armhf" ]] && export GOARCH=arm && export GOARM=6 && export CC=arm-linux-gnueabihf-musl-gcc + + #_ldflags=('-linkmode external -extldflags "-static" -buildid=') + + #${_defaults} ${_goarch} + #create read only cache binary + #go build -trimpath -o $GOBIN/ ${srcdir}/${_scripts}/skycache.go + cd ${srcdir}/${_scripts}/ + go build -trimpath --ldflags '-s -w -linkmode external -extldflags "-static" -buildid=' -o $GOBIN/ skycache.go + + #create the skywire binaries + cd ${srcdir}/go/src/${_pkggopath} + _cmddir=${srcdir}/go/src/${_pkggopath}/cmd + + _buildbins skychat $_GOAPPS apps/ + _buildbins skysocks $_GOAPPS apps/ + _buildbins skysocks-client $_GOAPPS apps/ + _buildbins vpn-client $_GOAPPS apps/ + _buildbins vpn-server $_GOAPPS apps/ + _buildbins skywire-visor $GOBIN + _buildbins skywire-cli $GOBIN + _buildbins setup-node $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' + echo -e "$_pkgarch" + sha256sum $(ls) + cd $_GOAPPS + sha256sum $(ls) + + _msg2 'creating the DEBIAN/control files' + #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: 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 + #TO DO: revise versioning for satellite packages + 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: github.com/the-skycoin-project" >> ${srcdir}/${_pkgarch}.hypervisorkey.control + echo "Description: package for the hypervisor key" >> ${srcdir}/${_pkgarch}.hypervisorkey.control + + #create control file for the skywire-save debian package + echo "Package: skywire-save" > ${srcdir}/${_pkgarch}.skywire-save.control + #TO DO: revise versioning for satellite packages + echo "Version: 1" >> ${srcdir}/${_pkgarch}.skywire-save.control + echo "Priority: optional" >> ${srcdir}/${_pkgarch}.skywire-save.control + echo "Section: web" >> ${srcdir}/${_pkgarch}.skywire-save.control + echo "Architecture: ${_pkgarch}" >> ${srcdir}/${_pkgarch}.skywire-save.control + echo "Depends: ${_pkgname}" >> ${srcdir}/${_pkgarch}.skywire-save.control + echo "Maintainer: github.com/the-skycoin-project" >> ${srcdir}/${_pkgarch}.skywire-save.control + echo "Description: easy backup and restore skywire configuration" >> ${srcdir}/${_pkgarch}.skywire-save.control + done +} + +#I had to speed up the build for testing but there's a risk of using old binaries. +#will change this when the commit for the build tracks a branch +_buildbins() { +_GOHERE=$2 #target bin dir +_binpath=$3 #find the binary here- expecting 'apps/' or empty +_binname=$1 #which binary to build +_msg2 "building ${_binname} binary" +if [[ ! -f ${_GOHERE}/${_binname} ]] ; then #don't waste time rebuilding existing bins + cd ${_cmddir}/${_binpath}${_binname} + go build -trimpath --ldflags '-s -w -linkmode external -extldflags "-static" -buildid=' -o ${_GOHERE}/${_binname} . +fi +} + + +package() { +for i in ${_pkgarches[@]}; do +msg2 "_pkgarch=${i}" +local _pkgarch=${i} +_msg2 'creating dirs' +#set up to create a .deb package +_debpkgdir="${_pkgname}-${pkgver}-${_pkgrel}-${_pkgarch}" +_pkgdir="${pkgdir}/${_debpkgdir}" +_skydir="opt/skywire" +_skyapps="${_skydir}/apps" +_skyscripts="${_skydir}/scripts" +_systemddir="etc/systemd/system" +_skybin="${_skydir}/bin" +[[ -d ${_pkgdir} ]] && rm -rf ${_pkgdir} +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} #needed? +mkdir -p ${_pkgdir}/${_skydir}/skycache #local package repository +mkdir -p ${_pkgdir}/${_skydir}/transport_logs +mkdir -p ${_pkgdir}/${_skydir}/scripts + +cd $_pkgdir + +_msg2 'installing binaries' +#loop to install the binaries +_skywirebins=$( ls ${srcdir}/go/bin.${_pkgarch} ) +for i in ${_skywirebins}; do + _msg2 "$i" + _install2 ${srcdir}/go/bin.${_pkgarch}/${i} ${_skybin} +done + +_msg2 'installing apps' +#loop to install the apps +_skywireapps=$( ls ${srcdir}/go/apps.${_pkgarch} ) +for i in ${_skywireapps}; do + _msg2 "$i" + _install2 ${srcdir}/go/apps.${_pkgarch}/${i} ${_skyapps} +done + +_msg2 'installing scripts' +_skywirescripts=$( ls ${srcdir}/${_scripts}/${_pkgname} ) +for i in ${_skywirescripts}; do + _install2 ${srcdir}/${_scripts}/${_pkgname}/${i} ${_skyscripts} +done + +_msg2 'renaming skywire-visor to skywire' +mv ${_pkgdir}/usr/bin/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} + +_msg2 'installing skywire systemd services' +install -Dm644 ${srcdir}/${_scripts}/${_pkgname}.service ${_pkgdir}/${_systemddir}/${_pkgname}.service +install -Dm644 ${srcdir}/${_scripts}/${_pkgname}-visor.service ${_pkgdir}/${_systemddir}/${_pkgname}-visor.service + +_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 -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 + +_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 -Dm755 ${srcdir}/${_scripts}/hypervisorkey.postrm ${_pkgdir}/${_skydir}/hypervisorkey/DEBIAN/postrm +install -Dm755 ${srcdir}/${_scripts}/hypervisorkey-autoconfig.sh ${_pkgdir}/usr/bin/hypervisorkey-autoconfig + +_msg2 'installing `skywire-save` control file and postinst postrm and script' +install -Dm755 ${srcdir}/${_pkgarch}.skywire-save.control ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/control +install -Dm755 ${srcdir}/${_scripts}/skywire-save.postinst ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/postinst +install -Dm755 ${srcdir}/${_scripts}/skywire-save.postrm ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/postrm + +_msg2 'installing skycache systemd services' +install -Dm644 ${srcdir}/${_scripts}/skycache.service ${_pkgdir}/${_systemddir}/skycache.service + +_msg2 'installing skywire control file, postinst & postrm scripts' +install -Dm755 ${srcdir}/${_pkgarch}.control ${_pkgdir}/DEBIAN/control +install -Dm755 ${srcdir}/${_scripts}/postinst.sh ${_pkgdir}/DEBIAN/postinst +install -Dm755 ${srcdir}/${_scripts}/postrm.sh ${_pkgdir}/DEBIAN/postrm + +_msg2 'creating the debian package' +#create the debian package! +cd $pkgdir +dpkg-deb --build -z9 ${_debpkgdir} +mv *.deb ../../ +done +#exit so the arch package doesn't get built +exit +} + +_install2() { +_binname="${1##*/}" +_binname="${_binname%%.*}" +install -Dm755 ${1} ${_pkgdir}/${2}/${_binname} +ln -rTsf ${_pkgdir}/${2}/${_binname} ${_pkgdir}/usr/bin/${_binname} +chmod +x ${_pkgdir}/usr/bin/${_binname} +} + +_msg2() { + (( QUIET )) && return + local mesg=$1; shift + printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" +} diff --git a/deb.PKGBUILD b/deb.PKGBUILD index e7bbc4e84618..2b8c256cbdf5 100644 --- a/deb.PKGBUILD +++ b/deb.PKGBUILD @@ -38,7 +38,7 @@ source=("git+${url}.git" ##branch=${BRANCH:-develop}" #'deb.PKGBUILD.sig' #skip the pgp checks for now as makepkg and yay handle it differently #'deb.PKGBUILD') sha256sums=('SKIP' - '3b90ab0cea45fc4539df2019e770b3466f16be3c4057384909136851218a4b5d') + '418772371bcf4a7bcae764e29bfb9cd6e71dd63d05954c7dd381c078d50b1d4c') # 'SKIP' # 'SKIP') #validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC') # Moses Narrow <moe_narrow@use.startmail.com> @@ -166,6 +166,7 @@ _debpkgdir="${_pkgname}-${pkgver}-${_pkgrel}-${_pkgarch}" _pkgdir="${pkgdir}/${_debpkgdir}" _skydir="opt/skywire" _skyapps="${_skydir}/apps" +_skyscripts="${_skydir}/scripts" _systemddir="etc/systemd/system" _skybin="${_skydir}/bin" mkdir -p ${_pkgdir}/usr/bin @@ -179,14 +180,16 @@ mkdir -p ${_pkgdir}/${_skydir}/dmsgpty mkdir -p ${_pkgdir}/${_skydir}/${_pkgname} #needed? mkdir -p ${_pkgdir}/${_skydir}/skycache #local package repository mkdir -p ${_pkgdir}/${_skydir}/transport_logs +mkdir -p ${_pkgdir}/${_skydir}/scripts + +cd $_pkgdir _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}/${_skybin}/${i} - ln -rTsf ${_pkgdir}/${_skybin}/${i} ${_pkgdir}/usr/bin/${i} + _install2 ${srcdir}/go/bin.${_pkgarch}/${i} ${_skybin} done _msg2 'installing apps' @@ -194,8 +197,14 @@ _msg2 'installing apps' _skywireapps=$( ls ${srcdir}/go/apps.${_pkgarch} ) for i in ${_skywireapps}; do _msg2 "$i" - install -Dm755 ${srcdir}/go/apps.${_pkgarch}/${i} ${_pkgdir}/${_skyapps}/${i} - ln -rTsf ${_pkgdir}/${_skyapps}/${i} ${_pkgdir}/usr/bin/${i} + _install2 ${srcdir}/go/apps.${_pkgarch}/${i} ${_skyapps} +done + + +_msg2 'installing scripts' +_skywirescripts=$( ls ${srcdir}/${_scripts}/${_pkgname} ) +for i in ${_skywirescripts}; do + _install2 ${srcdir}/${_scripts}/${_pkgname}/${i} ${_skyscripts} done _msg2 'renaming skywire-visor to skywire' @@ -212,29 +221,18 @@ ln -rTsf ${_pkgdir}/${_skydir}/ssl/generate.sh ${_pkgdir}/usr/bin/skywire-tls-ge #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 -_msg2 'skywire-autoconfig script' -install -Dm755 ${srcdir}/${_scripts}/skywire-autoconfig.sh ${_pkgdir}/usr/bin/skywire-autoconfig - -_msg2 'installing apt-repo-create script' -install -Dm755 ${srcdir}/${_scripts}/apt-repo-create.sh ${_pkgdir}/usr/bin/apt-repo-create - -_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 -Dm755 ${srcdir}/${_scripts}/hypervisorkey.postrm ${_pkgdir}/${_skydir}/hypervisorkey/DEBIAN/postrm -install -Dm755 ${srcdir}/${_scripts}/hypervisorkey-autoconfig.sh ${_pkgdir}/usr/bin/hypervisorkey-autoconfig +install -Dm755 ${srcdir}/${_scripts}/hypervisorkey/hypervisorkey.postinst ${_pkgdir}/${_skydir}/hypervisorkey/DEBIAN/postinst +install -Dm755 ${srcdir}/${_scripts}/hypervisorkey/hypervisorkey.postrm ${_pkgdir}/${_skydir}/hypervisorkey/DEBIAN/postrm _msg2 'installing `skywire-save` control file and postinst postrm and script' install -Dm755 ${srcdir}/${_pkgarch}.skywire-save.control ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/control -install -Dm755 ${srcdir}/${_scripts}/skywire-save.postinst ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/postinst -install -Dm755 ${srcdir}/${_scripts}/skywire-save.postrm ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/postrm -install -Dm755 ${srcdir}/${_scripts}/skywire-save.sh ${_pkgdir}/usr/bin/skywire-save +install -Dm755 ${srcdir}/${_scripts}/skywire-save/skywire-save.postinst ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/postinst +install -Dm755 ${srcdir}/${_scripts}/skywire-save/skywire-save.postrm ${_pkgdir}/${_skydir}/skywire-save/DEBIAN/postrm _msg2 'installing skycache systemd services' -install -Dm644 ${srcdir}/${_scripts}/skycache.service ${_pkgdir}/${_systemddir}/skycache.service +install -Dm644 ${srcdir}/${_scripts}/skycache/skycache.service ${_pkgdir}/${_systemddir}/skycache.service _msg2 'installing skywire control file, postinst & postrm scripts' install -Dm755 ${srcdir}/${_pkgarch}.control ${_pkgdir}/DEBIAN/control @@ -250,10 +248,13 @@ mv *.deb ../../ exit } -#check() { -#_msg2 'testing `skywire-cli visor gen-config --help`' -#${pkgdir}/opt/skywire/bin/skywire-cli visor gen-config --help -#} +_install2() { +_binname="${1##*/}" +_binname="${_binname%%.*}" +install -Dm755 ${1} ${_pkgdir}/${2}/${_binname} +ln -rTsf ${_pkgdir}/${2}/${_binname} ${_pkgdir}/usr/bin/${_binname} +chmod +x ${_pkgdir}/usr/bin/${_binname} +} _msg2() { (( QUIET )) && return diff --git a/skywire-deb-scripts.tar.gz b/skywire-deb-scripts.tar.gz Binary files differindex 595b7aa360be..065b1b7b1185 100644 --- a/skywire-deb-scripts.tar.gz +++ b/skywire-deb-scripts.tar.gz diff --git a/skywire-scripts.tar.gz b/skywire-scripts.tar.gz Binary files differindex d248989537ea..0b8ca4ba4863 100644 --- a/skywire-scripts.tar.gz +++ b/skywire-scripts.tar.gz diff --git a/skywire.install b/skywire.install index 3299ab26ed65..c2292704e164 100644 --- a/skywire.install +++ b/skywire.install @@ -5,7 +5,7 @@ #} post_install() { -skywire-autoconfig +/opt/skywire/scripts/skywire-autoconfig } #pre-upgrade() { |