diff options
author | Philip A Reimer | 2015-06-12 22:10:20 -0600 |
---|---|---|
committer | Philip A Reimer | 2015-06-12 22:10:20 -0600 |
commit | d3ae08ce68d455393ff821a753fccd5014b0327c (patch) | |
tree | fef1b61d13f0a1b15deb75c08d0cbee9a440c851 | |
download | aur-d3ae08ce68d455393ff821a753fccd5014b0327c.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 23 | ||||
-rw-r--r-- | quasar-server.install | 110 |
3 files changed, 153 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..8690277ecea4 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = quasar-server + pkgdesc = Business accounting software (Server) + pkgver = 2.2.1 + pkgrel = 2 + url = http://www.linuxcanada.com + install = quasar-server.install + arch = x86_64 + arch = i686 + license = Commercial + depends = qt3 + depends = xinetd + depends = postgresql + optdepends = polymer: KDE QT style Plastik + source_x86_64 = ftp://linuxcanada.com/pub/Quasar/2.2.1/binaries/x86_64/Kubuntu-14.04/quasar-server_2.2.1-1_amd64.deb + md5sums_x86_64 = ee09da2848529e8ec6604ca668e1b593 + source_i686 = ftp://linuxcanada.com/pub/Quasar/2.2.1/binaries/i386-i586/Kubuntu-14.04/quasar-server_2.2.1-1_i386.deb + md5sums_i686 = 701f46fce465c5785bd6b0066e9c1abf + +pkgname = quasar-server + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..1c0a5f382022 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: ant32 <antreimer@gmail.com> + +pkgname=quasar-server +pkgver=2.2.1 +pkgrel=2 +pkgdesc="Business accounting software (Server)" +url="http://www.linuxcanada.com" +arch=('x86_64' 'i686') +license=('Commercial') +depends=('qt3' 'xinetd' 'postgresql') +optdepends=('polymer: KDE QT style Plastik') +source_i686=(ftp://linuxcanada.com/pub/Quasar/${pkgver}/binaries/i386-i586/Kubuntu-14.04/${pkgname}_${pkgver}-1_i386.deb) +source_x86_64=(ftp://linuxcanada.com/pub/Quasar/${pkgver}/binaries/x86_64/Kubuntu-14.04/${pkgname}_${pkgver}-1_amd64.deb) +md5sums_x86_64=('ee09da2848529e8ec6604ca668e1b593') +md5sums_i686=('701f46fce465c5785bd6b0066e9c1abf') +install="$pkgname.install" + +package() { + cd "${srcdir}" + tar xJf data.tar.xz + cp -al opt "$pkgdir" + install -Dm644 usr/share/doc/$pkgname/copyright "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/quasar-server.install b/quasar-server.install new file mode 100644 index 000000000000..ff30042ef0d2 --- /dev/null +++ b/quasar-server.install @@ -0,0 +1,110 @@ + + +pre_install() { + # Add the quasar group + line=$(grep quasar /etc/group) + if [ "$line" == "" ]; then + groupadd quasar >/dev/null 2>/dev/null + fi + + # Add the quasar user + line=$(grep quasar /etc/passwd) + if [ "$line" == "" ]; then + useradd -g quasar -d /opt/quasar -s /bin/bash -c Quasar quasar 2>/dev/null + fi +} + + +post_install() { + # check if postgresql is configured + # it configured the database as ASCII even though my local is set to UTF-8 + if [ ! "$(ls -A /var/lib/postgres/data)" ]; then + su - postgres -c "initdb --locale en_US.UTF-8 -E UTF8 -D '/var/lib/postgres/data'" + fi + + # If PostgreSQL is installed, try to start it + [ $(systemctl is-enabled postgresql) = 'disabled' ] && systemctl enable postgresql + [ $(systemctl is-active postgresql) = 'inactive' ] && systemctl start postgresql + + # Create a "quasar" user/role + if [ -x /usr/bin/createuser ]; then + su - postgres -c "/usr/bin/createuser -s quasar" + if [ $? != 0 ]; then + su - postgres -c "/usr/bin/createuser -a -d quasar" + fi + fi + + # Generate the postgresql.cfg file + if [ ! -e /opt/quasar/config/postgresql.cfg ]; then + # Figure out library location + if [ -e /usr/lib64/libpq.so ]; then + PQ_LIB=/usr/lib64/libpq.so + elif [ -e /usr/lib/libpq.so ]; then + PQ_LIB=/usr/lib/libpq.so + else + FILES=$(ls /usr/lib64/libpq.so* 2>/dev/null) + if [ $? = 0 ]; then + PQ_LIB=$(ls /usr/lib64/libpq.so* | head -1) + else + FILES=$(ls /usr/lib/libpq.so* 2>/dev/null) + if [ $? = 0 ]; then + PQ_LIB=$(ls /usr/lib/libpq.so* | head -1) + fi + fi + fi + + # Write PostgreSQL config file + echo -e "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE PostgresqlConfig>\n<PostgresqlConfig>\n <hostname></hostname>\n <port>5432</port>\n <library>$PQ_LIB</library>\n <dbaUsername>quasar</dbaUsername>\n <dbaPassword></dbaPassword>\n <username>quasar</username>\n <password></password>\n <charSet>UNICODE</charSet>\n</PostgresqlConfig>" >/opt/quasar/config/postgresql.cfg + chmod 640 /opt/quasar/config/postgresql.cfg + fi + + # Create log file directory + if [ ! -e /var/log/quasar ]; then + mkdir /var/log/quasar + fi + # Set ownership + chown -R quasar:quasar /var/log/quasar + chown -R quasar:quasar /opt/quasar + + # Create the xinetd.d entry + if [ ! -e /etc/xinetd.d/quasard ]; then + echo -e "service quasard\n{\n type = UNLISTED\n flags = KEEPALIVE NODELAY\n socket_type = stream\n port = 3599\n wait = yes\n user = quasar\n group = quasar\n instances = UNLIMITED\n server = /opt/quasar/bin/quasard\n server_args = -xinetd\n# server_args = -xinetd -debug\n disable = no\n}\n" >/etc/xinetd.d/quasard + fi + + # check if xinetd is enabled + if [ $(systemctl is-enabled xinetd) = 'disabled' ]; then + systemctl enable xinetd + systemctl start xinetd + fi + + # Restart xinetd so it finds the new entries + if [ $(systemctl is-active xinetd) = 'active' ]; then + systemctl restart xinetd + else + echo "Error: missing /etc/init.d/xinetd script so xinetd is" + echo "likely not installed. You need to install xinetd to" + echo "use Quasar" + fi +} + + +pre_remove() { + # Remove xinetd.d entries + if [ -e /etc/xinetd.d/quasard ]; then + rm /etc/xinetd.d/quasard + fi + + # Restart xinetd so it forgets about quasar entries + if [ $(systemctl is-active xinetd) = 'active' ]; then + systemctl restart xinetd + fi + + # Shut down quasard + /usr/bin/killall -q quasard +} + + +post_remove() { + # Delete the log files + rm -rf /var/log/quasar +} |