diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | .deb.SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 29 | ||||
-rw-r--r-- | PKGBUILD.sig | bin | 566 -> 566 bytes | |||
-rw-r--r-- | deb.PKGBUILD | 218 | ||||
-rw-r--r-- | deb.PKGBUILD.sig | bin | 0 -> 566 bytes | |||
-rw-r--r-- | skywire-deb-scripts.tar.gz | bin | 0 -> 3553 bytes |
7 files changed, 258 insertions, 14 deletions
@@ -1,7 +1,7 @@ pkgbase = skywire pkgdesc = Skywire Mainnet Node implementation. Develop Banch. Skycoin.com pkgver = autogenerated - pkgrel = 9 + pkgrel = 10 url = https://github.com/skycoin/skywire install = skywire.install arch = any @@ -12,10 +12,12 @@ pkgbase = skywire source = git+https://github.com/skycoin/skywire.git#branch=develop source = skywire-scripts.tar.gz source = PKGBUILD.sig + source = PKGBUILD validpgpkeys = DE08F924EEE93832DABC642CA8DC761B1C0C0CFC sha256sums = SKIP sha256sums = dc60e6caf24a4e74d3810d993c1c5343488784b33d61f7f6ab20aded95473ffa sha256sums = SKIP + sha256sums = SKIP pkgname = skywire diff --git a/.deb.SRCINFO b/.deb.SRCINFO new file mode 100644 index 000000000000..eea2ad06fd62 --- /dev/null +++ b/.deb.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = skywire + pkgdesc = Skywire Mainnet Node implementation. Develop Banch. Debian package + pkgver = 0.3.0 + pkgrel = 1 + url = https://github.com/skycoin/skywire + arch = any + makedepends = dpkg + makedepends = git + makedepends = go + makedepends = skycoin-keyring + source = git+https://github.com/skycoin/skywire.git#branch=develop + source = skywire-deb-scripts.tar.gz + source = deb.PKGBUILD.sig + source = deb.PKGBUILD + sha256sums = SKIP + sha256sums = 61122b39103760f4543b8a4c3da1ce695333ff4915cf76199ba8fb337cb13774 + sha256sums = SKIP + sha256sums = e58d1f3cdace9330ca821275e48eb2b9a35bf871db23c2d843e8bbeca82be35f + +pkgname = skywire + @@ -8,19 +8,22 @@ pkgdesc="Skywire Mainnet Node implementation. Develop Banch. Skycoin.com" _pkggopath="github.com/${_githuborg}/${_pkgname}" pkgver='autogenerated' #pkgver='autogenerated' -pkgrel=9 -#pkgrel=9 +pkgrel=10 +#pkgrel=10 arch=('any') url="https://${_pkggopath}" license=() makedepends=(git go skycoin-keyring) optdepends=('readonly-cache: distribute hypervisorkey package for cluster management') install=skywire.install +_scripts=skywire-scripts source=("git+${url}.git#branch=${BRANCH:-develop}" -"skywire-scripts.tar.gz" -"PKGBUILD.sig") +"${_scripts}.tar.gz" +'PKGBUILD.sig' +'PKGBUILD') sha256sums=('SKIP' 'dc60e6caf24a4e74d3810d993c1c5343488784b33d61f7f6ab20aded95473ffa' + 'SKIP' 'SKIP') validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC') # Moses Narrow <moe_narrow@use.startmail.com> #'98F934F04F9334B81DFA3398913BBD5206B19620') #iketheadore skycoin <luxairlake@protonmail.com> @@ -57,7 +60,7 @@ pkgver() { prepare() { #verify PKGBUILD signature - gpg --verify ../PKGBUILD.sig ../PKGBUILD + gpg --verify ${srcdir}/PKGBUILD.sig ${srcdir}/PKGBUILD # https://wiki.archlinux.org/index.php/Go_package_guidelines mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin ${srcdir}/go/apps @@ -136,13 +139,13 @@ package() { ln -rTsf ${pkgdir}/${_skydir}/apps/${i} ${pkgdir}/usr/bin/${i} done #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 -Dm755 ${srcdir}/${_scripts}/skywire-halt.sh ${pkgdir}/usr/bin/skywire-halt + install -Dm755 ${srcdir}/${_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 + 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 cd ${pkgdir}/usr/bin/ mv ${_pkgname}-visor ${_pkgname} @@ -151,12 +154,12 @@ package() { #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 + 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 #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 + 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 diff --git a/PKGBUILD.sig b/PKGBUILD.sig Binary files differindex 0a28127aeb73..fa36b62d107a 100644 --- a/PKGBUILD.sig +++ b/PKGBUILD.sig 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 +} diff --git a/deb.PKGBUILD.sig b/deb.PKGBUILD.sig Binary files differnew file mode 100644 index 000000000000..79e51c4c7e96 --- /dev/null +++ b/deb.PKGBUILD.sig diff --git a/skywire-deb-scripts.tar.gz b/skywire-deb-scripts.tar.gz Binary files differnew file mode 100644 index 000000000000..271d8c3ec22f --- /dev/null +++ b/skywire-deb-scripts.tar.gz |