aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile13
-rw-r--r--Remote/S3real.hs (renamed from Remote/S3.hs)0
-rw-r--r--Remote/S3stub.hs13
-rw-r--r--debian/changelog2
-rw-r--r--doc/install.mdwn8
5 files changed, 29 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 8e1664503..6a1531a3c 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,14 @@ SysConfig.hs: configure.hs TestConfig.hs
hsc2hs $<
perl -i -pe 's/^{-# INCLUDE.*//' $@
-$(bins): SysConfig.hs Touch.hs StatFS.hs
+Remote/S3.o:
+ @ln -sf S3real.hs Remote/S3.hs
+ @if ! $(GHCMAKE) Remote/S3.hs; then \
+ ln -sf S3stub.hs Remote/S3.hs; \
+ echo "** building without S3 support"; \
+ fi
+
+$(bins): SysConfig.hs Touch.hs StatFS.hs Remote/S3.o
$(GHCMAKE) $@
git-annex.1: doc/git-annex.mdwn
@@ -62,8 +69,8 @@ docs: $(mans)
--exclude='news/.*'
clean:
- rm -rf build $(bins) $(mans) test configure \
- StatFS.hs Touch.hs SysConfig.hs *.tix .hpc
+ rm -rf build $(bins) $(mans) test configure *.tix .hpc \
+ StatFS.hs Touch.hs SysConfig.hs Remote/S3.hs
rm -rf doc/.ikiwiki html
find . \( -name \*.o -or -name \*.hi \) -exec rm {} \;
diff --git a/Remote/S3.hs b/Remote/S3real.hs
index 260c1eee8..260c1eee8 100644
--- a/Remote/S3.hs
+++ b/Remote/S3real.hs
diff --git a/Remote/S3stub.hs b/Remote/S3stub.hs
new file mode 100644
index 000000000..0d6ec47de
--- /dev/null
+++ b/Remote/S3stub.hs
@@ -0,0 +1,13 @@
+-- stub for when hS3 is not available
+module Remote.S3 (remote) where
+
+import RemoteClass
+import Types
+
+remote :: RemoteType Annex
+remote = RemoteType {
+ typename = "S3",
+ enumerate = return [],
+ generate = error "S3 not enabled",
+ setup = error "S3 not enabled"
+}
diff --git a/debian/changelog b/debian/changelog
index faf2833a8..b03bc1d1b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ git-annex (0.20110329) UNRELEASED; urgency=low
* Amazon S3 is now supported as a special type of remote.
Warning: Encrypting data before sending it to S3 is not yet supported.
+ * Note that Amazon S3 support is not built in by default on Debian yet,
+ as hS3 is not packaged.
* fsck: Ensure that files and directories in .git/annex/objects
have proper permissions.
diff --git a/doc/install.mdwn b/doc/install.mdwn
index 7b2c536c9..70ab8e30b 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -13,17 +13,17 @@ To build and use git-annex, you will need:
* MissingH: <http://github.com/jgoerzen/missingh/wiki>
* pcre-light: <http://hackage.haskell.org/package/pcre-light>
* utf8-string: <http://hackage.haskell.org/package/utf8-string>
-* hS3: <http://hackage.haskell.org/package/hS3>
+* hS3 <http://hackage.haskell.org/package/hS3> (optional, but recommended)
* `uuid`: <http://www.ossp.org/pkg/lib/uuid/>
(or uuidgen from util-linux)
* `xargs`: <http://savannah.gnu.org/projects/findutils/>
* `rsync`: <http://rsync.samba.org/>
* `curl` : <http://http://curl.haxx.se/> (optional, but recommended)
* `sha1sum`: <ftp://ftp.gnu.org/gnu/coreutils/> (optional, but recommended)
-* Then just [[download]] git-annex and run: `make; make install`
+* [Ikiwiki](http://ikiwiki.info) is needed to build the documentation,
+ but that will be skipped if it is not installed.
-([Ikiwiki](http://ikiwiki.info) is needed to build the documentation,
-but that will be skipped if it is not installed.)
+Then just [[download]] git-annex and run: `make; make install`
Additionally, to run the test suite (via `make test`), you will need: