diff options
author | Vinicius Correa | 2018-03-25 04:01:44 +0000 |
---|---|---|
committer | Vinicius Correa | 2018-03-25 04:01:44 +0000 |
commit | 9bdec446bfa99560e3e1b1a2ded27152bd68562d (patch) | |
tree | 26a9fa9a36b1079abccee05aa888a589a2419cb3 | |
parent | b27216a86fe480d096dfda3513175875787081f4 (diff) | |
download | aur-9bdec446bfa99560e3e1b1a2ded27152bd68562d.tar.gz |
first stable installation
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 7 | ||||
-rw-r--r-- | stoq-server.install | 102 |
3 files changed, 68 insertions, 45 deletions
@@ -1,7 +1,7 @@ pkgbase = stoq-server pkgdesc = Stoq server. pkgver = 0.14.1 - pkgrel = 2 + pkgrel = 3 url = https://github.com/stoq/stoq-server install = stoq-server.install arch = any @@ -19,7 +19,7 @@ pkgbase = stoq-server depends = duplicity depends = openvpn depends = postgresql - depends = postgresql-libs + depends = openssh depends = avahi depends = python2-htsql depends = python2-htsql-pgsql @@ -1,13 +1,14 @@ # Maintainer: Vinicius Correa <vinicius dot correa at zoho dot com> +# Contributor: Mariel de Jesus™ <marieldejesus12@gmail.com> pkgname=stoq-server pkgver=0.14.1 -pkgrel=2 +pkgrel=3 pkgdesc="Stoq server." arch=('any') url="https://github.com/stoq/${pkgname}" license=('LGPL') depends=('python2' 'kiwi' 'stoqdrivers' 'stoq' 'python2-twisted' 'python2-requests' 'python2-netifaces' - 'binutils' 'supervisor' 'duplicity' 'openvpn' 'postgresql' 'postgresql-libs' + 'binutils' 'supervisor' 'duplicity' 'openvpn' 'postgresql' 'openssh' 'avahi' 'python2-htsql' 'python2-htsql-pgsql') makedepends=('git') conflicts=('stoq-server-git') @@ -23,4 +24,4 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" python2 setup.py install --root="${pkgdir}" --optimize=1 -} +}
\ No newline at end of file diff --git a/stoq-server.install b/stoq-server.install index 574c4e97ef5b..fb94780aeba1 100644 --- a/stoq-server.install +++ b/stoq-server.install @@ -1,49 +1,88 @@ post_install() { # Make sure stoqserver's home exists if [ ! -d '/usr/share/stoqserver' ]; then - mkdir -p '/usr/share/stoqserver' + mkdir -p '/usr/share/stoqserver' fi - # Try to find the stoq database - if [ -d "/var/run/postgresql" ]; then - for socket in `find /var/run/postgresql -regex '.*\.s\.PGSQL\.[0-9]+'`; do - PORT="`echo $PORT | sed -e 's/\(.*\.\)\([0-9]\+\)/\2/' | xargs`" - [ -z "$PORT" ] && continue - set +e - # TODO: Improve code when we find more than one database candidates - DBNAME=`sudo -u postgres psql -p $PORT -AtqwlF \| | cut -d \| -f 1 | grep stoq | head -n1` - set -e - [ ! -z "$DBNAME" ] && break - done + #Crete script stoqsconf.sh + 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 - # If the process above failed for some reason, use the default 5432 - if [ -z "$PORT" ]; then - PORT="5432" + #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 - if [ -z "$DBNAME" ]; then - DBNAME="stoq" +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 + cat <<EOF > /usr/share/stoqserver/.stoq/stoq.conf [General] logfile = /usr/share/stoqserver/.stoq/stoqserver.log [Database] rdbms = postgres address = -port = $PORT -dbname = $DBNAME +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 groupadd stoqserver @@ -53,26 +92,9 @@ EOF passwd -l stoqserver >/dev/null fi - # Add stoqserver on dialout group so it can interact with usb/serial devices - gpasswd -a stoqserver storage - gpasswd -a stoqserver uucp - - # Create a ssh key for stoqserver - if [ ! -f /usr/share/stoqserver/.ssh/id_rsa ]; then - mkdir -p /usr/share/stoqserver/.ssh - ssh-keygen -t rsa -N "" -f /usr/share/stoqserver/.ssh/id_rsa - fi - - # Create a .pgpass file stoqserverl - if [ ! -f /usr/share/stoqserver/.pgpass ]; then - PG_PASSWORD="`cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c32`" - sudo -u postgres psql -p $PORT -c "ALTER USER stoqserver WITH PASSWORD '$PG_PASSWORD';" - echo "*:*:*:stoqserver:$PG_PASSWORD" > /usr/share/stoqserver/.pgpass - chmod 0600 /usr/share/stoqserver/.pgpass - fi - # Fix directory permissions chown -R stoqserver:stoqserver /usr/share/stoqserver + chown -R postgres:postgres /usr/share/stoqserver } post_upgrade() { |