Ticket #1454: remove-debian-build-targets.darcs.patch

File remove-debian-build-targets.darcs.patch, 32.4 KB (added by davidsarah, at 2011-08-01T04:22:56Z)

Makefile: remove targets that used misc/debian[_helpers] which no longer exist. Also change docs/debian.rst to reflect the fact that we no longer support building .debs using those targets. refs #1454

Line 
11 patch for repository davidsarah@dev.allmydata.org:/home/darcs/tahoe/trunk:
2
3Mon Aug  1 04:18:57 BST 2011  david-sarah@jacaranda.org
4  * Makefile: remove targets that used misc/debian[_helpers] which no longer exist. Also change docs/debian.rst to reflect the fact that we no longer support building .debs using those targets. refs #1454
5
6New patches:
7
8[Makefile: remove targets that used misc/debian[_helpers] which no longer exist. Also change docs/debian.rst to reflect the fact that we no longer support building .debs using those targets. refs #1454
9david-sarah@jacaranda.org**20110801031857
10 Ignore-this: 347cbeff45757db630ce34d0cfb84f92
11] {
12hunk ./Makefile 258
13 
14 upload-tarballs:
15        @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
16-
17-# DEBIAN PACKAGING
18-
19-VER=$(shell $(PYTHON) misc/build_helpers/get-version.py)
20-DEBCOMMENTS="'make deb' build"
21-
22-show-version:
23-       @echo $(VER)
24-show-pp:
25-       @echo $(PP)
26-
27-.PHONY: setup-deb deb-ARCH is-known-debian-arch
28-.PHONY: deb-etch deb-lenny deb-sid
29-.PHONY: deb-edgy deb-feisty deb-gutsy deb-hardy deb-intrepid deb-jaunty
30-
31-# we use misc/debian_helpers/$TAHOE_ARCH/debian
32-
33-deb-etch:      # py2.4
34-       $(MAKE) deb-ARCH ARCH=etch TAHOE_ARCH=etch
35-deb-lenny:     # py2.5
36-       $(MAKE) deb-ARCH ARCH=lenny TAHOE_ARCH=lenny
37-deb-sid:
38-       $(MAKE) deb-ARCH ARCH=sid TAHOE_ARCH=sid
39-
40-deb-edgy:     # py2.4
41-       $(MAKE) deb-ARCH ARCH=edgy TAHOE_ARCH=etch
42-deb-feisty:   # py2.5
43-       $(MAKE) deb-ARCH ARCH=feisty TAHOE_ARCH=lenny
44-deb-gutsy:    # py2.5
45-       $(MAKE) deb-ARCH ARCH=gutsy TAHOE_ARCH=lenny
46-deb-hardy:    # py2.5
47-       $(MAKE) deb-ARCH ARCH=hardy TAHOE_ARCH=lenny
48-deb-intrepid: # py2.5
49-       $(MAKE) deb-ARCH ARCH=intrepid TAHOE_ARCH=lenny
50-deb-jaunty:   # py2.6
51-       $(MAKE) deb-ARCH ARCH=jaunty TAHOE_ARCH=lenny
52-
53-
54-
55-# we know how to handle the following debian architectures
56-KNOWN_DEBIAN_ARCHES := etch lenny sid  edgy feisty gutsy hardy intrepid jaunty
57-
58-ifeq ($(findstring x-$(ARCH)-x,$(foreach arch,$(KNOWN_DEBIAN_ARCHES),"x-$(arch)-x")),)
59-is-known-debian-arch:
60-       @echo "ARCH must be set when using setup-deb or deb-ARCH"
61-       @echo "I know how to handle:" $(KNOWN_DEBIAN_ARCHES)
62-       false
63-else
64-is-known-debian-arch:
65-       true
66-endif
67-
68-ifndef TAHOE_ARCH
69-TAHOE_ARCH=$(ARCH)
70-endif
71-
72-setup-deb: is-known-debian-arch
73-       rm -f debian
74-       ln -s misc/debian_helpers/$(TAHOE_ARCH)/debian debian
75-       chmod +x debian/rules
76-
77-# etch (current debian stable) has python-simplejson-1.3, which doesn't
78-#  support indent=
79-# sid (debian unstable) currently has python-simplejson 1.7.1
80-# edgy has 1.3, which doesn't support indent=
81-# feisty has 1.4, which supports indent= but emits a deprecation warning
82-# gutsy has 1.7.1
83-#
84-# we need 1.4 or newer
85-
86-deb-ARCH: is-known-debian-arch setup-deb
87-       fakeroot debian/rules binary
88-       @echo
89-       @echo "The newly built .deb packages are in the parent directory from here."
90-
91-.PHONY: increment-deb-version
92-.PHONY: deb-etch-head deb-lenny-head deb-sid-head
93-.PHONY: deb-edgy-head deb-feisty-head deb-gutsy-head deb-hardy-head deb-intrepid-head deb-jaunty-head
94-
95-# The buildbot runs the following targets after each change, to produce
96-# up-to-date tahoe .debs. These steps do not create .debs for anything else.
97-
98-increment-deb-version: make-version
99-       debchange --newversion $(VER) $(DEBCOMMENTS)
100-deb-etch-head:
101-       $(MAKE) setup-deb ARCH=etch TAHOE_ARCH=etch
102-       $(MAKE) increment-deb-version
103-       fakeroot debian/rules binary
104-deb-lenny-head:
105-       $(MAKE) setup-deb ARCH=lenny TAHOE_ARCH=lenny
106-       $(MAKE) increment-deb-version
107-       fakeroot debian/rules binary
108-deb-sid-head:
109-       $(MAKE) setup-deb ARCH=sid TAHOE_ARCH=lenny
110-       $(MAKE) increment-deb-version
111-       fakeroot debian/rules binary
112-
113-deb-edgy-head:
114-       $(MAKE) setup-deb ARCH=edgy TAHOE_ARCH=etch
115-       $(MAKE) increment-deb-version
116-       fakeroot debian/rules binary
117-deb-feisty-head:
118-       $(MAKE) setup-deb ARCH=feisty TAHOE_ARCH=lenny
119-       $(MAKE) increment-deb-version
120-       fakeroot debian/rules binary
121-deb-gutsy-head:
122-       $(MAKE) setup-deb ARCH=gutsy TAHOE_ARCH=lenny
123-       $(MAKE) increment-deb-version
124-       fakeroot debian/rules binary
125-deb-hardy-head:
126-       $(MAKE) setup-deb ARCH=hardy TAHOE_ARCH=lenny
127-       $(MAKE) increment-deb-version
128-       fakeroot debian/rules binary
129-deb-intrepid-head:
130-       $(MAKE) setup-deb ARCH=intrepid TAHOE_ARCH=lenny
131-       $(MAKE) increment-deb-version
132-       fakeroot debian/rules binary
133-deb-jaunty-head:
134-       $(MAKE) setup-deb ARCH=jaunty TAHOE_ARCH=lenny
135-       $(MAKE) increment-deb-version
136-       fakeroot debian/rules binary
137-
138-# new experimental debian-packaging-building target
139-.PHONY: EXPERIMENTAL-deb
140-EXPERIMENTAL-deb: is-known-debian-arch
141-       $(PYTHON) misc/build_helpers/build-deb.py $(ARCH)
142hunk ./docs/debian.rst 1
143-==============
144-Debian Support
145-==============
146+=========================
147+Debian and Ubuntu Support
148+=========================
149 
150 1.  `Overview`_
151hunk ./docs/debian.rst 6
152-2.  `TL;DR supporting package building instructions`_
153-3.  `TL;DR package building instructions for Tahoe`_
154-4.  `Building Debian Packages`_
155-5.  `Using Pre-Built Debian Packages`_
156-6.  `Building From Source on Debian Systems`_
157+2.  `Dependency Packages`_
158+
159 
160 Overview
161 ========
162hunk ./docs/debian.rst 12
163 
164-One convenient way to install Tahoe-LAFS is with Debian packages.
165-This document attempts to explain how to complete a desert island build for
166-people in a hurry. It also attempts to explain more about our Debian packaging
167-for those willing to read beyond the simple pragmatic packaging exercises.
168-
169-TL;DR supporting package building instructions
170-==============================================
171-
172-There are only four supporting packages that are currently not available from
173-the Debian apt repositories in Debian Lenny::
174-
175-    python-foolscap python-zfec argparse zbase32
176-
177-First, we'll install some common packages for development::
178-
179-    sudo apt-get install -y build-essential debhelper cdbs python-central \
180-                    python-setuptools python python-dev python-twisted-core \
181-                    fakeroot darcs python-twisted python-nevow \
182-                    python-simplejson  python-pycryptopp devscripts \
183-                    apt-file
184-    sudo apt-file update
185-
186-
187-To create packages for Lenny, we'll also install stdeb:: 
188-
189-    sudo apt-get install python-all-dev
190-    STDEB_VERSION="0.5.1"
191-    wget http://pypi.python.org/packages/source/s/stdeb/stdeb-$STDEB_VERSION.tar.gz
192-    tar xzf stdeb-$STDEB_VERSION.tar.gz
193-    cd stdeb-$STDEB_VERSION
194-    python setup.py --command-packages=stdeb.command bdist_deb
195-    sudo dpkg -i deb_dist/python-stdeb_$STDEB_VERSION-1_all.deb
196-
197-Now we're ready to build and install the zfec Debian package::
198-
199-    darcs get http://allmydata.org/source/zfec/trunk zfac
200-    cd zfac/zfec/
201-    python setup.py sdist_dsc
202-    cd `find deb_dist -mindepth 1 -maxdepth 1 -type d` && \
203-    dpkg-buildpackage -rfakeroot -uc -us
204-    sudo dpkg -i ../python-zfec_1.4.6-r333-1_amd64.deb
205-
206-We need to build a pyutil package::
207-
208-    wget http://pypi.python.org/packages/source/p/pyutil/pyutil-1.6.1.tar.gz
209-    tar -xvzf pyutil-1.6.1.tar.gz
210-    cd pyutil-1.6.1/
211-    python setup.py --command-packages=stdeb.command sdist_dsc
212-    cd deb_dist/pyutil-1.6.1/
213-    dpkg-buildpackage -rfakeroot -uc -us
214-    sudo dpkg -i ../python-pyutil_1.6.1-1_all.deb
215-
216-We also need to install argparse and zbase32::
217-
218-    sudo easy_install argparse # argparse won't install with stdeb (!) :-(
219-    sudo easy_install zbase32 # XXX TODO: package with stdeb
220-
221-Finally, we'll fetch, unpack, build and install foolscap::
222-
223-    # You may not already have Brian's key:
224-    # gpg --recv-key 0x1514A7BD
225-    wget http://foolscap.lothar.com/releases/foolscap-0.5.0.tar.gz.asc
226-    wget http://foolscap.lothar.com/releases/foolscap-0.5.0.tar.gz
227-    gpg --verify foolscap-0.5.0.tar.gz.asc
228-    tar -xvzf foolscap-0.5.0.tar.gz
229-    cd foolscap-0.5.0/
230-    python setup.py --command-packages=stdeb.command sdist_dsc
231-    cd deb_dist/foolscap-0.5.0/
232-    dpkg-buildpackage -rfakeroot -uc -us
233-    sudo dpkg -i ../python-foolscap_0.5.0-1_all.deb
234-
235-TL;DR package building instructions for Tahoe
236-=============================================
237-
238-If you want to build your own Debian packages from the darcs tree or from
239-a source release, do the following::
240-
241-    cd ~/
242-    mkdir src && cd src/
243-    darcs get --lazy http://allmydata.org/source/tahoe-lafs/trunk tahoe-lafs
244-    cd tahoe-lafs
245-    # set this for your Debian release name (lenny, sid, etc)
246-    make deb-lenny-head
247-    # You must have your dependency issues worked out by hand for this to work
248-    sudo dpkg -i ../allmydata-tahoe_1.6.1-r4262_all.deb
249-
250-You should now have a functional desert island build of Tahoe with all of the
251-supported libraries as .deb packages. You'll need to edit the Debian-specific
252-``/etc/defaults/allmydata-tahoe`` file to get Tahoe started. Data is by default
253-stored in ``/var/lib/tahoelafsd/`` and Tahoe runs as the 'tahoelafsd' user.
254-
255-Building Debian Packages
256-========================
257-
258-The Tahoe source tree comes with limited support for building Debian packages
259-on a variety of Debian and Ubuntu platforms. For each supported platform,
260-there is a "deb-PLATFORM-head" target in the Makefile that will produce a
261-Debian package from a darcs checkout, using a version number that is derived
262-from the most recent darcs tag, plus the total number of revisions present in
263-the tree (e.g. "1.1-r2678").
264-
265-To create Debian packages from a Tahoe tree, you will need some additional
266-tools installed. The canonical list of these packages is in the
267-"Build-Depends" clause of ``misc/sid/debian/control``, and includes::
268-
269- build-essential
270- debhelper
271- cdbs
272- python-central
273- python-setuptools
274- python
275- python-dev
276- python-twisted-core
277-
278-In addition, to use the "deb-$PLATFORM-head" target, you will also need the
279-"``debchange``" utility from the "devscripts" package, and the "fakeroot" package.
280-
281-Some recent platforms can be handled by using the targets for the previous
282-release, for example if there is no "deb-hardy-head" target, try building
283-"deb-gutsy-head" and see if the resulting package will work.
284-
285-Note that we haven't tried to build source packages (``.orig.tar.gz`` + dsc) yet,
286-and there are no such source packages in our APT repository.
287-
288-Using Pre-Built Debian Packages
289-===============================
290-
291-The ``tahoe-lafs.org`` site hosts an APT repository with Debian packages that are
292-built after each checkin. The `DownloadDebianPackages
293-<http://tahoe-lafs.org/trac/tahoe/wiki/DownloadDebianPackages>`_ wiki page
294-describes this repository.
295+Tahoe-LAFS is provided as a ``.deb`` package in current Debian (>= wheezy)
296+and Ubuntu (>= lucid) releases. Before official packages were added, the Tahoe
297+source tree provided support for building unofficial packages for a variety
298+of popular Debian/Ubuntu versions. The project also ran buildbots to create
299+``.debs`` of current trunk for ease of testing.
300 
301hunk ./docs/debian.rst 18
302-The ``tahoe-lafs.org`` APT repository also includes Debian packages of support
303-libraries, like Foolscap, zfec, pycryptopp, and everything else you need that
304-isn't already in Debian.
305+As of version 1.9, the source tree no longer provides these tools. To
306+construct a ``.deb`` from current trunk, your best bet is to apply the current
307+Debian diff from the latest upstream package and invoke the ``debian/rules``
308+as usual. Debian's standard ``apt-get`` tool can be used to fetch the current
309+source package (including the Debian-specific diff): run
310+"``apt-get source tahoe-lafs``". That will fetch three files: the ``.dsc``
311+control file, the main Tahoe tarball, and the Debian-specific
312+``.debian.tar.gz`` file. Just unpack the ``.debian.tar.gz`` file inside
313+your Tahoe source tree, modify the version number in ``debian/changelog``,
314+then run "``fakeroot ./debian/rules binary``", and a new ``.deb`` will be
315+placed in the parent directory.
316 
317hunk ./docs/debian.rst 30
318-Building From Source on Debian Systems
319-======================================
320 
321hunk ./docs/debian.rst 31
322-Many of Tahoe's build dependencies can be satisfied by first installing
323-certain Debian packages: simplejson is one of these. Some Debian/Ubuntu
324-platforms do not provide the necessary ``.egg-info`` metadata with their
325-packages, so the Tahoe build process may not believe they are present. Some
326-Tahoe dependencies are not present in most Debian systems (such as foolscap
327-and zfec): debs for these are made available in the APT repository described
328-above.
329+Dependency Packages
330+===================
331 
332hunk ./docs/debian.rst 34
333-The Tahoe build process will acquire (via setuptools) most of the libraries
334-that it needs to run and which are not already present in the build
335-environment).
336+Tahoe depends upon a number of additional libraries. When building Tahoe from
337+source, any dependencies that are not already present in the environment will
338+be downloaded (via ``easy_install``) and stored in the ``support/lib``
339+directory.
340 
341hunk ./docs/debian.rst 39
342-We have observed occasional problems with this acquisition process. In some
343-cases, setuptools will only be half-aware of an installed Debian package,
344-just enough to interfere with the automatic download+build of the dependency.
345-For example, on some platforms, if Nevow-0.9.26 is installed via a Debian
346-package, setuptools will believe that it must download Nevow anyways, but it
347-will insist upon downloading that specific 0.9.26 version. Since the current
348-release of Nevow is 0.9.31, and 0.9.26 is no longer available for download,
349-this will fail.
350+The ``.deb`` packages, of course, rely solely upon other ``.deb`` packages.
351+For reference, here is a list of the debian package names that provide Tahoe's
352+dependencies as of the 1.9 release:
353 
354hunk ./docs/debian.rst 43
355-`<http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-sdists/>`_
356-contains source tarballs for Tahoe's dependent libraries. The Nevow-0.9.26-type
357-problem can be mitigated by putting the right dependency in ``tahoe-deps``,
358-or by downloading the "SUMO" distribution of Tahoe-LAFS, which includes all of
359-these source tarballs.
360+* python
361+* python-zfec
362+* python-pycryptopp
363+* python-foolscap
364+* python-openssl (needed by foolscap)
365+* python-twisted
366+* python-nevow
367+* python-mock
368+* python-simplejson
369+* python-setuptools
370+* python-support (for Debian-specific install-time tools)
371 
372hunk ./docs/debian.rst 55
373-If you encounter problems building a dependency from source,
374-`<http://tahoe-lafs.org/source/tahoe-lafs/deps/tahoe-lafs-dep-eggs/>`_
375-contains binary (`.egg`) distributions for various OS platforms and versions
376-of Python.
377+When building your own Debian packages, a convenient way to get all these
378+dependencies installed is to first install the official "tahoe-lafs" package,
379+then uninstall it, leaving the dependencies behind. You may also find it
380+useful to run "``apt-get build-dep tahoe-lafs``" to make sure all the usual
381+build-essential tools are installed.
382}
383
384Context:
385
386[src/allmydata/__init__.py: suppress a spurious warning from 'bin/tahoe --version[-and-path]' about twisted-web and twisted-core packages.
387david-sarah@jacaranda.org**20110801005209
388 Ignore-this: 50e7cd53cca57b1870d9df0361c7c709
389]
390[test_cli.py: use to_str on fields loaded using simplejson.loads in new tests. refs #1304
391david-sarah@jacaranda.org**20110730032521
392 Ignore-this: d1d6dfaefd1b4e733181bf127c79c00b
393]
394[cli: make 'tahoe cp' overwrite mutable files in-place
395Kevan Carstensen <kevan@isnotajoke.com>**20110729202039
396 Ignore-this: b2ad21a19439722f05c49bfd35b01855
397]
398[SFTP: write an error message to standard error for unrecognized shell commands. Change the existing message for shell sessions to be written to standard error, and refactor some duplicated code. Also change the lines of the error messages to end in CRLF, and take into account Kevan's review comments. fixes #1442, #1446
399david-sarah@jacaranda.org**20110729233102
400 Ignore-this: d2f2bb4664f25007d1602bf7333e2cdd
401]
402[src/allmydata/scripts/cli.py: fix pyflakes warning.
403david-sarah@jacaranda.org**20110728021402
404 Ignore-this: 94050140ddb99865295973f49927c509
405]
406[Fix the help synopses of CLI commands to include [options] in the right place. fixes #1359, fixes #636
407david-sarah@jacaranda.org**20110724225440
408 Ignore-this: 2a8e488a5f63dabfa9db9efd83768a5
409]
410[encodingutil: argv and output encodings are always the same on all platforms. Lose the unnecessary generality of them being different. fixes #1120
411david-sarah@jacaranda.org**20110629185356
412 Ignore-this: 5ebacbe6903dfa83ffd3ff8436a97787
413]
414[docs/man/tahoe.1: add man page. fixes #1420
415david-sarah@jacaranda.org**20110724171728
416 Ignore-this: fc7601ec7f25494288d6141d0ae0004c
417]
418[Update the dependency on zope.interface to fix an incompatiblity between Nevow and zope.interface 3.6.4. fixes #1435
419david-sarah@jacaranda.org**20110721234941
420 Ignore-this: 2ff3fcfc030fca1a4d4c7f1fed0f2aa9
421]
422[frontends/ftpd.py: remove the check for IWriteFile.close since we're now guaranteed to be using Twisted >= 10.1 which has it.
423david-sarah@jacaranda.org**20110722000320
424 Ignore-this: 55cd558b791526113db3f83c00ec328a
425]
426[Update the dependency on Twisted to >= 10.1. This allows us to simplify some documentation: it's no longer necessary to install pywin32 on Windows, or apply a patch to Twisted in order to use the FTP frontend. fixes #1274, #1438. refs #1429
427david-sarah@jacaranda.org**20110721233658
428 Ignore-this: 81b41745477163c9b39c0b59db91cc62
429]
430[misc/build_helpers/run_trial.py: undo change to block pywin32 (it didn't work because run_trial.py is no longer used). refs #1334
431david-sarah@jacaranda.org**20110722035402
432 Ignore-this: 5d03f544c4154f088e26c7107494bf39
433]
434[misc/build_helpers/run_trial.py: ensure that pywin32 is not on the sys.path when running the test suite. Includes some temporary debugging printouts that will be removed. refs #1334
435david-sarah@jacaranda.org**20110722024907
436 Ignore-this: 5141a9f83a4085ed4ca21f0bbb20bb9c
437]
438[docs/running.rst: use 'tahoe run ~/.tahoe' instead of 'tahoe run' (the default is the current directory, unlike 'tahoe start').
439david-sarah@jacaranda.org**20110718005949
440 Ignore-this: 81837fbce073e93d88a3e7ae3122458c
441]
442[docs/running.rst: say to put the introducer.furl in tahoe.cfg.
443david-sarah@jacaranda.org**20110717194315
444 Ignore-this: 954cc4c08e413e8c62685d58ff3e11f3
445]
446[README.txt: say that quickstart.rst is in the docs directory.
447david-sarah@jacaranda.org**20110717192400
448 Ignore-this: bc6d35a85c496b77dbef7570677ea42a
449]
450[setup: remove the dependency on foolscap's "secure_connections" extra, add a dependency on pyOpenSSL
451zooko@zooko.com**20110717114226
452 Ignore-this: df222120d41447ce4102616921626c82
453 fixes #1383
454]
455[test_sftp.py cleanup: remove a redundant definition of failUnlessReallyEqual.
456david-sarah@jacaranda.org**20110716181813
457 Ignore-this: 50113380b368c573f07ac6fe2eb1e97f
458]
459[docs: add missing link in NEWS.rst
460zooko@zooko.com**20110712153307
461 Ignore-this: be7b7eb81c03700b739daa1027d72b35
462]
463[contrib: remove the contributed fuse modules and the entire contrib/ directory, which is now empty
464zooko@zooko.com**20110712153229
465 Ignore-this: 723c4f9e2211027c79d711715d972c5
466 Also remove a couple of vestigial references to figleaf, which is long gone.
467 fixes #1409 (remove contrib/fuse)
468]
469[add Protovis.js-based download-status timeline visualization
470Brian Warner <warner@lothar.com>**20110629222606
471 Ignore-this: 477ccef5c51b30e246f5b6e04ab4a127
472 
473 provide status overlap info on the webapi t=json output, add decode/decrypt
474 rate tooltips, add zoomin/zoomout buttons
475]
476[add more download-status data, fix tests
477Brian Warner <warner@lothar.com>**20110629222555
478 Ignore-this: e9e0b7e0163f1e95858aa646b9b17b8c
479]
480[prepare for viz: improve DownloadStatus events
481Brian Warner <warner@lothar.com>**20110629222542
482 Ignore-this: 16d0bde6b734bb501aa6f1174b2b57be
483 
484 consolidate IDownloadStatusHandlingConsumer stuff into DownloadNode
485]
486[docs: fix error in crypto specification that was noticed by Taylor R Campbell <campbell+tahoe@mumble.net>
487zooko@zooko.com**20110629185711
488 Ignore-this: b921ed60c1c8ba3c390737fbcbe47a67
489]
490[setup.py: don't make bin/tahoe.pyscript executable. fixes #1347
491david-sarah@jacaranda.org**20110130235809
492 Ignore-this: 3454c8b5d9c2c77ace03de3ef2d9398a
493]
494[Makefile: remove targets relating to 'setup.py check_auto_deps' which no longer exists. fixes #1345
495david-sarah@jacaranda.org**20110626054124
496 Ignore-this: abb864427a1b91bd10d5132b4589fd90
497]
498[Makefile: add 'make check' as an alias for 'make test'. Also remove an unnecessary dependency of 'test' on 'build' and 'src/allmydata/_version.py'. fixes #1344
499david-sarah@jacaranda.org**20110623205528
500 Ignore-this: c63e23146c39195de52fb17c7c49b2da
501]
502[Rename test_package_initialization.py to (much shorter) test_import.py .
503Brian Warner <warner@lothar.com>**20110611190234
504 Ignore-this: 3eb3dbac73600eeff5cfa6b65d65822
505 
506 The former name was making my 'ls' listings hard to read, by forcing them
507 down to just two columns.
508]
509[tests: fix tests to accomodate [20110611153758-92b7f-0ba5e4726fb6318dac28fb762a6512a003f4c430]
510zooko@zooko.com**20110611163741
511 Ignore-this: 64073a5f39e7937e8e5e1314c1a302d1
512 Apparently none of the two authors (stercor, terrell), three reviewers (warner, davidsarah, terrell), or one committer (me) actually ran the tests. This is presumably due to #20.
513 fixes #1412
514]
515[wui: right-align the size column in the WUI
516zooko@zooko.com**20110611153758
517 Ignore-this: 492bdaf4373c96f59f90581c7daf7cd7
518 Thanks to Ted "stercor" Rolle Jr. and Terrell Russell.
519 fixes #1412
520]
521[docs: three minor fixes
522zooko@zooko.com**20110610121656
523 Ignore-this: fec96579eb95aceb2ad5fc01a814c8a2
524 CREDITS for arc for stats tweak
525 fix link to .zip file in quickstart.rst (thanks to ChosenOne for noticing)
526 English usage tweak
527]
528[docs/running.rst: fix stray HTML (not .rst) link noticed by ChosenOne.
529david-sarah@jacaranda.org**20110609223719
530 Ignore-this: fc50ac9c94792dcac6f1067df8ac0d4a
531]
532[server.py:  get_latencies now reports percentiles _only_ if there are sufficient observations for the interpretation of the percentile to be unambiguous.
533wilcoxjg@gmail.com**20110527120135
534 Ignore-this: 2e7029764bffc60e26f471d7c2b6611e
535 interfaces.py:  modified the return type of RIStatsProvider.get_stats to allow for None as a return value
536 NEWS.rst, stats.py: documentation of change to get_latencies
537 stats.rst: now documents percentile modification in get_latencies
538 test_storage.py:  test_latencies now expects None in output categories that contain too few samples for the associated percentile to be unambiguously reported.
539 fixes #1392
540]
541[docs: revert link in relnotes.txt from NEWS.rst to NEWS, since the former did not exist at revision 5000.
542david-sarah@jacaranda.org**20110517011214
543 Ignore-this: 6a5be6e70241e3ec0575641f64343df7
544]
545[docs: convert NEWS to NEWS.rst and change all references to it.
546david-sarah@jacaranda.org**20110517010255
547 Ignore-this: a820b93ea10577c77e9c8206dbfe770d
548]
549[docs: remove out-of-date docs/testgrid/introducer.furl and containing directory. fixes #1404
550david-sarah@jacaranda.org**20110512140559
551 Ignore-this: 784548fc5367fac5450df1c46890876d
552]
553[scripts/common.py: don't assume that the default alias is always 'tahoe' (it is, but the API of get_alias doesn't say so). refs #1342
554david-sarah@jacaranda.org**20110130164923
555 Ignore-this: a271e77ce81d84bb4c43645b891d92eb
556]
557[setup: don't catch all Exception from check_requirement(), but only PackagingError and ImportError
558zooko@zooko.com**20110128142006
559 Ignore-this: 57d4bc9298b711e4bc9dc832c75295de
560 I noticed this because I had accidentally inserted a bug which caused AssertionError to be raised from check_requirement().
561]
562[M-x whitespace-cleanup
563zooko@zooko.com**20110510193653
564 Ignore-this: dea02f831298c0f65ad096960e7df5c7
565]
566[docs: fix typo in running.rst, thanks to arch_o_median
567zooko@zooko.com**20110510193633
568 Ignore-this: ca06de166a46abbc61140513918e79e8
569]
570[relnotes.txt: don't claim to work on Cygwin (which has been untested for some time). refs #1342
571david-sarah@jacaranda.org**20110204204902
572 Ignore-this: 85ef118a48453d93fa4cddc32d65b25b
573]
574[relnotes.txt: forseeable -> foreseeable. refs #1342
575david-sarah@jacaranda.org**20110204204116
576 Ignore-this: 746debc4d82f4031ebf75ab4031b3a9
577]
578[replace remaining .html docs with .rst docs
579zooko@zooko.com**20110510191650
580 Ignore-this: d557d960a986d4ac8216d1677d236399
581 Remove install.html (long since deprecated).
582 Also replace some obsolete references to install.html with references to quickstart.rst.
583 Fix some broken internal references within docs/historical/historical_known_issues.txt.
584 Thanks to Ravi Pinjala and Patrick McDonald.
585 refs #1227
586]
587[docs: FTP-and-SFTP.rst: fix a minor error and update the information about which version of Twisted fixes #1297
588zooko@zooko.com**20110428055232
589 Ignore-this: b63cfb4ebdbe32fb3b5f885255db4d39
590]
591[munin tahoe_files plugin: fix incorrect file count
592francois@ctrlaltdel.ch**20110428055312
593 Ignore-this: 334ba49a0bbd93b4a7b06a25697aba34
594 fixes #1391
595]
596[corrected "k must never be smaller than N" to "k must never be greater than N"
597secorp@allmydata.org**20110425010308
598 Ignore-this: 233129505d6c70860087f22541805eac
599]
600[Fix a test failure in test_package_initialization on Python 2.4.x due to exceptions being stringified differently than in later versions of Python. refs #1389
601david-sarah@jacaranda.org**20110411190738
602 Ignore-this: 7847d26bc117c328c679f08a7baee519
603]
604[tests: add test for including the ImportError message and traceback entry in the summary of errors from importing dependencies. refs #1389
605david-sarah@jacaranda.org**20110410155844
606 Ignore-this: fbecdbeb0d06a0f875fe8d4030aabafa
607]
608[allmydata/__init__.py: preserve the message and last traceback entry (file, line number, function, and source line) of ImportErrors in the package versions string. fixes #1389
609david-sarah@jacaranda.org**20110410155705
610 Ignore-this: 2f87b8b327906cf8bfca9440a0904900
611]
612[remove unused variable detected by pyflakes
613zooko@zooko.com**20110407172231
614 Ignore-this: 7344652d5e0720af822070d91f03daf9
615]
616[allmydata/__init__.py: Nicer reporting of unparseable version numbers in dependencies. fixes #1388
617david-sarah@jacaranda.org**20110401202750
618 Ignore-this: 9c6bd599259d2405e1caadbb3e0d8c7f
619]
620[update FTP-and-SFTP.rst: the necessary patch is included in Twisted-10.1
621Brian Warner <warner@lothar.com>**20110325232511
622 Ignore-this: d5307faa6900f143193bfbe14e0f01a
623]
624[control.py: remove all uses of s.get_serverid()
625warner@lothar.com**20110227011203
626 Ignore-this: f80a787953bd7fa3d40e828bde00e855
627]
628[web: remove some uses of s.get_serverid(), not all
629warner@lothar.com**20110227011159
630 Ignore-this: a9347d9cf6436537a47edc6efde9f8be
631]
632[immutable/downloader/fetcher.py: remove all get_serverid() calls
633warner@lothar.com**20110227011156
634 Ignore-this: fb5ef018ade1749348b546ec24f7f09a
635]
636[immutable/downloader/fetcher.py: fix diversity bug in server-response handling
637warner@lothar.com**20110227011153
638 Ignore-this: bcd62232c9159371ae8a16ff63d22c1b
639 
640 When blocks terminate (either COMPLETE or CORRUPT/DEAD/BADSEGNUM), the
641 _shares_from_server dict was being popped incorrectly (using shnum as the
642 index instead of serverid). I'm still thinking through the consequences of
643 this bug. It was probably benign and really hard to detect. I think it would
644 cause us to incorrectly believe that we're pulling too many shares from a
645 server, and thus prefer a different server rather than asking for a second
646 share from the first server. The diversity code is intended to spread out the
647 number of shares simultaneously being requested from each server, but with
648 this bug, it might be spreading out the total number of shares requested at
649 all, not just simultaneously. (note that SegmentFetcher is scoped to a single
650 segment, so the effect doesn't last very long).
651]
652[immutable/downloader/share.py: reduce get_serverid(), one left, update ext deps
653warner@lothar.com**20110227011150
654 Ignore-this: d8d56dd8e7b280792b40105e13664554
655 
656 test_download.py: create+check MyShare instances better, make sure they share
657 Server objects, now that finder.py cares
658]
659[immutable/downloader/finder.py: reduce use of get_serverid(), one left
660warner@lothar.com**20110227011146
661 Ignore-this: 5785be173b491ae8a78faf5142892020
662]
663[immutable/offloaded.py: reduce use of get_serverid() a bit more
664warner@lothar.com**20110227011142
665 Ignore-this: b48acc1b2ae1b311da7f3ba4ffba38f
666]
667[immutable/upload.py: reduce use of get_serverid()
668warner@lothar.com**20110227011138
669 Ignore-this: ffdd7ff32bca890782119a6e9f1495f6
670]
671[immutable/checker.py: remove some uses of s.get_serverid(), not all
672warner@lothar.com**20110227011134
673 Ignore-this: e480a37efa9e94e8016d826c492f626e
674]
675[add remaining get_* methods to storage_client.Server, NoNetworkServer, and
676warner@lothar.com**20110227011132
677 Ignore-this: 6078279ddf42b179996a4b53bee8c421
678 MockIServer stubs
679]
680[upload.py: rearrange _make_trackers a bit, no behavior changes
681warner@lothar.com**20110227011128
682 Ignore-this: 296d4819e2af452b107177aef6ebb40f
683]
684[happinessutil.py: finally rename merge_peers to merge_servers
685warner@lothar.com**20110227011124
686 Ignore-this: c8cd381fea1dd888899cb71e4f86de6e
687]
688[test_upload.py: factor out FakeServerTracker
689warner@lothar.com**20110227011120
690 Ignore-this: 6c182cba90e908221099472cc159325b
691]
692[test_upload.py: server-vs-tracker cleanup
693warner@lothar.com**20110227011115
694 Ignore-this: 2915133be1a3ba456e8603885437e03
695]
696[happinessutil.py: server-vs-tracker cleanup
697warner@lothar.com**20110227011111
698 Ignore-this: b856c84033562d7d718cae7cb01085a9
699]
700[upload.py: more tracker-vs-server cleanup
701warner@lothar.com**20110227011107
702 Ignore-this: bb75ed2afef55e47c085b35def2de315
703]
704[upload.py: fix var names to avoid confusion between 'trackers' and 'servers'
705warner@lothar.com**20110227011103
706 Ignore-this: 5d5e3415b7d2732d92f42413c25d205d
707]
708[refactor: s/peer/server/ in immutable/upload, happinessutil.py, test_upload
709warner@lothar.com**20110227011100
710 Ignore-this: 7ea858755cbe5896ac212a925840fe68
711 
712 No behavioral changes, just updating variable/method names and log messages.
713 The effects outside these three files should be minimal: some exception
714 messages changed (to say "server" instead of "peer"), and some internal class
715 names were changed. A few things still use "peer" to minimize external
716 changes, like UploadResults.timings["peer_selection"] and
717 happinessutil.merge_peers, which can be changed later.
718]
719[storage_client.py: clean up test_add_server/test_add_descriptor, remove .test_servers
720warner@lothar.com**20110227011056
721 Ignore-this: efad933e78179d3d5fdcd6d1ef2b19cc
722]
723[test_client.py, upload.py:: remove KiB/MiB/etc constants, and other dead code
724warner@lothar.com**20110227011051
725 Ignore-this: dc83c5794c2afc4f81e592f689c0dc2d
726]
727[test: increase timeout on a network test because Francois's ARM machine hit that timeout
728zooko@zooko.com**20110317165909
729 Ignore-this: 380c345cdcbd196268ca5b65664ac85b
730 I'm skeptical that the test was proceeding correctly but ran out of time. It seems more likely that it had gotten hung. But if we raise the timeout to an even more extravagant number then we can be even more certain that the test was never going to finish.
731]
732[docs/configuration.rst: add a "Frontend Configuration" section
733Brian Warner <warner@lothar.com>**20110222014323
734 Ignore-this: 657018aa501fe4f0efef9851628444ca
735 
736 this points to docs/frontends/*.rst, which were previously underlinked
737]
738[web/filenode.py: avoid calling req.finish() on closed HTTP connections. Closes #1366
739"Brian Warner <warner@lothar.com>"**20110221061544
740 Ignore-this: 799d4de19933f2309b3c0c19a63bb888
741]
742[Add unit tests for cross_check_pkg_resources_versus_import, and a regression test for ref #1355. This requires a little refactoring to make it testable.
743david-sarah@jacaranda.org**20110221015817
744 Ignore-this: 51d181698f8c20d3aca58b057e9c475a
745]
746[allmydata/__init__.py: .name was used in place of the correct .__name__ when printing an exception. Also, robustify string formatting by using %r instead of %s in some places. fixes #1355.
747david-sarah@jacaranda.org**20110221020125
748 Ignore-this: b0744ed58f161bf188e037bad077fc48
749]
750[Refactor StorageFarmBroker handling of servers
751Brian Warner <warner@lothar.com>**20110221015804
752 Ignore-this: 842144ed92f5717699b8f580eab32a51
753 
754 Pass around IServer instance instead of (peerid, rref) tuple. Replace
755 "descriptor" with "server". Other replacements:
756 
757  get_all_servers -> get_connected_servers/get_known_servers
758  get_servers_for_index -> get_servers_for_psi (now returns IServers)
759 
760 This change still needs to be pushed further down: lots of code is now
761 getting the IServer and then distributing (peerid, rref) internally.
762 Instead, it ought to distribute the IServer internally and delay
763 extracting a serverid or rref until the last moment.
764 
765 no_network.py was updated to retain parallelism.
766]
767[TAG allmydata-tahoe-1.8.2
768warner@lothar.com**20110131020101]
769Patch bundle hash:
770878bdec526ea00702e6f7dcc89b98373b94fecf8