diff options
author | Vinicius Correa | 2019-11-19 10:40:07 -0300 |
---|---|---|
committer | Vinicius Correa | 2019-11-19 10:40:07 -0300 |
commit | e553231d8d2b7234028795396f3c0f593667cb7f (patch) | |
tree | eb08996f2a0ccda4e68acdca31f028ad92e553af | |
download | aur-e553231d8d2b7234028795396f3c0f593667cb7f.tar.gz |
v0.26.1
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 23 | ||||
-rw-r--r-- | stoqserver.install | 119 |
3 files changed, 163 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..8c4821e6c7a9 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = stoqserver + pkgdesc = A server for Stoq + pkgver = 0.26.1 + pkgrel = 1 + url = https://www.stoq.com.br + install = stoqserver.install + arch = any + license = GPL + depends = python + depends = python-flask + depends = python-flask-restful + depends = python-gevent + depends = python-netifaces + depends = python-requests + depends = python-twisted + depends = postgresql + source = https://pypi.python.org/packages/source/s//-0.26.1.tar.gz + md5sums = 66dd7c7a83b21e0138e28c38f27fe45c + +pkgname = stoqserver + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..99e033a21766 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: Vinicius Correa <vinicius.correa at zoho dot com> + +pkgname=stoqserver +pkgver=0.26.1 +pkgrel=1 +pkgdesc="A server for Stoq" +arch=('any') +url="https://www.stoq.com.br" +license=('GPL') +depends=('python' 'python-flask' 'python-flask-restful' 'python-gevent' 'python-netifaces' 'python-requests' 'python-twisted' 'postgresql') +install=${pkgname}.install +source=("https://pypi.python.org/packages/source/s/${_pkgname}/${_pkgname}-${pkgver}.tar.gz") +md5sums=('66dd7c7a83b21e0138e28c38f27fe45c') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + python setup.py build +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + python setup.py install --root="${pkgdir}" --optimize=1 +} diff --git a/stoqserver.install b/stoqserver.install new file mode 100644 index 000000000000..f850f3e01c3d --- /dev/null +++ b/stoqserver.install @@ -0,0 +1,119 @@ +post_install() { + # Make sure stoqserver's home exists + if [ ! -d '/usr/share/stoqserver' ]; then + mkdir -p '/usr/share/stoqserver' + fi + + #Crete script stoqsconf + if [ ! -d '/usr/share/stoqserver/stoqsconf' ]; then + cat << 'EOF' > /usr/bin/stoqsconf +#!/bin/bash +POSITIONAL=() +while [[ $# -gt 0 ]] +do +key="$1" + +case $key in + -p|--port) + PORT="$2" + shift # past argument + shift # past value + ;; + -D|--directory) + DIR="$2" + shift # past argument + shift # past value + ;; + -h|--help) + HELP="$2" + shift # past argument + shift # past value + echo "help text" + ;; + *) # unknown option + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; +esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +if [[ -n $1 ]]; then + echo "Invalid argument." +else + + #Create pgpass file + if [ ! -f ${DIR}/.pgpass ]; then + createuser -p ${PORT} -dsR stoqserver + PG_PASSWORD="`cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c32`" + psql -p $PORT -c "ALTER USER stoqserver WITH PASSWORD '${PG_PASSWORD}';" + echo "*:*:*:stoqserver:${PG_PASSWORD}" > ${DIR}/.pgpass + chmod 0600 ${DIR}/.pgpass + fi + + #Create a ssh key for remote support + if [ ! -f ${DIR}/.ssh/id_rsa ]; then + if [ ! -f ${DIR}/.ssh/ ]; then + mkdir -p ${DIR}/.ssh + fi + ssh-keygen -t rsa -N "" -f ${DIR}/.ssh/id_rsa + fi +fi +EOF + chmod 777 /usr/bin/stoqsconf + + fi + + # Create .stoq dir and configuration if they don't exist + if [ ! -f /usr/share/stoqserver/.stoq/stoq.conf ]; then + mkdir -p /usr/share/stoqserver/.stoq + cat <<EOF > /usr/share/stoqserver/.stoq/stoq.conf +[General] +logfile = /usr/share/stoqserver/.stoq/stoqserver.log + +[Database] +rdbms = postgres +address = +port = 5432 +dbname = stoq +dbusername = stoqserver + +[Backup] +key = +EOF + fi + + # Create stoqserver user if it doesn't exist + if ! getent group stoqserver >/dev/null; then + useradd -d '/usr/share/stoqserver' -s /bin/bash stoqserver + passwd -l stoqserver >/dev/null + fi + + if ! getent group stoqserver | grep &>/dev/null "postgres"; then + gpasswd -a postgres stoqserver + fi + + # Fix directory permissions + chown -R stoqserver:stoqserver /usr/share/stoqserver + chmod g+rwx -R /usr/share/stoqserver + + grep -q 'files = /etc/supervisor/conf.d/\*.conf' /etc/supervisord.conf || echo 'files = /etc/supervisor/conf.d/*.conf' >> /etc/supervisord.conf +} + +post_upgrade() { + post_install $1 + # FS#23858, fix postgres user shell issue + stoqserver_shell=$(getent passwd stoqserver | cut -d: -f7) + if [ "$stoqserver_shell" = "/sbin/nologin" ]; then + chsh -s /bin/bash stoqserver + fi +} + +post_remove() { + if getent passwd stoqserver >/dev/null; then + userdel stoqserver + fi + if getent group stoqserver >/dev/null; then + groupdel stoqserver + fi +} |