nasty hack to build when hS3 is not available
So, it would be nicer to just use Cabal and take advantage of its conditional compilation support. But, Cabal seems to lack good support for a package with an internal library that is used by multiple executables. It wants to build everything twice or more. That's too slow for me. Anyway, fairly soon, I expect to upgrade hS3 to a requirment, and I can just revert this.
This commit is contained in:
parent
def137b0cc
commit
9c96d86502
5 changed files with 29 additions and 7 deletions
13
Makefile
13
Makefile
|
@ -15,7 +15,14 @@ SysConfig.hs: configure.hs TestConfig.hs
|
||||||
hsc2hs $<
|
hsc2hs $<
|
||||||
perl -i -pe 's/^{-# INCLUDE.*//' $@
|
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) $@
|
$(GHCMAKE) $@
|
||||||
|
|
||||||
git-annex.1: doc/git-annex.mdwn
|
git-annex.1: doc/git-annex.mdwn
|
||||||
|
@ -62,8 +69,8 @@ docs: $(mans)
|
||||||
--exclude='news/.*'
|
--exclude='news/.*'
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf build $(bins) $(mans) test configure \
|
rm -rf build $(bins) $(mans) test configure *.tix .hpc \
|
||||||
StatFS.hs Touch.hs SysConfig.hs *.tix .hpc
|
StatFS.hs Touch.hs SysConfig.hs Remote/S3.hs
|
||||||
rm -rf doc/.ikiwiki html
|
rm -rf doc/.ikiwiki html
|
||||||
find . \( -name \*.o -or -name \*.hi \) -exec rm {} \;
|
find . \( -name \*.o -or -name \*.hi \) -exec rm {} \;
|
||||||
|
|
||||||
|
|
13
Remote/S3stub.hs
Normal file
13
Remote/S3stub.hs
Normal file
|
@ -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"
|
||||||
|
}
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -2,6 +2,8 @@ git-annex (0.20110329) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* Amazon S3 is now supported as a special type of remote.
|
* Amazon S3 is now supported as a special type of remote.
|
||||||
Warning: Encrypting data before sending it to S3 is not yet supported.
|
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
|
* fsck: Ensure that files and directories in .git/annex/objects
|
||||||
have proper permissions.
|
have proper permissions.
|
||||||
|
|
||||||
|
|
|
@ -13,17 +13,17 @@ To build and use git-annex, you will need:
|
||||||
* MissingH: <http://github.com/jgoerzen/missingh/wiki>
|
* MissingH: <http://github.com/jgoerzen/missingh/wiki>
|
||||||
* pcre-light: <http://hackage.haskell.org/package/pcre-light>
|
* pcre-light: <http://hackage.haskell.org/package/pcre-light>
|
||||||
* utf8-string: <http://hackage.haskell.org/package/utf8-string>
|
* 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/>
|
* `uuid`: <http://www.ossp.org/pkg/lib/uuid/>
|
||||||
(or uuidgen from util-linux)
|
(or uuidgen from util-linux)
|
||||||
* `xargs`: <http://savannah.gnu.org/projects/findutils/>
|
* `xargs`: <http://savannah.gnu.org/projects/findutils/>
|
||||||
* `rsync`: <http://rsync.samba.org/>
|
* `rsync`: <http://rsync.samba.org/>
|
||||||
* `curl` : <http://http://curl.haxx.se/> (optional, but recommended)
|
* `curl` : <http://http://curl.haxx.se/> (optional, but recommended)
|
||||||
* `sha1sum`: <ftp://ftp.gnu.org/gnu/coreutils/> (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,
|
Then just [[download]] git-annex and run: `make; make install`
|
||||||
but that will be skipped if it is not installed.)
|
|
||||||
|
|
||||||
Additionally, to run the test suite (via `make test`), you will need:
|
Additionally, to run the test suite (via `make test`), you will need:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue