Commits

Erik Southworth committed af78e22

add CLI program support and bump version to 3.05

  • Participants
  • Parent commits 6aa588b

Comments (0)

Files changed (6)

+Changes in 3.05:
+    * Installs new/restored jungledisk CLI program and manual.
+
 Changes in 3.0n:
     * JungleDisk Desktop is installed with --prefix=/usr and
     --sysconfdir=/etc by default.
 Features
 ========
 
-We provide, but do not ship, junglediskdesktop.
+We provide, but do not ship, jungledisk, junglediskdesktop.
 
 Jungle Disk Software does **NOT** allow *unlimited redistribution of
 unmodified binaries*. To publicly distribute(transfer/convey)
 
 These files will be installed.
 
+    * ${bindir}/jungledisk
     * ${bindir}/junglediskdesktop
+    * ${mandir}/man1/jungledisk.1
     * ${mandir}/man1/junglediskdesktop.1
     * $XDG_DATA_DIRS/applications/junglediskdesktop.desktop
     * $XDG_DATA_DIRS/icons/hicolor/48x48/filesystems/jungledisk.png
 Usage
 =====
 
+To run ``jungledisk`` as a CLI application just type on a console::
+
+    $ jungledisk
+
+There are a few command line options. See the manual page or run for details::
+
+    $ jungledisk --help
 
 To run ``junglediskdesktop`` as a GUI application just click on the desktop::
 
 of the license can be found in the file COPYING included with the source code of
 the program. If not, see <http://www.rpath.com/permanent/mit-license.html>.
 
-The JungleDisk Software (found in the subdirectory jungledisk/) has its own
+The JungleDisk Software (found in the subdirectory build/junglediskdesktop/) has its own
 license, which can be found in the file LICENSE included with the software.
 
 The icons were asserted to be public domain by <mkoistinen> from this forum post:
 format) to the issue tracker or one of the authors listed below.
 
 ------------ -----   -----       ----       ---       --         -
-Erik Southworth, 2009 (s6v)
-
+Erik Southworth, 2009,2010 (s6v)

File man/jungledisk.man1

+NAME
+  jungledisk - Jungle Disk Desktop Command Line Interface
+SYNOPSIS
+  jungledisk [options]
+  jungledisk mountpoint [options]
+DESCRIPTION
+  jungledisk command-line-only daemon was designed for headless servers
+  and/or for use in fstab and cron jobs. jungledisk supports file
+  system mounting via FUSE, as well as automatic backup.
+
+  ** Important **
+  Please note that Jungle Disk Desktop CLI does not support Backup Vaults or Sync
+OPTIONS
+  -h/--help                        print this help
+  -v/--version                     print version
+  -d                               enable debugging
+  -V/--verbose                     verbose mode (only valid with -f)
+  -b/--startbackups                start all backup jobs
+  -f                               run in foreground (default is daemon)
+  --startbackup <name|guid>        start a single backup job
+  --listbackups                    list all configured backups
+  --listbuckets/--listonlinedisks  list all configured buckets
+  -x/--exit                        exit when idle for 1 minute
+  --exitdelay <minutes>            exit after X idle minutes
+  --config <filename>              use the specified configuration file
+  -o opt[,opt...]                  additional FUSE mount options
+CONFIGURATION
+  jungledisk does not provide a configuration interface and must be
+  provided with a valid configuration file. We do not recommend creating
+  your configuration by hand. Instead, use junglediskmonitor on another
+  machine with a GUI, and copy the config file to your server.
+
+  If you do not have a Linux Desktop machine available, you can
+  use the "USB" version of the Mac or Windows Jungle Disk Client to
+  create a configuration file to use on your server. You cannot use
+  a configuration file from the non-USB versions on Mac or Windows,
+  as they encrypt their settings in a way that is not readable on Linux.
+
+  The configuration file can be placed in $HOME/.jungledisk, or in
+  /etc or another path, and you can specify the path to the file on
+  the command line.
+WEBDAV
+  Although less reliable than FUSE, you can also access the disk
+  via any WebDAV client: http://localhost:2667
+
+  The WebDAV interface to Jungle Disk is optional with the command
+  line version. You can disable it by setting the ListenPort to 0 in
+  the configuration.
+
+  If you have the WebDAV server enabled, you can view any background
+  operations by loading: http://localhost:2667/~operations via a
+  web browser or curl.
+FSTAB
+  You can mount your filesystem via the fstab file by adding a line
+  such as the one below (note how the path to the config file is
+  specified as part of the FUSE options.)
+
+  Sample fstab file entry:
+
+    jungledisk /mnt/jungle \\
+      fuse noauto,config=/path/to/jungledisk-settings.xml 0 0
+
+  You can then mount your filesystem with "mount /mnt/jungle", or place
+  this command somewhere in your boot process to mount the filesystem
+  at boot time (after the network comes up).
+
+  Note: jungledisk will mount all of your online disks that have been
+  configured with mount points. The first mount point will be set to
+  the one specified in fstab, but the remaining network drives will
+  be mounted as found in your settings file.
+
+  jungledisk MUST be in your path to mount via fstab. Also, you
+  must ensure that the FUSE module is loaded on boot. This varies by
+  distribution. Some common ones:
+
+    Debian / Ubuntu:
+      $ echo "fuse" >> /etc/modules
+    Gentoo:
+      $ echo "fuse" >> /etc/modules.autoload.d/kernel-2.6
+    Fedora:
+      $ echo "/sbin/modprobe fuse" >> /etc/rc.local
+    Suse:
+      Edit /etc/sysconfig/kernel and add "fuse" to the MODULES_LOADED_ON_BOOT
+RUNUSER
+  By default the mounted path will only be available to the user who
+  mounted it.
+FUSE
+  If you want to allow root or other users to access the mount you
+  need to use the FUSE options "-o allow_root" or "-o allow_other". You
+  may also need to set the umask, as in "-o umask=007".
+
+  These parameters can be specified in fstab or on the command line:
+
+  (fstab)
+
+    jungledisk /mnt/mountpoint fuse defaults,noauto,user, \\
+      config=/path/to/jungledisk-settings.xml,allow_other,umask=007 0 0
+
+  (command)
+
+    $ jungledisk /mnt/mountpoint \\
+        -o rw,umask=007,allow_other,default_permissions
+
+  Alternatively, you can configure FUSE options in the configuration
+  file after the mountpoint path (similar to the way it is done on the
+  command line). This approach is particularly useful when mounting
+  multiple disks, since only the first disk will pick up the extra
+  FUSE options specified on the command line or in fstab.
+
+  Note:
+    To allow the options to work for non-root users, be sure to add
+    the option "user_allow_other" to your /etc/fuse.conf file.
+RSYNC
+  Once running and mounted on the local file system, you can use rsync
+  to easily copy files to and from your S3 storage. Most rsync options
+  should work fine, however for best performance we recommend using
+  the --inplace option which avoids extra renames.
+
+  You should also use the --times (-t) option so that modification
+  times are replicated and used to detect changes. If you prefer not
+  to replicate modification times, you may want to use --checksum (-c)
+  or --size-only to prevent files from being re-copied on every run.
+
+  Jungle Disk can preserve symlinks, devices, group/owner/permissions,
+  and modification/creation times if those options are
+  specified. Currently, hard-links are not supported.
+
+  Copy all files and attributes(times/permissions/owners/links/etc)
+
+      $ rsync -a --inplace /src/* /mnt/jungle
+
+  Copy only normal files and preserve modification times
+
+      $ rsync -t -r --inplace /src/* /mnt/jungle
+
+  Copy only file data and use size to determine changes
+
+      $ rsync -r --size-only --inplace /src/* /mnt/jungle
+EXAMPLES
+  Sample jungledisk command line arguments:
+
+      $ jungledisk -df --config /etc/jungledisk-settings.xml
+      $ jungledisk /mnt/cloudstorage --config /etc/settings.xml
+      $ jungledisk -o allow_other
+DIAGNOSTICS
+  jungledisk logs all errors to /var/log/jungledisk.log when running
+  as root, and ~/.jungledisk/jungledisk.log when running as non-root.
+  Make sure you check the log file if your disk does not mount properly.
+NOTES
+  Jungle Disk includes several optimizations to improve performance
+  by delaying network activity until needed. In most cases this is
+  transparent to applications.
+
+  By default, Jungle Disk also assumes that when an application opens
+  a file using the O_WRONLY mode it intends to write the entire file,
+  so the previous file contents are not downloaded. This assumption
+  holds true for many, but not all applications.
+SIGNALS
+  The following signals are supported by Jungledisk:
+
+  SIGHUP   Reload configuration
+  SIGQUIT  Exits gracefully
+  SIGTERM  Exits
+AUTHOR
+  Manual written by Erik Southworth; referenced from usage and INSTALL file.
+COPYRIGHT
+  Copyright (c) 2010 Jungle Disk, LLC.  This is non-free software:
+  see the LICENSE file included with the software for copying conditions.
+
+  Copyright (c) 2010 Erik Southworth  This is free documentation:
+  copying and distribution of this file, with or without modification,
+  are permitted in any medium without royalty provided the copyright
+  notice and this notice are preserved.
+SEE ALSO
+  junglediskdesktop(1) rsync(1)
+  Support Site  http://support.jungledisk.com
+  FUSE Filesystem  http://fuse.sourceforge.net
+
+  See also the INSTALL file for some useful tips and tricks.

File man/junglediskdesktop.man1

 AUTHOR
   Manual written by Erik Southworth; referenced from usage and INSTALL file.
 COPYRIGHT
-  Copyright (c) Jungle Disk, LLC., 2009  This is non-free software:
+  Copyright (c) Jungle Disk, LLC., 2010  This is non-free software:
   see the LICENSE file included with the software for copying conditions.
 
-  Copyright (c) Erik Southworth, 2009  This is free documentation:
+  Copyright (c) Erik Southworth, 2010  This is free documentation:
   copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
   notice and this notice are preserved.
 SEE ALSO
+  jungledisk(1) rsync(1)
   Support Site  http://support.jungledisk.com
-  FUSE Filesystem Homepage  http://fuse.sourceforge.net
+  FUSE Filesystem  http://fuse.sourceforge.net
 
   See also the INSTALL file for some useful tips and tricks.
 #! /usr/bin/env python
 # encoding: utf-8
-# Erik Southworth, 2009 (s6v)
+# Erik Southworth, 2009,2010 (s6v)
 
 import Options
 
 
 def build(bld):
 	if bld.env.MAINTAINER:
+		bld.new_task_gen(source='jungledisk.man1')
 		bld.new_task_gen(source='junglediskdesktop.man1')
 	else:
 		bld.new_task_gen(
 			rule		= 'true',
+			source		= 'junglediskd.1',
+		)
+		bld.new_task_gen(
+			rule		= 'true',
 			source		= 'junglediskdesktop.1',
 		)
+	bld.install_files('${MANDIR}/man1', 'jungledisk.1')
 	bld.install_files('${MANDIR}/man1', 'junglediskdesktop.1')
 #! /usr/bin/env python
 # encoding: utf-8
-# Erik Southworth, 2009 (s6v)
+# Erik Southworth, 2009,2010 (s6v)
 
 import Options
 import os
 import tarfile
 
 NAME = 'JungleDisk Desktop'
-VERSION = '3.04'
+VERSION = '3.05'
 BUGREPORT = 'http://bitbucket.org/superstition/jungledisk-desktop/issues/'
 HOMEPAGE = 'http://bitbucket.org/superstition/jungledisk-desktop/wiki/'
 RELEASE = '2009,2010'
-REVISION = '03 January 2010'
+REVISION = '06 March 2010'
 
 PKGVER = VERSION.replace('.', '')
 URL='http://downloads.jungledisk.com/jungledisk/'
 		help='is: maintainer build from VC sources',
 		dest='MAINTAINER')
 
-	opt.add_option_group('Report bugs to <<'+BUGREPORT+'>>')
+	opt.add_option_group('Report bugs to <'+BUGREPORT+'>')
 
 def configure(conf):
 	conf.check_tool(['gnu_dirs', 'misc'])
 		if platform.machine() == 'x86_64':
 			PACKAGE = PACKAGE64
 
-		print('=== downloading %s ===' % PACKAGE)
+		print('=== downloading {0} ===').format(PACKAGE)
+		print('{0}{1}').format(URL, PACKAGE)
 
 		dir = bld.path.abspath(bld.env)
 		dest = dir + 'junglediskdesktop.tar.gz'
 
 	bld.new_task_gen(
 		name			= 'wget',
-		target			= 'junglediskdesktop/junglediskdesktop junglediskdesktop/junglediskdesktop.png',
+		target			= 'junglediskdesktop/junglediskdesktop junglediskdesktop/jungledisk junglediskdesktop/junglediskdesktop.png',
 		rule			= fetch_archive,
 	)
 	bld.install_files('${BINDIR}', 'junglediskdesktop/junglediskdesktop', mode=0755)
+	bld.install_files('${BINDIR}', 'junglediskdesktop/jungledisk', mode=0755)
 	bld.install_files('${DATADIR}/icons/hicolor/32x32/apps',
 		'junglediskdesktop/junglediskdesktop.png')