diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000000000000000000000000000000000000..53f43ead8f642d51978eb17cd8a7dcda17afd9e6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +tarantool (1.4.4-1) unstable; urgency=low + + * Init debian release, closes: #652911. + + -- Dmitry E. Oboukhov <unera@debian.org> Sun, 18 Dec 2011 11:35:37 +0400 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000000000000000000000000000000000000..45a4fb75db864000d01701c0f7a51864bd4daabf --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +8 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000000000000000000000000000000000000..12e8f2dbdf65f60414f2b1d3f0496d6c3c511c77 --- /dev/null +++ b/debian/control @@ -0,0 +1,100 @@ +Source: tarantool +Maintainer: Dmitry E. Oboukhov <unera@debian.org> +Build-Depends: cdbs, debhelper (>= 8), gobjc, cmake, libreadline-dev +Section: database +Standards-Version: 3.9.2 +Homepage: http://tarantool.org/ + +Package: tarantool-common +Architecture: all +Priority: optional +Depends: ${misc:Depends}, cronolog, adduser +Description: high performance key/value storage server + Tarantool is an open-source NoSQL database, developed by Mail.ru. + Its key properties include: + . + * all data is maintained in RAM + * data persistence is implemented using Write Ahead Log and snapshotting + * supports asynchronous replication and hot standby + * uses coroutines and asynchronous I/O to implement high-performance + lock-free access to data + * available on Linux and FreeBSD + * stored procedures in Lua are supported + . + This package provides configs and logs infrastructure for tarantool. + +Package: tarantool +Architecture: any +Priority: optional +Depends: ${shlibs:Depends}, ${misc:Depends}, tarantool-common +Description: high performance key/value storage server + Tarantool is an open-source NoSQL database, developed by Mail.ru. + Its key properties include: + . + * all data is maintained in RAM + * data persistence is implemented using Write Ahead Log and snapshotting + * supports asynchronous replication and hot standby + * uses coroutines and asynchronous I/O to implement high-performance + lock-free access to data + * available on Linux and FreeBSD + * stored procedures in Lua are supported + . + This package provides tarantool server. + +Package: tarantool-dbg +Architecture: any +Priority: extra +Section: debug +Depends: ${shlibs:Depends}, ${misc:Depends}, + tarantool (= ${binary:Version}) +Description: high performance key/value storage server + Tarantool is an open-source NoSQL database, developed by Mail.ru. + Its key properties include: + . + * all data is maintained in RAM + * data persistence is implemented using Write Ahead Log and snapshotting + * supports asynchronous replication and hot standby + * uses coroutines and asynchronous I/O to implement high-performance + lock-free access to data + * available on Linux and FreeBSD + * stored procedures in Lua are supported + . + This package provides debug symbols for all tarantool packages. + +Package: tarantool-client +Architecture: any +Priority: optional +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: high performance key/value storage server + Tarantool is an open-source NoSQL database, developed by Mail.ru. + Its key properties include: + . + * all data is maintained in RAM + * data persistence is implemented using Write Ahead Log and snapshotting + * supports asynchronous replication and hot standby + * uses coroutines and asynchronous I/O to implement high-performance + lock-free access to data + * available on Linux and FreeBSD + * stored procedures in Lua are supported + . + This package provides readline client for tarantool. + +Package: tarantool-client-dbg +Architecture: any +Priority: extra +Section: debug +Depends: ${shlibs:Depends}, ${misc:Depends}, + tarantool-client (= ${binary:Version}) +Description: high performance key/value storage server + Tarantool is an open-source NoSQL database, developed by Mail.ru. + Its key properties include: + . + * all data is maintained in RAM + * data persistence is implemented using Write Ahead Log and snapshotting + * supports asynchronous replication and hot standby + * uses coroutines and asynchronous I/O to implement high-performance + lock-free access to data + * available on Linux and FreeBSD + * stored procedures in Lua are supported + . + This package provides readline client for tarantool. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000000000000000000000000000000000000..3bcd1a8adafb00d82a8acf7a37a4485d3f9996f9 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,410 @@ +Format: http://dep.debian.net/deps/dep5/ +Debianized-By: Dmitry E. Oboukhov <unera@debian.org> +Upstream-Name: tarantool, tarantool-box +Upstream-Contact: tarantool-developers@lists.launchpad.net +Source: https://github.com/mailru/tarantool + +Files: third_party/libev/* third_party/coro/* +Copyright: 2007,2008,2009 Marc Alexander Lehmann. +License: + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS 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 COPYRIGHT + OWNER OR 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. + . + Alternatively, the contents of this package may be used under the terms + of the GNU General Public License ("GPL") version 2 or any later version, + in which case the provisions of the GPL are applicable instead of the + above. If you wish to allow the use of your version of this package only + under the terms of the GPL and not to allow others to use your version of + this file under the BSD license, indicate your decision by deleting the + provisions above and replace them with the notice and other provisions + required by the GPL in this and the other files of this package. If you do + not delete the provisions above, a recipient may use your version of this + file under either the BSD or the GPL. + +Files: third_party/crc32.c +Copyright: 1986 Gary S. Brown. +License: + You may use this program, or code or tables extracted from it, + as desired without restriction. +Copyright: 2004-2006 Intel Corporation - All Rights Reserved +License: + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS 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 REGENTS OR 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. + +Files: third_party/memcached/* +Copyright: 2003, Danga Interactive, Inc. +License: + Copyright (c) 2003, Danga Interactive, Inc. + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + . + * Neither the name of the Danga Interactive nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS 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 COPYRIGHT + OWNER OR 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. + +Files: third_party/luajit/* +Copyright: 2005-2011 Mike Pall. All rights reserved. + 1994-2011 Lua.org, PUC-Rio. +License: + LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/ + . + Copyright (C) 2005-2011 Mike Pall. All rights reserved. + . + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + . + [ MIT license: http://www.opensource.org/licenses/mit-license.php ] + . + [ LuaJIT includes code from Lua 5.1/5.2, which has this license statement: ] + . + Copyright (C) 1994-2011 Lua.org, PUC-Rio. + . + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + . + [ LuaJIT includes code from dlmalloc, which has this license statement: ] + . + This is a version (aka dlmalloc) of malloc/free/realloc written by + Doug Lea and released to the public domain, as explained at + http://creativecommons.org/licenses/publicdomain + +Files: third_party/qsort_arg.c + third_party/queue.h + connector/c/tntsql/include/tnt_queue.h +Copyright: 1992, 1993 The Regents of the University of California. +License: + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS 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 REGENTS OR 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. + +Files: third_party/valgrind/* +Copyright: 2000-2010 Julian Seward. +License: + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + . + 3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + . + 4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + 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 AUTHOR 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. + +Files: third_party/sptree.h +Copyright: 2010 Mail.RU + 2010 Teodor Sigaev +License: + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS 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 AUTHOR OR 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. + +Files: third_party/proctitle.c +Copyright: 2000-2010 PostgreSQL Global Development Group +License: + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS 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 AUTHOR OR 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. + +Files: connector/connector/php/* +Copyright: 1997-2008 The PHP Group +License: + This source file is subject to version 3.01 of the PHP license + that is bundled with this package in the file LICENSE, and is + available through the world-wide-web at the following url: + . + http://www.php.net/license/3_01.txt + . + If you did not receive a copy of the PHP license and are unable to + obtain it through the world-wide-web, please send a note to + license@php.net so we can mail you a copy immediately. + . + . + -------------------------------------------------------------------- + The PHP License, version 3.01 + Copyright (c) 1999 - 2010 The PHP Group. All rights reserved. + -------------------------------------------------------------------- + . + Redistribution and use in source and binary forms, with or without + modification, is permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + . + 3. The name "PHP" must not be used to endorse or promote products + derived from this software without prior written permission. For + written permission, please contact group@php.net. + . + 4. Products derived from this software may not be called "PHP", nor + may "PHP" appear in their name, without prior written permission + from group@php.net. You may indicate that your software works in + conjunction with PHP by saying "Foo for PHP" instead of calling + it "PHP Foo" or "phpfoo" + . + 5. The PHP Group may publish revised and/or new versions of the + license from time to time. Each version will be given a + distinguishing version number. + Once covered code has been published under a particular version + of the license, you may always continue to use it under the terms + of that version. You may also choose to use such covered code + under the terms of any subsequent version of the license + published by the PHP Group. No one other than the PHP Group has + the right to modify the terms applicable to covered code created + under this License. + . + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes PHP software, freely available from + <http://www.php.net/software/>". + . + THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``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 PHP + DEVELOPMENT TEAM OR ITS 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. + . + -------------------------------------------------------------------- + . + This software consists of voluntary contributions made by many + individuals on behalf of the PHP Group. + . + The PHP Group can be contacted via Email at group@php.net. + . + For more information on the PHP Group and the PHP project, + please see <http://www.php.net>. + . + PHP includes the Zend Engine, freely available at + <http://www.zend.com>. + +Files: debian/* +Copyright: 2011 Dmitry E. Oboukhov <unera@debian.org> +License: GPLv3 + 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 3 of the License, or + (at your option) any later version. + . + 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. + . + On debian systems full text of GPLv3 license can be found in file: + /usr/share/common-licenses/GPL-3 + +Files: * +Copyright: 2009, 2010 Mail.RU, + 2009, 2010 Yuriy Vostrikov, + 2011 Konstantin Osipov +License: + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS 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 AUTHOR OR 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. diff --git a/debian/etc/example.cfg b/debian/etc/example.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d03960a2d04ad68fad2660d6f3ecb188e26295ad --- /dev/null +++ b/debian/etc/example.cfg @@ -0,0 +1,42 @@ +# +# Limit of memory used to store tuples to 100MB +# (0.1 GB) +# This effectively limits the memory, used by +# Tarantool. However, index and connection memory +# is stored outside the slab allocator, hence +# the effective memory usage can be higher (sometimes +# twice as high). +# +slab_alloc_arena = 0.1 + +# +# Read only and read-write port. +primary_port = 33013 + +# Read-only port. +secondary_port = 33014 + +# +# count of file descriptors +# +file_descriptors = 8192 + +# +# The port for administrative commands. +# +admin_port = 33015 + +# +# Each write ahead log contains this many rows. +# When the limit is reached, Tarantool closes +# the WAL and starts a new one. +rows_per_wal = 50 + +# Define a simple space with 1 HASH-based +# primary key. +space[0].enabled = 1 +space[0].index[0].type = "HASH" +space[0].index[0].unique = 1 +space[0].index[0].key_field[0].fieldno = 0 +space[0].index[0].key_field[0].type = "NUM" + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000000000000000000000000000000000000..d6aaf83228bd97af161aecebf55ebe4dcdfae421 --- /dev/null +++ b/debian/rules @@ -0,0 +1,48 @@ +#!/usr/bin/make -f + +VERSION := $(shell dpkg-parsechangelog|grep ^Version|awk '{print $$2}') +UVERSION := $(shell echo $(VERSION)|sed 's/-[[:digit:]]\+$$//') + +DEB_CMAKE_EXTRA_FLAGS := -DDATA_INSTALL_DIR=/usr/share/trarantool \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DENABLE_CLIENT=true + +DEB_DH_INSTALLINIT_ARGS := --name=tarantool + +DEB_CMAKE_INSTALL_PREFIX := /usr +DEB_CMAKE_NORMAL_ARGS := -DCMAKE_INSTALL_PREFIX="$(DEB_CMAKE_INSTALL_PREFIX)" \ + -DCMAKE_C_FLAGS="$(CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(CXXFLAGS)" \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON +# -DENABLE_STATIC=ON +# -DCMAKE_C_COMPILER:FILEPATH="$(CC)" \ +# -DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)" \ + + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/cmake.mk + +DEB_BUILDDIR := build-area + +tarball: clean + cd .. && tar --exclude=.git --exclude=debian \ + -czf tarantool_$(UVERSION).orig.tar.gz tarantool-$(UVERSION) + +clean:: + +install/tarantool-dbg:: + rm -fr debian/tarantool-dbg/usr/share/doc/tarantool-dbg + +install/tarantool-client-dbg:: + rm -fr debian/tarantool-client-dbg/usr/share/doc/tarantool-client-dbg + +install/tarantool:: + pod2man -c 'high performance key/value storage server' \ + debian/tarantool_box.pod > build-area/tarantool_box.1 + + +install/tarantool-client:: + pod2man -c 'readline SQL-client for tarantool.' \ + debian/tarantool.pod > build-area/tarantool.1 + diff --git a/debian/scripts/init_instance.sh b/debian/scripts/init_instance.sh new file mode 100755 index 0000000000000000000000000000000000000000..b7a04e41b1039b697d0f7464f5a026d7b9998985 --- /dev/null +++ b/debian/scripts/init_instance.sh @@ -0,0 +1,93 @@ +#!/bin/sh + +set -e + +CFG=$1 +ACTION=$2 +CONFIG_DIR=/var/lib/tarantool/started +SNAPSHOT_DIR=/var/lib/tarantool/snapshot +PID_DIR=/var/run/tarantool +LOG_DIR=/var/log/tarantool +BOX=/usr/bin/tarantool_box +SSD=start-stop-daemon + +usage="Usage: sh $0 /path/to/config.file start|stop" + +if test -z "$CFG"; then + echo $usage + exit 5 +fi + +if ! echo $ACTION|grep -q '^\(start\|stop\)$'; then + echo $usage + exit 5 +fi + +if ! test -r "$CFG"; then + echo File $CFG not found + exit 10 +fi + + +NAME=`basename $CFG .cfg` + +PID=$PID_DIR/$NAME.pid +SCFG=$CONFIG_DIR/$NAME +RUNDIR=$SNAPSHOT_DIR/$NAME +LOG=$LOG_DIR/$NAME.log +SOCKETS=`grep \ + '^[[:space:]]*file_descriptors[[:space:]]*=[[:space:]]*[[:digit:]]\+' $CFG \ + | tail -n 1 \ + | sed 's/[^[:digit:]]//g' +` + +SSDARGS_NO_PID="--quiet --chdir $RUNDIR --chuid tarantool --exec" +SSDARGS="--pidfile $PID $SSDARGS_NO_PID" + +if [ $SOCKETS -gt 1024 -a $SOCKETS -lt 65000 ]; then + ulimit -n $SOCKETS +fi + +ulimit -c unlimited + +comment_str="#### - commented by init script" +sed "s/^[[:space:]]*logger.*/# & $comment_str/" $CFG \ + | sed "s/^[[:space:]]*file_descriptors.*/# & $comment_str/" \ + | sed "s/^[[:space:]]*pid_file.*/# & $comment_str/" > $SCFG + +$BOX -c $SCFG -v --check-config + +echo "pid_file = $PID" >> $SCFG +echo "logger = \"cat >> $LOG\"" >> $SCFG + +if [ ! -d $RUNDIR ]; then + install -d -otarantool -gtarantool -m0750 $RUNDIR + cd $RUNDIR + if ! $SSD --start $SSDARGS $BOX -- --init-storage -v -c $SCFG; + then + rm -fr $RUNDIR + exit 15 + fi +fi + +if [ $ACTION = 'start' ]; then + echo -n "\tStarting '$NAME' ... " +else + echo -n "\tStopping '$NAME' ... " +fi + +if $SSD --$ACTION $SSDARGS $BOX -- -B -v -c $SCFG >/dev/null 2>&1; +then + echo "ok" +else + ret=$? + if [ $ret -eq 1 ]; then + if [ $ACTION = 'start' ]; then + echo "already started" + else + echo "already stoppped" + fi + else + echo "failed" + fi +fi diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tarantool-client.install b/debian/tarantool-client.install new file mode 100644 index 0000000000000000000000000000000000000000..11adc51c83562c4f7494e39fcc33ee9373ab8154 --- /dev/null +++ b/debian/tarantool-client.install @@ -0,0 +1 @@ +usr/bin/tarantool diff --git a/debian/tarantool-client.manpages b/debian/tarantool-client.manpages new file mode 100644 index 0000000000000000000000000000000000000000..ac727e726852372327b343e1466b0c79fa49396a --- /dev/null +++ b/debian/tarantool-client.manpages @@ -0,0 +1 @@ +build-area/tarantool.1 diff --git a/debian/tarantool-common.dirs b/debian/tarantool-common.dirs new file mode 100644 index 0000000000000000000000000000000000000000..859b4fa42a31d631d0bbc3b8558f6f6098d6baa2 --- /dev/null +++ b/debian/tarantool-common.dirs @@ -0,0 +1,2 @@ +/etc/tarantool/instances.available +/etc/tarantool/instances.enabled diff --git a/debian/tarantool-common.install b/debian/tarantool-common.install new file mode 100644 index 0000000000000000000000000000000000000000..6731cfa9250b2a0c39cad08e9d0f65f5ebc894ed --- /dev/null +++ b/debian/tarantool-common.install @@ -0,0 +1,2 @@ +debian/etc/example.cfg /etc/tarantool/instances.available/ +debian/scripts/init_instance.sh /usr/lib/tarantool/ diff --git a/debian/tarantool-common.postinst b/debian/tarantool-common.postinst new file mode 100644 index 0000000000000000000000000000000000000000..37dc462d3edcf1121b51e9fec91368c595366b86 --- /dev/null +++ b/debian/tarantool-common.postinst @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +SYSUSER=tarantool + +case "$1" in + configure) + if ! getent passwd $SYSUSER > /dev/null; then + adduser \ + --system \ + --group \ + --quiet \ + --home \ + /var/spool/$SYSUSER \ + --no-create-home \ + --disabled-login \ + tarantool + + install -d -o$SYSUSER -gadm -m2750 /var/log/$SYSUSER + install -d -o$SYSUSER -g$SYSUSER -m750 /var/run/$SYSUSER + install -d -o$SYSUSER -g$SYSUSER -m750 /var/run/$SYSUSER + install -d -o$SYSUSER -g$SYSUSER -m750 /var/lib/tarantool/started + install -d -o$SYSUSER -g$SYSUSER -m750 /var/lib/tarantool/snapshot + fi + ;; +esac + +#DEBHELPER# diff --git a/debian/tarantool-common.tarantool.init b/debian/tarantool-common.tarantool.init new file mode 100644 index 0000000000000000000000000000000000000000..ed4b80223be73ea50a62a8639eaa40b2b174aa0d --- /dev/null +++ b/debian/tarantool-common.tarantool.init @@ -0,0 +1,87 @@ +#! /bin/sh +# /etc/init.d/tarantool +### BEGIN INIT INFO +# Provides: tarantool +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Tarantool init script +# Description: This file should be used to construct scripts to be +# placed in /etc/init.d. +### END INIT INFO + +# Author: Dmitry E. Oboukhov <unera@debian.org> + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +CONF_DIR=/etc/tarantool/instances.enabled +SCRIPTNAME=/etc/init.d/tarantool +DAEMON=/usr/bin/tarantool_box +INSTANCES=`find $CONF_DIR -xtype f -name '*.cfg'` +INSTSCRIPT=/usr/lib/tarantool/init_instance.sh + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +. /lib/init/vars.sh + +if test -z "$INSTANCES"; then + echo "tarantool: There are no instances in $CONF_DIR" + exit 0 +fi + + +# +# Function that starts the daemon/service +# +do_start() { + echo "tarantool: Staring instances" + for inst in $INSTANCES; do + $INSTSCRIPT $inst start + done + return 0 +} + +# +# Function that stops the daemon/service +# +do_stop() { + echo "tarantool: Stopping instances" + for inst in $INSTANCES; do + $INSTSCRIPT $inst stop + done + return 0 +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + do_stop + do_start +} + +case "$1" in + start) + do_start + ;; + + stop) + do_stop + ;; + + status) + ;; + + restart|force-reload) + do_stop + do_start + ;; + + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/debian/tarantool.install b/debian/tarantool.install new file mode 100644 index 0000000000000000000000000000000000000000..6c89b00b9309dc91e947adda24fb3a7b0e39451e --- /dev/null +++ b/debian/tarantool.install @@ -0,0 +1 @@ +usr/bin/tarantool_box diff --git a/debian/tarantool.manpages b/debian/tarantool.manpages new file mode 100644 index 0000000000000000000000000000000000000000..f5d1de55615ad716fc7b71e4993c1f29aaa3319e --- /dev/null +++ b/debian/tarantool.manpages @@ -0,0 +1 @@ +build-area/tarantool_box.1 diff --git a/debian/tarantool.pod b/debian/tarantool.pod new file mode 100644 index 0000000000000000000000000000000000000000..06c1e1ae54a5a50c6f5d3be5ea43ebc59de0a488 --- /dev/null +++ b/debian/tarantool.pod @@ -0,0 +1,31 @@ +=head1 NAME + +tarantool - readline SQL-client for L<tarantool>. + +=head1 SYNOPSIS + + tarantool [OPTIONS] + +=head1 Command-line options + +=over + +=item -a <host>, --host <host> + +Defines Server address. + +=item -p <port>, --port <port> + +Defines server port. + +=item -m <port>, --port-admin <port> + +Defines Server admin port. + +=item -h, --help + +Displays helpscreen and exits. + +=back + + diff --git a/debian/tarantool_box.pod b/debian/tarantool_box.pod new file mode 100644 index 0000000000000000000000000000000000000000..e48a14931d43b02ef63d7ad14a502e2e25c4ebcd --- /dev/null +++ b/debian/tarantool_box.pod @@ -0,0 +1,100 @@ +=head1 NAME + +tarantool_box - open-source NoSQL database + +=head1 SYNOPSIS + + tarantool_box [OPTIONS] + +=head1 DESCRIPTION + +Tarantool is an open-source NoSQL database, developed by Mail.ru. + +Its key properties include: + +=over + +=item * + +Licence: simplified BSD + +=item * + +All data is maintained in RAM + +=item * + +Data persistence is implemented using Write Ahead Log and snapshotting + +=item * + +Supports asynchronous replication and hot standby + +=item * + +Uses coroutines and asynchronous I/O to implement +high-performance lock-free access to data + +=item * + +Available on Linux and FreeBSD + +=item * + +Stored procedures in Lua are supported. + +=back + +=head2 Data model + +The basic atom of storage in Tarantool is called tuple. A tuple +can have arbitrary number of fields. The first field in the tuple +is always the identifying unique key. Tuples form spaces. It is +possible to search tuples in spaces using the primary or secondary +keys. Fields in a tuple are type-agnostic. It is possible to change, +as well as add or remove fields. + +=head1 Command-line options + +=over + +=item --cfg-get=KEY + +Returns a value from configuration file described by B<KEY>. + +=item --check-config + +Checks configuration file for errors. + +=item -c FILE, --config=FILE + +Points a path to configuration file (default: B</etc/tarantool.cfg>). + +=item --cat=FILE + +Cats snapshot file to stdout in readable format and exits. + +=item --init-storage + +Initializes storage (an empty snapshot file) and exits. + +=item -v, --verbose + +Increases verbosity level in log messages. + +=item -B, --background + +Redirects input/output streams to a log file and runs as +daemon. + +=item -h, --help + +Displays helpscreen and exits. + +=item -V, --version + +Prints program version and exits. + +=back + +