# Maintainer: Moses Narrow source PKGBUILD _pkgver=${pkgver} _pkgrel=${pkgrel} pkgdesc="Skywire: Decentralize the web. Skycoin.com. Debian package" _pkgarch=$(dpkg --print-architecture) _pkgarches=('amd64' 'arm64' 'armhf' 'armel') arch=('any') license=('license-free') makedepends=('dpkg') _debdeps="" _binarchive=("${_pkgname}-${_tag_ver}-linux") _release_url=("${url}/releases/download/${_tag_ver}/${_binarchive}") source=( "${_release_url}-amd64.tar.gz" "${_release_url}-arm64.tar.gz" "${_release_url}-armhf.tar.gz" "${_release_url}-arm.tar.gz" "skywire-autoconfig" "skywire.desktop" "skywirevpn.desktop" "skywirevpn.png" "skywire.png" "skywire.service" "skywire-autoconfig.service" "postinst.sh" "prerm.sh" ) noextract=( "${_binarchive}-amd64.tar.gz" "${_binarchive}-arm64.tar.gz" "${_binarchive}armhf.tar.gz" "${_release_url}-arm.tar.gz" ) sha256sums=('d2dd1f6a15eba62cad2838602e8366bb8fe63cf2df00e9f1619a8233e8d20235' '60da7b30dc42b43e469caa5e82d9f2e9413a65a54a15007cf44725cdc334d209' '6619e736efc1823517a98f31ec9611d4211674d1b70b17e25c5ae1cfeab556f1' 'a66bdfa7ffe83cc770a7955e2aedeccaeef43d71e5597005e063058eba004fe8' '08f0c625a3ae8810f0468a45aa2e463425ec307441f71f6ba48114bda2055316' 'f0300bcde06b6818b637ccc23fa8206a40e67f63815781d265bd10d2cda93e65' '0c20dd44eca0266a3a10fab24c657295a833eba9f78c6b1cf06132b093ac3ba8' 'ec24750a99f5cda8d8a8dc94743943218e1b2088c2b2c7dc1644ee78d954fe7e' 'a6941680b5858ca3e0c85d9bf5824455a0c95524b61e42352462f2abbb750495' '19b74f7a9b245a96617f31d1fef7ce1e0231b2359d6525dd3f35d2b2a9d10d18' '55293e05c5d6c877397eb4c52123bb02e8bc92aeaf663ba70e1cfab318ce727c' '7b17a55e64d1371fecd24edc3da7c6a762cf2b3d058f6fc4a5dc7c5f9b4cff09' '233ccf0e87b37e782828f53960e05e478cf381f61bbfdb16a0cc0254ee8be7c2') build() { _msg2 'creating the DEBIAN/control files' for i in ${_pkgarches[@]}; do _msg2 "_pkgarch=$i" local _pkgarch=$i #create control file for the debian package echo "Package: ${pkgname}" > ${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 "Provides: ${_pkgname}" >> ${srcdir}/${_pkgarch}.control echo "Maintainer: ${_githuborg}" >> ${srcdir}/${_pkgarch}.control echo "Description: ${pkgdesc}" >> ${srcdir}/${_pkgarch}.control done } package() { for i in ${_pkgarches[@]}; do _msg2 "_pkgarch=${i}" local _pkgarch=${i} local _pkgarch1=${_pkgarch} if [[ ${_pkgarch} == "armel" || ${_pkgarch} == "armhf" ]] ; then local _pkgarch1=arm fi local _binaryarchive="${_pkgname}-${_tag_ver}-linux-${_pkgarch1}.tar.gz" [[ -f ${srcdir}/${_pkgname}-visor ]] && rm -rf ${srcdir}/${_pkgname}-visor [[ -f ${srcdir}/${_pkgname}-cli ]] && rm -rf ${srcdir}/${_pkgname}-cli [[ -d ${srcdir}/apps ]] && rm -rf ${srcdir}/apps [[ -d ${pkgdir}/test ]] && rm -rf ${pkgdir}/test mkdir -p ${pkgdir}/test && cd ${pkgdir}/test tar -xf ${srcdir}/${_binaryarchive} _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 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 ${pkgdir}/test/${_pkgname}-cli ${_pkgdir}/${_skybin}/ install -Dm755 ${pkgdir}/test/${_pkgname}-visor ${_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 ${_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 _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 ${pkgdir}/test/dmsghttp-config.json ${_pkgdir}/${_skydir}/dmsghttp-config.json _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 ../../ done #exit so the arch package doesn't get built exit }