Erik Southworth avatar Erik Southworth committed d64cdca

init commit

Comments (0)

Files changed (16)

+build/
+.waf
+.pyc
+.lock-wscript
+Makefile
+Erik Southworth <erik.southworth@gmail.com>
+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.
+#########################
+Installation Instructions
+#########################
+
+
+Basic Installation
+******************
+
+Briefly, the shell commands ``./configure; make; make install`` should
+configure, build, and install this package.  The package actually uses
+a custom scripting facility named waf. The shell commands
+``./waf configure; ./waf build; ./waf install`` should do the same.
+
+The most interesting options to set are the usual:
+--prefix=/usr
+
+Use the included ./preconfigure script to set these quickly.
+
+Interesting options
+*******************
+
+  Installation directories:
+    By default, "waf install" will put the files in "/usr/local/bin",
+    "/usr/local/lib" etc. An installation prefix other than "/usr/local"
+    can be given using "--prefix", for example "--prefix=$HOME"
+
+    --prefix=PREFIX     installation prefix (configuration) [default: '/usr/local/']
+    --destdir=DESTDIR   installation root [default: '']
+
+``configure`` also accepts some other, not widely useful, options.  Run
+``configure --help`` for more details.
+
+------------ -----   -----       ----       ---       --         -
+Erik Southworth, 2009 (s6v)
+####################
+Jungle Disk Desktop
+####################
+
+
+About
+=====
+
+Installation facility for Jungle Disk Desktop and associated support
+files on Linux systems.
+
+Features
+========
+
+We provide, but do not ship, junglediskdesktop.
+
+Jungle Disk Software does **NOT** allow *unlimited redistribution of
+unmodified binaries*. To publicly distribute(transfer/convey)
+Jungle Disk Software is a LICENSE violation.
+
+We do, however, ship install scripts, icons, etc ...
+
+Requirements
+============
+
+A GNU/Linux system or compatible is needed.
+
+There is nothing to compile, so no compilers are needed.
+
+    Conforming to: Red Hat
+        (you may need to tweak the build package for your system.
+        Please submit any useful tweaks to the authors. Thanks.)
+
+Build package
+    Requires:
+        * python >=2.5
+        * xdg-utils
+
+Installation
+============
+
+Installing is done by the following three commands::
+
+    $ ./configure
+    $ make
+    # make install (as root)
+
+Run ``./configure``, with some options if you wish. The standard options
+are documented in the INSTALL file.
+
+For more configuration details run::
+
+    $ ./configure --help
+
+If there are any errors during configuration, check your build environment
+and try to find the error, otherwise file a bug-report on the issue tracker
+or contact one of the authors.
+
+These files will be installed.
+
+    * ${bindir}/junglediskdesktop
+    * ${mandir}/man1/junglediskdesktop.1
+    * $XDG_DATA_DIRS/applications/junglediskdesktop.desktop
+    * $XDG_DATA_DIRS/icons/hicolor/48x48/filesystems/jungledisk.png
+    * $XDG_DATA_DIRS/icons/hicolor/48x48/filesystems/jungledisk-keys.png
+    * $XDG_DATA_DIRS/icons/hicolor/32x23/apps/junglediskdesktop.png
+
+Usage
+=====
+
+
+To run ``junglediskdesktop`` as a GUI application just click on the desktop::
+
+    Applications > System Tools > Jungle Disk Desktop
+
+If there are online disks which are mounted and produce a drive icon
+on the desktop, the pixmaps in:
+
+    /usr/share/icons/hicolor/48x48/filesystems/jungledisk.png
+    /usr/share/icons/hicolor/48x48/filesystems/jungledisk-keys.png
+
+can be referenced from the properties context menu to skin the
+drives with an appropriate icon image.
+
+Windows
+=======
+
+JungleDisk Desktop also runs under Windows. To download the binary
+with all necessary files, visit JungleDisk's homepage:
+
+    http://JungleDisk.com/
+
+License
+=======
+
+This software is distributed under the terms of the MIT License. A copy
+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
+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:
+http://forum.jungledisk.com/viewtopic.php?p=36195&sid=70a426789ef23b96838d9929313105be
+
+We assume that <mkoistinen> intended a more liberal license and mark his work as follows::
+
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+                    Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar
+  14 rue de Plaisance, 75014 Paris, France
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. You just DO WHAT THE FUCK YOU WANT TO.
+
+Ideas, questions, patches and bug reports
+=========================================
+
+Home page:
+    http://bitbucket.org/superstition/jungledisk-desktop/wiki/
+
+Primary distribution point:
+    http://bitbucket.org/superstition/jungledisk-desktop/downloads/
+
+Ideas, questions, patches and bug reports:
+    http://bitbucket.org/superstition/jungledisk-desktop/issues/
+
+If you add something, or fix a bug, please send a patch (in 'diff -u'
+format) to the issue tracker or one of the authors listed below.
+
+------------ -----   -----       ----       ---       --         -
+Erik Southworth, 2009 (s6v)
+
+JungleDisk.com - Jungle Disk Software
+#! /bin/sh
+
+# waf configure wrapper
+
+# Fancy colors used to beautify the output a bit.
+#
+if [ "$NOCOLOR" ] ; then
+    NORMAL=""
+    BOLD=""
+    RED=""
+    YELLOW=""
+    GREEN=""
+else
+    NORMAL='\033[0m'
+    BOLD='\033[01;1m'
+    RED='\033[01;91m'
+    YELLOW='\033[00;33m'
+    GREEN='\033[01;92m'
+fi
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_ERROR=2
+EXIT_BUG=10
+
+CUR_DIR=$PWD
+
+#possible relative path
+WORKINGDIR=`dirname $0`
+cd $WORKINGDIR
+#abs path
+WORKINGDIR=`pwd`
+cd $CUR_DIR
+
+
+# Checks for WAF. Honours $WAF if set. Stores path to 'waf' in $WAF.
+# Requires that $PYTHON is set.
+#
+checkWAF()
+{
+	printf "Checking for WAF\t\t\t : "
+	#installed miniwaf in sourcedir
+	if [ -z "$WAF" ] ; then
+	    if [ -f "${WORKINGDIR}/waf" ] ; then
+		WAF="${WORKINGDIR}/waf"
+		if [ ! -x "$WAF" ] ; then
+		    chmod +x $WAF
+		fi
+	    fi
+	fi
+	if [ -z "$WAF" ] ; then
+	    if [ -f "${WORKINGDIR}/waf-light" ] ; then
+		${WORKINGDIR}/waf-light --make-waf
+	        WAF="${WORKINGDIR}/waf"
+	    fi
+	fi
+	#global installed waf with waf->waf.py link
+	if [ -z "$WAF" ] ; then
+	    WAF=`which waf 2>/dev/null`
+	fi
+	# neither waf nor miniwaf could be found
+	if [ ! -x "$WAF" ] ; then
+	    printf "$RED""not found""$NORMAL""\n"
+	    echo "Go to http://code.google.com/p/waf/"
+	    echo "and download a waf version"
+	    exit $EXIT_FAILURE
+	else
+	  printf "$GREEN""$WAF""$NORMAL""\n"
+	fi
+}
+
+# Generates a Makefile. Requires that $WAF is set.
+#
+generateMakefile()
+{
+	cat > Makefile << EOF
+#!/usr/bin/make -f
+# Waf Makefile wrapper
+WAF_HOME=$CUR_DIR
+
+all:
+	@$WAF build
+
+all-debug:
+	@$WAF -v build
+
+all-progress:
+	@$WAF -p build
+
+install:
+	$WAF install
+
+uninstall:
+	$WAF uninstall
+
+clean:
+	@$WAF clean
+
+distclean:
+	@$WAF distclean
+	@-rm -f Makefile
+
+distcheck:
+	@$WAF distcheck
+
+dist:
+	@$WAF dist
+
+.PHONY: clean dist distclean distcheck uninstall install all
+
+EOF
+}
+
+checkWAF
+generateMakefile
+
+"${WAF}" configure $*
+exit $?
Add a comment to this file

desktop/jungledisk-keys.png

Added
New image
Added
New image

desktop/junglediskdesktop.desktop

+[Desktop Entry]
+Version=1.0
+Name=Jungle Disk Desktop
+GenericName=On-line Backup Utility
+Comment=On-line backup and synchronization
+Exec=junglediskdesktop
+Icon=junglediskdesktop
+Terminal=false
+Type=Application
+StartupNotify=false
+Categories=GNOME;GTK;Archiving;System;
+#! /usr/bin/env python
+# encoding: utf-8
+# Erik Southworth, 2009 (s6v)
+
+import Options
+import os
+import Utils
+
+def configure(conf):
+	conf.find_program('xdg-desktop-menu'	, var='XDG_DESKTOP_MENU'	, mandatory=True)
+	#~ conf.find_program('xdg-desktop-icon'	, var='XDG_DESKTOP_ICON'	, mandatory=True)
+	#~ conf.find_program('xdg-mime'			, var='XDG_MIME'			, mandatory=True)
+	conf.find_program('xdg-icon-resource'	, var='XDG_ICON_RESOURCE'	, mandatory=True)
+	conf.find_program('xdg-open'			, var='XDG_OPEN'			, mandatory=True)
+
+def build(bld):
+	bld.install_files('${DATADIR}/applications',
+		'junglediskdesktop.desktop')
+
+	bld.install_files('${DATADIR}/icons/hicolor/48x48/filesystems',
+		'jungledisk.png jungledisk-keys.png')
+
+	def update_database(bld):
+		UID = os.getuid()
+
+		if Options.is_install and UID == 0:
+			print('  +++ updating desktop database +++')
+			Utils.exec_command('%s forceupdate' % bld.env['XDG_DESKTOP_MENU'])
+			Utils.exec_command('%s forceupdate' % bld.env['XDG_ICON_RESOURCE'])
+
+	bld.add_post_fun(update_database)

man/junglediskdesktop.man1

+NAME
+  junglediskdesktop - a reliable on-line backup and synchronization utility.
+SYNOPSIS
+  junglediskdesktop [ options ]
+DESCRIPTION
+  The Jungle Disk Desktop provides a complete UI for configuration
+  and status monitoring. It also supports automatic backup, and can
+  mount your online disks as virtual drives via FUSE.
+OPTIONS
+  -h/--help                          print this help
+  --standalone
+  --service
+  --servicePort=<n>                  WebDAV port
+  --startbackup <job name or GUID>   start a single backup job
+  --startbackups                     start all backup jobs
+  --exitdelay <minutes>              exit after X idle minutes
+  --exit                             exit when idle for 1 minute
+DIAGNOSTICS
+  junglediskmonitor logs all errors to the GUI. You can double-click
+  an error for more details or right-click to copy to the clipboard.
+AUTHOR
+  Manual written by Erik Southworth; referenced from usage and INSTALL file.
+COPYRIGHT
+  Copyright (c) Jungle Disk, LLC., 2009  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:
+  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
+  Support Site  http://support.jungledisk.com
+  FUSE Filesystem Homepage  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)
+
+"""
+War Tool used by wscripts to build manual pages.
+Txt2man will convert text manual pages to groff format using gawk.
+
+Requires:
+    txt2man-1.5.7 <http://bitbucket.org/superstition/txt2man/downloads/>
+
+Use filename extensions .man{1,2,3,4,5,6,7,8} section numbers:
+
+Section 1: Commands
+Section 2: System calls
+Section 3: Library calls
+Section 4: Special files (devices)
+Section 5: File formats and conventions
+Section 6: Games
+Section 7: Conventions and misc
+Section 8: System management commands
+
+EXAMPLES
+    def configure(conf):
+        conf.check_tool('txt2man', tooldir='.')
+
+    def build(bld):
+        bld.new_task_gen(source='filename.man1p') or
+        bld.new_task_gen(source='filename.txt', ext='.1')
+"""
+
+from Configure import conftest
+from TaskGen import extension
+import Task
+import Utils
+
+def detect(conf):
+    conf.find_txt2man()
+    conf.find_gawk()
+    name = Utils.g_module.NAME
+    version = Utils.g_module.VERSION
+    conf.env['PACKAGE_STRING'] = name + ' ' + version
+
+@conftest
+def find_txt2man(conf):
+    txt2man = conf.find_program('txt2man', var='TXT2MAN', mandatory=True)
+    txt2man = conf.cmd_to_list(txt2man)
+    conf.env['TXT2MAN'] = txt2man
+
+@conftest
+def find_gawk(conf):
+    gawk = conf.find_program('gawk', var='GAWK', mandatory=True)
+    gawk = conf.cmd_to_list(gawk)
+    conf.env['GAWK'] = gawk
+
+@extension('.man .man0p .man1 .man1p .man2 .man3 .man3p .man4 .man5 .man6 .man7 .man8 .mann')
+def process_txt2man(self, node):
+    # """use e.g., ext='.1' or if None then the
+    # extension is determined by slicing [man:x]."""
+
+    # get srcfile extension
+    source = self.source
+    k = source.rfind('.')
+    if k >= 0:
+        ext = source[k:]
+
+    # set new extension and
+    # set man section number
+    if not hasattr(self, "ext"):
+        self.ext = '.' + ext[4:]
+        section = ext[4:]
+    else:
+        section = self.ext[1:]
+
+    task = self.create_task('txt2man')
+    task.env.SECTION = section
+    task.inputs = [node]
+    task.outputs = [node.change_ext(self.ext)]
+
+LINE = '${TXT2MAN} -p -r "${PACKAGE_STRING}" -s ${SECTION} ${SRC} >${TGT}'
+Task.simple_task_type('txt2man', LINE, 'BLUE')
+#! /usr/bin/env python
+# encoding: utf-8
+# Erik Southworth, 2009 (s6v)
+
+import Options
+
+def configure(conf):
+	if Options.options.MAINTAINER:
+		conf.check_tool('txt2man', tooldir='man')
+
+def build(bld):
+	if bld.env.MAINTAINER:
+		bld.new_task_gen(source='junglediskdesktop.man1')
+	else:
+		bld.new_task_gen(
+			rule		= 'true',
+			source		= 'junglediskdesktop.1',
+		)
+	bld.install_files('${MANDIR}/man1', 'junglediskdesktop.1')
+#!/bin/sh
+# preconfigure - preset configure command
+# Erik Southworth, 2009 (s6v)
+
+./configure --prefix=/usr "$@"
+#! /usr/bin/env python
+# encoding: utf-8
+# Erik Southworth, 2009 (s6v)
+
+import Options
+import Utils
+import os
+import shutil
+import platform
+import urllib
+import tarfile
+
+NAME = 'JungleDisk Desktop'
+VERSION = '3.01'
+BUGREPORT = 'http://bitbucket.org/superstition/jungledisk-desktop/issues/'
+HOMEPAGE = 'http://bitbucket.org/superstition/jungledisk-desktop/wiki/'
+RELEASE = '2009'
+REVISION = '23 November 2009'
+
+URL='http://downloads.jungledisk.com/jungledisk/'
+PACKAGE='junglediskdesktop301.tar.gz'
+PACKAGE64='junglediskdesktop64-301.tar.gz'
+
+srcdir = '.'
+blddir = 'build'
+
+def set_options(opt):
+	#~ opt.tool_options('gnu_dirs')
+
+	opt.add_option('--maintainer', action='store_true', default=False,
+		help='is: maintainer build from VC sources [default: False]',
+		dest='MAINTAINER')
+
+def configure(conf):
+	conf.check_tool(['gnu_dirs', 'misc'])
+
+	if Options.options.MAINTAINER:
+		conf.env.MAINTAINER = True
+
+	conf.sub_config('desktop')
+	conf.sub_config('man')
+
+def build(bld):
+	def fetch_archive(self):
+		if platform.machine() == 'x86_64':
+			PACKAGE = PACKAGE64
+
+		print('=== downloading %s ===' % PACKAGE)
+
+		dir = bld.path.abspath(bld.env)
+		dest = dir + 'junglediskdesktop.tar.gz'
+		urllib.urlretrieve(URL+PACKAGE, dest)
+		tar = tarfile.open(dest)
+		tar.extractall(path=dir)
+		tar.close()
+
+	bld.path.ensure_dir_node_from_path(['junglediskdesktop'])
+
+	bld.new_task_gen(
+		name			= 'wget',
+		target			= 'junglediskdesktop/junglediskdesktop junglediskdesktop/junglediskdesktop.png',
+		rule			= fetch_archive,
+	)
+	bld.install_files('${BINDIR}', 'junglediskdesktop/junglediskdesktop', mode=0755)
+	bld.install_files('${DATADIR}/icons/hicolor/32x32/apps',
+		'junglediskdesktop/junglediskdesktop.png')
+
+	bld.add_subdirs('desktop')
+	bld.add_subdirs('man')
+
+def dist_hook():
+	shutil.copy2('/usr/bin/waf', '.')
+
+	dir = os.path.join(os.pardir, blddir, 'default/man/')
+	file = 'junglediskdesktop.1'
+	shutil.copy2(dir+file, 'man')
+	os.remove('man/junglediskdesktop.man1')
+	os.remove('man/txt2man.py')
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.