From d79b2a02b42e8e3984825da328868abdd3eea46f Mon Sep 17 00:00:00 2001 From: Brian Warner Date: Fri, 3 Jul 2009 00:28:04 -0700 Subject: [PATCH] clean up debian packaging: we have control files for etch/lenny/sid, and everything else uses one of those. Add dependency on python-pysqlite2 for platforms that use py2.4 by default. Update foolscap dependency to 0.4.1. --- Makefile | 59 +++++++++++++------------- misc/{feisty => etch}/debian/changelog | 0 misc/{feisty => etch}/debian/compat | 0 misc/{feisty => etch}/debian/control | 8 ++-- misc/{feisty => etch}/debian/copyright | 0 misc/{feisty => etch}/debian/pycompat | 0 misc/{feisty => etch}/debian/rules | 0 misc/lenny/debian/changelog | 5 +++ misc/lenny/debian/compat | 1 + misc/lenny/debian/control | 16 +++++++ misc/lenny/debian/copyright | 19 +++++++++ misc/lenny/debian/pycompat | 1 + misc/lenny/debian/rules | 48 +++++++++++++++++++++ misc/sid/debian/control | 8 ++-- 14 files changed, 127 insertions(+), 38 deletions(-) rename misc/{feisty => etch}/debian/changelog (100%) rename misc/{feisty => etch}/debian/compat (100%) rename misc/{feisty => etch}/debian/control (73%) rename misc/{feisty => etch}/debian/copyright (100%) rename misc/{feisty => etch}/debian/pycompat (100%) rename misc/{feisty => etch}/debian/rules (100%) create mode 100644 misc/lenny/debian/changelog create mode 100644 misc/lenny/debian/compat create mode 100644 misc/lenny/debian/control create mode 100644 misc/lenny/debian/copyright create mode 100644 misc/lenny/debian/pycompat create mode 100644 misc/lenny/debian/rules diff --git a/Makefile b/Makefile index 6f5ead9f0..6b12403e2 100644 --- a/Makefile +++ b/Makefile @@ -295,28 +295,27 @@ show-pp: .PHONY: deb-etch deb-lenny deb-sid .PHONY: deb-edgy deb-feisty deb-gutsy deb-hardy deb-intrepid deb-jaunty -# etch uses the feisty control files for now -deb-etch: - $(MAKE) deb-ARCH ARCH=etch TAHOE_ARCH=feisty -deb-lenny: - $(MAKE) deb-ARCH ARCH=lenny TAHOE_ARCH=feisty -deb-sid: - $(MAKE) deb-ARCH ARCH=sid +# we use misc/$TAHOE_ARCH/debian -# edgy uses the feisty control files for now -deb-edgy: - $(MAKE) deb-ARCH ARCH=edgy TAHOE_ARCH=feisty -deb-feisty: - $(MAKE) deb-ARCH ARCH=feisty -# same with gutsy, the process has been nicely stable for a while now -deb-gutsy: - $(MAKE) deb-ARCH ARCH=gutsy TAHOE_ARCH=feisty -deb-hardy: - $(MAKE) deb-ARCH ARCH=hardy TAHOE_ARCH=feisty -deb-intrepid: - $(MAKE) deb-ARCH ARCH=intrepid TAHOE_ARCH=feisty -deb-jaunty: - $(MAKE) deb-ARCH ARCH=jaunty TAHOE_ARCH=feisty +deb-etch: # py2.4 + $(MAKE) deb-ARCH ARCH=etch TAHOE_ARCH=etch +deb-lenny: # py2.5 + $(MAKE) deb-ARCH ARCH=lenny TAHOE_ARCH=lenny +deb-sid: + $(MAKE) deb-ARCH ARCH=sid TAHOE_ARCH=sid + +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 @@ -366,40 +365,40 @@ deb-ARCH: is-known-debian-arch setup-deb increment-deb-version: make-version debchange --newversion $(VER) $(DEBCOMMENTS) deb-etch-head: - $(MAKE) setup-deb ARCH=etch TAHOE_ARCH=feisty + $(MAKE) setup-deb ARCH=etch TAHOE_ARCH=etch $(MAKE) increment-deb-version fakeroot debian/rules binary deb-lenny-head: - $(MAKE) setup-deb ARCH=lenny TAHOE_ARCH=feisty + $(MAKE) setup-deb ARCH=lenny TAHOE_ARCH=lenny $(MAKE) increment-deb-version fakeroot debian/rules binary deb-sid-head: - $(MAKE) setup-deb ARCH=sid + $(MAKE) setup-deb ARCH=sid TAHOE_ARCH=lenny $(MAKE) increment-deb-version fakeroot debian/rules binary deb-edgy-head: - $(MAKE) setup-deb ARCH=edgy TAHOE_ARCH=feisty + $(MAKE) setup-deb ARCH=edgy TAHOE_ARCH=etch $(MAKE) increment-deb-version fakeroot debian/rules binary deb-feisty-head: - $(MAKE) setup-deb ARCH=feisty + $(MAKE) setup-deb ARCH=feisty TAHOE_ARCH=lenny $(MAKE) increment-deb-version fakeroot debian/rules binary deb-gutsy-head: - $(MAKE) setup-deb ARCH=gutsy TAHOE_ARCH=feisty + $(MAKE) setup-deb ARCH=gutsy TAHOE_ARCH=lenny $(MAKE) increment-deb-version fakeroot debian/rules binary deb-hardy-head: - $(MAKE) setup-deb ARCH=hardy TAHOE_ARCH=feisty + $(MAKE) setup-deb ARCH=hardy TAHOE_ARCH=lenny $(MAKE) increment-deb-version fakeroot debian/rules binary deb-intrepid-head: - $(MAKE) setup-deb ARCH=intrepid TAHOE_ARCH=feisty + $(MAKE) setup-deb ARCH=intrepid TAHOE_ARCH=lenny $(MAKE) increment-deb-version fakeroot debian/rules binary deb-jaunty-head: - $(MAKE) setup-deb ARCH=jaunty TAHOE_ARCH=feisty + $(MAKE) setup-deb ARCH=jaunty TAHOE_ARCH=lenny $(MAKE) increment-deb-version fakeroot debian/rules binary diff --git a/misc/feisty/debian/changelog b/misc/etch/debian/changelog similarity index 100% rename from misc/feisty/debian/changelog rename to misc/etch/debian/changelog diff --git a/misc/feisty/debian/compat b/misc/etch/debian/compat similarity index 100% rename from misc/feisty/debian/compat rename to misc/etch/debian/compat diff --git a/misc/feisty/debian/control b/misc/etch/debian/control similarity index 73% rename from misc/feisty/debian/control rename to misc/etch/debian/control index 9266f384f..ad310ba76 100644 --- a/misc/feisty/debian/control +++ b/misc/etch/debian/control @@ -9,8 +9,8 @@ Standards-Version: 3.7.2 Package: allmydata-tahoe Architecture: all -Depends: ${python:Depends}, python-twisted, python-foolscap (>= 0.3.0), python-pyopenssl, python-nevow, python-simplejson (>= 1.4), python-zfec (>= 1.1), python-pycryptopp (>= 0.5), python-setuptools +Depends: ${python:Depends}, python-twisted, python-foolscap (>= 0.4.1), python-pyopenssl, python-nevow, python-simplejson (>= 1.4), python-zfec (>= 1.1), python-pycryptopp (>= 0.5), python-setuptools, python-sqlite2 Recommends: -XB-Python-Version: 2.4,2.5 -Description: A secure distributed filestore - Allmydata (tahoe2) +XB-Python-Version: 2.4,2.5,2.6 +Description: A secure distributed filesystem + Allmydata Tahoe diff --git a/misc/feisty/debian/copyright b/misc/etch/debian/copyright similarity index 100% rename from misc/feisty/debian/copyright rename to misc/etch/debian/copyright diff --git a/misc/feisty/debian/pycompat b/misc/etch/debian/pycompat similarity index 100% rename from misc/feisty/debian/pycompat rename to misc/etch/debian/pycompat diff --git a/misc/feisty/debian/rules b/misc/etch/debian/rules similarity index 100% rename from misc/feisty/debian/rules rename to misc/etch/debian/rules diff --git a/misc/lenny/debian/changelog b/misc/lenny/debian/changelog new file mode 100644 index 000000000..9f4e959e8 --- /dev/null +++ b/misc/lenny/debian/changelog @@ -0,0 +1,5 @@ +allmydata-tahoe (0.0.1) unstable; urgency=low + + * experimental packaging + + -- Brian Warner Mon, 4 Dec 2006 23:34:07 -0800 diff --git a/misc/lenny/debian/compat b/misc/lenny/debian/compat new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/misc/lenny/debian/compat @@ -0,0 +1 @@ +4 diff --git a/misc/lenny/debian/control b/misc/lenny/debian/control new file mode 100644 index 000000000..e63072f95 --- /dev/null +++ b/misc/lenny/debian/control @@ -0,0 +1,16 @@ +Source: allmydata-tahoe +Section: python +Priority: optional +Maintainer: Brian Warner +Build-Depends: debhelper (>= 5.0.37.2), cdbs (>= 0.4.43), python-central (>= 0.5), python-setuptools, python, python-dev +Build-Depends-Indep: python-twisted +XS-Python-Version: 2.4,2.5,2.6 +Standards-Version: 3.7.2 + +Package: allmydata-tahoe +Architecture: all +Depends: ${python:Depends}, python-twisted, python-foolscap (>= 0.4.1), python-pyopenssl, python-nevow, python-simplejson (>= 1.4), python-zfec (>= 1.1), python-pycryptopp (>= 0.5), python-setuptools +Recommends: +XB-Python-Version: 2.4,2.5,2.6 +Description: A secure distributed filesystem + Allmydata Tahoe diff --git a/misc/lenny/debian/copyright b/misc/lenny/debian/copyright new file mode 100644 index 000000000..9b7df836b --- /dev/null +++ b/misc/lenny/debian/copyright @@ -0,0 +1,19 @@ +This package was debianized by Brian Warner + +The upstream source of this project is http://allmydata.org . + +Copyright (c) 2006-2009 +AllMyData, Inc. + +You may use this package under the GNU General Public License, version 2 or, at +your option, any later version. + +You may use this package under the Transitive Grace Period Public Licence, +version 1.0. The Transitive Grace Period Public Licence has requirements +similar to the GPL except that it allows you to wait for up to twelve months +after you redistribute a derived work before releasing the source code of your +derived work. See the file COPYING.TGPPL.html for the terms of the Transitive +Grace Period Public Licence, version 1.0. + +(You may choose to use this package under the terms of either licence, at your +option.) diff --git a/misc/lenny/debian/pycompat b/misc/lenny/debian/pycompat new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/misc/lenny/debian/pycompat @@ -0,0 +1 @@ +2 diff --git a/misc/lenny/debian/rules b/misc/lenny/debian/rules new file mode 100644 index 000000000..f47024c6a --- /dev/null +++ b/misc/lenny/debian/rules @@ -0,0 +1,48 @@ +#! /usr/bin/make -f +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +DEB_PYTHON_SYSTEM=pycentral + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/python-distutils.mk + +# this ought to be the name of the package that we're building, which is +# different on each tahoe branch. debian/control is the master: whatever +# package is listed in there will be built. +DEBNAME := $(firstword $(DEB_PACKAGES)) + +STAGING_DIR := $(CURDIR)/debian/$(DEBNAME) + +DEB_INSTALL_DOCS_ALL := COPYING.GPL COPYING.TGPPL.html CREDITS \ + NEWS README relnotes.txt docs misc/spacetime misc/cpu-watcher.tac +DEB_COMPRESS_EXCLUDE := .tac + + +# we overwrite the setuptools-generated /usr/bin/tahoe (located in +# support/bin/tahoe after a 'make build') with a different version, because +# the setuptools form (using "entry points") insists upon .egg-info -visible +# forms of dependent packages to be installed. For a debian package, we rely +# upon the dependencies that are declared in debian/control . +# +# To make sure the #! line matches the version of python that we're using for +# this build, we copy it from the setuptools-generated /usr/bin/tahoe, then +# add other code to the generated file. + +install/$(DEBNAME):: + mkdir -pm755 $(STAGING_DIR) + python setup.py install --root=$(STAGING_DIR) + + head -1 $(STAGING_DIR)/usr/bin/tahoe >$(STAGING_DIR)/usr/bin/tahoe.new + echo "from allmydata.scripts import runner" >>$(STAGING_DIR)/usr/bin/tahoe.new + echo "runner.run()" >>$(STAGING_DIR)/usr/bin/tahoe.new + chmod +x $(STAGING_DIR)/usr/bin/tahoe.new + mv $(STAGING_DIR)/usr/bin/tahoe.new $(STAGING_DIR)/usr/bin/tahoe + + dh_install misc/munin/* usr/share/$(DEBNAME)/munin + chmod +x $(STAGING_DIR)/usr/share/$(DEBNAME)/munin/* + + dh_pycentral + +clean:: + -rm -rf build diff --git a/misc/sid/debian/control b/misc/sid/debian/control index 37fc76ae6..3e53c2ce5 100644 --- a/misc/sid/debian/control +++ b/misc/sid/debian/control @@ -9,8 +9,8 @@ Standards-Version: 3.7.2 Package: allmydata-tahoe Architecture: all -Depends: ${python:Depends}, python-twisted-core, python-foolscap (>= 0.3.0), python-pyopenssl, python-twisted-names, python-nevow, python-simplejson (>= 1.4), python-zfec (>= 1.1), python-pycryptopp (>= 0.5), python-setuptools +Depends: ${python:Depends}, python-twisted-core, python-twisted-names, python-twisted-web, python-foolscap (>= 0.4.1), python-pyopenssl, python-nevow, python-simplejson (>= 1.4), python-zfec (>= 1.1), python-pycryptopp (>= 0.5), python-setuptools Recommends: -XB-Python-Version: 2.4,2.5 -Description: A secure distributed filestore - Allmydata (tahoe2) +XB-Python-Version: 2.4,2.5,2.6 +Description: A secure distributed filesystem + Allmydata Tahoe