]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
rename GNUmakefile to Makefile: I've mis-typed the name one too many times
authorBrian Warner <warner@allmydata.com>
Wed, 11 Jul 2007 20:34:16 +0000 (13:34 -0700)
committerBrian Warner <warner@allmydata.com>
Wed, 11 Jul 2007 20:34:16 +0000 (13:34 -0700)
GNUmakefile [deleted file]
Makefile [new file with mode: 0644]

diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100644 (file)
index 2435f15..0000000
+++ /dev/null
@@ -1,294 +0,0 @@
-default: build
-
-BASE=$(shell pwd)
-PYTHON=python
-INSTDIR=$(BASE)/instdir
-PATHSEP=$(shell python -c 'import os ; print os.pathsep')
-TRIALPATH=$(shell which trial.py 2>/dev/null)
-ifeq ($(TRIALPATH),)
-TRIALPATH=$(shell which trial 2>/dev/null)
-endif
-ifeq ($(TRIALPATH),)
-TRIALPATH=$(shell $(PYTHON) -c "import os, sys; print repr(os.path.join(sys.prefix, \"Scripts\", \"trial.py\"))")
-endif
-ifeq ($(TRIALPATH),)
-TRIALPATH=$(shell $(PYTHON) -c "import os, sys; print repr(os.path.join(sys.prefix, \"Scripts\", \"trial\"))")
-endif
-
-EXTRA_SETUP_ARGS=
-REACTOR=poll
-
-PLAT = $(strip $(shell python -c "import sys ; print sys.platform"))
-ifeq ($(PLAT),cygwin)
- # The platform is Windows with cygwin build tools and the cygwin Python interpreter.
- INSTDIR := $(shell cygpath -u $(INSTDIR))
-else
- ifeq ($(PLAT),win32)
-  # The platform is Windows with cygwin build tools and the native Python interpreter.
-  EXTRA_SETUP_ARGS=build -c mingw32
-  REACTOR=select
-  INSTDIR := $(shell cygpath -w $(INSTDIR))
-  TRIALPATH := $(shell cygpath -w $(TRIALPATH))
-  ifneq ($(PYTHONPATH),)
-   PYTHONPATH := $(shell cygpath -w $(PYTHONPATH))
-  endif
- endif
-endif
-
-ORIGPYTHONPATH=$(PYTHONPATH)
-
-# Append instdir/lib instead of prepending it so that people can override
-# things from lib with alternate packages of their choosing by setting their
-# PYTHONPATH.
-
-ifneq ($(PYTHONPATH),)
-PYTHONPATH := "$(PYTHONPATH)$(PATHSEP)$(INSTDIR)/lib"
-else
-PYTHONPATH := "$(INSTDIR)/lib"
-endif
-
-TRIAL=$(PYTHON) -u "$(TRIALPATH)" --rterrors --reactor=$(REACTOR)
-
-show-instdir:
-       @echo $(INSTDIR)/lib
-
-PP=PYTHONPATH=$(PYTHONPATH)
-
-.PHONY: make-version build
-make-version:
-       $(PYTHON) misc/make-version.py
-
-build: make-version build-zfec build-Crypto build-foolscap build-simplejson
-       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="$(INSTDIR)" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
-
-build-zfec:
-       cd src/zfec &&  \
-       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --single-version-externally-managed --prefix="$(INSTDIR)" --record="$(INSTDIR)/zfec_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
-
-build-foolscap:
-       cd src/foolscap && \
-       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="$(INSTDIR)" --record="$(INSTDIR)/foolscap_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
-
-build-simplejson:
-       cd src/simplejson && \
-       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --single-version-externally-managed --prefix="$(INSTDIR)" --record="$(INSTDIR)/simplejson_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
-
-build-Crypto:
-       cd src/Crypto && \
-       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="$(INSTDIR)" --record="$(INSTDIR)/Crypto_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
-
-clean-zfec:
-       -cd src/zfec && \
-       $(PP) $(PYTHON) ./setup.py clean --all
-
-clean-foolscap:
-       -cd src/foolscap && \
-       $(PP) $(PYTHON) ./setup.py clean --all
-
-clean-Crypto:
-       cd src/Crypto && \
-       $(PP) $(PYTHON) ./setup.py clean --all
-
-
-# RUNNING
-#
-# these targets let you create a client node in the current directory and
-# start/stop it.
-
-.PHONY: create-client start-client stop-client run-client
-.PHONY: create-introducer start-introducer stop-introducer
-
-create-client: build
-       $(PP) $(PYTHON) bin/allmydata-tahoe create-client -C CLIENTDIR
-start-client: build
-       $(PP) $(PYTHON) bin/allmydata-tahoe start -C CLIENTDIR
-stop-client: build
-       $(PP) $(PYTHON) bin/allmydata-tahoe stop -C CLIENTDIR
-
-create-introducer: build
-       $(PP) $(PYTHON) bin/allmydata-tahoe create-introducer -C INTRODUCERDIR
-start-introducer: build
-       $(PP) $(PYTHON) bin/allmydata-tahoe start -C INTRODUCERDIR
-stop-introducer: build
-       $(PP) $(PYTHON) bin/allmydata-tahoe stop -C INTRODUCERDIR
-
-
-
-# TESTING
-
-.PHONY: test-all test test-foolscap test-figleaf figleaf-output
-
-# you can use 'make test TEST=allmydata.test.test_introducer' to run just a
-# specific test. TEST=allmydata.test.test_client.Basic.test_permute works
-# too.
-TEST=allmydata zfec
-REPORTER=
-
-test-all: test-foolscap test
-
-# use 'make test REPORTER=--reporter=bwverbose' from buildbot, to supress the
-# ansi color sequences
-
-test: build
-       $(PP) $(TRIAL) $(REPORTER) $(TEST)
-
-# foolscap tests need to be run in their own source dir, so that the paths to
-# the .pyc files are correct (since some of the foolscap tests depend upon
-# stack traces having actual source code in them, and they don't when the
-# tests are run from the 'instdir' that the tahoe makefile uses).
-test-foolscap:
-       cd src/foolscap && PYTHONPATH=$(ORIGPYTHONPATH) $(TRIAL) $(REPORTER) foolscap
-
-test-figleaf: build
-       find $(INSTDIR) -name '*.pyc' |xargs rm
-       rm -f .figleaf
-       $(PP) $(TRIAL) --reporter=bwverbose-figleaf $(TEST)
-
-figleaf-output:
-       $(PP) $(PYTHON) misc/figleaf2html -d coverage-html -r $(INSTDIR)/lib -x misc/figleaf.excludes
-       @echo "now point your browser at coverage-html/index.html"
-
-# after doing test-figleaf and figleaf-output, point your browser at
-# coverage-html/index.html
-
-.PHONY: upload-figleaf .figleaf.el pyflakes count-lines check-memory clean
-
-# 'upload-figleaf' is meant to be run with an UPLOAD_TARGET=host:/dir setting
-ifdef UPLOAD_TARGET
-
-ifndef UPLOAD_HOST
-$(error UPLOAD_HOST must be set when using UPLOAD_TARGET)
-endif
-ifndef COVERAGEDIR
-$(error COVERAGEDIR must be set when using UPLOAD_TARGET)
-endif
-
-upload-figleaf:
-       rsync -a coverage-html/ $(UPLOAD_TARGET)
-       ssh $(UPLOAD_HOST) make update-tahoe-figleaf COVERAGEDIR=$(COVERAGEDIR)
-else
-upload-figleaf:
-       echo "this target is meant to be run with UPLOAD_TARGET=host:/path/"
-       /bin/false
-endif
-
-.figleaf.el: .figleaf
-       $(PP) $(PYTHON) misc/figleaf2el.py .figleaf $(INSTDIR)/lib
-
-pyflakes:
-       $(PP) $(PYTHON) -OOu `which pyflakes` src/allmydata
-
-count-lines:
-       @echo -n "files: "
-       @find src -name '*.py' |grep -v /build/ |wc --lines
-       @echo -n "lines: "
-       @cat `find src -name '*.py' |grep -v /build/` |wc --lines
-       @echo -n "TODO: "
-       @grep TODO `find src -name '*.py' |grep -v /build/` | wc --lines
-
-check-memory: build
-       $(PP) $(PYTHON) src/allmydata/test/check_memory.py
-
-test-darcs-boringfile:
-       $(MAKE)
-       $(PYTHON) misc/test-darcs-boringfile.py
-
-test-clean:
-       find . |sort >allfiles.tmp.old
-       $(MAKE)
-       $(MAKE) clean
-       find . |grep -v allfiles.tmp |sort >allfiles.tmp.new
-       diff allfiles.tmp.old allfiles.tmp.new
-
-clean: clean-zfec clean-Crypto clean-foolscap
-       rm -rf build
-       rm -f debian
-       rm -rf instdir
-
-# DEBIAN PACKAGING
-
-VER=$(shell $(PYTHON) misc/get-version.py)
-DEBCOMMENTS="'make deb' build"
-
-show-version:
-       @echo $(VER)
-
-.PHONY: setup-deb deb-ARCH is-known-debian-arch
-.PHONY: deb-dapper deb-sid deb-feisty deb-edgy deb-etch
-
-deb-dapper:
-       $(MAKE) deb-ARCH ARCH=dapper
-deb-sid:
-       $(MAKE) deb-ARCH ARCH=sid
-deb-feisty:
-       $(MAKE) deb-ARCH ARCH=feisty
-# edgy uses the feisty control files for now
-deb-edgy:
-       $(MAKE) deb-ARCH ARCH=edgy TAHOE_ARCH=feisty
-# etch uses the feisty control files for now
-deb-etch:
-       $(MAKE) deb-ARCH ARCH=etch FOOLSCAP_ARCH=sid TAHOE_ARCH=feisty
-
-# we know how to handle the following debian architectures
-KNOWN_DEBIAN_ARCHES := dapper sid feisty edgy etch
-
-ifeq ($(findstring x-$(ARCH)-x,$(foreach arch,$(KNOWN_DEBIAN_ARCHES),"x-$(arch)-x")),)
-is-known-debian-arch:
-       @echo "ARCH must be set when using setup-deb or deb-ARCH"
-       @echo "I know how to handle:" $(KNOWN_DEBIAN_ARCHES)
-       /bin/false
-else
-is-known-debian-arch:
-       /bin/true
-endif
-
-ifndef FOOLSCAP_ARCH
-FOOLSCAP_ARCH=$(ARCH)
-endif
-ifndef TAHOE_ARCH
-TAHOE_ARCH=$(ARCH)
-endif
-
-setup-deb: is-known-debian-arch
-       rm -f debian
-       ln -s misc/$(TAHOE_ARCH)/debian debian
-       chmod +x debian/rules
-
-deb-ARCH: is-known-debian-arch setup-deb
-       fakeroot debian/rules binary
-       $(MAKE) -C src/foolscap debian-$(FOOLSCAP_ARCH)
-       mv src/python-foolscap*.deb ..
-       echo
-       echo "The newly built .deb packages are in the parent directory from here."
-
-.PHONY: increment-deb-version
-.PHONY: deb-dapper-head deb-sid-head deb-edgy-head deb-feisty-head
-.PHONY: deb-etch-head
-
-# The buildbot runs the following targets after each change, to produce
-# up-to-date tahoe .debs. These steps do not create foolscap or simplejson
-# .debs, only the deb-$ARCH targets (above) do that.
-
-increment-deb-version: make-version
-       debchange --newversion $(VER) $(DEBCOMMENTS)
-deb-dapper-head:
-       $(MAKE) setup-deb ARCH=dapper
-       $(MAKE) increment-deb-version
-       fakeroot debian/rules binary
-deb-sid-head:
-       $(MAKE) setup-deb ARCH=sid
-       $(MAKE) increment-deb-version
-       fakeroot debian/rules binary
-deb-edgy-head:
-       $(MAKE) setup-deb ARCH=edgy TAHOE_ARCH=feisty
-       $(MAKE) increment-deb-version
-       fakeroot debian/rules binary
-deb-feisty-head:
-       $(MAKE) setup-deb ARCH=feisty
-       $(MAKE) increment-deb-version
-       fakeroot debian/rules binary
-deb-etch-head:
-       $(MAKE) setup-deb ARCH=etch TAHOE_ARCH=feisty
-       $(MAKE) increment-deb-version
-       fakeroot debian/rules binary
-
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..2435f15
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,294 @@
+default: build
+
+BASE=$(shell pwd)
+PYTHON=python
+INSTDIR=$(BASE)/instdir
+PATHSEP=$(shell python -c 'import os ; print os.pathsep')
+TRIALPATH=$(shell which trial.py 2>/dev/null)
+ifeq ($(TRIALPATH),)
+TRIALPATH=$(shell which trial 2>/dev/null)
+endif
+ifeq ($(TRIALPATH),)
+TRIALPATH=$(shell $(PYTHON) -c "import os, sys; print repr(os.path.join(sys.prefix, \"Scripts\", \"trial.py\"))")
+endif
+ifeq ($(TRIALPATH),)
+TRIALPATH=$(shell $(PYTHON) -c "import os, sys; print repr(os.path.join(sys.prefix, \"Scripts\", \"trial\"))")
+endif
+
+EXTRA_SETUP_ARGS=
+REACTOR=poll
+
+PLAT = $(strip $(shell python -c "import sys ; print sys.platform"))
+ifeq ($(PLAT),cygwin)
+ # The platform is Windows with cygwin build tools and the cygwin Python interpreter.
+ INSTDIR := $(shell cygpath -u $(INSTDIR))
+else
+ ifeq ($(PLAT),win32)
+  # The platform is Windows with cygwin build tools and the native Python interpreter.
+  EXTRA_SETUP_ARGS=build -c mingw32
+  REACTOR=select
+  INSTDIR := $(shell cygpath -w $(INSTDIR))
+  TRIALPATH := $(shell cygpath -w $(TRIALPATH))
+  ifneq ($(PYTHONPATH),)
+   PYTHONPATH := $(shell cygpath -w $(PYTHONPATH))
+  endif
+ endif
+endif
+
+ORIGPYTHONPATH=$(PYTHONPATH)
+
+# Append instdir/lib instead of prepending it so that people can override
+# things from lib with alternate packages of their choosing by setting their
+# PYTHONPATH.
+
+ifneq ($(PYTHONPATH),)
+PYTHONPATH := "$(PYTHONPATH)$(PATHSEP)$(INSTDIR)/lib"
+else
+PYTHONPATH := "$(INSTDIR)/lib"
+endif
+
+TRIAL=$(PYTHON) -u "$(TRIALPATH)" --rterrors --reactor=$(REACTOR)
+
+show-instdir:
+       @echo $(INSTDIR)/lib
+
+PP=PYTHONPATH=$(PYTHONPATH)
+
+.PHONY: make-version build
+make-version:
+       $(PYTHON) misc/make-version.py
+
+build: make-version build-zfec build-Crypto build-foolscap build-simplejson
+       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="$(INSTDIR)" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
+
+build-zfec:
+       cd src/zfec &&  \
+       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --single-version-externally-managed --prefix="$(INSTDIR)" --record="$(INSTDIR)/zfec_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
+
+build-foolscap:
+       cd src/foolscap && \
+       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="$(INSTDIR)" --record="$(INSTDIR)/foolscap_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
+
+build-simplejson:
+       cd src/simplejson && \
+       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --single-version-externally-managed --prefix="$(INSTDIR)" --record="$(INSTDIR)/simplejson_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
+
+build-Crypto:
+       cd src/Crypto && \
+       $(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="$(INSTDIR)" --record="$(INSTDIR)/Crypto_install.log" --install-lib="$(INSTDIR)/lib" --install-scripts="$(INSTDIR)/bin"
+
+clean-zfec:
+       -cd src/zfec && \
+       $(PP) $(PYTHON) ./setup.py clean --all
+
+clean-foolscap:
+       -cd src/foolscap && \
+       $(PP) $(PYTHON) ./setup.py clean --all
+
+clean-Crypto:
+       cd src/Crypto && \
+       $(PP) $(PYTHON) ./setup.py clean --all
+
+
+# RUNNING
+#
+# these targets let you create a client node in the current directory and
+# start/stop it.
+
+.PHONY: create-client start-client stop-client run-client
+.PHONY: create-introducer start-introducer stop-introducer
+
+create-client: build
+       $(PP) $(PYTHON) bin/allmydata-tahoe create-client -C CLIENTDIR
+start-client: build
+       $(PP) $(PYTHON) bin/allmydata-tahoe start -C CLIENTDIR
+stop-client: build
+       $(PP) $(PYTHON) bin/allmydata-tahoe stop -C CLIENTDIR
+
+create-introducer: build
+       $(PP) $(PYTHON) bin/allmydata-tahoe create-introducer -C INTRODUCERDIR
+start-introducer: build
+       $(PP) $(PYTHON) bin/allmydata-tahoe start -C INTRODUCERDIR
+stop-introducer: build
+       $(PP) $(PYTHON) bin/allmydata-tahoe stop -C INTRODUCERDIR
+
+
+
+# TESTING
+
+.PHONY: test-all test test-foolscap test-figleaf figleaf-output
+
+# you can use 'make test TEST=allmydata.test.test_introducer' to run just a
+# specific test. TEST=allmydata.test.test_client.Basic.test_permute works
+# too.
+TEST=allmydata zfec
+REPORTER=
+
+test-all: test-foolscap test
+
+# use 'make test REPORTER=--reporter=bwverbose' from buildbot, to supress the
+# ansi color sequences
+
+test: build
+       $(PP) $(TRIAL) $(REPORTER) $(TEST)
+
+# foolscap tests need to be run in their own source dir, so that the paths to
+# the .pyc files are correct (since some of the foolscap tests depend upon
+# stack traces having actual source code in them, and they don't when the
+# tests are run from the 'instdir' that the tahoe makefile uses).
+test-foolscap:
+       cd src/foolscap && PYTHONPATH=$(ORIGPYTHONPATH) $(TRIAL) $(REPORTER) foolscap
+
+test-figleaf: build
+       find $(INSTDIR) -name '*.pyc' |xargs rm
+       rm -f .figleaf
+       $(PP) $(TRIAL) --reporter=bwverbose-figleaf $(TEST)
+
+figleaf-output:
+       $(PP) $(PYTHON) misc/figleaf2html -d coverage-html -r $(INSTDIR)/lib -x misc/figleaf.excludes
+       @echo "now point your browser at coverage-html/index.html"
+
+# after doing test-figleaf and figleaf-output, point your browser at
+# coverage-html/index.html
+
+.PHONY: upload-figleaf .figleaf.el pyflakes count-lines check-memory clean
+
+# 'upload-figleaf' is meant to be run with an UPLOAD_TARGET=host:/dir setting
+ifdef UPLOAD_TARGET
+
+ifndef UPLOAD_HOST
+$(error UPLOAD_HOST must be set when using UPLOAD_TARGET)
+endif
+ifndef COVERAGEDIR
+$(error COVERAGEDIR must be set when using UPLOAD_TARGET)
+endif
+
+upload-figleaf:
+       rsync -a coverage-html/ $(UPLOAD_TARGET)
+       ssh $(UPLOAD_HOST) make update-tahoe-figleaf COVERAGEDIR=$(COVERAGEDIR)
+else
+upload-figleaf:
+       echo "this target is meant to be run with UPLOAD_TARGET=host:/path/"
+       /bin/false
+endif
+
+.figleaf.el: .figleaf
+       $(PP) $(PYTHON) misc/figleaf2el.py .figleaf $(INSTDIR)/lib
+
+pyflakes:
+       $(PP) $(PYTHON) -OOu `which pyflakes` src/allmydata
+
+count-lines:
+       @echo -n "files: "
+       @find src -name '*.py' |grep -v /build/ |wc --lines
+       @echo -n "lines: "
+       @cat `find src -name '*.py' |grep -v /build/` |wc --lines
+       @echo -n "TODO: "
+       @grep TODO `find src -name '*.py' |grep -v /build/` | wc --lines
+
+check-memory: build
+       $(PP) $(PYTHON) src/allmydata/test/check_memory.py
+
+test-darcs-boringfile:
+       $(MAKE)
+       $(PYTHON) misc/test-darcs-boringfile.py
+
+test-clean:
+       find . |sort >allfiles.tmp.old
+       $(MAKE)
+       $(MAKE) clean
+       find . |grep -v allfiles.tmp |sort >allfiles.tmp.new
+       diff allfiles.tmp.old allfiles.tmp.new
+
+clean: clean-zfec clean-Crypto clean-foolscap
+       rm -rf build
+       rm -f debian
+       rm -rf instdir
+
+# DEBIAN PACKAGING
+
+VER=$(shell $(PYTHON) misc/get-version.py)
+DEBCOMMENTS="'make deb' build"
+
+show-version:
+       @echo $(VER)
+
+.PHONY: setup-deb deb-ARCH is-known-debian-arch
+.PHONY: deb-dapper deb-sid deb-feisty deb-edgy deb-etch
+
+deb-dapper:
+       $(MAKE) deb-ARCH ARCH=dapper
+deb-sid:
+       $(MAKE) deb-ARCH ARCH=sid
+deb-feisty:
+       $(MAKE) deb-ARCH ARCH=feisty
+# edgy uses the feisty control files for now
+deb-edgy:
+       $(MAKE) deb-ARCH ARCH=edgy TAHOE_ARCH=feisty
+# etch uses the feisty control files for now
+deb-etch:
+       $(MAKE) deb-ARCH ARCH=etch FOOLSCAP_ARCH=sid TAHOE_ARCH=feisty
+
+# we know how to handle the following debian architectures
+KNOWN_DEBIAN_ARCHES := dapper sid feisty edgy etch
+
+ifeq ($(findstring x-$(ARCH)-x,$(foreach arch,$(KNOWN_DEBIAN_ARCHES),"x-$(arch)-x")),)
+is-known-debian-arch:
+       @echo "ARCH must be set when using setup-deb or deb-ARCH"
+       @echo "I know how to handle:" $(KNOWN_DEBIAN_ARCHES)
+       /bin/false
+else
+is-known-debian-arch:
+       /bin/true
+endif
+
+ifndef FOOLSCAP_ARCH
+FOOLSCAP_ARCH=$(ARCH)
+endif
+ifndef TAHOE_ARCH
+TAHOE_ARCH=$(ARCH)
+endif
+
+setup-deb: is-known-debian-arch
+       rm -f debian
+       ln -s misc/$(TAHOE_ARCH)/debian debian
+       chmod +x debian/rules
+
+deb-ARCH: is-known-debian-arch setup-deb
+       fakeroot debian/rules binary
+       $(MAKE) -C src/foolscap debian-$(FOOLSCAP_ARCH)
+       mv src/python-foolscap*.deb ..
+       echo
+       echo "The newly built .deb packages are in the parent directory from here."
+
+.PHONY: increment-deb-version
+.PHONY: deb-dapper-head deb-sid-head deb-edgy-head deb-feisty-head
+.PHONY: deb-etch-head
+
+# The buildbot runs the following targets after each change, to produce
+# up-to-date tahoe .debs. These steps do not create foolscap or simplejson
+# .debs, only the deb-$ARCH targets (above) do that.
+
+increment-deb-version: make-version
+       debchange --newversion $(VER) $(DEBCOMMENTS)
+deb-dapper-head:
+       $(MAKE) setup-deb ARCH=dapper
+       $(MAKE) increment-deb-version
+       fakeroot debian/rules binary
+deb-sid-head:
+       $(MAKE) setup-deb ARCH=sid
+       $(MAKE) increment-deb-version
+       fakeroot debian/rules binary
+deb-edgy-head:
+       $(MAKE) setup-deb ARCH=edgy TAHOE_ARCH=feisty
+       $(MAKE) increment-deb-version
+       fakeroot debian/rules binary
+deb-feisty-head:
+       $(MAKE) setup-deb ARCH=feisty
+       $(MAKE) increment-deb-version
+       fakeroot debian/rules binary
+deb-etch-head:
+       $(MAKE) setup-deb ARCH=etch TAHOE_ARCH=feisty
+       $(MAKE) increment-deb-version
+       fakeroot debian/rules binary
+