From: Filippos Giannakos Date: Wed, 28 Nov 2012 14:03:17 +0000 (+0200) Subject: Merge branch 'xseg-refactor' into debian X-Git-Tag: debian/0.3.1~40 X-Git-Url: https://code.grnet.gr/git/archipelago/commitdiff_plain/8e5f92b4bafb02575b13a2cc7e6c345680c51945?hp=b96db85f16d56ba3b9e5fb1578773ca94319729d Merge branch 'xseg-refactor' into debian --- diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e15cb1a --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +.PHONY: default xseg clean distclean build + +default: xseg + +build: xseg + +xseg: + make -C xseg XSEG_DOMAIN_TARGETS="user" + +clean: + make -C xseg clean + rm ./config.mk + +distclean: + make -C xseg distclean diff --git a/debian/README b/debian/README new file mode 100644 index 0000000..9d3aa89 --- /dev/null +++ b/debian/README @@ -0,0 +1,5 @@ +The Debian Package archipelago +------------------------------ + +Comments regarding the Package + diff --git a/debian/archipelago-ganeti.install b/debian/archipelago-ganeti.install new file mode 100644 index 0000000..1fadf56 --- /dev/null +++ b/debian/archipelago-ganeti.install @@ -0,0 +1,10 @@ +#vlmc ganeti ext storage scripts +xseg/tools/ext_scripts/attach usr/share/ganeti/extstorage/vlmc +xseg/tools/ext_scripts/create usr/share/ganeti/extstorage/vlmc +xseg/tools/ext_scripts/detach usr/share/ganeti/extstorage/vlmc +xseg/tools/ext_scripts/grow usr/share/ganeti/extstorage/vlmc +xseg/tools/ext_scripts/parameters.list usr/share/ganeti/extstorage/vlmc +xseg/tools/ext_scripts/remove usr/share/ganeti/extstorage/vlmc +xseg/tools/ext_scripts/verify usr/share/ganeti/extstorage/vlmc +xseg/tools/ext_scripts/vlmc_wrapper.py usr/share/ganeti/extstorage/vlmc + diff --git a/debian/archipelago-ganeti.lintian-overrides b/debian/archipelago-ganeti.lintian-overrides new file mode 100644 index 0000000..ab89b0b --- /dev/null +++ b/debian/archipelago-ganeti.lintian-overrides @@ -0,0 +1 @@ +archipelago-ganeti binary: new-package-should-close-itp-bug diff --git a/debian/archipelago-kernel-dkms-files/Makefile b/debian/archipelago-kernel-dkms-files/Makefile new file mode 100644 index 0000000..ba72e32 --- /dev/null +++ b/debian/archipelago-kernel-dkms-files/Makefile @@ -0,0 +1,15 @@ +.PHONY: default xseg clean distclean build + +default: xseg + +build: xseg + +xseg: + make -C xseg XSEG_DOMAIN_TARGETS="kernel" + +clean: + make -C xseg clean + rm ./config.mk + +distclean: + make -C xseg distclean diff --git a/debian/archipelago-kernel-dkms.dkms b/debian/archipelago-kernel-dkms.dkms new file mode 100644 index 0000000..2d85c78 --- /dev/null +++ b/debian/archipelago-kernel-dkms.dkms @@ -0,0 +1,30 @@ +PACKAGE_VERSION="#MODULE_VERSION#" +PACKAGE_NAME="archipelago-kernel-dkms" +CLEAN="make clean" + +BUILT_MODULE_NAME[0]="xseg_posix" +BUILT_MODULE_LOCATION[0]="xseg/lib/kernel/" +DEST_MODULE_LOCATION[0]="/kernel" + +BUILT_MODULE_NAME[1]="xseg_pthread" +BUILT_MODULE_LOCATION[1]="xseg/lib/kernel/" +DEST_MODULE_LOCATION[1]="/kernel" + +BUILT_MODULE_NAME[2]="xseg_segdev" +BUILT_MODULE_LOCATION[2]="xseg/lib/kernel/" +DEST_MODULE_LOCATION[2]="/kernel" + +BUILT_MODULE_NAME[3]="segdev" +BUILT_MODULE_LOCATION[3]="xseg/lib/kernel/" +DEST_MODULE_LOCATION[3]="/kernel" + +BUILT_MODULE_NAME[4]="xsegbd" +BUILT_MODULE_LOCATION[4]="xseg/lib/kernel/" +DEST_MODULE_LOCATION[4]="/kernel" + +BUILT_MODULE_NAME[5]="xseg" +BUILT_MODULE_LOCATION[5]="xseg/lib/kernel/" +DEST_MODULE_LOCATION[5]="/kernel" + +MAKE[0]="make xseg KVER=${kernelver}" +AUTOINSTALL="yes" diff --git a/debian/archipelago-kernel-dkms.install b/debian/archipelago-kernel-dkms.install new file mode 100644 index 0000000..f614006 --- /dev/null +++ b/debian/archipelago-kernel-dkms.install @@ -0,0 +1,130 @@ +debian/archipelago-kernel-dkms-files/Makefile usr/src/archipelago-kernel-dkms-0.1.1 + +xseg/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg +xseg/archipelago usr/src/archipelago-kernel-dkms-0.1.1/xseg +xseg/base.mk usr/src/archipelago-kernel-dkms-0.1.1/xseg +xseg/config.env usr/src/archipelago-kernel-dkms-0.1.1/xseg +xseg/doc/components.rst usr/src/archipelago-kernel-dkms-0.1.1/xseg/doc +xseg/doc/flow.txt usr/src/archipelago-kernel-dkms-0.1.1/xseg/doc +xseg/drivers/kernel/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/kernel +xseg/drivers/kernel/xseg_posix.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/kernel +xseg/drivers/kernel/xseg_pthread.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/kernel +xseg/drivers/kernel/xseg_segdev.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/kernel +xseg/drivers/user/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/user +xseg/drivers/user/xseg_posix.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/user +xseg/drivers/user/xseg_pthread.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/user +xseg/drivers/user/xseg_segdev.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers/user +xseg/drivers/xseg_posix.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers +xseg/drivers/xseg_pthread.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers +xseg/drivers/xseg_segdev.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/drivers +xseg/envsetup usr/src/archipelago-kernel-dkms-0.1.1/xseg +xseg/launch usr/src/archipelago-kernel-dkms-0.1.1/xseg + +xseg/lib/kernel/README usr/src/archipelago-kernel-dkms-0.1.1/xseg/lib/kernel +xseg/lib/user/README usr/src/archipelago-kernel-dkms-0.1.1/xseg/lib/user +xseg/peers/kernel/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/kernel +xseg/peers/kernel/xsegbd.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/kernel +xseg/peers/kernel/xsegbd.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/kernel + +xseg/peers/user/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/common.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/common.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/dummy.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/filed.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mapperd.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mapperd.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/monitor.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mpeer.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mpeer.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mt-mapperd.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mt-pfiled.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mt-sosd.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/mt-vlmcd.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/peer.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/peer.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/pfiled.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/sosd.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/speer.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/speer.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/vlmc-tool.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/vlmcd.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user +xseg/peers/user/xseg-tool.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/peers/user + +xseg/sys/domain.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys +xseg/sys/kernel/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/kernel +xseg/sys/kernel/_sysutil.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/kernel +xseg/sys/kernel/segdev.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/kernel +xseg/sys/kernel/segdev.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/kernel +xseg/sys/kernel/segtest.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/kernel +xseg/sys/kernel/segtool.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/kernel +xseg/sys/kernel/xsegmod.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/kernel + +xseg/sys/user/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user +xseg/sys/user/_sysutil.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user +xseg/sys/user/make_symbol_map.sh usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user + +xseg/sys/user/python/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/python +xseg/sys/user/python/respond.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/python +xseg/sys/user/python/send.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/python + +xseg/sys/user/python/xseg/__init__.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/python/xseg +xseg/sys/user/xhash/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/xhash +xseg/sys/user/xheap/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/xheap +xseg/sys/user/xobj/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/xobj +xseg/sys/user/xpool/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/xpool + +xseg/sys/user/xq/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user/xq +xseg/sys/user/xseg_user.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys/user +xseg/sys/util.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/sys +xseg/tools/create_initializer usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools +xseg/tools/ext_scripts/attach usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/ext_scripts/create usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/ext_scripts/detach usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/ext_scripts/grow usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/ext_scripts/parameters.list usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/ext_scripts/remove usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/ext_scripts/verify usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/ext_scripts/vlmc_wrapper.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/ext_scripts +xseg/tools/qa/stress_test.sh usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools/qa +xseg/tools/vlmc usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools +xseg/tools/vlmc-blockd.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools +xseg/tools/vlmc-filed.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools +xseg/tools/vlmc_shared.py usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools +xseg/tools/xseg-domain-targets usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools +xseg/tools/xseg_devshell.sh usr/src/archipelago-kernel-dkms-0.1.1/xseg/tools +xseg/util_libs/kernel/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/util_libs/kernel +xseg/util_libs/user/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/util_libs/user +xseg/util_libs/user/sos/Makefile usr/src/archipelago-kernel-dkms-0.1.1/xseg/util_libs/user/sos +xseg/util_libs/user/sos/sos.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/util_libs/user/sos +xseg/util_libs/user/sos/sos.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/util_libs/user/sos +xseg/xseg/domain.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xseg +xseg/xseg/protocol.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xseg +xseg/xseg/xseg.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xseg +xseg/xseg/xseg.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xseg +xseg/xseg/xseg_exports.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xseg + +xseg/xtypes/domain.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xatomic.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xhash.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xhash.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xhash_exports.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xhash_test.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xheap.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xheap.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xheap_test.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xlist.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xlist.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xlock.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xobj.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xobj.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xobj_exports.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xobj_test.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xpool.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xpool.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xpool_exports.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xpool_test.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xq.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xq.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xq_exports.h usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xq_lock_test.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes +xseg/xtypes/xq_test.c usr/src/archipelago-kernel-dkms-0.1.1/xseg/xtypes diff --git a/debian/archipelago-kernel-dkms.lintian-overrides b/debian/archipelago-kernel-dkms.lintian-overrides new file mode 100644 index 0000000..4cc6cbb --- /dev/null +++ b/debian/archipelago-kernel-dkms.lintian-overrides @@ -0,0 +1 @@ +archipelago-kernel-dkms binary: new-package-should-close-itp-bug diff --git a/debian/archipelago-kernel-dkms.postinst b/debian/archipelago-kernel-dkms.postinst new file mode 100644 index 0000000..38b9d8e --- /dev/null +++ b/debian/archipelago-kernel-dkms.postinst @@ -0,0 +1,47 @@ +#!/bin/sh +# postinst script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + if [ -x "/etc/init.d/archipelago" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d archipelago start || exit $? + else + /etc/init.d/archipelago stop || exit $? + fi + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/archipelago-kernel-dkms.prerm b/debian/archipelago-kernel-dkms.prerm new file mode 100644 index 0000000..eb9c8be --- /dev/null +++ b/debian/archipelago-kernel-dkms.prerm @@ -0,0 +1,45 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure|upgrade) + if [ -x "/etc/init.d/archipelago" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; + then + invoke-rc.d archipelago stop || exit $? + else + /etc/init.d/archipelago stop || exit $? + fi + fi + ;; + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/archipelago.default b/debian/archipelago.default new file mode 100644 index 0000000..58ac431 --- /dev/null +++ b/debian/archipelago.default @@ -0,0 +1,48 @@ +#do not touch +DEVICE_PREFIX="/dev/xsegbd" +XSEGBD_SYSFS="/sys/bus/xsegbd/" + + + +# xseg +SPEC="segdev:xsegbd:512:1024:12" +REQS=512 + +BPORT=0 +MPORT=1 +MBPORT=2 +VTOOL=3 +VPORT_START=204 +VPORT_END=403 + +#Max number of flying operations +NR_OPS_BLOCKERB=128 +NR_OPS_BLOCKERM=128 +NR_OPS_VLMC=128 +NR_OPS_MAPPER=128 + +#verbosity levels for each xseg peer +#0 Error +#1 Warnings +#2 Info +#3 Debug +VERBOSITY_BLOCKERB="3" +VERBOSITY_BLOCKERM="3" +VERBOSITY_MAPPER="3" +VERBOSITY_VLMC="3" + +# Choose between rados or files STORAGE +# For the selected storage method, the appropriate config options must be set +#STORAGE="files" +STORAGE="rados" + +#options for STORAGE="files" +#FILED_IMAGES="/srv/archip/blocks" +#FILED_MAPS="/srv/archip/maps" +#PITHOS="/srv/pithos/data/blocks" +#PITHOSMAPS="/srv/pithos/data/maps" + +#options for STORAGE="rados" +RADOS_POOL_MAPS="maps" +RADOS_POOL_BLOCKS="blocks" + diff --git a/debian/archipelago.init.d b/debian/archipelago.init.d new file mode 100755 index 0000000..17d15db --- /dev/null +++ b/debian/archipelago.init.d @@ -0,0 +1,102 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: archipelago +# Required-Start: $network $local_fs $remote_fs $all +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: +# Description: +# <...> +# <...> +### END INIT INFO + +# Author: philipgian + +# PATH should only include /usr/* if it runs after the mountnfs.sh script */ +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC=archipelago # Introduce a short description here +NAME=archipelago # Introduce the short server's name here +DAEMON=/usr/bin/archipelago # Introduce the server's location here +DAEMON_ARGS="" # Arguments to run the daemon with +#PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +# Read configuration variable file if it is present +#[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + $DAEMON start > /dev/null && return 0 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + $DAEMON stop > /dev/null && return 0 +} + + +case "$1" in + start) + log_daemon_msg "Starting $DESC " "$NAME" + do_start + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + status) + $DAEMON status + ;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + diff --git a/debian/archipelago.install b/debian/archipelago.install new file mode 100644 index 0000000..708dee6 --- /dev/null +++ b/debian/archipelago.install @@ -0,0 +1,9 @@ +xseg/peers/user/st-vlmcd usr/bin +xseg/peers/user/mt-mapperd usr/bin +xseg/peers/user/pfiled usr/bin +xseg/peers/user/mt-sosd usr/bin +xseg/peers/user/mt-pfiled usr/bin +xseg/peers/user/xseg usr/bin +xseg/peers/user/vlmc-xseg usr/bin +xseg/tools/vlmc usr/bin +xseg/archipelago usr/bin diff --git a/debian/archipelago.lintian-overrides b/debian/archipelago.lintian-overrides new file mode 100644 index 0000000..f9f8466 --- /dev/null +++ b/debian/archipelago.lintian-overrides @@ -0,0 +1,3 @@ +archipelago binary: new-package-should-close-itp-bug +archipelago binary: non-dev-pkg-with-shlib-symlink +archipelago binary: package-name-doesnt-match-sonames diff --git a/debian/archipelago.logrotate b/debian/archipelago.logrotate new file mode 100644 index 0000000..b496eee --- /dev/null +++ b/debian/archipelago.logrotate @@ -0,0 +1,51 @@ +/var/log/archipelago/blockerb.log { + daily + rotate 10 + compress + delaycompress + missingok + notifempty + create 664 root root + postrotate + kill -USR1 $(cat /var/run/archipelago/blockerb.pid) + endscript +} + +/var/log/archipelago/blockerm.log { + daily + rotate 10 + compress + delaycompress + missingok + notifempty + create 664 root root + postrotate + kill -USR1 $(cat /var/run/archipelago/blockerm.pid) + endscript +} + +/var/log/archipelago/mapperd.log { + daily + rotate 10 + compress + delaycompress + missingok + notifempty + create 664 root root + postrotate + kill -USR1 $(cat /var/run/archipelago/mapperd.pid) + endscript +} + +/var/log/archipelago/vlmcd.log { + daily + rotate 10 + compress + delaycompress + missingok + notifempty + create 664 root root + postrotate + kill -USR1 $(cat /var/run/archipelago/vlmcd.pid) + endscript +} diff --git a/debian/archipelago.postinst b/debian/archipelago.postinst new file mode 100644 index 0000000..5031d9b --- /dev/null +++ b/debian/archipelago.postinst @@ -0,0 +1,42 @@ +#!/bin/sh +# postinst script for archipelago +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + if [ ! -d /var/log/archipelago ] ; then + mkdir -p /var/log/archipelago + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..a6045da --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +archipelago (0.1.1-1) unstable; urgency=low + + * Initial release + + -- Filippos Giannakos Thu, 25 Oct 2012 12:04:57 +0300 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..614a121 --- /dev/null +++ b/debian/control @@ -0,0 +1,41 @@ +Source: archipelago +Section: otherosfs +Priority: extra +Maintainer: Filippos Giannakos +Build-Depends: debhelper (>= 7.0.50~), dkms(>=2.1.0.0) +Standards-Version: 3.9.1 + +Package: libxseg0 +Architecture: amd64 +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Xseg library + Extended Description here + +Package: libxseg0-dbg +Section: debug +Architecture: amd64 +Depends: libxseg0(=${binary:Version}), ${misc:Depends} +Description: Xseg library + Extended Description here + +Package: archipelago +Architecture: amd64 +Depends: ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}, + libxseg0(=${binary:Version}), libgcrypt11(>=1.4.5-2), libst1(>=1.9-3), + librados2(>=0.54-1-grnet), python-psutil(>=0.1.3), python-argparse, + libssl0.9.8, archipelago-kernel-dkms(=${binary:Version}) +Description: Provides archipelago infrastructure + Extended Description here + +Package: archipelago-ganeti +Architecture: any +Depends: ${misc:Depends}, ${python:Depends}, archipelago(=${binary:Version}) +Description: Provides archipelago ganeti ext storage scripts + Extended Description here + +Package: archipelago-kernel-dkms +Architecture: any +Depends: ${misc:Depends}, linux-headers-amd64(>= 3.2) +Description: Provides archipelago-kernel infrastructure + Extended Description here + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..400a8d7 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,31 @@ +This package was debianized by Filippos Giannakos on + +Upstream Author(s): + + Filippos Giannakos < philipgian@grnet.gr > + +Copyright: + + Copyright (C) 2010 GRNET SA + +License: + + This package 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. + + This package 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 this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + +The Debian packaging is (C) 2012, Filippos Giannakos and +is licensed under the GPL, see above. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..527b78f --- /dev/null +++ b/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/lib diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..e69de29 diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..3715fb4 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,7 @@ +[DEFAULT] +sign-tags = False +pristine-tar = False + +[git-buildpackage] +export-dir = ../build-area/ +tarball-dir = ../tarballs/ diff --git a/debian/libxseg0-dbg.lintian-overrides b/debian/libxseg0-dbg.lintian-overrides new file mode 100644 index 0000000..ecf6ff5 --- /dev/null +++ b/debian/libxseg0-dbg.lintian-overrides @@ -0,0 +1 @@ +libxseg0-dbg binary: new-package-should-close-itp-bug diff --git a/debian/libxseg0.install b/debian/libxseg0.install new file mode 100644 index 0000000..bbea38e --- /dev/null +++ b/debian/libxseg0.install @@ -0,0 +1,3 @@ +xseg/lib/user/libxseg.so.0 usr/lib +xseg/lib/user/libxseg.so.0.0.1 usr/lib + diff --git a/debian/libxseg0.lintian-overrides b/debian/libxseg0.lintian-overrides new file mode 100644 index 0000000..4763439 --- /dev/null +++ b/debian/libxseg0.lintian-overrides @@ -0,0 +1 @@ +libxseg0 binary: new-package-should-close-itp-bug diff --git a/debian/links b/debian/links new file mode 100644 index 0000000..e69de29 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..70398b2 --- /dev/null +++ b/debian/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +.PHONY: override_dh_dkms override_dh_strip + +%: + dh $@ --with dkms + +override_dh_dkms: + dh_dkms -V + +override_dh_strip: + dh_strip -plibxseg0 --dbg-package=libxseg0-dbg + dh_strip -parchipelago + + + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/make_install_file.sh b/make_install_file.sh new file mode 100755 index 0000000..96b50cf --- /dev/null +++ b/make_install_file.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +VERSION=$(head -n 1 debian/changelog | sed -r 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/g') +INSTALL_PATH="usr/src/archipelago-kernel-dkms-$VERSION" + +echo "debian/archipelago-kernel-dkms-files/Makefile $INSTALL_PATH" +git ls-files --directory xseg | sed 's/.*git.*//' | sed 's,\(.*\)\/\(.*\),\1\/\2 '"$INSTALL_PATH"'\/\1,' +#find xseg -path "*git*" -prune -o -type f -a -print | sed 's,\(.*\)\/\(.*\),\1\/\2 '"$INSTALL_PATH"'\/\1,' + diff --git a/make_pkg.sh b/make_pkg.sh new file mode 100755 index 0000000..f4ea31f --- /dev/null +++ b/make_pkg.sh @@ -0,0 +1,10 @@ +#!/bin/bash + + +./make_install_file.sh > debian/archipelago-kernel-dkms.install +git add debian/archipelago-kernel-dkms.install +export LD_LIBRARY_PATH=$PWD/xseg/lib:$LD_LIBRARY_PATH +git-buildpackage --git-upstream-branch=$1 \ + --git-debian-branch=$2 \ + --git-export=INDEX \ + --git-ignore-new diff --git a/xseg/peers/user/pfiled.c b/xseg/peers/user/pfiled.c index b47565a..1e2a9c4 100644 --- a/xseg/peers/user/pfiled.c +++ b/xseg/peers/user/pfiled.c @@ -1088,7 +1088,6 @@ int main(int argc, char **argv) return -1; } } - if (cmdline_daemon){ if (daemon(0, 1) < 0){ perr(PFE, 0, "Cannot daemonize"); @@ -1099,8 +1098,7 @@ int main(int argc, char **argv) setup_signals(); if (pid_fd > 0) pidfile_write(pid_fd); - - + if (pfiled_init(&pfiled) < 0){ r = -1; goto out; @@ -1111,5 +1109,4 @@ out: if (pid_fd > 0) pidfile_remove(cmdline_pidfile, pid_fd); return r; - } diff --git a/xseg/tools/vlmc b/xseg/tools/vlmc index 2ffb173..e15ca47 100755 --- a/xseg/tools/vlmc +++ b/xseg/tools/vlmc @@ -19,14 +19,13 @@ def vlmc_create(args): else: size = 0 - cmd = [XSEG_HOME + "/peers/user/vlmc-xseg", "%s" % SPEC, "create", "--name", "%s" % name] + cmd = ["vlmc-xseg", "%s" % SPEC, "create", "--name", "%s" % name] if snap != None: cmd.extend(["--snap", "%s" % snap]) if size != None: cmd.extend(["--size", "%s" % size]) cmd.extend(["-mp", "%s" % MPORT]) cmd.extend(["-p", "%s" % VTOOL]) - os.environ['LD_LIBRARY_PATH'] = XSEG_HOME + "/lib:" + XSEG_HOME + "/lib/user" try: check_call(cmd, shell=False, env=os.environ); @@ -45,10 +44,9 @@ def vlmc_list(args): def vlmc_remove(args): name = args.name[0] - cmd = [XSEG_HOME + "/peers/user/vlmc-xseg", "%s" % SPEC, "remove", "--name", "%s" % name] + cmd = ["vlmc-xseg", "%s" % SPEC, "remove", "--name", "%s" % name] cmd.extend(["-mp", "%s" % MPORT]) cmd.extend(["-p", "%s" % VTOOL]) - os.environ['LD_LIBRARY_PATH'] = XSEG_HOME + "/lib:" + XSEG_HOME + "/lib/user" try: check_call(cmd, shell=False, env=os.environ);