Your message dated Tue, 16 Sep 2003 14:17:10 -0400
with message-id <[EMAIL PROTECTED]>
and subject line Bug#206416: fixed in dpkg 1.10.11
has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--------------------------------------
Received: (at submit) by bugs.debian.org; 20 Aug 2003 16:56:40 +0000
>From [EMAIL PROTECTED] Wed Aug 20 11:56:38 2003
Return-path: <[EMAIL PROTECTED]>
Received: from salmon.pepperfish.net [195.149.39.195]
by master.debian.org with esmtp (Exim 3.35 1 (Debian))
id 19pWGE-0007hn-00; Wed, 20 Aug 2003 11:56:38 -0500
Received: from [195.224.32.52] (helo=ennui.i.digital-scurf.org)
by salmon.pepperfish.net with asmtp (Exim 3.35 #1 (Debian))
id 19pWFt-0000vh-00
for <[EMAIL PROTECTED]>; Wed, 20 Aug 2003 17:56:17 +0100
Received: from dsilvers by ennui.i.digital-scurf.org with local (Exim 3.36 #1
(Debian))
id 19pWFt-0005W1-00
for <[EMAIL PROTECTED]>; Wed, 20 Aug 2003 17:56:17 +0100
Date: Wed, 20 Aug 2003 17:56:17 +0100
From: Daniel Silverstone <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: dpkg package hash table insufficient
Message-ID: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="Bn2rw/3z4jIqBvZU"
Content-Disposition: inline
X-Debbugs-CC: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]
User-Agent: Mutt/1.5.4i
X-Scanner: Found to be clean
Delivered-To: [EMAIL PROTECTED]
X-Spam-Status: No, hits=-11.6 required=4.0
tests=BAYES_20,HAS_PACKAGE,SIGNATURE_SHORT_SPARSE,
USER_AGENT_MUTT,X_DEBBUGS_CC
version=2.53-bugs.debian.org_2003_8_17
X-Spam-Level:
X-Spam-Checker-Version: SpamAssassin 2.53-bugs.debian.org_2003_8_17
(1.174.2.15-2003-03-30-exp)
--Bn2rw/3z4jIqBvZU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Package: dpkg
Version: 1.10.10
Severity: normal
Tags: patch
Hi,
I have been working on getting dpkg to run a bit faster, and one of the
big time-wasters in it was the package hash table. Originally written to
cope with a suite of 300 or so packages, 128 buckets seemed okay and the
naive hash function was sufficient.
With a suite of 13,000 plus packages, the hash table was utterly
inadequate.
Attached is a patch which resizes the hashtable to 8191 chains of
buckets. This is the largest prime less than 8192 and offers an
improvement (over common things like dpkg -p or dpkg -l) of between 20
and 30 percent on the runtime. An option would be to reduce the table to
only 4093 chains, but that reduces the gains to between 20 and 25
percent.
The patch also replaces the naive hash implementation with an
implementation of FNV (Fowler/Noll/Vo) which is a good low-collision
hash function, giving nice even spreads across the hash chains.
The patch was developed against version 1.10.10 of dpkg but since
lib/database.c has hardly changed in goodness knows how many releases,
it should cleanly apply to CVS head or a 1.10.10 branch.
Regards,
Daniel
--
Daniel Silverstone http://www.digital-scurf.org/
Hostmaster, Webmaster, and Chief Code Wibbler Digital-Scurf Unlimited
GPG Public key available from keyring.debian.org KeyId: 20687895
You will remember something that you should not have forgotten.
--Bn2rw/3z4jIqBvZU
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="database.patch.gz"
Content-Transfer-Encoding: base64
H4sIAM+MQz8AA81XbWvjRhD+XP+KgSNBtqx3S3bi+AgHPQiFfGm5fihtkKWVtUTSCu3KTlry
3zsj2TmpdzIKLaHGsN7dZ+flmZn1rGEYEJePO8MxHZu+IoutjG+tOFThNpTMjH5wbds17JXh
emD71wvv2ndN+/QB3XZse6Lrek/Od2R4jQwbHP/aD6795Tcybm/BcIP5agE6Dp4Dt7cT+MCL
KKtjBjck3kw//nPJiLfN6sT4ELOEFww+3d3/DJoDNzewnE4MsGbwS8ol5LVUEGaH8FnClkEI
pTiwCkQC6iBMgLsEnkUNURoWOwZc4VGYQSQKyWPENeu82IFKGZSsMnChCiOFW2koU9pJcCoq
0KK6qlihsmfwp6CEMCd6z7iVc+VM9DOGVTxnkKAoUSqehxnpw2keFhFDYWTXr1ylsLCvPNjW
0SNTcg4HBruMhQVKcO0LkCVjcV3OG0Gk8oRsBRCaKXC9CxPNYFCInBeoCtmtGEYNf0DOclE9
Qy1DYkSi4JxVrD0v+Z9MJNpe8Hg2na3swAPtzvzRhIxJiSShHZ770ycQNG65AvksFcvldAJ4
3MKIgVSh4hEOVR0pwGDyIhEw2/JC/kZE/b5+xfBCQVGG0SNaItcU7s4G8a9RoBRFqYJZEeZs
Cn9RBGl/vwF7TZNDyjMG2mkf9jDbgL/GUd9goDJKiOPuGmjQ9TW80MmKqboqYI9imrAxJKhi
ss6URCYrjFqUcrZnMRwoMI67AnJjDmERNxmTcbQOc+3kAwpFDlNxwHCpBrEVSom8yUfKigRN
NQllNSq/b7uzHGE8HqZgQfvxQUSYoLKZOID5dTSmC1p0QfYAyOuClgMgtwPy3AGQ0wH5QzbZ
XUkddef4GRPbM54PmdL13FmM8Nwd4rDnuT/G89U4zx3nHTJjyPVeZlyN4WfI9S4/C28EP4tg
HD/e2/kJxvDjj6mctyfZEKhH4lAN9kgcipk9ADqfZO+RZf9dFQ4l0NsJ8kcQhLRo+5sbb/rv
LqGh0ui5P3Sz9twfc/0uxly/i5GXkHv1Dukx5FWPn6FK7PETjOFnCGQP3FRn68f7n/AzmGS9
v+9Rf2JjLun+3/drc/z5/suDSBLJ1AO+G7AHcp0gcLzADZw668Ny/oQd90PbKTvBcrkMnCsC
TXRk+7M4ZKyy7kWWWV8E4CNH8rxE/rHVpEadGkbqowlZAfa41O0mYg6SMUiVKq8t63A4mNiz
pfh8EbkVpaLYCUuxKLVwXlpJsbd4EbMnM1V51sgiVyb6sS+t8dmwK7AfPNug6tRZ7lANviL6
J2DzDR3rYXh5hHdpaeBN2mmtQjhqBJSOyVeuT5M/Ni0AM46WXlo9TcObYq/9Qr069fmwzcLi
cc8qyUWhHdv247Rie04jzI4LpIyedM5yNV+C7rg+DvSkAyg3TYKv6Xdr4KykmpiVnUoosQzK
tgYQRj14KdBVViGIWmvQQWt4bbm8BI2eDIYznTZOnAVftGCCwtfSPB2By0tKlAgfQVFeal83
psZHOj9vhDTvmK6eyz6QPalGOk86osnLpGJMO9b5keXXffL2b73H+pWUDwAA
--Bn2rw/3z4jIqBvZU--
---------------------------------------
Received: (at 206416-close) by bugs.debian.org; 16 Sep 2003 18:25:17 +0000
>From [EMAIL PROTECTED] Tue Sep 16 13:25:16 2003
Return-path: <[EMAIL PROTECTED]>
Received: from auric.debian.org [206.246.226.45]
by master.debian.org with esmtp (Exim 3.35 1 (Debian))
id 19zKVo-0002RE-00; Tue, 16 Sep 2003 13:25:16 -0500
Received: from katie by auric.debian.org with local (Exim 3.35 1 (Debian))
id 19zKNy-0002NF-00; Tue, 16 Sep 2003 14:17:10 -0400
From: Adam Heath <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
X-Katie: $Revision: 1.35 $
Subject: Bug#206416: fixed in dpkg 1.10.11
Message-Id: <[EMAIL PROTECTED]>
Sender: Archive Administrator <[EMAIL PROTECTED]>
Date: Tue, 16 Sep 2003 14:17:10 -0400
Delivered-To: [EMAIL PROTECTED]
Source: dpkg
Source-Version: 1.10.11
We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive:
dpkg-dev_1.10.11_all.deb
to pool/main/d/dpkg/dpkg-dev_1.10.11_all.deb
dpkg-doc_1.10.11_all.deb
to pool/main/d/dpkg/dpkg-doc_1.10.11_all.deb
dpkg_1.10.11.dsc
to pool/main/d/dpkg/dpkg_1.10.11.dsc
dpkg_1.10.11.tar.gz
to pool/main/d/dpkg/dpkg_1.10.11.tar.gz
dpkg_1.10.11_i386.deb
to pool/main/d/dpkg/dpkg_1.10.11_i386.deb
dselect_1.10.11_i386.deb
to pool/main/d/dpkg/dselect_1.10.11_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Adam Heath <[EMAIL PROTECTED]> (supplier of updated dpkg package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.7
Date: Tue, 16 Sep 2003 12:52:11 -0500
Source: dpkg
Binary: dpkg-doc dpkg dselect dpkg-dev dpkg-static
Architecture: source all i386
Version: 1.10.11
Distribution: unstable
Urgency: low
Maintainer: Dpkg Development <[email protected]>
Changed-By: Adam Heath <[EMAIL PROTECTED]>
Description:
dpkg - Package maintenance system for Debian
dpkg-dev - Package building tools for Debian
dpkg-doc - Dpkg Internals Documentation
dselect - a user tool to manage Debian packages
Closes: 8241 37254 61156 91348 106793 111562 112386 115759 126621 127342 131893
133745 137313 150642 151845 153096 154277 154633 155822 157973 160447 161819
163621 165099 167426 169359 169619 170575 173618 174013 174971 175236 175363
175770 177753 179385 183840 191261 191810 196361 198218 199360 200351 203097
203557 203782 204123 204894 206164 206416 207259 208014 208894 210285
Changes:
dpkg (1.10.11) unstable; urgency=low
.
* dpkg no longer provides any BYHAND files. If you need the source
tarball, use the orig.tar.gz file available in the pool. The
precompiled tars were hold-overs from when debs were not standard
ar/tar files.
* Install /usr/share/doc/dpkg/pseudo-tags, which talks about the bug
titling we use to mark bugs for filtering in the Debian bts.
* Updated ca.po.
* Teach dpkg-source that ~ is legal in version numbers
* Add build-depends on sgml-base, and increase gettext build-depends to
0.12.1-3.
* Updated config.sub and config.guess in cvs.
* Change use of strncpy in parsedb to memcpy. Closes: #160447
* No longer generate helpmsgs.{cc,h}.
* several controllib changes:
* Moved dependency parsing logic from dpkg-checkbuilddeps.
The dpkg-checkbuilddeps parser didn't support empty fields, while
the controllib parser did.
* All dependency fields parsed by controllib.pl support [arch]
specifiers. If the arch specifier doesn't apply for the current
arch, then the item will not be added to the internal list structure.
* Comment lines(that begin with '#') are removed during parsing.
* Store the original casing of field names, for use in error reporting.
* Store the original field's casing with 'o:' prepended in %fi.
* [EMAIL PROTECTED]:
dpkg-checkbuilddeps now handles empty fields. Closes: #111562
* Branden Robinson <[EMAIL PROTECTED]>:
support comments(first char on line begins with '#') in
debian/control. Closes: #191810
* Bastian Blank <[EMAIL PROTECTED]>:
Allow for per-arch generated dependency fields. Closes: #170575
* Branden Robinson <[EMAIL PROTECTED]>:
Report the original casing of field names when they are unknown.
Closes: #177753
* Patch dpkg-buildpackage to call debian/rules -qn build-arch, and if
it's available, modify -B handling appropriately. If build-arch is not
available, then when -B was called, do *not* pass -B on to
dpkg-checkbuilddeps. Closes: #203097
* Frank Lichtenheld <[EMAIL PROTECTED]>:
Apply patch, to handle missing infodir.bak, and empty files. Closes:
#196361
* Change standard_startup and standard_shutdown into macros. Closes:
#200351.
* Andrew Suffield <[EMAIL PROTECTED]>:
Fix inverted test of eof in parsedb, while looking for eof after
field name. Closes: #198218
* Yann Dirson <[EMAIL PROTECTED]>
Add set -e to dpkg-doc.postinst. Closes: #191261
* Michael Weber <[EMAIL PROTECTED]>:
dpkg --print-architecture now does gcc -dumpmachine instead of
--print-libgcc-file-name. Closes: #131893, #8241, #106793, #210285
* Daniel Silverstone <[EMAIL PROTECTED]>:
Apply patch to change hashing function, and increase bin size, for
the package database. Closes: #206416
* Paul Eggert <[EMAIL PROTECTED]>:
Apply patch to make dpkg work with POSIX 1003.1-2001. Closes:
#204894
* Joey Hess <[EMAIL PROTECTED]>:
Fix "stripping trailing /" message from dpkg-statoverride. Closes:
#203782
* Sami Liedes <[EMAIL PROTECTED]>:
Increase filesdb bin size, and alter hashing function. Closes:
#179385
* Anthony Towns <[email protected]>:
Retry removing empty dirs during purge. Closes: #112386
* Darren Salt <[EMAIL PROTECTED]>:
Add .cvsignore to dpkg-source's default diff ignore regex. Also fix
missing \ escape for .deps. Closes: #174013
* Koblinger Egmont <[EMAIL PROTECTED]>:
Fix segfault with --status-fd. Closes: #173618
* Colin Watson <[EMAIL PROTECTED]>,
Andrew Suffield <[EMAIL PROTECTED]>:
Add .svn, {arch}, and .arch-ids to dpkg-source -i default regex.
Closes: #169359
* Falk Hueffner <[EMAIL PROTECTED]>:
Added alphaev68-linux-gnu to archtable. Closes: #199360
* Elie Rosenblum <[EMAIL PROTECTED]>:
Apply patch to support OpenBSD. Closes: #154277
* Geoff Richards <[EMAIL PROTECTED]>:
Add --config to action section, and add as EXAMPLES section. Closes:
#208014, #115759
* Yann Dirson <[EMAIL PROTECTED]>:
install-info --version and --help now display on stdout. Closes:
#154633
* Dan Jacobson <[EMAIL PROTECTED]>:
Mention what dpkg and dpkg-query -S will not find. Closes: #153096
* Sebastian Leske <[EMAIL PROTECTED]>:
Mention in dpkg(8) that downgrading a package can have serious
consequences. Closes: #61156
* Dan Jacobson <[EMAIL PROTECTED]>:
In dpkg-scanpackages(8), including small note that other tools might
use the generated Packages file. Closes: #208894
* Warren Turkal <[EMAIL PROTECTED]>:
Fix some typos in dpkg-source(1). Closes: #207259, #204123, #167426
* Dan Jacobson <[EMAIL PROTECTED]>:
Alter text in dselect(8), implying that other interfaces are available
for installing packages. Closes: #206164.
* Daniel Bonniot <[EMAIL PROTECTED]>:
Note in start-stop-daemon(8) that --nicelevel takes an argument.
* Ruben Porras <[EMAIL PROTECTED]>:
Remove duplicate 'can' in deb-control(5). Closes: #183840
* Dan Jacobson <[EMAIL PROTECTED]>:
Fix short description in dpkg-scansources(8). Closes: #175770
* Zefram <[EMAIL PROTECTED]>:
In dpkg(8), move dpkg-query options to their own subsection, like
dpkg-deb. Closes: #174971
* Thomas Hood <[EMAIL PROTECTED]>
Add --dry-run and --simulate as synonyms to --no-act. Closes:
#165099
* Junichi Uekawa <[EMAIL PROTECTED]>:
Fix wrong reference to DEB_BUILD_GNU_SYSTEM on --host in
dpkg-architecture(1). Closes: #163621
* Michael Klein <[EMAIL PROTECTED]>:
s/Usuaully/Usually/ in deb-control.5. Closes: #161819
* Joey Hess <[EMAIL PROTECTED]>:
Removed reference in dselect(8) about recommends not being handled
well. Closes: #157973
* Andrew Suffield <[EMAIL PROTECTED]>:
s/dpkg-source/dpkg-parsechangelog/ in dpkg-parsechangelog -h.
Closes: #155822
* Matej Vela <[EMAIL PROTECTED]>:
Unhighlight "May be repeated multiple times." in dpkg-source(1).
Closes: #151845
* Jordi Mallach <[EMAIL PROTECTED]>:
Make all actions in dpkg-deb -h lower case. Closes: #150642
* Alexander Hvostov <[EMAIL PROTECTED]>:
Add -g|--group to start-stop-daemon, and document properly. Closes:
#127342
* Szerb Tamas <[EMAIL PROTECTED]>:
s/THANKS/THANKS.gz/ in dpkg(8). Closes: #91348
* "James R. Van Zandt" <[EMAIL PROTECTED]>:
In dpkg(8), mention running dselect, install after --set-selections.
Closes: #175236
* Yann Dirson <[EMAIL PROTECTED]>:
Remove disabled --command-fd from help. Closes: #169619
* Tobias Burnus <[EMAIL PROTECTED]>:
Apply patch to update-alternatives that provides --set and --remove-all
commands. Closes: #133745.
* Osamu Aoki <[EMAIL PROTECTED]>:
Add --all to update-alternatives, that calls --config on all
alternatives. Closes: #126621
* Dan Jacobson <[EMAIL PROTECTED]>:
Alter --config prompt, to be more clear, that one must 'press' enter to
accept the default. Closes: #203557
* Peter Moulder <[EMAIL PROTECTED]>:
Fix some -w issues in update-alternatives. Closes: #137313
* Eduard Bloch <[EMAIL PROTECTED]>:
Apply patch to check whether the target path exists on removing.
Closes: #37254
* Colin Walters <[EMAIL PROTECTED]>:
After opening files, set binmode. Closes: #175363
Files:
c7e30e4e0bba75b3ec78ab93bfb0d9be 636 base required dpkg_1.10.11.dsc
223521ddf95001272e4277a3e0c88099 1550456 base required dpkg_1.10.11.tar.gz
5e7875129eb802280a39bb1e52de6d9b 1127996 base required dpkg_1.10.11_i386.deb
7109eeca641fe77778b3f09e56b8f83f 94706 base required dselect_1.10.11_i386.deb
4543b320c5c1812655cf3f21bd0fc1d2 112472 utils standard dpkg-dev_1.10.11_all.deb
4f180e7a2a5745f9bae370e085a04a08 10638 doc optional dpkg-doc_1.10.11_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE/Z1JSiix9wovUpIkRAhceAJ0TNxmtszpRPDU/0qqrQsYY0+QEvwCgidTM
qem1H1YD1kM6loTFOaMtkyc=
=l3Sv
-----END PGP SIGNATURE-----