diff options
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD | 2 | ||||
-rw-r--r-- | skyrepo.PKGBUILD | 158 |
3 files changed, 160 insertions, 2 deletions
@@ -1,7 +1,7 @@ pkgbase = skywire-bin pkgdesc = Skywire: Building a new Internet. Skycoin.com pkgver = 1.3.11 - pkgrel = 1 + pkgrel = 2 url = https://github.com/skycoin/skywire install = skywire.install arch = i686 @@ -4,7 +4,7 @@ _pkgname=${pkgname/-bin/} _githuborg=skycoin pkgdesc="Skywire: Building a new Internet. Skycoin.com" pkgver='1.3.11' -pkgrel='1' +pkgrel='2' _rc='' #_rc='-pr1' _pkgver="${pkgver}${_rc}" diff --git a/skyrepo.PKGBUILD b/skyrepo.PKGBUILD new file mode 100644 index 000000000000..3634b852075d --- /dev/null +++ b/skyrepo.PKGBUILD @@ -0,0 +1,158 @@ +source PKGBUILD #sets version only +pkgname=skyrepo +_pkgname=skyrepo +_skyrepourl="http://deb.skywire.skycoin.com" +_skyrepokeyid="48F19E5157BE6014D80A47328D6D51BC4AD7AE64" +pkgdesc="Skycoin apt repo configuration ${_skyrepourl} & repo signing key - debian package" +#pkgver='1.3.11' +_pkgver=${pkgver} +_pkgrel=${pkgrel} +arch=( 'any' ) +_pkgarches=('amd64' 'arm64' 'armhf' 'armel') +_pkgpath="github.com/skycoin/${_pkgname}" +url="https://${_pkgpath}" +makedepends=('dpkg') +depends=() +_debdeps="" +unset source +unset source_x86_64 +unset source_aarch64 +unset source_armv8 +unset source_arm +unset source_armv7 +unset source_armv7l +unset source_armv7h +unset sha256sums +unset sha256sums_x86_64 +unset sha256sums_aarch64 +unset sha256sums_armv8 +unset sha256sums_armv7 +unset sha256sums_armv7l +unset sha256sums_armv7h +unset sha256sums_arm +build() { + #create the apt repo config + echo "deb ${_skyrepourl} sid main + # deb-src ${_skyrepourl} sid main" | tee ${srcdir}/skycoin.list + #create the pubkey file + gpg --export ${_skyrepokeyid} | tee ${srcdir}/skycoin.gpg + #create the update script + echo "#!/bin/bash + apt update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/skycoin.list && apt -qq --yes reinstall skywire-bin && systemctl is-active --quiet install-skywire && systemctl disable install-skywire 2> /dev/null" | tee ${srcdir}/install-skywire.sh + #create the update service + echo "[Unit] + Description=install skywire service + After=network-online.target + Wants=network-online.target + + [Service] + Type=simple + ExecStart=/bin/install-skywire + + [Install] + WantedBy=multi-user.target + " | tee ${srcdir}/install-skywire.service + +echo '#!/bin/bash +##/usr/bin/skywire-chrootconfig +#called by the postinstall script of the skyrepo .deb package +################################################################# +#meant to run when the skyrepo package is installed in chroot + if [[ $INSTALLFIRSTBOOT == "1" ]] ; then + if [[ -f /etc/systemd/system/install-skywire.service ]] ; then + systemctl enable install-skywire.service + fi + fi + # create envfile + if [[ ! -f /etc/profile.d/skyenv.sh && -d /etc/profile.d ]] ; then + touch /etc/profile.d/skyenv.sh + fi + # SKYBIAN=true enables autostart of skywire via skywire-autoconfig - on ARM architectures + if [[ $(cat /etc/profile.d/skyenv.sh | grep SKYBIAN ) != *"SKYBIAN"* ]] ; then + if [[ $(dpkg --print-architecture) == *"amd64"* ]] ; then + echo "#SKYBIAN=true" | tee -a /etc/profile.d/skyenv.sh + else + echo "SKYBIAN=true" | tee -a /etc/profile.d/skyenv.sh + fi + fi + # VPNSERVER=1 enables autostart of the vpn server - on ARM architectures + if [[ $(cat /etc/profile.d/skyenv.sh | grep VPNSERVER ) != *"VPNSERVER"* ]] ; then + if [[ $(dpkg --print-architecture) == *"amd64"* ]] ; then + echo "#export VPNSERVER=1" | tee -a /etc/profile.d/skyenv.sh + else + echo "export VPNSERVER=1" | tee -a /etc/profile.d/skyenv.sh + fi + fi +' | tee ${srcdir}/skywire-chrootconfig.sh + #create the postinstall script + echo '#!/bin/bash + #skybian post install script ; executed by dpkg upon package installation or updates + /usr/bin/skywire-chrootconfig +' | tee ${srcdir}/postinst.sh + #create the DEBIAN/control files + for _i in ${_pkgarches[@]}; do + _msg2 "_pkgarch=${_i}" + local _pkgarch=${_i} + _msg2 "Creating DEBIAN/control file for ${_pkgarch}" + 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 "Replaces: skybian" >> ${srcdir}/${_pkgarch}.control + echo "Depends: ${_debdeps}" >> ${srcdir}/${_pkgarch}.control + echo "Maintainer: Skycoin" >> ${srcdir}/${_pkgarch}.control + echo "Description: ${pkgdesc}" >> ${srcdir}/${_pkgarch}.control + cat ${srcdir}/${_pkgarch}.control + done +} + +package() { + for _i in ${_pkgarches[@]}; do + _msg2 "_pkgarch=${_i}" + local _pkgarch=${_i} + echo ${_pkgarch} + #set up to create a .deb package with dpkg + _debpkgdir="${_pkgname}-${pkgver}-${_pkgrel}-${_pkgarch}" + _pkgdir="${pkgdir}/${_debpkgdir}" + ######################################################################### + #package normally here using ${_pkgdir} instead of ${pkgdir} + _msg2 "Creating dirs" + mkdir -p ${_pkgdir}/etc/apt/sources.list.d/ + mkdir -p ${_pkgdir}/etc/apt/trusted.gpg.d/ + mkdir -p ${_pkgdir}/usr/bin/ + mkdir -p ${_pkgdir}/etc/systemd/system/ + _msg2 "Installing install-skywire.sh skywire installation script" + install -Dm755 ${srcdir}/install-skywire.sh ${_pkgdir}/usr/bin/install-skywire + _msg2 "Installing install-skywire.service service for install-skywire.sh" + install -Dm644 ${srcdir}/install-skywire.service ${_pkgdir}/etc/systemd/system/install-skywire.service + _msg2 "Installing skywire-chrootconfig" #called by postinstall + install -Dm755 ${srcdir}/skywire-chrootconfig.sh ${_pkgdir}/usr/bin/skywire-chrootconfig + _msg2 "Installing apt repository configuration to:\n /etc/apt/sources.list.d/skycoin.list" + install -Dm644 ${srcdir}/skycoin.list ${_pkgdir}/etc/apt/sources.list.d/skycoin.list + _msg2 "Installing apt repository signing key to:\n /etc/apt/trusted.gpg.d/skycoin.gpg" + install -Dm644 ${srcdir}/skycoin.gpg ${_pkgdir}/etc/apt/trusted.gpg.d/skycoin.gpg + ######################################################################### + _msg2 'Installing control file and postinst script' + install -Dm755 ${srcdir}/${_pkgarch}.control ${_pkgdir}/DEBIAN/control + install -Dm755 ${srcdir}/postinst.sh ${_pkgdir}/DEBIAN/postinst + _msg2 'Creating the debian package' + cd $pkgdir + if command -v tree &> /dev/null ; then + _msg2 'package tree' + tree -a ${_debpkgdir} + fi + dpkg-deb --build -z9 ${_debpkgdir} + mv *.deb ../../ + done + #clean up manually just in case + rm -rf ${srcdir} + #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" "$@" +} |