tahoe-lafs/mac/Makefile
robk-tahoe 00aa75d1e8 fuse/impl_c: move mac tahoefuse impl out into contrib/fuse
For a variety of reasons, high amongst them the fact that many people 
interested in fuse support for tahoe seem to have missed its existence,
the existing fuse implementation for tahoe, previously 'mac/tahoefuse.py'
has been renamed and moved.

It was suggested that, even though the mac build depends upon it, that
the mac/tahoefuse implementation be moved into contrib/fuse along with
the other fuse implementations.  The fact that it's not as extensively
covered by unit tests as mainline tahoe was given as corroboration.

In a bid to try and stem the confusion inherent in having tahoe_fuse,
tfuse and tahoefuse jumbled together (not necessarily helped by 
referring to them as impl_a, b and c respectively) I'm hereby renaming
tahoefuse as 'blackmatch'  (black match is, per wikipedia "a type of 
crude fuse" hey, I'm a punny guy)  Maybe one day it'll be promoted to
be 'quickmatch' instead...

Anyway, this patch moves mac/tahoefuse.py out to contrib/fuse/impl_c/
as blackmatch.py, and makes appropriate changes to the mac build process
to transclude blackmatch therein.  this leaves the extant fuse.py and
fuseparts business in mac/ as-is and doesn't attempt to address such
issues in contrib/fuse/impl_c.

it is left as an exercise to the reader (or the reader of a message
to follow) as to how to deal with the 'fuse' python module on the mac.

as of this time, blackmatch should work on both mac and linux, and
passes the four extant tests in runtests.  (fwiw neither impl_a nor
impl_b have I managed to get working on the mac yet)

since blackmatch supports a read-write and caching fuse interface to
tahoe, some write tests obviously need to be added to runtests.
2008-09-24 18:42:14 -07:00

39 lines
1.2 KiB
Makefile

.PHONY: all dist build diskimage upload cleanup clean
all: build
dist: build diskimage upload cleanup
build:
rsync -av ` sw_vers -productVersion | sed -e 's/^\(10\.[0-9]*\)\..*$$/\1/' `/ ./
ln -sf ../contrib/fuse/impl_c/blackmatch.py tahoefuse.py
python setup.py py2app --no-chdir
diskimage:
mv dist Allmydata-$(VERSION)
hdiutil create -ov -srcfolder Allmydata-$(VERSION) allmydata-rw.dmg
hdiutil convert -ov allmydata-rw.dmg -format UDRO -o allmydata-ro.dmg
hdiutil convert -ov allmydata-ro.dmg -format UDZO -o Allmydata-$(VERSION).dmg
hdiutil internet-enable -yes Allmydata-$(VERSION).dmg
rm -r Allmydata-$(VERSION) allmydata-rw.dmg allmydata-ro.dmg
ifdef UPLOAD_DEST_FURLFILE
# N.B.: xfer-client.py requires foolscap, so we hack up PYTHONPATH to improve
# the chances of finding it (using the one that we just built)
upload:
chmod a+r Allmydata-$(VERSION).dmg
PYTHONPATH=$(PYTHONPATH):../support/lib/python2.5/site-packages \
python ../misc/xfer-client.py --furlfile $(UPLOAD_DEST_FURLFILE) \
Allmydata-$(VERSION).dmg
else
upload:
$(error UPLOAD_DEST_FURLFILE must be set when using upload target. e.g. make upload UPLOAD_DEST_FURLFILE=~/.upload.furl)
endif
cleanup:
rm Allmydata-$(VERSION).dmg
clean:
rm -rf build dist