2007-07-11 13:39:55 -07:00
2008-04-10 16:47:52 -07:00
# NOTE: this Makefile requires GNU make
2007-07-11 13:39:55 -07:00
2008-01-22 08:35:38 -07:00
default : build
2007-01-07 13:09:37 -07:00
2007-01-31 19:12:33 -07:00
PYTHON = python
2008-09-11 22:09:19 -07:00
export PYTHON
2007-04-04 11:18:38 -07:00
2008-09-11 18:03:21 -07:00
# setup.py will extend sys.path to include our support/lib/... directory
# itself. It will also create it in the beginning of the 'develop' command.
2007-11-13 20:16:59 -07:00
2008-09-11 18:03:21 -07:00
PP = $( shell $( PYTHON) setup.py -q show_pythonpath)
2008-09-11 21:45:08 -07:00
RUNPP = $( PYTHON) setup.py run_with_pythonpath
2011-01-19 15:37:37 -08:00
TAHOE = $( PYTHON) bin/tahoe
2008-01-22 17:42:54 -07:00
2007-09-12 18:56:33 -07:00
.PHONY : make -version build
2007-12-20 18:17:55 -07:00
2007-12-31 23:28:31 -07:00
# The 'darcsver' setup.py command comes in the 'darcsver' package:
# http://pypi.python.org/pypi/darcsver It is necessary only if you want to
2007-12-20 18:17:55 -07:00
# automatically produce a new _version.py file from the current darcs history.
2007-09-12 18:56:33 -07:00
make-version :
2008-09-11 18:03:21 -07:00
$( PYTHON) ./setup.py darcsver --count-all-patches
2007-09-12 18:56:33 -07:00
2008-01-03 14:33:33 -07:00
# We want src/allmydata/_version.py to be up-to-date, but it's a fairly
# expensive operation (about 6 seconds on a just-before-0.7.0 tree, probably
# because of the 332 patches since the last tag), and we've removed the need
# for an explicit 'build' step by removing the C code from src/allmydata and
# by running everything in place. It would be neat to do:
#
#src/allmydata/_version.py: _darcs/patches
# $(MAKE) make-version
#
# since that would update the embedded version string each time new darcs
2009-12-06 10:48:35 -08:00
# patches were pulled, but without an obligatory 'build' step this rule
# wouldn't be run frequently enough anyways.
2008-01-03 14:33:33 -07:00
#
# So instead, I'll just make sure that we update the version at least once
2008-01-04 17:25:46 -07:00
# when we first start using the tree, and again whenever an explicit
# 'make-version' is run, since then at least the developer has some means to
# update things. It would be nice if 'make clean' deleted any
# automatically-generated _version.py too, so that 'make clean; make all'
# could be useable as a "what the heck is going on, get me back to a clean
# state', but we need 'make clean' to work on non-darcs trees without
# destroying useful information.
2008-01-03 14:33:33 -07:00
2007-09-19 12:28:30 -07:00
.built :
$( MAKE) build
2008-01-04 17:25:46 -07:00
src/allmydata/_version.py :
2008-01-03 14:33:33 -07:00
$( MAKE) make-version
2008-01-04 17:25:46 -07:00
2008-06-09 16:06:29 -07:00
# c.f. ticket #455, there is a problem in the intersection of setuptools,
# twisted's setup.py, and nevow's setup.py . A Tahoe build, to satisfy its
# dependencies, may try to build both Twisted and Nevow. If both of these
# occur during the same invocation of 'setup.py develop', then the Nevow
# build will fail with an "ImportError: No module named components". Running
# the build a second time will succeed. Until there is a new version of
# setuptools which properly sandboxes sys.modules (or a new version of nevow
# which doesn't import twisted during its build, or a new version of twisted
# which doesn't import itself during its build), we just build tahoe twice
2008-09-16 22:36:43 -07:00
# and ignore the errors from the first pass. Updated 16-Sep-2008: now we need
# three invocations.
2008-06-09 16:06:29 -07:00
2008-01-04 17:25:46 -07:00
build : src /allmydata /_version .py
2009-01-29 13:59:52 -07:00
$( PYTHON) setup.py build
2008-01-30 01:32:57 -07:00
touch .built
2007-09-12 16:48:45 -07:00
2007-09-12 16:02:53 -07:00
# 'make install' will do the following:
# build+install tahoe (probably to /usr/lib/pythonN.N/site-packages)
2007-09-14 19:23:55 -07:00
# 'make install PREFIX=/usr/local/stow/tahoe-N.N' will do the same, but to
# a different location
2007-01-30 14:57:59 -07:00
2008-01-04 17:25:46 -07:00
install : src /allmydata /_version .py
2007-09-12 16:02:53 -07:00
i f d e f P R E F I X
mkdir -p $( PREFIX)
2008-09-11 18:03:21 -07:00
$( PYTHON) ./setup.py install --single-version-externally-managed \
2007-09-12 16:02:53 -07:00
--prefix= $( PREFIX) --record= ./tahoe.files
e l s e
2008-09-11 18:03:21 -07:00
$( PYTHON) ./setup.py install --single-version-externally-managed
2007-09-12 16:02:53 -07:00
e n d i f
2007-02-01 16:07:07 -07:00
2007-01-16 21:02:00 -07:00
2007-04-26 20:16:48 -07:00
# TESTING
2010-01-28 09:39:04 -08:00
.PHONY : signal -error -deps test test -coverage quicktest quicktest -coverage
.PHONY : coverage -output get -old -coverage -coverage coverage -delta -output
2007-09-15 15:17:55 -07:00
2007-09-21 13:40:28 -07:00
signal-error-deps :
2007-11-20 00:07:44 -07:00
@echo
@echo
2008-04-14 06:52:21 -07:00
@echo "ERROR: Not all of Tahoe's dependencies are in place. Please see docs/install.html for help on installing dependencies."
2007-11-20 00:07:44 -07:00
@echo
@echo
2007-09-19 16:23:55 -07:00
exit 1
2008-01-22 17:24:33 -07:00
check-auto-deps :
2008-09-11 20:59:04 -07:00
$( PYTHON) setup.py -q check_auto_deps || $( MAKE) signal-error-deps
2008-01-22 17:24:33 -07:00
2007-09-15 15:17:55 -07:00
.checked-deps :
2008-06-05 13:55:05 -07:00
$( MAKE) check-auto-deps
2007-09-15 15:17:55 -07:00
touch .checked-deps
2006-11-30 19:51:19 -07:00
2007-08-09 15:26:27 -07:00
# you can use 'make test TEST=allmydata.test.test_introducer' to run just
# test_introducer. TEST=allmydata.test.test_client.Basic.test_permute works
2007-05-01 11:08:39 -07:00
# too.
2007-09-12 16:02:53 -07:00
TEST = allmydata
2007-01-03 21:38:29 -07:00
2007-12-12 19:34:08 -07:00
# use 'make test TRIALARGS=--reporter=bwverbose' from buildbot, to
2007-09-13 18:20:35 -07:00
# suppress the ansi color sequences
2007-05-03 21:12:15 -07:00
2008-04-24 09:57:04 -07:00
test : build src /allmydata /_version .py
2009-01-30 04:25:36 -07:00
$( PYTHON) setup.py test $( TRIALARGS) -s $( TEST)
2007-04-30 23:02:45 -07:00
2008-10-19 06:25:18 -07:00
fuse-test : .built .checked -deps
$( RUNPP) -d contrib/fuse -p -c runtests.py
2010-01-28 09:39:04 -08:00
test-coverage : build src /allmydata /_version .py
rm -f .coverage
2011-01-19 15:37:37 -08:00
$( TAHOE) debug trial --reporter= bwverbose-coverage $( TEST)
2006-12-06 15:26:12 -07:00
2009-04-14 13:14:00 -07:00
quicktest :
2011-01-19 15:37:37 -08:00
$( TAHOE) debug trial $( TRIALARGS) $( TEST)
2009-04-14 13:14:00 -07:00
2010-01-28 09:39:04 -08:00
# code-coverage: install the "coverage" package from PyPI, do "make
# quicktest-coverage" to do a unit test run with coverage-gathering enabled,
# then use "make coverate-output-text" for a brief report, or "make
# coverage-output" for a pretty HTML report. Also see "make .coverage.el" and
2010-08-04 00:11:31 -07:00
# misc/coding_tools/coverage.el for emacs integration.
2008-04-24 11:30:38 -07:00
2010-01-28 09:39:04 -08:00
quicktest-coverage :
rm -f .coverage
2011-01-19 15:37:37 -08:00
$( TAHOE) debug trial --reporter= bwverbose-coverage $( TEST)
2010-01-28 09:39:04 -08:00
# on my laptop, "quicktest" takes 239s, "quicktest-coverage" takes 304s
2010-11-25 12:38:32 -08:00
# --include appeared in coverage-3.4
COVERAGE_OMIT = --include '$(CURDIR)/src/allmydata/*' --omit '$(CURDIR)/src/allmydata/test/*'
2010-01-28 09:39:04 -08:00
coverage-output :
rm -rf coverage-html
2010-08-04 00:11:31 -07:00
coverage html -i -d coverage-html $( COVERAGE_OMIT)
2010-01-28 09:39:04 -08:00
cp .coverage coverage-html/coverage.data
2007-01-03 22:06:51 -07:00
@echo "now point your browser at coverage-html/index.html"
2007-05-01 11:08:39 -07:00
2010-01-28 09:39:04 -08:00
## use these two targets to compare this coverage against the previous run.
## The deltas only work if the old test was run in the same directory, since
## it compares absolute filenames.
#get-old-figleaf-coverage:
# wget --progress=dot -O old.figleaf http://allmydata.org/tahoe-figleaf/current/figleaf.pickle
#
#figleaf-delta-output:
# $(RUNPP) -p -c "misc/figleaf2html -d coverage-html -r src -x misc/figleaf.excludes -o old.figleaf"
# cp .figleaf coverage-html/figleaf.pickle
# @echo "now point your browser at coverage-html/index.html"
2006-12-06 19:24:02 -07:00
2010-01-28 09:39:04 -08:00
.PHONY : upload -coverage .coverage .el pyflakes count -lines
2009-02-13 01:23:41 -07:00
.PHONY : check -memory check -memory -once check -speed check -grid
.PHONY : repl test -darcs -boringfile test -clean clean find -trailing -spaces
2007-05-01 11:08:39 -07:00
2010-01-28 09:39:04 -08:00
.coverage.el : .coverage
2010-08-04 00:11:31 -07:00
$( PYTHON) misc/coding_tools/coverage2el.py
2010-01-28 09:39:04 -08:00
# 'upload-coverage' is meant to be run with an UPLOAD_TARGET=host:/dir setting
2007-03-08 15:28:13 -07:00
i f d e f U P L O A D _ T A R G E T
2007-07-02 15:10:20 -07:00
i f n d e f U P L O A D _ H O S T
$( error UPLOAD_HOST must be set when using UPLOAD_TARGET )
e n d i f
i f n d e f C O V E R A G E D I R
$( error COVERAGEDIR must be set when using UPLOAD_TARGET )
e n d i f
2010-01-28 09:39:04 -08:00
upload-coverage :
2007-03-08 15:28:13 -07:00
rsync -a coverage-html/ $( UPLOAD_TARGET)
2010-01-28 09:39:04 -08:00
ssh $( UPLOAD_HOST) make update-tahoe-coverage COVERAGEDIR = $( COVERAGEDIR)
2007-03-08 15:28:13 -07:00
e l s e
2010-01-28 09:39:04 -08:00
upload-coverage :
2007-03-08 15:28:13 -07:00
echo "this target is meant to be run with UPLOAD_TARGET=host:/path/"
2008-01-11 14:43:31 -07:00
false
2007-03-08 15:28:13 -07:00
e n d i f
2007-01-04 01:25:36 -07:00
2006-12-14 04:05:22 -07:00
pyflakes :
2011-01-20 18:10:11 -08:00
$( PYTHON) -OOu ` which pyflakes` src/allmydata static misc/build_helpers bin/tahoe-script.template | sort | uniq
2010-08-04 00:10:42 -07:00
check-umids :
$( PYTHON) misc/coding_tools/check-umids.py ` find src/allmydata -name '*.py' `
2006-12-14 04:05:22 -07:00
2007-01-22 01:17:39 -07:00
count-lines :
2007-01-30 18:10:37 -07:00
@echo -n "files: "
@find src -name '*.py' | grep -v /build/ | wc --lines
2007-01-22 01:17:39 -07:00
@echo -n "lines: "
2007-01-30 18:10:37 -07:00
@cat ` find src -name '*.py' | grep -v /build/` | wc --lines
2007-01-22 01:17:39 -07:00
@echo -n "TODO: "
2007-01-30 18:10:37 -07:00
@grep TODO ` find src -name '*.py' | grep -v /build/` | wc --lines
2007-01-22 01:17:39 -07:00
2007-09-19 12:28:30 -07:00
check-memory : .built
2007-09-15 13:53:36 -07:00
rm -rf _test_memory
2008-09-11 21:45:08 -07:00
$( RUNPP) -p -c "src/allmydata/test/check_memory.py upload"
$( RUNPP) -p -c "src/allmydata/test/check_memory.py upload-self"
$( RUNPP) -p -c "src/allmydata/test/check_memory.py upload-POST"
$( RUNPP) -p -c "src/allmydata/test/check_memory.py download"
$( RUNPP) -p -c "src/allmydata/test/check_memory.py download-GET"
$( RUNPP) -p -c "src/allmydata/test/check_memory.py download-GET-slow"
$( RUNPP) -p -c "src/allmydata/test/check_memory.py receive"
2007-09-15 13:53:36 -07:00
2007-09-19 12:29:16 -07:00
check-memory-once : .built
rm -rf _test_memory
2008-09-11 21:45:08 -07:00
$( RUNPP) -p -c " src/allmydata/test/check_memory.py $( MODE) "
2007-09-19 12:29:16 -07:00
2008-06-18 15:49:30 -07:00
# The check-speed target uses a pre-established client node to run a canned
# set of performance tests against a test network that is also
# pre-established (probably on a remote machine). Provide it with the path to
# a local directory where this client node has been created (and populated
# with the necessary FURLs of the test network). This target will start that
# client with the current code and then run the tests. Afterwards it will
# stop the client.
2007-09-20 19:03:16 -07:00
#
# The 'sleep 5' is in there to give the new client a chance to connect to its
# storageservers, since check_speed.py has no good way of doing that itself.
2007-09-19 18:27:47 -07:00
check-speed : .built
if [ -z '$(TESTCLIENTDIR)' ] ; then exit 1; fi
2007-12-14 02:04:25 -07:00
@echo "stopping any leftover client code"
2011-01-19 15:44:29 -08:00
-$( TAHOE) stop $( TESTCLIENTDIR)
$( TAHOE) start $( TESTCLIENTDIR)
2007-09-20 19:03:16 -07:00
sleep 5
2007-09-19 18:27:47 -07:00
$( PYTHON) src/allmydata/test/check_speed.py $( TESTCLIENTDIR)
2011-01-19 15:44:29 -08:00
$( TAHOE) stop $( TESTCLIENTDIR)
2007-03-08 18:12:24 -07:00
2008-06-18 13:15:55 -07:00
# The check-grid target also uses a pre-established client node, along with a
# long-term directory that contains some well-known files. See the docstring
# in src/allmydata/test/check_grid.py to see how to set this up.
2008-06-18 12:57:47 -07:00
check-grid : .built
if [ -z '$(TESTCLIENTDIR)' ] ; then exit 1; fi
2008-06-19 12:39:52 -07:00
$( PYTHON) src/allmydata/test/check_grid.py $( TESTCLIENTDIR) bin/tahoe
2008-06-18 12:57:47 -07:00
2009-11-11 14:25:42 -08:00
bench-dirnode : .built
$( RUNPP) -p -c src/allmydata/test/bench_dirnode.py
2007-11-02 22:32:55 -07:00
# 'make repl' is a simple-to-type command to get a Python interpreter loop
# from which you can type 'import allmydata'
repl :
2011-01-19 15:44:29 -08:00
$( TAHOE) debug repl
2007-11-02 22:32:55 -07:00
2007-05-23 17:51:28 -07:00
test-darcs-boringfile :
2007-05-23 17:57:48 -07:00
$( MAKE)
2010-06-06 22:16:18 -07:00
$( PYTHON) misc/build_helpers/test-darcs-boringfile.py
2007-05-23 17:51:28 -07:00
2007-05-23 17:57:48 -07:00
test-clean :
2010-09-05 22:57:14 -07:00
find . | grep -vEe "_darcs|allfiles.tmp|src/allmydata/_(version|appname).py" | sort >allfiles.tmp.old
2007-05-23 17:57:48 -07:00
$( MAKE)
$( MAKE) clean
2010-09-05 22:57:14 -07:00
find . | grep -vEe "_darcs|allfiles.tmp|src/allmydata/_(version|appname).py" | sort >allfiles.tmp.new
2007-05-23 17:57:48 -07:00
diff allfiles.tmp.old allfiles.tmp.new
2007-05-23 17:51:28 -07:00
2007-09-12 16:02:53 -07:00
clean :
2007-09-19 12:28:30 -07:00
rm -rf build _trial_temp _test_memory .checked-deps .built
2010-05-23 13:52:28 -07:00
rm -f ` find src *.egg -name '*.so' -or -name '*.pyc' `
2009-02-11 18:04:34 -07:00
rm -rf src/allmydata_tahoe.egg-info
2007-09-15 15:17:55 -07:00
rm -rf support dist
2011-01-18 18:50:53 -08:00
rm -rf ` ls -d *.egg | grep -vEe"setuptools-|setuptools_darcs-|darcsver-" `
2010-05-23 13:52:28 -07:00
rm -rf *.pyc
2008-01-10 20:24:44 -07:00
rm -rf misc/dependencies/build misc/dependencies/temp
rm -rf misc/dependencies/tahoe_deps.egg-info
2011-01-02 21:27:38 -08:00
rm -f bin/tahoe bin/tahoe.pyscript
2006-12-14 03:59:51 -07:00
2007-11-05 21:32:08 -07:00
find-trailing-spaces :
2010-06-06 22:16:18 -07:00
$( PYTHON) misc/coding_tools/find-trailing-spaces.py -r src
2007-07-31 16:55:45 -07:00
2008-09-16 18:37:02 -07:00
# The test-desert-island target grabs the tahoe-deps tarball, unpacks it,
# does a build, then asserts that the build did not try to download anything
# as it ran. Invoke this on a new tree, or after a 'clean', to make sure the
# support/lib/ directory is gone.
2008-09-17 13:01:19 -07:00
fetch-and-unpack-deps :
2008-09-17 13:44:52 -07:00
test -f tahoe-deps.tar.gz || wget http://allmydata.org/source/tahoe/deps/tahoe-deps.tar.gz
2008-09-16 22:22:04 -07:00
rm -rf tahoe-deps
2010-05-04 02:06:28 -07:00
tar xzf tahoe-deps.tar.gz
2008-09-17 13:01:19 -07:00
test-desert-island :
$( MAKE) fetch-and-unpack-deps
2008-09-16 18:37:02 -07:00
$( MAKE) 2>& 1 | tee make.out
2010-06-06 22:16:18 -07:00
$( PYTHON) misc/build_helpers/check-build.py make.out no-downloads
2008-09-16 18:37:02 -07:00
2008-01-30 20:45:14 -07:00
# TARBALL GENERATION
2008-01-31 19:00:40 -07:00
.PHONY : tarballs upload -tarballs
2008-01-30 20:45:14 -07:00
tarballs :
2008-01-31 13:52:48 -07:00
$( MAKE) make-version
$( PYTHON) setup.py sdist --formats= bztar,gztar,zip
2008-09-17 13:01:19 -07:00
$( PYTHON) setup.py sdist --sumo --formats= bztar,gztar,zip
2008-01-31 19:00:40 -07:00
upload-tarballs :
2011-01-15 13:22:11 -08:00
@if [ " X ${ BB_BRANCH } " = = "Xtrunk" ] || [ " X ${ BB_BRANCH } " = = "X" ] ; then for f in dist/allmydata-tahoe-*; do flappclient --furlfile ~/.tahoe-tarball-upload.furl upload-file $$ f; done ; else echo not uploading tarballs because this is not trunk but is branch \" ${ BB_BRANCH } \" ; fi
2007-07-31 16:55:45 -07:00
2007-05-01 11:08:39 -07:00
# DEBIAN PACKAGING
2006-12-05 02:00:44 -07:00
2010-06-06 22:16:18 -07:00
VER = $( shell $( PYTHON) misc/build_helpers/get-version.py)
2007-01-05 20:06:51 -07:00
DEBCOMMENTS = "'make deb' build"
2007-05-03 20:14:07 -07:00
show-version :
2007-05-01 13:23:15 -07:00
@echo $( VER)
2008-09-11 21:45:08 -07:00
show-pp :
@echo $( PP)
2007-01-05 20:06:51 -07:00
2007-07-11 12:45:00 -07:00
.PHONY : setup -deb deb -ARCH is -known -debian -arch
2009-06-17 22:05:02 -07:00
.PHONY : deb -etch deb -lenny deb -sid
.PHONY : deb -edgy deb -feisty deb -gutsy deb -hardy deb -intrepid deb -jaunty
2007-07-11 12:45:00 -07:00
2010-06-06 22:16:18 -07:00
# we use misc/debian_helpers/$TAHOE_ARCH/debian
2009-07-03 00:28:04 -07:00
deb-etch : # py2.4
$( MAKE) deb-ARCH ARCH = etch TAHOE_ARCH = etch
deb-lenny : # py2.5
$( MAKE) deb-ARCH ARCH = lenny TAHOE_ARCH = lenny
2007-07-11 12:45:00 -07:00
deb-sid :
2009-07-03 00:28:04 -07:00
$( MAKE) deb-ARCH ARCH = sid TAHOE_ARCH = sid
2009-06-17 22:05:02 -07:00
2009-07-03 00:28:04 -07:00
deb-edgy : # py2.4
$( MAKE) deb-ARCH ARCH = edgy TAHOE_ARCH = etch
deb-feisty : # py2.5
$( MAKE) deb-ARCH ARCH = feisty TAHOE_ARCH = lenny
deb-gutsy : # py2.5
$( MAKE) deb-ARCH ARCH = gutsy TAHOE_ARCH = lenny
deb-hardy : # py2.5
$( MAKE) deb-ARCH ARCH = hardy TAHOE_ARCH = lenny
deb-intrepid : # py2.5
$( MAKE) deb-ARCH ARCH = intrepid TAHOE_ARCH = lenny
deb-jaunty : # py2.6
$( MAKE) deb-ARCH ARCH = jaunty TAHOE_ARCH = lenny
2009-03-05 16:00:21 -07:00
2007-07-11 12:45:00 -07:00
# we know how to handle the following debian architectures
2009-06-17 22:05:02 -07:00
KNOWN_DEBIAN_ARCHES := etch lenny sid edgy feisty gutsy hardy intrepid jaunty
2007-07-11 12:45:00 -07:00
i f e q ( $( 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)
2007-12-22 11:50:10 -07:00
false
2007-07-11 12:45:00 -07:00
e l s e
is-known-debian-arch :
2007-12-22 11:50:10 -07:00
true
2007-07-11 12:45:00 -07:00
e n d i f
2007-04-04 16:39:25 -07:00
2007-07-11 12:45:00 -07:00
i f n d e f T A H O E _ A R C H
TAHOE_ARCH = $( ARCH)
e n d i f
2007-03-29 14:36:15 -07:00
2007-07-11 12:45:00 -07:00
setup-deb : is -known -debian -arch
2007-05-04 00:07:06 -07:00
rm -f debian
2010-06-06 22:16:18 -07:00
ln -s misc/debian_helpers/$( TAHOE_ARCH) /debian debian
2007-07-11 12:45:00 -07:00
chmod +x debian/rules
2007-05-01 12:41:35 -07:00
2009-03-05 16:32:04 -07:00
# etch (current debian stable) has python-simplejson-1.3, which doesn't
2007-09-14 03:28:56 -07:00
# support indent=
2007-07-11 14:00:47 -07:00
# sid (debian unstable) currently has python-simplejson 1.7.1
2007-09-14 03:28:56 -07:00
# edgy has 1.3, which doesn't support indent=
# feisty has 1.4, which supports indent= but emits a deprecation warning
2007-07-11 14:00:47 -07:00
# gutsy has 1.7.1
2007-09-14 03:28:56 -07:00
#
# we need 1.4 or newer
2007-07-11 14:00:47 -07:00
deb-ARCH : is -known -debian -arch setup -deb
fakeroot debian/rules binary
2007-10-11 14:37:29 -07:00
@echo
@echo "The newly built .deb packages are in the parent directory from here."
2007-05-01 12:41:35 -07:00
2007-07-11 12:45:00 -07:00
.PHONY : increment -deb -version
2009-06-17 22:05:02 -07:00
.PHONY : deb -etch -head deb -lenny -head deb -sid -head
.PHONY : deb -edgy -head deb -feisty -head deb -gutsy -head deb -hardy -head deb -intrepid -head deb -jaunty -head
2007-01-05 20:06:51 -07:00
2007-07-11 12:45:00 -07:00
# The buildbot runs the following targets after each change, to produce
2007-08-21 14:01:01 -07:00
# up-to-date tahoe .debs. These steps do not create .debs for anything else.
2007-05-04 00:07:06 -07:00
increment-deb-version : make -version
2007-05-03 20:14:07 -07:00
debchange --newversion $( VER) $( DEBCOMMENTS)
2009-06-17 22:05:02 -07:00
deb-etch-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = etch TAHOE_ARCH = etch
2009-06-17 22:05:02 -07:00
$( MAKE) increment-deb-version
fakeroot debian/rules binary
deb-lenny-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = lenny TAHOE_ARCH = lenny
2009-06-17 22:05:02 -07:00
$( MAKE) increment-deb-version
fakeroot debian/rules binary
2007-07-11 12:45:00 -07:00
deb-sid-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = sid TAHOE_ARCH = lenny
2007-07-11 12:45:00 -07:00
$( MAKE) increment-deb-version
2006-12-05 02:00:44 -07:00
fakeroot debian/rules binary
2009-06-17 22:05:02 -07:00
2007-07-11 12:45:00 -07:00
deb-edgy-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = edgy TAHOE_ARCH = etch
2007-07-11 12:45:00 -07:00
$( MAKE) increment-deb-version
2007-04-04 16:39:25 -07:00
fakeroot debian/rules binary
2007-07-11 12:45:00 -07:00
deb-feisty-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = feisty TAHOE_ARCH = lenny
2007-07-11 12:45:00 -07:00
$( MAKE) increment-deb-version
2007-03-29 14:36:15 -07:00
fakeroot debian/rules binary
2007-10-17 13:35:11 -07:00
deb-gutsy-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = gutsy TAHOE_ARCH = lenny
2007-10-17 13:35:11 -07:00
$( MAKE) increment-deb-version
fakeroot debian/rules binary
2008-06-17 15:26:18 -07:00
deb-hardy-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = hardy TAHOE_ARCH = lenny
2008-06-17 15:26:18 -07:00
$( MAKE) increment-deb-version
fakeroot debian/rules binary
2009-03-05 16:00:21 -07:00
deb-intrepid-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = intrepid TAHOE_ARCH = lenny
2009-03-05 16:00:21 -07:00
$( MAKE) increment-deb-version
fakeroot debian/rules binary
2009-06-17 22:05:02 -07:00
deb-jaunty-head :
2009-07-03 00:28:04 -07:00
$( MAKE) setup-deb ARCH = jaunty TAHOE_ARCH = lenny
2009-03-06 13:10:57 -07:00
$( MAKE) increment-deb-version
fakeroot debian/rules binary
2009-03-05 16:00:21 -07:00
2009-08-17 18:40:52 -07:00
# new experimental debian-packaging-building target
.PHONY : EXPERIMENTAL -deb
EXPERIMENTAL-deb : is -known -debian -arch
2010-06-06 22:16:18 -07:00
$( PYTHON) misc/build_helpers/build-deb.py $( ARCH)