OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   15-Nov-2006 14:58:14
  Branch: HEAD                             Handle: 2006111513581400

  Added files:
    openpkg-src/sqlitedbms  sqlitedbms.conf sqlitedbms.patch sqlitedbms.spec

  Log:
    new package: sqlitedbms 0.5.1 (SQLite Database Management System)

  Summary:
    Revision    Changes     Path
    1.1         +23 -0      openpkg-src/sqlitedbms/sqlitedbms.conf
    1.1         +142 -0     openpkg-src/sqlitedbms/sqlitedbms.patch
    1.1         +160 -0     openpkg-src/sqlitedbms/sqlitedbms.spec
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/sqlitedbms/sqlitedbms.conf
  ============================================================================
  $ cvs diff -u -r0 -r1.1 sqlitedbms.conf
  --- /dev/null 2006-11-15 14:58:07 +0100
  +++ sqlitedbms.conf   2006-11-15 14:58:14 +0100
  @@ -0,0 +1,23 @@
  +##
  +##  sqlitedbms.conf -- SQLiteDBMS server configuration
  +##
  +
  +port               = 6543
  +server user        = @l_rusr@
  +timeout            = 60
  +access control     = false
  +                   
  +data dir           = "@l_prefix@/var/sqlitedbms/db"
  +repl dir           = "@l_prefix@/var/sqlitedbms/rep"
  +log dir            = "@l_prefix@/var/sqlitedbms/log"
  +
  +http use           = true
  +webdav use         = true
  +http document root = "@l_prefix@/share/sqlitedbms"
  +
  +#max session       = 1000
  +#poll timer        = 10
  +#header buf size   = 4096
  +#recv buf size     = 262144
  +#send buf size     = 1048576
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/sqlitedbms/sqlitedbms.patch
  ============================================================================
  $ cvs diff -u -r0 -r1.1 sqlitedbms.patch
  --- /dev/null 2006-11-15 14:58:07 +0100
  +++ sqlitedbms.patch  2006-11-15 14:58:14 +0100
  @@ -0,0 +1,142 @@
  +Index: configure
  +--- configure.orig   2006-10-25 14:42:31 +0200
  ++++ configure        2006-11-15 13:29:23 +0100
  +@@ -22650,9 +22650,7 @@
  +   LIBS="-ldl $LIBS"
  + 
  + else
  +-  { { echo "$as_me:$LINENO: error: dl library is required by SQLiteDBMS" >&5
  +-echo "$as_me: error: dl library is required by SQLiteDBMS" >&2;}
  +-   { (exit 1); exit 1; }; }
  ++    :
  + fi
  + 
  + echo "$as_me:$LINENO: checking for main in -lssl" >&5
  +@@ -22714,7 +22712,7 @@
  + echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_main" >&5
  + echo "${ECHO_T}$ac_cv_lib_ssl_main" >&6
  + if test $ac_cv_lib_ssl_main = yes; then
  +-  CPPFLAGS="$CPPFLAGS -DENABLE_SSL" LIBS="$LIBS -lssl"
  ++  CPPFLAGS="$CPPFLAGS -DENABLE_SSL" LIBS="$LIBS -lssl -lcrypto"
  + fi
  + 
  + 
  +Index: src/backend/Makefile.in
  +--- src/backend/Makefile.in.orig     2006-10-25 14:42:34 +0200
  ++++ src/backend/Makefile.in  2006-11-15 14:36:07 +0100
  +@@ -496,7 +496,7 @@
  + install-data:
  +     mkdir -p $(prefix)/data
  +     mkdir -p $(prefix)/logs
  +-    mkdir -p $(prefix)/var/replication
  ++    mkdir -p $(prefix)/var/sqlitedbms/rep
  +     touch $(prefix)/data/TEST
  + # Tell versions [3.59,3.63) of GNU make to not export all variables.
  + # Otherwise a system limit (for SysV at least) may be exceeded.
  +Index: src/backend/config.c
  +--- src/backend/config.c.orig        2006-11-09 08:23:53 +0100
  ++++ src/backend/config.c     2006-11-15 13:29:23 +0100
  +@@ -118,7 +118,7 @@
  +             }
  +     }
  + 
  +-    regcomp( &reg_node,     "([^=]*)\\s*=\\s*((\"[^\"]*\")|(.*))", 
REG_EXTENDED | REG_ICASE );
  ++    regcomp( &reg_node,     "([^=]*?)\\s*=\\s*((\"[^\"]*\")|(.*))", 
REG_EXTENDED | REG_ICASE );
  +     while ( feof( conf ) == 0 && found > 0 )
  +     {
  +             fgets( line, 1024, conf );
  +@@ -132,7 +132,7 @@
  +                     //printf("(%lld, %lld, %lld, %lld, %lld, %lld, %lld, 
%lld, %lld, %lld)%s", node[0].rm_so, node[0].rm_eo, node[1].rm_so, 
node[1].rm_eo, node[2].rm_so, node[2].rm_eo, node[3].rm_so, node[3].rm_eo, 
node[4].rm_so, node[4].rm_eo, line);
  + 
  +                     set[set_len].buf = malloc( node[0].rm_eo+8 );
  +-                    snprintf( set[set_len].buf, node[0].rm_eo, "%s", line );
  ++                    snprintf( set[set_len].buf, node[0].rm_eo+1, "%s", line 
);
  + 
  +                     set[set_len].field = &(set[set_len].buf[0]);
  +                     set[set_len].buf[node[1].rm_eo] = '\0';
  +Index: src/backend/http.c
  +--- src/backend/http.c.orig  2006-11-09 07:43:35 +0100
  ++++ src/backend/http.c       2006-11-15 13:29:23 +0100
  +@@ -129,7 +129,7 @@
  +             return -1;
  + 
  +     gmtime_r( &time, &time_s );
  +-    return strftime( dst, 48, "%a, %d %b %G %H:%M:%S GMT", &time_s );
  ++    return strftime( dst, 48+1, "%a, %d %b %G %H:%M:%S GMT", &time_s );
  + 
  +     dst[0] = '\0';
  + 
  +Index: src/backend/include/common.h
  +--- src/backend/include/common.h.orig        2006-11-09 07:43:49 +0100
  ++++ src/backend/include/common.h     2006-11-15 13:29:23 +0100
  +@@ -22,7 +22,7 @@
  + #include <pthread.h>
  + #include <getopt.h>
  + #include <string.h>
  +-#include <regex.h>
  ++#include <pcreposix.h>
  + #include <ctype.h>
  + #include <dirent.h>
  + #include <errno.h>
  +Index: src/backend/libnetwork.c
  +--- src/backend/libnetwork.c.orig    2006-11-09 07:43:35 +0100
  ++++ src/backend/libnetwork.c 2006-11-15 13:29:23 +0100
  +@@ -193,7 +193,11 @@
  +                     return SQLITE_ERROR;
  + 
  +             len = size - sended;
  ++#ifdef __FreeBSD__
  ++            res = sendfile( sock, filefd, offset, len, NULL, NULL, 0);
  ++#else
  +             res = sendfile( sock, filefd, &offset, len );
  ++#endif
  +             if ( res <= 0 )
  +                     return SQLITE_ERROR;
  +             sended += res;
  +Index: src/backend/repl_master.c
  +--- src/backend/repl_master.c.orig   2006-11-09 09:10:51 +0100
  ++++ src/backend/repl_master.c        2006-11-15 14:34:57 +0100
  +@@ -9,7 +9,7 @@
  +     FILE            *test;
  +     char            filename[512];
  + 
  +-    snprintf( filename, 512, "var/replication/.init" );
  ++    snprintf( filename, 512, "var/sqlitedbms/rep/.init" );
  +     test = fopen( filename, "w" );
  +     if ( test == NULL )
  +             return SQLITE_ERROR;
  +@@ -238,7 +238,7 @@
  +             memset( file, 0, sizeof(struct repl_master_file_t) );
  + 
  +             file->id = ++id;
  +-            snprintf( file->filename, 1024, "var/replication/binlog%d", 
file->id );
  ++            snprintf( file->filename, 1024, "var/sqlitedbms/rep/binlog%d", 
file->id );
  + 
  +             file->file = fopen( file->filename, "w" );
  +             file->offset = ftell( file->file );
  +Index: src/backend/response.c
  +--- src/backend/response.c.orig      2006-11-09 08:55:25 +0100
  ++++ src/backend/response.c   2006-11-15 13:29:23 +0100
  +@@ -101,7 +101,7 @@
  + {
  +     extern struct config_t  config;
  +     int                     len;
  +-    char                    date_822[48];
  ++    char                    date_822[48+1];
  +     int                     ret;
  + 
  +     if ( self->response.header_sent != TRUE )
  +Index: src/lib/sqlited_internal.h
  +--- src/lib/sqlited_internal.h.orig  2006-11-10 11:02:17 +0100
  ++++ src/lib/sqlited_internal.h       2006-11-15 13:29:23 +0100
  +@@ -1,6 +1,10 @@
  + #ifndef _SQLITED_INTERNAL_H_
  + #define _SQLITED_INTERNAL_H_
  + 
  ++#include <sys/types.h>
  ++#include <sys/socket.h>
  ++#include <netinet/in.h>
  ++
  + #define DEBUG                       printf("----- DEBUG: %s: %d\n", 
__FILE__, __LINE__);
  + #define     MAXVAL(x,y)             (x>y?x:y)
  + #define     MINVAL(x,y)             (x<y?x:y)
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/sqlitedbms/sqlitedbms.spec
  ============================================================================
  $ cvs diff -u -r0 -r1.1 sqlitedbms.spec
  --- /dev/null 2006-11-15 14:58:07 +0100
  +++ sqlitedbms.spec   2006-11-15 14:58:14 +0100
  @@ -0,0 +1,160 @@
  +##
  +##  sqlitedbms.spec -- OpenPKG RPM Package Specification
  +##  Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
  +##
  +##  Permission to use, copy, modify, and distribute this software for
  +##  any purpose with or without fee is hereby granted, provided that
  +##  the above copyright notice and this permission notice appear in all
  +##  copies.
  +##
  +##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +##  SUCH DAMAGE.
  +##
  +
  +#   FIXME: rse: rc.sqlitedbms still missing
  +#   FIXME: rse: the sqlitedbmsd is still a little bit buggy under run-time!?
  +
  +#   package information
  +Name:         sqlitedbms
  +Summary:      SQLite Database Management System
  +URL:          http://sqlitedbms.sourceforge.net/
  +Vendor:       Kibae Shin
  +Packager:     OpenPKG Foundation e.V.
  +Distribution: OpenPKG Community
  +Class:        EVAL
  +Group:        Database
  +License:      MIT-style
  +Version:      0.5.1
  +Release:      20061115
  +
  +#   list of sources
  +Source0:      
http://switch.dl.sourceforge.net/sqlitedbms/sqlitedbms-%{version}.tar.gz
  +Source1:      sqlitedbms.conf
  +Patch0:       sqlitedbms.patch
  +
  +#   build information
  +Prefix:       %{l_prefix}
  +BuildRoot:    %{l_buildroot}
  +BuildPreReq:  OpenPKG, openpkg >= 20040130, gcc
  +PreReq:       OpenPKG, openpkg >= 20040130
  +BuildPreReq:  sqlite >= 3.3, pcre, openssl
  +PreReq:       sqlite >= 3.3, pcre, openssl
  +AutoReq:      no
  +AutoReqProv:  no
  +
  +%description
  +    SQLiteDBMS is a client/server Relational Database Management System
  +    (RDBMS) based on the SQLite SQL and storage engine.
  +
  +%track
  +    prog sqlitedbms = {
  +        version   = %{version}
  +        url       = http://prdownloads.sourceforge.net/sqlitedbms/
  +        regex     = sqlitedbms-(__VER__)\.tar\.gz
  +    }
  +
  +%prep
  +    %setup -q
  +    %patch -p0
  +
  +%build
  +    #   configure program
  +    %{l_shtool} subst \
  +        -e 
's;conf/sqlitedbms.conf;%{l_prefix}/etc/sqlitedbms/sqlitedbms.conf;' \
  +        src/backend/include/define.h
  +    CC="%{l_cc}" \
  +    CFLAGS="%{l_cflags -O}" \
  +    CPPFLAGS="%{l_cppflags}" \
  +    LDFLAGS="%{l_ldflags}" \
  +    LIBS="-lpcreposix -lpcre" \
  +    ./configure \
  +        --prefix=%{l_prefix} \
  +        --with-sqlite3=%{l_prefix} \
  +        --with-openssl=%{l_prefix} \
  +        --disable-shared
  +
  +    #   build program
  +    %{l_make} %{l_mflags -O}
  +
  +%install
  +    #   install program
  +    rm -rf $RPM_BUILD_ROOT
  +    %{l_make} %{l_mflags} install \
  +        prefix=$RPM_BUILD_ROOT%{l_prefix} \
  +        exec_prefix=$RPM_BUILD_ROOT%{l_prefix}
  +
  +    #   adjust installation
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/share
  +    mv  $RPM_BUILD_ROOT%{l_prefix}/htdocs \
  +        $RPM_BUILD_ROOT%{l_prefix}/share/sqlitedbms
  +
  +    #   strip down installation
  +    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/conf
  +    rm -rf $RPM_BUILD_ROOT%{l_prefix}/data
  +
  +    #   install default configuration
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/sqlitedbms
  +    %{l_shtool} install -c -m 644 %{l_value -s -a} \
  +        %{SOURCE sqlitedbms.conf} \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/sqlitedbms/
  +
  +    #   create run-time directories
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/sqlitedbms/db \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/sqlitedbms/rep \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/sqlitedbms/log
  +
  +    #   determine installation files
  +    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  +        %{l_files_std} \
  +        '%config %{l_prefix}/etc/sqlitedbms/*' \
  +        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/sqlitedbms/*'
  +
  +%files -f files
  +
  +%clean
  +    rm -rf $RPM_BUILD_ROOT
  +
  +%post
  +    if [ $1 -eq 1 ]; then
  +        #   create initial database in batch
  +        if [ ! -f $RPM_INSTALL_PREFIX/var/sqlitedbms/db/catalog.user.superdb 
]; then
  +            ( echo "CREATE TABLE USER (id text PRIMARY KEY, pass text, super 
int);"
  +              echo "CREATE TABLE GRANT_DB (id text, db text, grant text, 
PRIMARY KEY(id, db));"
  +              echo "CREATE TABLE GRANT_OBJECT (id text, db text, object 
text, grant text, PRIMARY KEY(id, db, object));"
  +              echo "INSERT INTO USER VALUES('admin', 'admin', 1);"
  +            ) | su - %{l_rusr} -c \
  +                $RPM_INSTALL_PREFIX/bin/sqlite3 \
  +                $RPM_INSTALL_PREFIX/var/sqlitedbms/db/catalog.user.superdb
  +        fi
  +    fi
  +    if [ $1 -eq 2 ]; then
  +        #   after upgrade, restart service
  +        eval `%{l_rc} sqlitedbms status 2>/dev/null`
  +        [ ".$sqlitedbms_active" = .yes ] && %{l_rc} sqlitedbms restart
  +    fi
  +    exit 0
  +
  +%preun
  +    if [ $1 -eq 0 ]; then
  +        #   before erase, stop service and remove log files
  +        %{l_rc} sqlitedbms stop 2>/dev/null
  +        rm -f $RPM_INSTALL_PREFIX/var/sqlitedbms/rep/* >/dev/null 2>&1 || 
true
  +        rm -f $RPM_INSTALL_PREFIX/var/sqlitedbms/log/* >/dev/null 2>&1 || 
true
  +    fi
  +    exit 0
  +
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [email protected]

Reply via email to