diff options
author | Moses Narrow | 2022-11-11 15:45:37 -0600 |
---|---|---|
committer | Moses Narrow | 2022-11-11 15:45:37 -0600 |
commit | c55c689d78514e86c2a4fe5ccb501c5b4163fb61 (patch) | |
tree | f411a0b3b9c57eb8f245f0f85ebcba980ff516bf | |
parent | 2b547ea153aa757a305466580372c0dc8970a191 (diff) | |
download | aur-c55c689d78514e86c2a4fe5ccb501c5b4163fb61.tar.gz |
optimize PKGBUILDs
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 133 | ||||
-rw-r--r-- | cc.deb.PKGBUILD | 175 | ||||
-rw-r--r-- | deb.PKGBUILD | 157 | ||||
-rw-r--r-- | dev.PKGBUILD | 204 | ||||
-rw-r--r-- | git.PKGBUILD | 120 | ||||
-rwxr-xr-x | updates.sh | 15 |
7 files changed, 114 insertions, 698 deletions
@@ -1,7 +1,7 @@ pkgbase = skywire pkgdesc = Skywire Mainnet Node implementation. Skycoin.com pkgver = 1.2.1 - pkgrel = 1 + pkgrel = 2 url = https://github.com/skycoin/skywire install = skywire.install arch = i686 @@ -20,10 +20,10 @@ pkgbase = skywire makedepends = go makedepends = musl makedepends = kernel-headers-musl - source = https://github.com/skycoin/skywire/archive/refs/tags/v1.2.1.tar.gz + source = skywire-v1.2.1.tar.gz::https://github.com/skycoin/skywire/archive/refs/tags/v1.2.1.tar.gz source = skywire-autoconfig::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig?h=skywire-bin - source = com.skywire.Skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywire.Skywire.desktop?h=skywire-bin - source = com.skywirevpn.SkywireVPN.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywirevpn.SkywireVPN.desktop?h=skywire-bin + source = skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/skywire.desktop?h=skywire-bin + source = skywirevpn.desktop::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.desktop?h=skywire-bin source = skywirevpn.png::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.png?h=skywire-bin source = skywire.png::https://aur.archlinux.org/cgit/aur.git/plain/skywire.png?h=skywire-bin source = skywire.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire.service?h=skywire-bin @@ -1,4 +1,5 @@ -# Maintainer: Moses Narrow <moe_narrow@use.startmail.com> +#!/bin/bash +## Maintainer: Moses Narrow <moe_narrow@skycoin.com> _projectname=skycoin pkgname=skywire _pkgname=${pkgname} @@ -6,8 +7,7 @@ _githuborg=${_projectname} pkgdesc="Skywire Mainnet Node implementation. Skycoin.com" _pkggopath="github.com/${_githuborg}/${_pkgname}" pkgver='1.2.1' -pkgrel=1 -#pkgrel=1 +pkgrel=2 _rc='' #_rc='-pr1' _pkgver="${pkgver}${_rc}" @@ -15,12 +15,12 @@ _tag_ver="v${_pkgver}" arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' ) url="https://${_pkggopath}" license=('license-free') -makedepends=('git' 'go' 'musl' 'kernel-headers-musl') +makedepends=("git" "go" "musl" "kernel-headers-musl") install=skywire.install -source=("${url}/archive/refs/tags/${_tag_ver}.tar.gz" +source=("skywire-${_tag_ver}.tar.gz::${url}/archive/refs/tags/${_tag_ver}.tar.gz" "skywire-autoconfig::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig?h=skywire-bin" -"com.skywire.Skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywire.Skywire.desktop?h=skywire-bin" -"com.skywirevpn.SkywireVPN.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywirevpn.SkywireVPN.desktop?h=skywire-bin" +"skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/skywire.desktop?h=skywire-bin" +"skywirevpn.desktop::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.desktop?h=skywire-bin" "skywirevpn.png::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.png?h=skywire-bin" "skywire.png::https://aur.archlinux.org/cgit/aur.git/plain/skywire.png?h=skywire-bin" "skywire.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire.service?h=skywire-bin" @@ -34,106 +34,103 @@ sha256sums=('56da81239baefeffd0bb607c4d1d3a1efc2e86e029471892970e531a9c269533' 'a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495' '19b74f7a9b245a96617f31d1fef7ce1e0231b2359d6525dd3f35d2b2a9d10d18' '55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c') + prepare() { # https://wiki.archlinux.org/index.php/Go_package_guidelines -mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin ${srcdir}/go/apps -ln -rTsf ${srcdir}/${pkgname}-${pkgver}${_rc} ${srcdir}/go/src/${_pkggopath} -cd ${srcdir}/go/src/${_pkggopath}/ +mkdir -p "${srcdir}/go/src/github.com/${_githuborg}/" "${srcdir}"/go/bin "${srcdir}"/go/apps || true +[[ -d "${srcdir}/${pkgname}" ]] && rm -rf "${srcdir:?}/${pkgname}" +ln -rTsf "${srcdir}/${_pkgname}-${pkgver}${_rc}" "${srcdir}/go/src/${_pkggopath}" +ln -rTsf "${srcdir}/${_pkgname}-${pkgver}${_rc}" "${srcdir}/${_pkgname}" +cd "${srcdir}/go/src/${_pkggopath}/" || exit } build() { -export GOPATH=${srcdir}/go -export GOBIN=${GOPATH}/bin -export _GOAPPS=${GOPATH}/apps +export GOPATH="${srcdir}/go" +export GOBIN="${GOPATH}/bin" +export _GOAPPS="${GOPATH}/apps" export GOOS=linux export CGO_ENABLED=1 #default anyways #use musl-gcc for static compilation export CC=musl-gcc - -cd ${srcdir}/${pkgname}-${pkgver}${_rc} +_build +} +#_build function - used in build variants +_build() { +cd "${srcdir}/${pkgname}-${pkgver}${_rc}" || exit local _version="v${pkgver}" - +#binary versioning DMSG_BASE="github.com/skycoin/dmsg" BUILDINFO_PATH="${DMSG_BASE}/buildinfo" BUILDINFO_VERSION="${BUILDINFO_PATH}.version=${_version}" -BUILDINFO=${BUILDINFO_VERSION} ${BUILDINFO_DATE} ${BUILDINFO_COMMIT} - +BUILDINFO="${BUILDINFO_VERSION} ${BUILDINFO_DATE} ${BUILDINFO_COMMIT}" #create the skywire binaries -cd ${srcdir}/go/src/${_pkggopath} -_cmddir=${srcdir}/go/src/${_pkggopath}/cmd -#static compilation with 'musl' avoids glibc runtime deps -#which cause binary to fail if correct glibc / libc6 is not found on the system -cd ${_cmddir}/apps -_app=$(ls) +cd "${srcdir}"/go/src/${_pkggopath} || exit +_cmddir="${srcdir}"/go/src/${_pkggopath}/cmd +#static compilation with 'musl' avoids glibc runtime deps which cause binary to fail if correct glibc / libc6 is not found on the system +cd "${_cmddir}"/apps || exit +_app="$(ls)" for _i in ${_app}; do _msg2 "building ${_i} binary" -cd ${_cmddir}/apps/${_i} +cd "${_cmddir}/apps/${_i}" || exit go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . done _msg2 "building skywire-visor binary" -cd ${_cmddir}/skywire-visor +cd "${_cmddir}"/skywire-visor || exit go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . _msg2 "building skywire-cli binary" -cd ${_cmddir}/skywire-cli +cd "${_cmddir}"/skywire-cli || exit go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . #binary transparency -cd $GOBIN +cd "$GOBIN" || exit _msg2 'binary sha256sums' -sha256sum $(ls) -cd $_GOAPPS -sha256sum $(ls) +sha256sum "$(ls)" +cd "$_GOAPPS" || exit +sha256sum "$(ls)" } package() { - _msg2 'creating dirs' - _pkgdir=${pkgdir} -#create directory trees or the visor might make them with weird permissions +#declare the _pkgdir and systemd directory +_pkgdir="${pkgdir}" +_systemddir="usr/lib/systemd/system" +_package +} +#_package function - used in build variants +#_package function - used in build variants +_package() { _skydir="opt/skywire" _skyapps="${_skydir}/apps" _skybin="${_skydir}/bin" _skyscripts="${_skydir}/scripts" -_systemddir="usr/lib/systemd/system" -mkdir -p ${_pkgdir}/usr/bin -mkdir -p ${_pkgdir}/${_skydir}/bin -mkdir -p ${_pkgdir}/${_skydir}/apps -mkdir -p ${_pkgdir}/${_skydir}/local -mkdir -p ${_pkgdir}/${_skydir}/scripts -mkdir -p ${_pkgdir}/${_systemddir} - +_msg2 'creating dirs' +mkdir -p "${_pkgdir}/usr/bin" +mkdir -p "${_pkgdir}/${_skydir}/bin" +mkdir -p "${_pkgdir}/${_skydir}/apps" +mkdir -p "${_pkgdir}/${_skydir}/local" +mkdir -p "${_pkgdir}/${_skydir}/scripts" +mkdir -p "${_pkgdir}/${_systemddir}" _msg2 'installing binaries' - install -Dm755 ${GOBIN}/* ${_pkgdir}/${_skybin}/ -for _i in ${_pkgdir}/${_skybin}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - +for _i in "${_binaries[@]}" ; do + install -Dm755 "${GOBIN}/${_i}" "${_pkgdir}/${_skybin}/" + ln -rTsf "${_pkgdir}/${_skybin}/${_i}" "${_pkgdir}/usr/bin/${_i}" + done _msg2 'installing app binaries' -_apps=${pkgdir}/test/apps -install -Dm755 ${_GOAPPS}/* ${_pkgdir}/${_skyapps}/ -for _i in ${_pkgdir}/${_skyapps}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} +install -Dm755 "${_GOAPPS}/"* "${_pkgdir}/${_skyapps}/" +for _i in "${_pkgdir}/${_skyapps}/"* ; do + ln -rTsf "${_i}" "${_pkgdir}/usr/bin/${_i##*/}" done - _msg2 'Installing scripts' -install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/ -ln -rTsf ${_pkgdir}/${_skyscripts}/skywire-autoconfig ${_pkgdir}/usr/bin/skywire-autoconfig - +install -Dm755 "${srcdir}/skywire-autoconfig" "${_pkgdir}/${_skyscripts}/" +ln -rTsf "${_pkgdir}/${_skyscripts}/skywire-autoconfig" "${_pkgdir}/usr/bin/skywire-autoconfig" _msg2 'Correcting symlink names' -ln -rTsf ${_pkgdir}/${_skybin}/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} - -#make sure everything is executable -chmod +x ${_pkgdir}/usr/bin/* - +ln -rTsf "${_pkgdir}/${_skybin}/${_pkgname}-visor" "${_pkgdir}/usr/bin/${_pkgname}" _msg2 'installing dmsghttp-config.json' -install -Dm644 ${srcdir}/${_pkgname}*/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json - -#install systemd services +install -Dm644 "${srcdir}/${_pkgname}/dmsghttp-config.json" "${_pkgdir}/${_skydir}/dmsghttp-config.json" _msg2 'Installing systemd services' -install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/ - +install -Dm644 "${srcdir}/"*.service "${_pkgdir}/${_systemddir}/" _msg2 'installing desktop files and icons' -mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ -install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/ -install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ +mkdir -p "${_pkgdir}/usr/share/applications/" "${_pkgdir}/usr/share/icons/hicolor/48x48/apps/" +install -Dm644 "${srcdir}/"*.desktop "${_pkgdir}/usr/share/applications/" +install -Dm644 "${srcdir}/"*.png "${_pkgdir}/usr/share/icons/hicolor/48x48/apps/" } _msg2() { diff --git a/cc.deb.PKGBUILD b/cc.deb.PKGBUILD index f142b752048b..e6fdaf3bfc82 100644 --- a/cc.deb.PKGBUILD +++ b/cc.deb.PKGBUILD @@ -1,50 +1,7 @@ - -_projectname=skycoin -pkgname=skywire -_pkgname=${pkgname} -_githuborg=${_projectname} +source deb.PKGBUILD pkgdesc="Skywire Mainnet Node implementation. Debian package; cross-compile." -_pkggopath="github.com/${_githuborg}/${_pkgname}" -pkgver='1.2.1' -pkgrel=1 -#pkgrel=1 -_rc='' -_pkgver="${pkgver}${_rc}" -_tag_ver="v${_pkgver}" -_pkgrel=${pkgrel} -arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' ) -url="https://${_pkggopath}" -license=('license-free') -#set to native architecture with dpkg -_pkgarch=$(dpkg --print-architecture) _pkgarches=('armhf' 'arm64' 'amd64') -arch=('any') -makedepends=('dpkg' 'git' 'go' 'musl' 'kernel-headers-musl' 'aarch64-linux-musl' 'arm-linux-gnueabihf-musl') # 'arm-linux-gnueabihf-binutils' 'aarch64-binutils') #'aarch64-linux-musl' 'arm-linux-gnueabihf-musl' 'skycoin-keyring') -_debdeps="" -install=skywire.install -source=("${url}/archive/refs/tags/${_tag_ver}.tar.gz" -"skywire-autoconfig::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig?h=skywire-bin" -"com.skywire.Skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywire.Skywire.desktop?h=skywire-bin" -"com.skywirevpn.SkywireVPN.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywirevpn.SkywireVPN.desktop?h=skywire-bin" -"skywirevpn.png::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.png?h=skywire-bin" -"skywire.png::https://aur.archlinux.org/cgit/aur.git/plain/skywire.png?h=skywire-bin" -"skywire.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire.service?h=skywire-bin" -"skywire-autoconfig.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig.service?h=skywire-bin" -"postinst.sh::https://aur.archlinux.org/cgit/aur.git/plain/postinst.sh?h=skywire-bin" -"prerm.sh::https://aur.archlinux.org/cgit/aur.git/plain/prerm.sh?h=skywire-bin" -) -sha256sums=('56da81239baefeffd0bb607c4d1d3a1efc2e86e029471892970e531a9c269533' - '08f0c625a3ae8810f0468a45aa2e463425ec307441f71f6ba48114bda2055316' - 'f0300bcde06b6818b637ccc23fa8206a40e67f63815781d265bd10d2cda93e65' - '0c20dd44eca0266a3a10fab24c657295a833eba9f78c6b1cf06132b093ac3ba8' - 'ec24750a99f5cda8d8a8dc94743943218e1b2088c2b2c7dc1644ee78d954fe7e' - 'a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495' - '19b74f7a9b245a96617f31d1fef7ce1e0231b2359d6525dd3f35d2b2a9d10d18' - '55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c' - '7b17a55e64d1371fecd24edc3da7c6a762cf2b3d058f6fc4a5dc7c5f9b4cff09' - '233ccf0e87b37e782828f53960e05e478cf381f61bbfdb16a0cc0254ee8be7c2') -#tar -czvf skywire-deb-scripts.tar.gz skywire-deb-scripts -#updpkgsums deb.PKGBUILD +makedepends=("${makedepends[@]}" "aarch64-linux-musl" "arm-linux-gnueabihf-musl") # 'arm-linux-gnueabihf-binutils' 'aarch64-binutils') prepare() { for _i in ${_pkgarches[@]}; do @@ -60,7 +17,7 @@ build() { local GOPATH=${srcdir}/go export GOOS=linux export CGO_ENABLED=1 - +#loop for crosscompilation for i in ${_pkgarches[@]}; do msg2 "_pkgarch=$i" local _pkgarch=$i @@ -73,142 +30,24 @@ export GOOS=linux [[ $_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=') -#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 - -#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 +_build done } -_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" -cd ${_cmddir}/${_binpath}${_binname} -go build -trimpath --ldflags '-s -w -linkmode external -extldflags "-static" -buildid=' -o ${_GOHERE}/${_binname} . -} - - package() { +#loop to install crosscompiled binaries for i in ${_pkgarches[@]}; do msg2 "_pkgarch=${i}" local _pkgarch=${i} GOPATH=${srcdir}/go GOBIN=${GOPATH}/bin.${_pkgarch} _GOAPPS=${GOPATH}/apps.${_pkgarch} -_msg2 'creating dirs' -#set up to create a .deb package -_debpkgdir="${_pkgname}-${_pkgver}-${_pkgrel}-${_pkgarch}" +_debpkgdir="${_pkgname}-${pkgver}${_rc}-${_pkgrel}-${_pkgarch}" _pkgdir="${pkgdir}/${_debpkgdir}" -_skydir="opt/skywire" -_skyapps="${_skydir}/apps" -_skybin="${_skydir}/bin" -_skyscripts="${_skydir}/scripts" _systemddir="etc/systemd/system" [[ -d ${_pkgdir} ]] && rm -rf ${_pkgdir} -mkdir -p ${_pkgdir}/usr/bin -mkdir -p ${_pkgdir}/${_skydir}/bin -mkdir -p ${_pkgdir}/${_skydir}/apps -mkdir -p ${_pkgdir}/${_skydir}/local -mkdir -p ${_pkgdir}/${_skydir}/scripts -mkdir -p ${_pkgdir}/${_systemddir} - -cd $_pkgdir -_msg2 'installing binaries' - install -Dm755 ${GOBIN}/* ${_pkgdir}/${_skybin}/ -for _i in ${_pkgdir}/${_skybin}/* ; do -ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'installing app binaries' -install -Dm755 ${_GOAPPS}/* ${_pkgdir}/${_skyapps}/ -for _i in ${_pkgdir}/${_skyapps}/* ; do -ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'Installing scripts' -install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/ -ln -rTsf ${_pkgdir}/${_skyscripts}/skywire-autoconfig ${_pkgdir}/usr/bin/skywire-autoconfig - -_msg2 'Correcting symlink names' -ln -rTsf ${_pkgdir}/${_skybin}/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} - -#make sure everything is executable -chmod +x ${_pkgdir}/usr/bin/* - -_msg2 'installing dmsghttp-config.json' -install -Dm644 ${srcdir}/${_pkgname}*/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json - -#install systemd services -_msg2 'Installing systemd services' -install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/ - -_msg2 'installing desktop files and icons' -mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ -install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/ -install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ - -_msg2 'installing control file and install scripts' -install -Dm755 ${srcdir}/${_pkgarch}.control ${_pkgdir}/DEBIAN/control -#install -Dm755 ${srcdir}/${_scripts}/preinst.sh ${_pkgdir}/DEBIAN/preinst -install -Dm755 ${srcdir}/postinst.sh ${_pkgdir}/DEBIAN/postinst -install -Dm755 ${srcdir}/prerm.sh ${_pkgdir}/DEBIAN/prerm -#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 ../../ +_packagedeb 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" "$@" -} - -_msg3() { -(( QUIET )) && return -local mesg=$1; shift -printf "${BLUE} -->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" -} diff --git a/deb.PKGBUILD b/deb.PKGBUILD index a7fd8351da1d..4fb5e49776c4 100644 --- a/deb.PKGBUILD +++ b/deb.PKGBUILD @@ -1,34 +1,13 @@ -# Maintainer: Moses Narrow <moe_narrow@use.startmail.com> -_projectname=skycoin -pkgname=skywire -_pkgname=${pkgname} -_githuborg=${_projectname} +# Maintainer: Moses Narrow <moses@skycoin.com> +source PKGBUILD pkgdesc="Skywire Mainnet Node implementation. Develop Banch. Debian package" -#set to native architecture with dpkg _pkgarch=$(dpkg --print-architecture) -#leave arch package as any arch=('any') -pkgver='1.2.1' -pkgrel=1 -_rc='' -_pkgver="${pkgver}${_rc}" -_tag_ver="v${_pkgver}" _pkgrel=${pkgrel} -_pkggopath="github.com/${_githuborg}/${_pkgname}" -url="https://${_pkggopath}" -license=() -makedepends=('dpkg' 'git' 'go' 'musl' 'kernel-headers-musl') -depends=() +makedepends=("${makedepends[@]}" "dpkg") _debdeps="" -license=('license-free') -source=( "${url}/archive/refs/tags/${_tag_ver}.tar.gz" -"skywire-autoconfig::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig?h=skywire-bin" -"com.skywire.Skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywire.Skywire.desktop?h=skywire-bin" -"com.skywirevpn.SkywireVPN.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywirevpn.SkywireVPN.desktop?h=skywire-bin" -"skywirevpn.png::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.png?h=skywire-bin" -"skywire.png::https://aur.archlinux.org/cgit/aur.git/plain/skywire.png?h=skywire-bin" -"skywire.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire.service?h=skywire-bin" -"skywire-autoconfig.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig.service?h=skywire-bin" +source=("${_sourcedeb[@]}") +_sourcedeb=( "${source[@]}" "postinst.sh::https://aur.archlinux.org/cgit/aur.git/plain/postinst.sh?h=skywire-bin" "prerm.sh::https://aur.archlinux.org/cgit/aur.git/plain/prerm.sh?h=skywire-bin" ) @@ -43,128 +22,38 @@ sha256sums=('56da81239baefeffd0bb607c4d1d3a1efc2e86e029471892970e531a9c269533' '7b17a55e64d1371fecd24edc3da7c6a762cf2b3d058f6fc4a5dc7c5f9b4cff09' '233ccf0e87b37e782828f53960e05e478cf381f61bbfdb16a0cc0254ee8be7c2') -prepare() { - # 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} -[[ -d ${srcdir}/${pkgname} ]] && rm -rf ${srcdir}/${pkgname} - ln -rTsf ${srcdir}/${_pkgname}-${pkgver}${_rc} ${srcdir}/go/src/${_pkggopath} - ln -rTsf ${srcdir}/${_pkgname}-${pkgver}${_rc} ${srcdir}/${_pkgname} - cd ${srcdir}/go/src/${_pkggopath}/ -} - -build() { -local GOPATH=${srcdir}/go -local GOBIN=${GOPATH}/bin -local _GOAPPS=${GOPATH}/apps -local GOOS=linux -export CC=musl-gcc - -#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 - -#binary transparency -cd $GOBIN -_msg2 'binary sha256sums' -sha256sum $(ls) -cd $_GOAPPS -sha256sum $(ls) - -### CONTROL FILES CREATION ### -#create control file for the debian package -echo "Package: skywire" > ${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: skycoin" >> ${srcdir}/control -echo "Description: ${pkgdesc}" >> ${srcdir}/control -} - -_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" -cd ${_cmddir}/${_binpath}${_binname} -go build -trimpath --ldflags '-s -w -linkmode external -extldflags "-static" -buildid=' -o $_GOHERE/ . -} - package() { -_msg2 'creating dirs' #set up to create a .deb package _debpkgdir="${_pkgname}-${pkgver}${_rc}-${_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 -mkdir -p ${_pkgdir}/${_skydir}/bin -mkdir -p ${_pkgdir}/${_skydir}/apps -mkdir -p ${_pkgdir}/${_skydir}/local -mkdir -p ${_pkgdir}/${_skydir}/scripts -mkdir -p ${_pkgdir}/${_systemddir} - -cd $_pkgdir -_msg2 'installing binaries' -install -Dm755 ${srcdir}/go/bin/* ${_pkgdir}/${_skybin} -for _i in ${_pkgdir}/${_skybin}/*; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'installing apps' -install -Dm755 ${srcdir}/go/apps/* ${_pkgdir}/${_skyapps} -for _i in ${_pkgdir}/${_skyapps}/*; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'Installing scripts' -install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/ -ln -rTsf ${_pkgdir}/${_skyscripts}/skywire-autoconfig ${_pkgdir}/usr/bin/skywire-autoconfig -ln -rTsf ${_pkgdir}/${_skybin}/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} - -_msg2 'installing dmsghttp-config.json' -install -Dm644 ${srcdir}/${_pkgname}/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json - -#install systemd services -_msg2 'Installing systemd services' -install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/ - -_msg2 'installing desktop files and icons' -mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ -install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/ -install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ +_packagedeb +#exit so the arch package doesn't get built +exit +} +#_packagedeb adds the debian-specific files and creates the .deb package +_packagedeb() { +_package _msg2 'installing control file and install scripts' -install -Dm755 ${srcdir}/control ${_pkgdir}/DEBIAN/control #install -Dm755 ${srcdir}/${_scripts}/preinst.sh ${_pkgdir}/DEBIAN/preinst install -Dm755 ${srcdir}/postinst.sh ${_pkgdir}/DEBIAN/postinst install -Dm755 ${srcdir}/prerm.sh ${_pkgdir}/DEBIAN/prerm #install -Dm755 ${srcdir}/${_scripts}/postrm.sh ${_pkgdir}/DEBIAN/postrm - +### CONTROL FILES CREATION ### +#create control file for the debian package +echo -e "Package: skywire +Version: ${_pkgver}-${_pkgrel} +Priority: optional +Section: web +Architecture: ${_pkgarch} +Depends: ${_debdeps} +Maintainer: skycoin +Description: ${pkgdesc}" | tee ${_pkgdir}/DEBIAN/control +install -dm755 ${_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() { - (( QUIET )) && return - local mesg=$1; shift - printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" } diff --git a/dev.PKGBUILD b/dev.PKGBUILD index f335d91800ae..992405f11b6a 100644 --- a/dev.PKGBUILD +++ b/dev.PKGBUILD @@ -1,202 +1,8 @@ -# Maintainer: Moses Narrow <moe_narrow@use.startmail.com> -_projectname=skycoin -pkgname=skywire -_pkgname=${pkgname} -_githuborg=${_projectname} +source deb.PKGBUILD +source git.PKGBUILD pkgdesc="Skywire Mainnet Node implementation; develop branch - Debian package." -_pkggopath="github.com/${_githuborg}/${_pkgname}" -pkgver='autogenerated' -pkgrel=1 -#pkgrel=1 -_pkgarch=$(dpkg --print-architecture) -_pkgver=${pkgver} -_pkgrel=${pkgrel} -arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' ) -url="https://${_pkggopath}" -license=() -makedepends=('dpkg' 'git' 'go' 'musl' 'kernel-headers-musl') -depends=() -_debdeps="" -install=skywire.install -license=('license-free') -source=("git+${url}.git#branch=develop" -"skywire-autoconfig::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig?h=skywire-bin" -"com.skywire.Skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywire.Skywire.desktop?h=skywire-bin" -"com.skywirevpn.SkywireVPN.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywirevpn.SkywireVPN.desktop?h=skywire-bin" -"skywirevpn.png::https://aur.archlinux.org/cgit/aur.git/plain/skywirevpn.png?h=skywire-bin" -"skywire.png::https://aur.archlinux.org/cgit/aur.git/plain/skywire.png?h=skywire-bin" -"skywire.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire.service?h=skywire-bin" -"skywire-autoconfig.service::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig.service?h=skywire-bin" -"postinst.sh::https://aur.archlinux.org/cgit/aur.git/plain/postinst.sh?h=skywire-bin" -"prerm.sh::https://aur.archlinux.org/cgit/aur.git/plain/prerm.sh?h=skywire-bin" -) -sha256sums=('SKIP' - '08f0c625a3ae8810f0468a45aa2e463425ec307441f71f6ba48114bda2055316' - 'f0300bcde06b6818b637ccc23fa8206a40e67f63815781d265bd10d2cda93e65' - '0c20dd44eca0266a3a10fab24c657295a833eba9f78c6b1cf06132b093ac3ba8' - 'ec24750a99f5cda8d8a8dc94743943218e1b2088c2b2c7dc1644ee78d954fe7e' - 'a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495' - '19b74f7a9b245a96617f31d1fef7ce1e0231b2359d6525dd3f35d2b2a9d10d18' - '55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c' - '7b17a55e64d1371fecd24edc3da7c6a762cf2b3d058f6fc4a5dc7c5f9b4cff09' - '233ccf0e87b37e782828f53960e05e478cf381f61bbfdb16a0cc0254ee8be7c2') - -pkgver() { -_version=$(git ls-remote --tags --refs --sort="version:refname" ${url}.git | tail -n1) -_version=${_version##*/} -_version=${_version%%-*} -_version=${_version//v/} -echo ${_version} -} - -prepare() { -# https://wiki.archlinux.org/index.php/Go_package_guidelines -mkdir -p ${srcdir}/go/src/github.com/${_githuborg}/ ${srcdir}/go/bin ${srcdir}/go/apps -ln -rTsf ${srcdir}/${_pkgname} ${srcdir}/go/src/${_pkggopath} -cd ${srcdir}/go/src/${_pkggopath}/ -} - -build() { -export GOPATH=${srcdir}/go -export GOBIN=${GOPATH}/bin -export _GOAPPS=${GOPATH}/apps -export GOOS=linux -export CGO_ENABLED=1 #default anyways -#use musl-gcc for static compilation -export CC=musl-gcc - -local _version="${pkgver}" -DMSG_BASE="github.com/skycoin/dmsg" -BUILDINFO_PATH="${DMSG_BASE}/buildinfo" -BUILDINFO_VERSION="${BUILDINFO_PATH}.version=${_version}" -BUILDINFO=${BUILDINFO_VERSION} ${BUILDINFO_DATE} ${BUILDINFO_COMMIT} - -#create the skywire binaries -cd ${srcdir}/go/src/${_pkggopath} -_cmddir=${srcdir}/go/src/${_pkggopath}/cmd - -_msg2 "building skychat binary" -cd ${_cmddir}/apps/skychat -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skysocks binary" -cd ${_cmddir}/apps/skysocks -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skysocks-client binary" -cd ${_cmddir}/apps/skysocks-client -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building vpn-client binary" -cd ${_cmddir}/apps/vpn-client -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building vpn-server binary" -cd ${_cmddir}/apps/vpn-server -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skywire-cli binary" -cd ${_cmddir}/skywire-cli -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . -_msg2 "building skywire-visor binary" -cd ${_cmddir}/skywire-visor -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . -_msg2 "building setup-node binary" -cd ${_cmddir}/setup-node -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . - -#binary transparency -cd $GOBIN -_msg2 'binary sha256sums' -sha256sum $(ls) -cd $_GOAPPS -sha256sum $(ls) - -### CONTROL FILES CREATION ### -#create control file for the debian package -echo "Package: skywire-dev" > ${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 "Provides: skywire" >> ${srcdir}/control -echo "Maintainer: skycoin" >> ${srcdir}/control -echo "Description: ${pkgdesc}" >> ${srcdir}/control - -} - +makedepends=("${makedepends[@]}" "dpkg") +source=( "${_sourcedeb[@]}") package() { -#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" -mkdir -p ${_pkgdir}/usr/bin -mkdir -p ${_pkgdir}/${_skydir}/bin -mkdir -p ${_pkgdir}/${_skydir}/apps -mkdir -p ${_pkgdir}/${_skydir}/local -mkdir -p ${_pkgdir}/${_skydir}/scripts -mkdir -p ${_pkgdir}/${_systemddir} - - -cd $_pkgdir - -_msg2 'installing binaries' - install -Dm755 ${GOBIN}/* ${_pkgdir}/${_skybin}/ -for _i in ${_pkgdir}/${_skybin}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'installing app binaries' -_apps=${pkgdir}/test/apps -install -Dm755 ${_GOAPPS}/* ${_pkgdir}/${_skyapps}/ -for _i in ${_pkgdir}/${_skyapps}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'Installing scripts' -install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/ -ln -rTsf ${_pkgdir}/${_skyscripts}/skywire-autoconfig ${_pkgdir}/usr/bin/skywire-autoconfig - -chmod +x ${_pkgdir}/usr/bin/* -#rename visor to skywire - matche the skycoin / skycoin-cli of the skycoin wallet -[[ -f ${_pkgdir}/usr/bin/${_pkgname}-visor ]] && ln -rTsf ${_pkgdir}/usr/bin/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} - -_msg2 'installing dmsghttp-config.json' -install -Dm644 ${srcdir}/${_pkgname}/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json - -#install systemd services -_msg2 'Installing systemd services' -install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/ - -_msg2 'installing desktop files and icons' -mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ -install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/ -install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ - -_msg2 'installing control file and install scripts' -install -Dm755 ${srcdir}/control ${_pkgdir}/DEBIAN/control -#install -Dm755 ${srcdir}/${_scripts}/preinst.sh ${_pkgdir}/DEBIAN/preinst -install -Dm755 ${srcdir}/postinst.sh ${_pkgdir}/DEBIAN/postinst -install -Dm755 ${srcdir}/prerm.sh ${_pkgdir}/DEBIAN/prerm -#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 ../../ -#exit so the arch package doesn't get built -exit -} - -_msg2() { -(( QUIET )) && return -local mesg=$1; shift -printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" -} - -_msg3() { -(( QUIET )) && return -local mesg=$1; shift -printf "${BLUE} -->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" + _packagedeb } diff --git a/git.PKGBUILD b/git.PKGBUILD index 4a8e1389b96c..e39f6f9c8edb 100644 --- a/git.PKGBUILD +++ b/git.PKGBUILD @@ -1,18 +1,7 @@ -# Maintainer: Moses Narrow <moe_narrow@use.startmail.com> -_projectname=skycoin -pkgname=skywire -_pkgname=${pkgname} -_githuborg=${_projectname} -pkgdesc="Skywire Mainnet Node implementation. Skycoin.com" -_pkggopath="github.com/${_githuborg}/${_pkgname}" +source PKGBUILD +pkgdesc="Skywire Mainnet Node implementation. Skycoin.com - develop branch" pkgver='autogenerated' -pkgrel=1 -#pkgrel=1 -arch=( 'i686' 'x86_64' 'aarch64' 'armv8' 'armv7' 'armv7l' 'armv7h' 'armv6h' 'armhf' 'armel' 'arm' ) -url="https://${_pkggopath}" -license=('license-free') -makedepends=('git' 'go' 'musl' 'kernel-headers-musl') -install=skywire.install +#makedepends=("${makedepends[@]}" "npm") source=("git+${url}.git#branch=develop" "skywire-autoconfig::https://aur.archlinux.org/cgit/aur.git/plain/skywire-autoconfig?h=skywire-bin" "com.skywire.Skywire.desktop::https://aur.archlinux.org/cgit/aur.git/plain/com.skywire.Skywire.desktop?h=skywire-bin" @@ -47,6 +36,9 @@ cd ${srcdir}/go/src/${_pkggopath}/ } build() { +cd ${srcdir}/go/src/${_pkggopath} +#build the frontend. Normlly not necessary +#make build-ui export GOPATH=${srcdir}/go export GOBIN=${GOPATH}/bin export _GOAPPS=${GOPATH}/apps @@ -54,103 +46,5 @@ export GOOS=linux export CGO_ENABLED=1 #default anyways #use musl-gcc for static compilation export CC=musl-gcc - -local _version="${pkgver}" -DMSG_BASE="github.com/skycoin/dmsg" -BUILDINFO_PATH="${DMSG_BASE}/buildinfo" -BUILDINFO_VERSION="${BUILDINFO_PATH}.version=${_version}" -BUILDINFO=${BUILDINFO_VERSION} ${BUILDINFO_DATE} ${BUILDINFO_COMMIT} - -#create the skywire binaries -cd ${srcdir}/go/src/${_pkggopath} -_cmddir=${srcdir}/go/src/${_pkggopath}/cmd - -_msg2 "building skychat binary" -cd ${_cmddir}/apps/skychat -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skysocks binary" -cd ${_cmddir}/apps/skysocks -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skysocks-client binary" -cd ${_cmddir}/apps/skysocks-client -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building vpn-client binary" -cd ${_cmddir}/apps/vpn-client -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building vpn-server binary" -cd ${_cmddir}/apps/vpn-server -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -_msg2 "building skywire-cli binary" -cd ${_cmddir}/skywire-cli -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . -_msg2 "building skywire-visor binary" -cd ${_cmddir}/skywire-visor -go build -tags systray -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . -_msg2 "building setup-node binary" -cd ${_cmddir}/setup-node -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . - -#binary transparency -cd $GOBIN -_msg2 'binary sha256sums' -sha256sum $(ls) -cd $_GOAPPS -sha256sum $(ls) -} - -package() { -_pkgdir=${pkgdir} -#create directory trees or the visor might make them with weird permissions -#only path differing between debian & archlinux -_systemddir="usr/lib/systemd/system" -_skydir="opt/skywire" -_skyapps="${_skydir}/apps" -_skyscripts="${_skydir}/scripts" -_skybin="${_skydir}/bin" -_msg2 'creating dirs' -mkdir -p ${_pkgdir}/usr/bin -mkdir -p ${_pkgdir}/${_skydir}/bin -mkdir -p ${_pkgdir}/${_skydir}/apps -mkdir -p ${_pkgdir}/${_skydir}/local -mkdir -p ${_pkgdir}/${_skydir}/scripts -mkdir -p ${_pkgdir}/${_systemddir} - -_msg2 'installing binaries' - install -Dm755 ${GOBIN}/* ${_pkgdir}/${_skybin}/ -for _i in ${_pkgdir}/${_skybin}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'installing app binaries' -_apps=${pkgdir}/test/apps -install -Dm755 ${_GOAPPS}/* ${_pkgdir}/${_skyapps}/ -for _i in ${_pkgdir}/${_skyapps}/* ; do - ln -rTsf ${_i} ${_pkgdir}/usr/bin/${_i##*/} -done - -_msg2 'Installing scripts' -install -Dm755 ${srcdir}/skywire-autoconfig ${_pkgdir}/${_skyscripts}/ -ln -rTsf ${_pkgdir}/${_skyscripts}/skywire-autoconfig ${_pkgdir}/usr/bin/skywire-autoconfig - -chmod +x ${_pkgdir}/usr/bin/* -#rename visor to skywire - matche the skycoin / skycoin-cli of the skycoin wallet -[[ -f ${_pkgdir}/usr/bin/${_pkgname}-visor ]] && ln -rTsf ${_pkgdir}/usr/bin/${_pkgname}-visor ${_pkgdir}/usr/bin/${_pkgname} - -_msg2 'installing dmsghttp-config.json' -install -Dm644 ${srcdir}/${_pkgname}/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json - -#install systemd services -_msg2 'Installing systemd services' -install -Dm644 ${srcdir}/*.service ${_pkgdir}/${_systemddir}/ - -_msg2 'installing desktop files and icons' -mkdir -p ${_pkgdir}/usr/share/applications/ ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ -install -Dm644 ${srcdir}/*.desktop ${_pkgdir}/usr/share/applications/ -install -Dm644 ${srcdir}/*.png ${_pkgdir}/usr/share/icons/hicolor/48x48/apps/ -} - -_msg2() { -(( QUIET )) && return -local mesg=$1; shift -printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" +_build } diff --git a/updates.sh b/updates.sh index e0991b4a2715..8fba16fb73b3 100755 --- a/updates.sh +++ b/updates.sh @@ -1,9 +1,4 @@ #!/bin/bash -#re-archive the scripts and update the checksums, etc. -#NOTE THAT THIS EXPECTS THE SCRIPTS HAVE BEEN EDITED LOCALLY -#git pull and tar -xf skywire-scripts.tar.gz before commiting and pushing -#tar -hczvf skywire-scripts.tar.gz skywire-scripts -#reset the pkgver to autogenerated _version=$(git ls-remote --tags --refs --sort="version:refname" https://github.com/skycoin/skywire.git | tail -n1) _version=${_version##*/} _version=${_version%%-*} @@ -23,17 +18,13 @@ echo ${_version} echo ${_vrc} echo "updating checksums and version for PKGBUILDs" sed -i "s/^pkgver=.*/pkgver='${_version}'/" PKGBUILD && sed -i "s/^_rc=.*/_rc='${_vrc}'/" PKGBUILD -[[ -f cc.deb.PKGBUILD ]] && echo "updating checksums and version for cc.deb.PKGBUILD" && sed -i "s/^pkgver=.*/pkgver='${_version}'/" cc.deb.PKGBUILD && sed -i "s/^_rc=.*/_rc='${_vrc}'/" cc.deb.PKGBUILD -[[ -f cc.dev.PKGBUILD ]] && echo "updating checksums and version for cc.dev.PKGBUILD" && sed -i "s/^pkgver=.*/pkgver='${_version}'/" cc.dev.PKGBUILD && sed -i "s/^_rc=.*/_rc='${_vrc}'/" cc.dev.PKGBUILD -[[ -f deb.PKGBUILD ]] &&echo "updating checksums and version for deb.PKGBUILD" && sed -i "s/^pkgver=.*/pkgver='${_version}'/" deb.PKGBUILD && sed -i "s/^_rc=.*/_rc='${_vrc}'/" deb.PKGBUILD -[[ -f dev.PKGBUILD ]] && echo "updating checksums and version for dev.PKGBUILD" && sed -i "s/^pkgver=.*/pkgver='autogenerated'/" dev.PKGBUILD -[[ -f git.PKGBUILD ]] && echo "updating checksums and version for git.PKGBUILD" && sed -i "s/^pkgver=.*/pkgver='autogenerated'/" git.PKGBUILD -ls *PKGBUILD | parallel updpkgsums {} +#ls *PKGBUILD | parallel updpkgsums {} +updpkgsums echo "creating .SRCINFO" makepkg --printsrcinfo > .SRCINFO #sha256sum skywire-scripts.tar.gz echo "don't forget to increment pkgrel if you edited the PKGBUILD" source PKGBUILD && echo "pkgver=${pkgver}" && echo "pkgrel=${pkgrel}" echo -echo "git add -f" *PKGBUILD " .SRCINFO skywire-autoconfig com.skywire.Skywire.desktop com.skywirevpn.SkywireVPN.desktop skywirevpn.png skywire.png skywire.service skywire-autoconfig.service postinst.sh prerm.sh skywire.install updates.sh test.sh" +echo "git add -f" *PKGBUILD " .SRCINFO skywire.install updates.sh test.sh" echo 'git commit -m " "' |