debian/0000755000000000000000000000000012264722126007172 5ustar debian/python-ftp-cloudfs.install0000644000000000000000000000002012264722126014317 0ustar usr/lib/python* debian/ftp-cloudfs.logrotate0000644000000000000000000000033112264722126013337 0ustar /var/log/ftp-cloudfs/ftp-cloudfs.log { rotate 15 daily dateext missingok notifempty compress create 0640 ftpcloudfs ftpcloudfs postrotate invoke-rc.d ftp-cloudfs restart >/dev/null 2>&1 || true endscript } debian/ftpcloudfs.80000644000000000000000000000324512264722126011440 0ustar .TH ftpcloudfs 8 .SH NAME ftpcloudfs \- FTP interface to Rackspace Cloud Files and OpenStack Object Storage .SH SYNOPSIS .B ftpcloudfs [\fIOPTIONS\fR] .SH DESCRIPTION .B ftpcloudfs FTP\-CloudFS is an FTP server acting as a proxy to Rackspace Cloud Files or to OpenStack Object Storage (Swift). It allows you to connect via any FTP client to do upload/download or create containers. It supports pseudo\-hierarchical folders/directories as described in the Rackspace Cloud Files API and the OpenStack Object Storage API. .SH OPTIONS .LP \-h, \-\-help .IP show this help message and exit .LP \-p \fIPORT\fR, \-\-port=\fIPORT\fR .IP Port to bind the server default: 2021. .LP \-b \fIBIND_ADDRESS\fR, \-\-bind\-address=\fIBIND_ADDRESS\fR .IP Address to bind by default: 127.0.0.1. .LP \-\-workers=\fIWORKERS\fR .IP Number of workers to use default: 1. .LP \-\-memcache=\fIMEMCACHE\fR .IP Memcache server(s) to be used for cache (ip:port). .LP \-a \fIAUTHURL\fR, \-\-auth\-url=\fIAUTHURL\fR .IP Auth URL for alternate providers(eg OpenStack) .LP \-v, \-\-verbose .IP Be verbose on logging. .LP \-s, \-\-service\-net .IP Connect via Rackspace ServiceNet network. .LP \-f, \-\-foreground .IP Do not attempt to daemonize but run in foreground. .LP \-l \fILOG_FILE\fR, \-\-log\-file=\fILOG_FILE\fR .IP Log File: Default stdout when in foreground .LP \-\-syslog .IP Enable logging to the system logger (daemon facility). .LP \-\-pid\-file=\fIPID_FILE\fR .IP Pid file location when in daemon mode. .LP \-\-uid=\fIUID\fR .IP UID to drop the privilege to when in daemon mode .LP \-\-gid=\fIGID\fR .IP GID to drop the privilege to when in daemon mode .SH AUTHORS "Juan J. Martinez" debian/ftp-cloudfs.init.d0000644000000000000000000001033612264722126012532 0ustar #!/bin/sh ### BEGIN INIT INFO # Provides: ftp-cloudfs # Required-Start: $network $local_fs $remote_fs $syslog # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: ftp-cloudfs # Description: FTP interface to Rackspace Cloud Files and OpenStack Object Storage. ### END INIT INFO # Author: Christophe Le Guern # PATH should only include /usr PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC=ftp-cloudfs # Introduce a short description here NAME=ftp-cloudfs # Introduce the short server's name here CONFIGFILE=/etc/ftpcloudfs.conf # Configuration file DAEMON=/usr/bin/ftpcloudfs # Introduce the server's location here LOGDIR=/var/log/${NAME} # Logs directory LOGFILE=${LOGDIR}/${NAME}.log # Log file DAEMON_ARGS="-l ${LOGFILE}" # Arguments to run the daemon with PIDDIR=/var/run/${NAME} PIDFILE=${PIDDIR}/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Exit if the package is not installed [ -x $DAEMON ] || exit 0 # Exit if there is no configuration file if [ ! -f ${CONFIGFILE} ]; then echo "Missing Configuration file"; exit 0; fi # 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() { # create PID dir (/var/run/ is tmpfs) if [ ! -d ${PIDDIR} ] then mkdir -m 0700 -p ${PIDDIR} chown -R ftpcloudfs:ftpcloudfs ${PIDDIR} fi # create PID file touch ${PIDFILE} chown ftpcloudfs:ftpcloudfs ${PIDFILE} # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ || return 1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ $DAEMON_ARGS \ || return 2 # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time. } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $(basename $DAEMON) RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } # # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $(basename $DAEMON) 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) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; restart|force-reload) 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|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 exit 3 ;; esac exit 0 debian/ftp-cloudfs.manpages0000644000000000000000000000002412264722126013131 0ustar debian/ftpcloudfs.8 debian/source/0000755000000000000000000000000012264722126010472 5ustar debian/source/format0000644000000000000000000000001412264722126011700 0ustar 3.0 (quilt) debian/ftp-cloudfs.postinst0000644000000000000000000000202312264722126013222 0ustar #!/bin/sh set -e if [ "$1" = "configure" ] ; then if ! getent group ftpcloudfs > /dev/null 2>&1 ; then addgroup --system ftpcloudfs >/dev/null fi if ! getent passwd ftpcloudfs > /dev/null 2>&1 ; then adduser --system --home /var/log/ftp-cloudfs --ingroup ftpcloudfs --no-create-home --shell /bin/false ftpcloudfs > /dev/null 2>&1 fi # log directory mkdir -m 0700 -p /var/log/ftp-cloudfs touch /var/log/ftp-cloudfs/ftp-cloudfs.log chmod 0640 /var/log/ftp-cloudfs/ftp-cloudfs.log chown -R ftpcloudfs:ftpcloudfs /var/log/ftp-cloudfs # pid file directory mkdir -m 0700 -p /var/run/ftp-cloudfs chown -R ftpcloudfs:ftpcloudfs /var/run/ftp-cloudfs if [ ! -e /etc/ftpcloudfs.conf ] ; then install -D -m 0640 -g ftpcloudfs -o ftpcloudfs /usr/share/ftpcloudfs/ftpcloudfs.conf /etc/ftpcloudfs.conf MY_GID=`id -g ftpcloudfs` MY_UID=`id -u ftpcloudfs` sed -i -e "s#^[ \t]*uid[ \t]*=.*#uid = ${MY_UID}#" /etc/ftpcloudfs.conf sed -i -e "s#^[ \t]*gid[ \t]*=.*#gid = ${MY_GID}#" /etc/ftpcloudfs.conf fi fi #DEBHELPER# exit 0 debian/ftpcloudfs.conf0000644000000000000000000000226312264722126012215 0ustar # ftpcloudfs example configuration file # [ftpcloudfs] # FTP banner (%v version, %f ftp handler version) banner = ftp-cloudfs %v using pyftpdlib %f ready. # Port to bind. # port = 2021 # Address to bind. bind-address = 0.0.0.0 # Number of workers to use. # The number of workers depends on the number of available # cores and the expected load. # workers = 1 # Memcache server(s) for external cache (eg 127.0.0.1:11211) # Can be a comma-separated list. # memcache = (empty) # Maximum number of client connections per IP # default is 0 (no limit) # max-cons-per-ip = 0 # Auth URL for alternate providers (eg OpenStack) # auth-url = (empty) # Connect via Rackspace ServiceNet network. # service-net = no # Be verbose on logging. # verbose = no # Enable logging to the system logger. # syslog = no # Log file location. log-file = /var/log/ftp-cloudfs/ftp-cloudfs.log # Pid file location when in daemon mode. pid-file = /var/run/ftp-cloudfs/ftp-cloudfs.pid # UID to drop privileges when in daemon mode. uid = (empty) # GID to drop priviliges when in daemon mode. gid = (empty) # Masquerade IP address in case your server is behind a firewall or NATed. # masquerade-firewall = (empty) # EOF debian/gbp.conf0000644000000000000000000000023712264722126010613 0ustar [DEFAULT] upstream-branch = master debian-branch = debian/unstable upstream-tag = %(version)s compression = xz [git-buildpackage] export-dir = ../build-area/ debian/copyright0000644000000000000000000000542412264722126011132 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: ftp-cloudfs Source: git://github.com//cloudfs/ftp-cloudfs.git Files: * Copyright: (c) 2009-2013, Juan J. Martinez (c) 2009-2013, Chmouel Boudjnah (c) 2009-2013, Nick Craig-Wood (c) 2009-2013, Christophe Le Guern (c) 2009-2013, Juan J. Martínez (c) 2009-2013, Chmouel Boudjnah (c) 2009-2013, reidrac (c) 2009-2013, Nick Craig-Wood (c) 2009-2013, Juan J. Martínez (c) 2009-2013, Stanislav Bogatyrev (c) 2009-2013, Pedro Padron (c) 2009-2013, Konstantin Kapustin License: MIT 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. Files: debian/* Copyright: 2011 Christophe Le Guern License: GPL-2+ 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 program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". debian/rules0000755000000000000000000000023012264722126010245 0ustar #!/usr/bin/make -f UPSTREAM_GIT = git://github.com/cloudfs/ftp-cloudfs.git include /usr/share/openstack-pkg-tools/pkgos.make %: dh $@ --with python2 debian/changelog0000644000000000000000000000211712264722126011045 0ustar ftp-cloudfs (0.25.2-1) unstable; urgency=medium * New upstream release. * Standards-Version: is now 3.9.5 -- Thomas Goirand Mon, 13 Jan 2014 15:25:23 +0800 ftp-cloudfs (0.23.1-2) unstable; urgency=low * Updated the watch file. * python-pyftpdlib must be >= 1.2.0. -- Thomas Goirand Thu, 26 Sep 2013 16:16:17 +0800 ftp-cloudfs (0.23.1-1) unstable; urgency=low * Ran wrap-and-sort. * New upstream release. * Added new python-swiftclient Depends:. -- Thomas Goirand Thu, 30 May 2013 11:19:42 +0800 ftp-cloudfs (0.20.1-1) unstable; urgency=low * Uploading to unstable. * New upstream release. -- Thomas Goirand Sun, 12 May 2013 08:28:32 +0000 ftp-cloudfs (0.19.1-2) experimental; urgency=low * Added missing build-depends: openstack-pkg-tools (Closes: #706395). -- Thomas Goirand Tue, 30 Apr 2013 09:01:51 +0800 ftp-cloudfs (0.19.1-1) experimental; urgency=low * Initial release (Closes: #699790). -- Thomas Goirand Tue, 05 Feb 2013 12:01:33 +0800 debian/control0000644000000000000000000000424512264722126010602 0ustar Source: ftp-cloudfs Section: net Priority: extra Maintainer: PKG OpenStack Uploaders: Loic Dachary (OuoU) , Julien Danjou , Thomas Goirand , Ghe Rivero , Mehdi Abaakouk Build-Depends: debhelper (>= 9), openstack-pkg-tools, python-all (>= 2.6.6-3~), python-setuptools Standards-Version: 3.9.5 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=openstack/ftp-cloudfs.git Vcs-Git: git://anonscm.debian.org/openstack/ftp-cloudfs.git Homepage: https://github.com/cloudfs/ftp-cloudfs Package: ftp-cloudfs Architecture: all Pre-Depends: dpkg (>= 1.15.6~) Depends: adduser, lsb-base, python-ftp-cloudfs (= ${binary:Version}), ${misc:Depends}, ${python:Depends} Provides: python-ftp-cloudfs Recommends: python-docutils Description: FTP interface to Rackspace Cloud Files and OpenStack Object Storage FTP-CloudFS is an FTP server acting as a proxy to Rackspace Cloud Files or to OpenStack Object Storage (Swift). It allows you to connect via any FTP client to do upload/download or create containers. It supports pseudo-hierarchical folders/directories as described in the Rackspace Cloud Files API and the OpenStack Object Storage API. . This package contains the daemon. Package: python-ftp-cloudfs Architecture: all Section: python Pre-Depends: dpkg (>= 1.15.6~) Depends: python-cloudfiles, python-daemon (>= 1.5.5), python-memcache (>= 1.45), python-pyftpdlib (>= 1.2.0), python-swiftclient, ${misc:Depends}, ${python:Depends} Description: FTP interface to Rackspace Cloud Files and OpenStack - Python lib FTP-CloudFS is an FTP server acting as a proxy to Rackspace Cloud Files or to OpenStack Object Storage (Swift). It allows you to connect via any FTP client to do upload/download or create containers. It supports pseudo-hierarchical folders/directories as described in the Rackspace Cloud Files API and the OpenStack Object Storage API. . This package contains the Python libraries. debian/ftp-cloudfs.postrm0000644000000000000000000000054012264722126012665 0ustar #!/bin/sh set -e if [ "$1" = "purge" ] ; then echo "Purging ftpcloudfs." [ -e /etc/ftpcloudfs.conf ] && rm -f /etc/ftpcloudfs.conf [ -e /var/run/ftp-cloudfs ] && rm -fr /var/run/ftp-cloudfs [ -e /var/log/ftp-cloudfs ] && rm -fr /var/log/ftp-cloudfs [ -e /etc/logrotate.d/ftpcloudfs ] && rm -f /etc/logrotate.d/ftpcloudfs fi #DEBHELPER# exit 0 debian/compat0000644000000000000000000000000212264722126010370 0ustar 9 debian/README.Debian0000644000000000000000000000074412264722126011240 0ustar ftp-cloudfs for Debian ---------------------- A user (ftpcloudfs) and group (ftpcloudfs) are created to run the daemon. By default, the package is configured to use logfiles, be aware of it. Default Log Location: /var/log/ftp-cloudfs/ftp-cloudfs.log Example configuration file: /usr/share/doc/ftp-cloudfs/examples/ftpcloudfs.conf.example A directory /var/run/ftp-cloudfs has been created for the PID file. Christophe Le Guern Mon, 21 Nov 2011 10:59:38 +0100 debian/ftp-cloudfs.install0000644000000000000000000000010012264722126012777 0ustar debian/ftpcloudfs.conf /usr/share/ftpcloudfs usr/bin/ftpcloudfs debian/watch0000644000000000000000000000011612264722126010221 0ustar version=3 https://github.com/cloudfs/ftp-cloudfs/tags .*/(\d[\d\.]+)\.tar\.gz