diff options
author | Moses Narrow | 2022-02-12 20:52:19 -0600 |
---|---|---|
committer | Moses Narrow | 2022-02-12 20:52:19 -0600 |
commit | 89785e6fa556410aa21050ea3f26e94b5d4f8079 (patch) | |
tree | 778ce342231a4cf0e147a9ebe9d8db8779b606d0 /deb.PKGBUILD | |
parent | 2a45677870e0ed66d446c88fae790509c892d991 (diff) | |
download | aur-89785e6fa556410aa21050ea3f26e94b5d4f8079.tar.gz |
update build + desktop integration
Diffstat (limited to 'deb.PKGBUILD')
-rw-r--r-- | deb.PKGBUILD | 274 |
1 files changed, 120 insertions, 154 deletions
diff --git a/deb.PKGBUILD b/deb.PKGBUILD index 5c18a853e23e..fea0242ca7e8 100644 --- a/deb.PKGBUILD +++ b/deb.PKGBUILD @@ -1,177 +1,143 @@ # Maintainer: Moses Narrow <moe_narrow@use.startmail.com> -# Maintainer: Rudi [KittyCash] <rudi@skycoinmail.com> -_pkgname=privateness -pkgname=${_pkgname} +pkgname=privateness +_pkgname=${pkgname} _githuborg=NESS-Network -pkgdesc=".deb build for NESS Core and Wallet. privateness.network" -#set to native architecture with dpkg +_githuborg1=skycoin +pkgdesc="NESS Core and Wallet. privateness.network. debian package" +pkgver=0.27.1 +_pkgver=${pkgver} +pkgrel=5 +_pkgrel=${pkgrel} +arch=('x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm') _pkgarch=$(dpkg --print-architecture) -#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.27.1 -#_tag_ver=0.27.1 -pkgver=${_pkgver} -#pkgver='autogenerated' -#pkgrel keeps getting reset when build is run -_pkgrel=4 -#pkgrel=4 -pkgrel=${_pkgrel} _pkggopath="github.com/${_githuborg}/${_pkgname}" +_pkggopath1="github.com/${_githuborg1}/${_pkgname1}" 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' 'skycoin-keyring') -depends=() -source=("git+${url}.git" ##branch=${BRANCH:-develop}" - ) -sha256sums=('SKIP') -# 'SKIP' -# 'SKIP') -#validpgpkeys=('DE08F924EEE93832DABC642CA8DC761B1C0C0CFC') # Moses Narrow <moe_narrow@use.startmail.com> +_url1="https://${_pkggopath1}" +makedepends=('git' 'go' 'musl' 'kernel-headers-musl' 'dpkg') +source=("git+${_url1}.git#branch=${BRANCH:-develop}" +"git+${url}.git" +"privateness.png" +"com.privateness.Privateness.desktop") +sha256sums=('SKIP' + 'SKIP' + 'cb8a2696110ef59f97d5cd31d0bf77342a4f114fa30cb507c960b55783de331f' + 'd2f7c042c64477ddede76734cc3316a754b70ea6c091fbc11a92e94de2b1e2d1') -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 - - # 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}/ -} + prepare() { + #verify PKGBUILD signature + #gpg --verify ${srcdir}/PKGBUILD.sig ../PKGBUILD + mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin + ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath} + } build() { -local GOPATH=${srcdir}/go -local GOBIN=${GOPATH}/bin.${_pkgarch} -local _GOAPPS=${GOPATH}/apps.${_pkgarch} -local GOOS=linux -export CC=musl-gcc - #static cross-compilation - #[[ $_pkgarch == "amd64" ]] && local GOARCH=amd64 && local CC=musl-gcc - #[[ $_pkgarch == "arm64" ]] && local GOARCH=arm64 && local CC=aarch64-linux-musl-gcc - #[[ $_pkgarch == "armhf" ]] && local GOARCH=arm && local GOARM=6 && local CC=arm-linux-gnueabihf-musl-gcc - -#_ldflags=('-linkmode external -extldflags "-static" -buildid=') - -#create the skywire binaries -cd ${srcdir}/go/src/${_pkggopath} -_cmddir=${srcdir}/go/src/${_pkggopath}/cmd + export GOPATH=${srcdir}/go + export GOBIN=${GOPATH}/bin + export CC=musl-gcc + export CGO_ENABLED=1 + #mv ${srcdir}/${_pkgname}/fiber.toml ${srcdir}/${_pkgname1}/fiber.toml + _cmddir=${srcdir}/go/src/${_pkggopath1}/cmd + cd ${srcdir}/go/src/${_pkggopath1}/ + go run cmd/newcoin/newcoin.go createcoin --coin ${_pkgname} + #_buildbins address_gen + _buildbins cipher-testdata + _buildbins monitor-peers + _buildbins newcoin + _buildbins privateness + _buildbins skycoin-cli + #binary transparency + cd $GOBIN + _msg2 'binary sha256sums' + sha256sum $(ls) + #create wallet launcher script +echo -e "#!/bin/bash +#launch ness wallet +privateness -gui-dir=/opt/privateness/src/gui/static/ -launch-browser=true -enable-all-api-sets=true -enable-gui=true -log-level=debug" > ness-wallet -_buildbins address_gen -_buildbins cipher-testdata -_buildbins monitor-peers -_buildbins newcoin -_buildbins privateness -_buildbins privateness-cli -#binary transparency -cd $GOBIN -_msg2 'binary sha256sums' -sha256sum $(ls) + ### CONTROL FILES CREATION ### + #create control file for the debian package + echo "Package: ${_pkgname}" > ${srcdir}/control + echo "Version: ${_pkgver}-${_pkgrel}" >> ${srcdir}/control + echo "Priority: optional" >> ${srcdir}/control + echo "Section: web" >> ${srcdir}/control + echo "Architecture: ${_pkgarch}" >> ${srcdir}/control + echo "Depends: ${_debdeps}" >> ${srcdir}/control + echo "Maintainer: Moses Narrow" >> ${srcdir}/control + echo "Description: ${pkgdesc}" >> ${srcdir}/control - -#create control file for the debian package -echo "Package: privateness" > ${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/NESS-network" >> ${srcdir}/${_pkgarch}.control -echo "Description: ${pkgdesc}" >> ${srcdir}/${_pkgarch}.control } -#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=$GOBIN #target bin dir -_binpath=$3 #find the binary here- expecting 'apps/' or empty -_binname=$1 #which binary to build + +_binname=$1 _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/ . -fi + cd ${_cmddir}/${_binname} + go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o $GOBIN/ . } - package() { -_msg2 'creating dirs' -#set up to create a .deb package -_debpkgdir="${_pkgname}-${pkgver}-${_pkgrel}-${_pkgarch}" -_pkgdir="${pkgdir}/${_debpkgdir}" -_nessdir="opt/privateness" -_nessbin="${_nessdir}/bin" -#create directory trees -_nesssrcdir=${srcdir}/${_pkgname} -_nesspath=${_pkgdir}/${_nessdir} -_nessgobin=${_nesspath}/bin -_nessguidir=${_nesspath}/src/gui -mkdir -p ${_pkgdir}/usr/bin -mkdir -p ${_nessgobin} -mkdir -p ${_nessguidir} -#install binaries & symlink to /usr/bin -_msg2 'installing binaries' -_nessbin=${srcdir}/go/bin -#collect the binaries & install -_nessbins=$( ls "$_nessbin") -for i in $_nessbins; do - install -Dm755 ${srcdir}/go/bin.${_pkgarch}/${i} ${_nessgobin}/${i} - ln -rTsf ${_nessgobin}/$i ${_pkgdir}/usr/bin/${i} - chmod 755 ${_pkgdir}/usr/bin/${i} -done -_msg2 'installing gui sources' -#install the web dir (UI) -cp -r ${_nesssrcdir}/src/gui/static ${_nessguidir} -_msg2 'installing scripts' -#install the scripts -#_nessscripts=$( ls --ignore=*.service ${srcdir}/${_pkgname}-scripts/ ) -#for i in $_nessscripts; do - install -Dm755 ${srcdir}/ness-wallet.sh ${_nessgobin}/ness-wallet - ln -rTsf ${_nessgobin}/ness-wallet ${_pkgdir}/usr/bin/ness-wallet - chmod 755 ${_pkgdir}/usr/bin/ness-wallet -#done -#_msg2 'installing systemd services' -#install the system.d service -# install -Dm644 ${srcdir}/${_pkgname}-scripts/${_pkgname}-node.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}-node.service -_msg2 'correcting symlink names' -#correct symlink names -cd ${_pkgdir}/usr/bin/ -mv newcoin privateness-newcoin -mv address_gen privateness-address-gen -mv cipher-testdata privateness-cipher-testdata -mv monitor-peers privateness-monitor-peers -_msg2 'available binaries and scripts in /usr/bin :' -ls + _debpkgdir="${_pkgname}-${pkgver}-${_pkgrel}-${_pkgarch}" + echo "${_debpkgdir}" + _pkgdir="${pkgdir}/${_debpkgdir}" + mkdir -p ${_pkgdir}/ + #create directory trees + _nesssrcdir=${srcdir}/${_pkgname} + _nesspath=${_pkgdir}/opt/${_pkgname} + _nessgobin=${_nesspath}/bin + _nessguidir=${_nesspath}/src/gui + mkdir -p ${_pkgdir}/usr/bin + mkdir -p ${_nessgobin} + mkdir -p ${_nessguidir} + #install binaries & symlink to /usr/bin + _msg2 'installing binaries' + _nessbin="${srcdir}"/go/bin + #collect the binaries & install + _nessbins=$( ls "$_nessbin") + for i in $_nessbins; do + install -Dm755 ${srcdir}/go/bin/${i} ${_nessgobin}/${i} + ln -rTsf ${_nessgobin}/$i ${_pkgdir}/usr/bin/${i} + chmod 755 ${_pkgdir}/usr/bin/${i} + done + _msg2 'installing gui sources' + #install the web dir (UI) + cp -r ${_nesssrcdir}/src/gui/static ${_nessguidir} + _msg2 'installing scripts' + #install the scripts + #_nessscripts=$( ls --ignore=*.service ${srcdir}/${_pkgname}-scripts/ ) + #for i in $_nessscripts; do + install -Dm755 ${srcdir}/ness-wallet.sh ${_nessgobin}/ness-wallet + ln -rTsf ${_nessgobin}/ness-wallet ${_pkgdir}/usr/bin/ness-wallet + chmod 755 ${_pkgdir}/usr/bin/ness-wallet + #done + #_msg2 'installing systemd services' + #install the system.d service + # install -Dm644 ${srcdir}/${_pkgname}-scripts/${_pkgname}-node.service ${pkgdir}/usr/lib/systemd/system/${_pkgname}-node.service + _msg2 'correcting symlink names' + #correct symlink names + cd ${pkgdir}/usr/bin/ + mv newcoin privateness-newcoin + mv skycoin-cli privateness-cli + #mv address_gen privateness-address-gen + mv cipher-testdata privateness-cipher-testdata + mv monitor-peers privateness-monitor-peers + _msg2 'available binaries and scripts in /usr/bin :' + ls -_msg2 'installing control file' -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 'installing control file' + install -Dm755 ${srcdir}/control ${_pkgdir}/DEBIAN/control -_msg2 'creating the debian package' -#create the debian package -cd $pkgdir -dpkg-deb --build -z9 ${_debpkgdir} -mv *.deb ../../ -#exit so the arch package doesn't get built -exit + _msg2 'creating the debian package' + #create the debian package + cd $pkgdir + dpkg-deb --build -z9 ${_debpkgdir} + mv *.deb ../../ + #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" "$@" +(( QUIET )) && return +local mesg=$1; shift +printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" } |