summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinicius Correa2018-03-25 04:01:44 +0000
committerVinicius Correa2018-03-25 04:01:44 +0000
commit9bdec446bfa99560e3e1b1a2ded27152bd68562d (patch)
tree26a9fa9a36b1079abccee05aa888a589a2419cb3
parentb27216a86fe480d096dfda3513175875787081f4 (diff)
downloadaur-9bdec446bfa99560e3e1b1a2ded27152bd68562d.tar.gz
first stable installation
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD7
-rw-r--r--stoq-server.install102
3 files changed, 68 insertions, 45 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 464e48db8532..bde1773f8cd2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index fc0488988f49..d102ac301d67 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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() {