diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-03-07 18:56:13 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-03-07 18:56:13 +0000 |
commit | ec5f0f5729a454e203621bbe66ac86028282b636 (patch) | |
tree | 4de87ac9cfbada265daadbf847d0573deffabbc1 | |
parent | 285f7ad7d0aed48cd5cb13a2437e80d26fffc254 (diff) |
add documentation
assorted other fixes
git-svn-id: file:///home/lennart/svn/public/pgets/trunk@4 768266df-afd4-0310-94a7-d396c829e022
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | configure.ac | 35 | ||||
-rw-r--r-- | doc/Makefile.am | 35 | ||||
-rw-r--r-- | doc/README.html.in | 154 | ||||
-rw-r--r-- | doc/style.css | 32 | ||||
-rw-r--r-- | php/Makefile.am | 19 | ||||
-rw-r--r-- | php/pgets-intro.html | 3 | ||||
-rw-r--r-- | php/pgets.php | 3 | ||||
-rw-r--r-- | sql/Makefile.am | 19 | ||||
-rw-r--r-- | sql/pgets-access.sql | 6 |
10 files changed, 300 insertions, 12 deletions
diff --git a/Makefile.am b/Makefile.am index 386d51d..34eb703 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,21 +17,21 @@ # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. EXTRA_DIST=bootstrap.sh README LICENSE -SUBDIRS=src #conf doc man +SUBDIRS=src doc sql php MAINTAINERCLEANFILES = README noinst_DATA = README README: rm -f README -# $(MAKE) -C doc README + $(MAKE) -C doc README cd $(srcdir) && ln -s doc/README README homepage: all dist test -d $$HOME/homepage/lennart mkdir -p $$HOME/homepage/lennart/projects/pgets cp *.tar.gz $$HOME/homepage/lennart/projects/pgets -# cp doc/style.css doc/README.html $$HOME/homepage/lennart/projects/pgets/ + cp doc/style.css doc/README.html $$HOME/homepage/lennart/projects/pgets/ cp $$HOME/homepage/lennart/projects/pgets/README.html $$HOME/homepage/lennart/projects/pgets/index.html distcleancheck: diff --git a/configure.ac b/configure.ac index 8d6e9e3..81725e2 100644 --- a/configure.ac +++ b/configure.ac @@ -42,11 +42,36 @@ if test "x$GCC" = "xyes" ; then CFLAGS="$CFLAGS -pipe -Wall" fi -AC_CHECK_LIB([pq], [PQconnectdb]) -AC_CHECK_LIB([sqlite], [sqlite_open]) +# Check for PostgreSQL +AC_ARG_ENABLE(postgres, AS_HELP_STRING(--disable-postgres,Don't build postgres client), +[case "${enableval}" in + yes) postgres=yes ;; + no) postgres=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-postgres) ;; +esac],[postgres=yes]) + +if test "x$postgres" = "xyes" ; then + AC_CHECK_LIB([pq], [PQconnectdb],,[AC_MSG_ERROR([*** Sorry, you have to install libpq or use --disable-postgres ***])]) + AC_CHECK_HEADER([postgresql/libpq-fe.h],,[AC_MSG_ERROR([*** Sorry, you have to install postgresql-dev or use --disable-postgres ***])]) +fi + + +AM_CONDITIONAL([POSTGRES], [test "x$postgres" = "xyes"]) + +# Check for SQLite +AC_ARG_ENABLE(sqlite, AS_HELP_STRING(--disable-sqlite,Don't build sqlite client), +[case "${enableval}" in + yes) sqlite=yes ;; + no) sqlite=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --sqlite-postgres);; +esac],[sqlite=yes]) + +if test "x$sqlite" = "xyes" ; then + AC_CHECK_LIB([sqlite], [sqlite_open],,[AC_MSG_ERROR([*** Sorry, you have to install libsqlite or use --disable-sqlite ***])]) + AC_CHECK_HEADER([sqlite.h],,[AC_MSG_ERROR([*** Sorry, you have to install libsqlite-dev or use --disable-sqlite ***])]) +fi -AM_CONDITIONAL([POSTGRES], [true]) -AM_CONDITIONAL([SQLITE], [true]) +AM_CONDITIONAL([SQLITE], [test "x$sqlite" = "xyes"]) # Checks for header files. AC_HEADER_STDC @@ -85,5 +110,5 @@ fi AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes]) -AC_CONFIG_FILES([src/Makefile Makefile]) # conf/Makefile doc/Makefile doc/README.html]) +AC_CONFIG_FILES([src/Makefile Makefile doc/Makefile doc/README.html php/Makefile sql/Makefile]) AC_OUTPUT diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..a70ee0d --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,35 @@ +# $Id$ + +# This file is part of pgets. +# +# pgets is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# pgets is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with pgets; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +noinst_DATA = README.html README +EXTRA_DIST = $(noinst_DATA) style.css README.html.in + +MAINTAINERCLEANFILES = README README.html +CLEANFILES = + +if USE_LYNX +README: README.html + lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ + +CLEANFILES += README +endif + +tidy: README.html + tidy -e < README.html + +.PHONY: tidy diff --git a/doc/README.html.in b/doc/README.html.in new file mode 100644 index 0000000..6dab3d0 --- /dev/null +++ b/doc/README.html.in @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="iso-8895-15"?> <!-- -*-html-helper-*- --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>pgets @PACKAGE_VERSION@</title> +<link rel="stylesheet" type="text/css" href="style.css" /> +</head> + +<body> +<h1><a name="top">pgets @PACKAGE_VERSION@</a></h1> + +<p><i>Copyright 2004 Lennart Poettering <@PACKAGE_BUGREPORT@></i></p> + +<ul class="toc"> + <li><a href="#license">License</a></li> + <li><a href="#news">News</a></li> + <li><a href="#overview">Overview</a></li> + <li><a href="#status">Status</a></li> + <li><a href="#documentation">Documentation</a></li> + <li><a href="#requirements">Requirements</a></li> + <li><a href="#installation">Installation</a></li> + <li><a href="#acks">Acknowledgements</a></li> + <li><a href="#download">Download</a></li> +</ul> + +<h2><a name="license">License</a></h2> + +<p>This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version.</p> + +<p>This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details.</p> + +<p>You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</p> + +<h2><a name="news">News</a></h2> + +<div class="news-date">Tue Mar 7 2004: </div> <p class="news-text"><a +href="@PACKAGE_URL@pgets-0.1.tar.gz">Version 0.1</a> released, initial release</p> + +<h2><a name="overview">Overview</a></h2> + +<p><tt>pgets</tt> is a simple Linux tool for reading stored call +accounting data from <a href="http://www.auerswald.de/">Auerswald</a> ETS 4308i PBX over a serial line into +<a href="http://www.postgresql.org/">PostgreSQL</a> or <a +href="http://www.sqlite.org/">SQLite</a> databases. <tt>pgets</tt> +should be called by in regular time intervals (e.g. by <tt>cron</tt>) +to update the database with all new data from the PBX.</p> + +<p><tt>pgets</tt> comes with a simple <a +href="http://www.php.net/">PHP</a> based web frontend for querying +the accumulated data.</p> + +<h2><a name="status">Status</a></h2> + +<p>Version @PACKAGE_VERSION@ works fine. While the C written transfer utility works +with both SQLite and PostgreSQL databases, the PHP frontend is limited +to PostgreSQL. This will probably change in future versions.</p> + +<h2><a name="documentation">Documentation</a></h2> + +<h3>Mode of Operation</h3> + +<p>After installation you should create the database for +<tt>pgets</tt>. For PostgreSQL this involves executing the SQL +commands contained in the file <tt>sql/pgets-access.sql</tt> by piping +them to <tt>psql</tt>:</p> + +<pre>psql template1 postgres < sql/pgets-access.sql</pre> + +<p>You probably want to edit <tt>pgets-access.sql</tt> before piping +it to <tt>psql</tt> for using different passwords. For SQLite this is +much simpler as it doesn't involve any access rights:</p> + +<pre>sqlite pgets.sqlite < sql/pgets.sql</pre> + +<p>After that you should create a cronjob for either <tt>pgets-postgres</tt> or <tt>pgets-sqlite</tt>:</p> + +<pre>@daily pgets-postgres -q -b "dbname=pgets user=foo password=bar"</pre> + +<p>or:</p> + +<pre>@daily pgets-sqlite -q -b foo.sqlite</pre> + +<p>This makes sure that the <tt>pgets</tt> database is updated once a +day with all new call accounting data stored in the PBX. <i>(This +<tt>cron</tt> syntax is for a user cronjob, not a system wide one)</i> +The option <tt>-q</tt> disables verbose printing of the current status +of <tt>pgets</tt>. With <tt>-b</tt> you may pass the database access +information to <tt>pgets</tt>, this is either a PostgreSQL compatible +connection string or a SQLite file name. Use <tt>-d</tt> to use a +different serial port than <tt>/dev/ttyS0</tt>.</p> + +<p>To use the PHP frontend copy <tt>php/pgets.php</tt>, +<tt>php/style.css</tt> and <tt>php/pgets-intro.html</tt> into your web +tree and activate PHP for it. Don't forget to enable the PostgreSQL +module in <tt>php.ini</tt>. You may need to edit the top of +<tt>pgets.php</tt> for the correct database access credentials.</p> +<h2><a name="requirements">Requirements</a></h2> + +<p>A current Linux distribution on a machine with a serial port +connected to the PBX. The RS2 port of PBX has to be in +"Gesprächsdatenerfassung" mode. You may enable this mode by calling +<tt>811118303</tt>.<p> + +<p><tt>pgets</tt> was developed and tested on Debian GNU/Linux +"testing" from March 2004, it should work on most other Linux +distributions since it uses GNU autoconf for source code +configuration.</p> + +<p><tt>pgets</tt> requires the PostgreSQL and/or SQLite development +library files for compilation.<p> + +<h2><a name="installation">Installation</a></h2> + +<p>As this package is made with the GNU autotools you should run +<tt>./configure</tt> inside the distribution directory for configuring +the source tree. After that you should run <tt>make</tt> for +compilation and <tt>make install</tt> (as root) for installation of +<tt>pgets</tt>.</p> + +<p>By default the build system creates two +executables. <tt>pgets-postgres</tt> with support for PostgreSQL +databases and <tt>pgets-sqlite</tt> with support for SQLite. You may +disable building either one by passing <tt>--disable-postgres</tt> +resp. <tt>--disable-sqlite</tt> to <tt>configure</tt>.</p> + +<h2><a name="acks">Acknowledgements</a></h2> + +<p>None so far</p> + +<h2><a name="download">Download</a></h2> + +<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p> + +<p>The current release is <a href="@PACKAGE_URL@pgets-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p> + +<p>Get <tt>pgets</tt>'s development sources from the <a href="http://subversion.tigris.org/">Subversion</a> <a href="https://seth.intheinter.net:8081/svn/pgets/">repository</a>.</p> + +<p>If you want to be notified whenever I release a new version of this software use the subscription feature of <a href="http://freshmeat.net/projects/pgets/">Freshmeat</a>.</p> + +<hr/> +<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, March 2004</address> +<div class="grey"><i>$Id$</i></div> + +</body> +</html> diff --git a/doc/style.css b/doc/style.css new file mode 100644 index 0000000..95cbd57 --- /dev/null +++ b/doc/style.css @@ -0,0 +1,32 @@ +/* $Id$ */ + +/*** + * This file is part of pgets. + * + * pgets is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * pgets is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with pgets; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + ***/ + +body { color: black; background-color: white; margin: 0.5cm; } +a:link, a:visited { color: #900000; } +p { margin-left: 0.5cm; margin-right: 0.5cm; } +div.news-date { margin-left: 0.5cm; font-size: 80%; color: #4f0000; } +p.news-text { margin-left: 1cm; } +h1 { color: #00009F; } +h2 { color: #00009F; } +h3 { color: #00004F; margin-left: 0.5cm; } +ul { margin-left: .5cm; } +ol { margin-left: .5cm; } +pre { margin-left: .5cm; background-color: #f0f0f0; padding: 0.4cm;} +.grey { color: #afafaf; } diff --git a/php/Makefile.am b/php/Makefile.am new file mode 100644 index 0000000..5baf83a --- /dev/null +++ b/php/Makefile.am @@ -0,0 +1,19 @@ +# $Id$ + +# This file is part of pgets. +# +# pgets is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# pgets is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with pgets; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +EXTRA_DIST = style.css pgets.php pgets-intro.html diff --git a/php/pgets-intro.html b/php/pgets-intro.html index 98a66c2..625cd39 100644 --- a/php/pgets-intro.html +++ b/php/pgets-intro.html @@ -38,6 +38,7 @@ </p> <hr/> -<div class="grey"><!-- hhmts start -->Last modified: Mon Mar 1 00:03:59 CET 2004 <!-- hhmts end --></div> +<div class="grey"><i><!-- hhmts start -->Last modified: Sun Mar 7 18:39:35 CET 2004 <!-- hhmts end --></i></div> +<div class="grey"><i>$Id$</i></div> </body> </html> diff --git a/php/pgets.php b/php/pgets.php index d1e8036..868192d 100644 --- a/php/pgets.php +++ b/php/pgets.php @@ -114,6 +114,7 @@ if ($num == 0) { ?> <hr/> -<div class="grey">Generated: <?php echo date("r") ?></div> +<div class="grey"><i>Generated: <?php echo date("r") ?></i></div> +<div class="grey"><i>$Id$</i></div> </body> </html>
\ No newline at end of file diff --git a/sql/Makefile.am b/sql/Makefile.am new file mode 100644 index 0000000..acb7ee6 --- /dev/null +++ b/sql/Makefile.am @@ -0,0 +1,19 @@ +# $Id$ + +# This file is part of pgets. +# +# pgets is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# pgets is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with pgets; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +EXTRA_DIST = pgets-access.sql pgets.sql diff --git a/sql/pgets-access.sql b/sql/pgets-access.sql index e4507f5..3ecfa10 100644 --- a/sql/pgets-access.sql +++ b/sql/pgets-access.sql @@ -29,10 +29,12 @@ CREATE DATABASE pgets; -- Manage access rights +-- A user for the transfer program with write access to the table DROP USER pgets_fill; CREATE USER pgets_fill PASSWORD 'mahatma'; +GRANT INSERT ON pgets_accounting TO pgets_fill; + +-- A user for the web frontend with read access to the table DROP USER pgets_web; CREATE USER pgets_web PASSWORD 'gandhi'; - -GRANT INSERT ON pgets_accounting TO pgets_fill; GRANT SELECT ON pgets_accounting TO pgets_web; |