commit 9babd2d62709dd694c74fd716543c5561e169038
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Oct 14 07:08:40 2011 +0200

    Release 1.16.1.1

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 343c4935b8b7f57281564659aa6ff0d3c925d5ab
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 13 10:28:58 2011 +0200

    dpkg-buildflags: Disable bindnow if relro is not used
    
    There is no point in enabling full relro (aka bindnow) if relro is
    not enabled. It just brings its disadvantages and none of its possible
    advantages.

 debian/changelog              |    1 +
 scripts/Dpkg/Vendor/Debian.pm |    3 +++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 44aa764eb17a7665c291b424ddc3a4b6ef5a0754
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Oct 10 10:50:02 2011 +0200

    scripts/mk: fix buildflags.mk to make use of the DEB_*_MAINT_* variables
    
    Make does not export its own variables (even those which have been
    exported explicitly) to sub-shells executed with $(shell …). Since
    dpkg-buildflags is called that way, we have to modify the command
    line to embed variable initializations to ensure that we forward the
    variables that have been set by the maintainer in debian/rules.
    
    Since this code required to loop over all possible flags, I took
    the opportunity to also set the output variables within a loop construct
    using a single template (avoids copy&paste mistakes).
    
    Reported-by: Pierre Chifflier <pollux@debian.org>

 debian/changelog         |    2 ++
 scripts/mk/buildflags.mk |   24 ++++++++++++++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)

commit ceb939d278689634037115a728fd7c083d0e4a39
Author: Thorsten Glaser <tg@mirbsd.org>
Date:   Sat Oct 8 17:25:08 2011 +0000

    scripts/mk: Fix typo by setting DEB_*_ARCH_BITS instead of DEB_*_ARCH
    
    Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog           |    2 ++
 scripts/mk/architecture.mk |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit f18c197931e280ff3594dd06585ad1a15e24bc28
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 6 16:54:57 2011 +0200

    dpkg-source: ignore changes on debian/patches/.dpkg-source-applied
    
    With 2.0 source packages, dpkg-source records as a comment in
    debian/patches/.dpkg-source-applied whether the patches have
    been applied at build time or at unpack time.
    
    This can lead to differences between the file in the build tree
    and the file in the reference tree used to check for changes.
    Thus we need to ignore that file in the diff process or the build
    might fail considering this difference as a local change that
    has not been recorded in a patch.
    
    Reported-by: Jakub Wilk <jwilk@debian.org>

 debian/changelog                  |    2 ++
 scripts/Dpkg/Source/Package/V2.pm |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 2cece5eb5d61df91e7e774511c19785afe26f596
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 6 16:17:02 2011 +0200

    Updade changelog to include some missing bug closures

 debian/changelog |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 667bae316a302c0f62e5e38a6c791a62785af4b2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 6 15:32:36 2011 +0200

    dpkg: fix trigger setup code to not reset the status of unconfigured packages
    
    The change in commit a36cadba41b19d5908bdfcb658cf01af07c1436a was wrongly
    assuming that all packages would be in one of the states
    triggers-awaited, triggers-pending or installed when
    trig_transitional_activate kicks in.
    
    That is not the case and the status reset should hence only be done when
    the current status is already such that the trigger information are
    meaningful. transitional_interest_callback_ro() is already taking care
    to not add anything in the Triggers-Pending field when the status
    is such that it would not make sense.
    
    Reported-by: Hector Oron <hector.oron@gmail.com>

 debian/changelog |    3 +++
 src/trigproc.c   |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 128ece24446b5e7a701f94d9bdcc4c6a3c8410e3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 2 09:44:14 2011 +0200

    dpkg-buildpackage: no longer output the build flags
    
    Because dpkg-buildpackage is no longer setting the corresponding
    environment variables, and because it confuses maintainers
    who are overriding them via debian/rules and who are not seeing
    the expected values in their build log.

 debian/changelog             |    3 +++
 scripts/dpkg-buildpackage.pl |    8 --------
 2 files changed, 3 insertions(+), 8 deletions(-)

commit feac1f983ce3fb45266283ba07483e029095b022
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 2 09:06:53 2011 +0200

    dpkg-buildflags: Set preprocessor option -D_FORTIFY_SOURCE=2 in CPPFLAGS
    
    Instead of setting it in the CFLAGS and CXXFLAGS variables.
    
    Closes: #642521, #643632

 debian/changelog              |    5 +++++
 scripts/Dpkg/Vendor/Debian.pm |    3 +--
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 570886809efd1b551072fe52ccfd4e50a4175375
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Sep 29 14:23:24 2011 +0200

    dpkg-buildflags(1): drop the quotes when setting DEB_BUILD_MAINT_OPTIONS
    
    DEB_BUILD_MAINT_OPTIONS is usually set in a Makefile and make puts the
    quotes in the variable value (i.e. it doesn't use them to delimit the
    value). This is obviously not wanted so let's fix the examples.

 debian/changelog      |    2 ++
 man/dpkg-buildflags.1 |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit dd483ad8e4484e466f98e3d2deccaaa75cae099f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Sep 29 14:13:47 2011 +0200

    dpkg-buildflags: fix --dump to return 0 as exit code
    
    Reported-by: Yves-Alexis Perez <corsac@debian.org>

 debian/changelog           |    1 +
 scripts/dpkg-buildflags.pl |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit bd4c055562a3cbfa1c74b55348e545b2fcdd3393
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 27 09:01:52 2011 +0200

    dpkg-source: let --commit create debian/patches when required
    
    Reported-by: Jakub Wilk <jwilk@debian.org>

 debian/changelog                  |    1 +
 scripts/Dpkg/Source/Package/V2.pm |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit 669e0ff496e6870c06de82da111ba069263a0456
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 27 08:44:12 2011 +0200

    dpkg-source: do not ignore the automatic patch when checking for unrecorded changes
    
    The former behaviour to always generate the automatic patch required to
    not apply it on the tree used as a basis for the patch generation. That
    way it could be updated at each build.
    
    With the new behaviour to fail on any new change, we should no longer
    ignore it. It must be applied on the reference tree except when
    --auto-commit is on.
    
    This should fix 227 (source package) build failures in Debian unstable.

 debian/changelog                  |    7 +++++++
 scripts/Dpkg/Source/Package/V2.pm |   18 +++++++++++-------
 2 files changed, 18 insertions(+), 7 deletions(-)

commit 437f8b53910c0b59df6182fc23a1485f8638c745
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 23 06:00:18 2011 +0200

    Release 1.16.1

 debian/changelog |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit e64ab34cd022b2d4381c85643ef29a0f0df42394
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 23 05:59:26 2011 +0200

    Add debian/changelog entry for .deb large file support (LFS) fixes

 debian/changelog |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 75909e0cb643ee165929f405cca6c82eb6242b04
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 23 03:49:53 2011 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |    2 +-
 dselect/po/ca.po        |    2 +-
 dselect/po/cs.po        |    2 +-
 dselect/po/da.po        |    2 +-
 dselect/po/de.po        |    2 +-
 dselect/po/dselect.pot  |    4 +-
 dselect/po/el.po        |    2 +-
 dselect/po/es.po        |    2 +-
 dselect/po/et.po        |    2 +-
 dselect/po/eu.po        |    2 +-
 dselect/po/fr.po        |    2 +-
 dselect/po/gl.po        |    2 +-
 dselect/po/hu.po        |    2 +-
 dselect/po/id.po        |    2 +-
 dselect/po/it.po        |    2 +-
 dselect/po/ja.po        |    2 +-
 dselect/po/ko.po        |    2 +-
 dselect/po/nb.po        |    2 +-
 dselect/po/nl.po        |    2 +-
 dselect/po/nn.po        |    2 +-
 dselect/po/pl.po        |    2 +-
 dselect/po/pt.po        |    2 +-
 dselect/po/pt_BR.po     |    2 +-
 dselect/po/ro.po        |    2 +-
 dselect/po/ru.po        |    2 +-
 dselect/po/sk.po        |    2 +-
 dselect/po/sv.po        |    2 +-
 dselect/po/tl.po        |    2 +-
 dselect/po/vi.po        |    2 +-
 dselect/po/zh_CN.po     |    2 +-
 dselect/po/zh_TW.po     |    2 +-
 man/po/de.po            |   22 +-
 man/po/dpkg-man.pot     |  454 ++++++++++++++-------
 man/po/es.po            |  447 +++++++++++++++-----
 man/po/fr.po            |  479 +++++++++++++++++-----
 man/po/hu.po            |  398 +++++++++++++-----
 man/po/ja.po            |  405 ++++++++++++++-----
 man/po/pl.po            |  445 +++++++++++++++------
 man/po/pt_BR.po         |  395 +++++++++++++-----
 man/po/ru.po            |  401 +++++++++++++-----
 man/po/sv.po            |  114 +-----
 po/ast.po               | 1021 ++++++++++++++++++++++++----------------------
 po/bs.po                |  976 ++++++++++++++++++++++----------------------
 po/ca.po                | 1038 ++++++++++++++++++++++++----------------------
 po/cs.po                | 1038 ++++++++++++++++++++++++----------------------
 po/da.po                | 1038 ++++++++++++++++++++++++----------------------
 po/de.po                |  412 ++++++++++---------
 po/dpkg.pot             |  978 ++++++++++++++++++++++----------------------
 po/dz.po                | 1013 +++++++++++++++++++++++----------------------
 po/el.po                | 1015 +++++++++++++++++++++++----------------------
 po/eo.po                | 1038 ++++++++++++++++++++++++----------------------
 po/es.po                | 1038 ++++++++++++++++++++++++----------------------
 po/et.po                | 1009 +++++++++++++++++++++++----------------------
 po/eu.po                | 1038 ++++++++++++++++++++++++----------------------
 po/fr.po                | 1043 ++++++++++++++++++++++++----------------------
 po/gl.po                | 1015 +++++++++++++++++++++++----------------------
 po/hu.po                | 1015 +++++++++++++++++++++++----------------------
 po/id.po                | 1038 ++++++++++++++++++++++++----------------------
 po/it.po                | 1045 ++++++++++++++++++++++++----------------------
 po/ja.po                | 1042 ++++++++++++++++++++++++----------------------
 po/km.po                | 1013 +++++++++++++++++++++++----------------------
 po/ko.po                | 1038 ++++++++++++++++++++++++----------------------
 po/ku.po                |  978 ++++++++++++++++++++++----------------------
 po/lt.po                | 1001 +++++++++++++++++++++++----------------------
 po/mr.po                | 1001 +++++++++++++++++++++++----------------------
 po/nb.po                | 1038 ++++++++++++++++++++++++----------------------
 po/ne.po                | 1013 +++++++++++++++++++++++----------------------
 po/nl.po                | 1015 +++++++++++++++++++++++----------------------
 po/nn.po                |  995 +++++++++++++++++++++++----------------------
 po/pa.po                | 1014 +++++++++++++++++++++++----------------------
 po/pl.po                | 1021 ++++++++++++++++++++++++----------------------
 po/pt.po                | 1038 ++++++++++++++++++++++++----------------------
 po/pt_BR.po             | 1015 +++++++++++++++++++++++----------------------
 po/ro.po                | 1038 ++++++++++++++++++++++++----------------------
 po/ru.po                | 1038 ++++++++++++++++++++++++----------------------
 po/sk.po                | 1038 ++++++++++++++++++++++++----------------------
 po/sv.po                |  443 ++++++++++-----------
 po/th.po                | 1038 ++++++++++++++++++++++++----------------------
 po/tl.po                |  995 +++++++++++++++++++++++----------------------
 po/vi.po                | 1038 ++++++++++++++++++++++++----------------------
 po/zh_CN.po             | 1038 ++++++++++++++++++++++++----------------------
 po/zh_TW.po             | 1013 +++++++++++++++++++++++----------------------
 scripts/po/ca.po        |  111 +++---
 scripts/po/de.po        |    5 +-
 scripts/po/dpkg-dev.pot |  111 +++---
 scripts/po/es.po        |  117 +++---
 scripts/po/fr.po        |  124 ++++---
 scripts/po/pl.po        |  116 +++---
 scripts/po/ru.po        |  117 +++---
 scripts/po/sv.po        |    5 +-
 90 files changed, 23917 insertions(+), 21122 deletions(-)

commit e70decaabe0eb0ecec595a56ec4b06318454f478
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 21 21:13:47 2011 +0200

    Add project documentation to the top level README
    
    This will help people getting the source from git, or downstream
    packagers on how to build from source or interact with the
    maintainers.

 README |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 110 insertions(+), 3 deletions(-)

commit 7af8fb2f01df10ffd65b733772fd3ef88f808cc3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 13 08:47:58 2011 +0200

    dpkg-buildflags: Disable bind now by default
    
    This option has a startup performance hit on slow systems, particularly
    due to slow I/O, the effects of which cannot be reverted except for a
    rebuild. It might make sense for long running processes where the
    startup time is not that important, and the security improvements do
    actually matter. Another option is to set the environment variable
    LD_BIND_NOW=1 for the long running process, so that the sysadmin can
    disable it if desired.

 man/dpkg-buildflags.1         |    4 ++--
 scripts/Dpkg/Vendor/Debian.pm |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 7cdaeb8a1cf5d69dafca107ab30dfad3ece1ee16
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 22 04:18:05 2011 +0200

    scripts/mk: Simplify sed expression for DEB_DISTRIBUTION

 scripts/mk/pkg-info.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cfba9b80fea680d561671713b78044c365a14924
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Sep 21 22:44:00 2011 +0200

    scripts/mk/pkg-info.mk: DEB_DISTRIBUTION returns all listed distributions
    
    Update DEB_DISTRIBUTION to return all distributions listed in the current
    changelog entry instead of only the first one.

 scripts/mk/pkg-info.mk |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit c10517e66a9d62b4a2be9b08f7d3f42378c46ff9
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Sep 21 08:48:37 2011 +0200

    scripts/mk/pkg-info.mk: adjust variable names
    
    Rename DEB_VERSION_NOREV and DEB_VERSION_NOEPOCH to
    DEB_VERSION_EPOCH_UPSTREAM and DEB_VERSION_UPSTREAM_REVISION to define
    them by inclusion rather than by exclusion.
    
    Rename DEB_SOURCE_PACKAGE into the less verbose DEB_SOURCE.
    
    Suggested-by: Guillem Jover <guillem@debian.org>

 scripts/mk/pkg-info.mk |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 966a4f6bd2ef733aba463e1c89a6a5aebfc3499e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 19 17:40:04 2011 +0200

    build: Pack [type:man] entries in po4a.cfg
    
    There's a huge amount of blank lines which mostly distract from the
    actual content, remove them and fold the lines referring to the man
    page into a single line and leave the addendum line on its own.

 man/po/po4a.cfg |  165 ++++++++++++++-----------------------------------------
 1 files changed, 41 insertions(+), 124 deletions(-)

commit 0ed90da7f4ec6828d85dc78a98b3c8d32f55151b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 19 17:12:56 2011 +0200

    build: Merge PO4A_COMMON_OPTS and PO4A_BUILD_OPTS into PO4A_OPTS

 man/Makefile.am |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit 822ea85c7c16d45f932f9c86f5ac0a04a8c304c2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 19 17:01:23 2011 +0200

    build: Use po4a --srcdir and --builddir
    
    This avoids the absolute paths in the po4a Discard output messages,
    and simplifies the build infrastructure by not needing the change
    directory gymnastics and builddir po4a variable in the po4a.cfg file.
    
    It's been enough time now since #538136 was filed precisely for dpkg
    needs, to rely on these “new” options.

 debian/changelog |    2 +
 debian/control   |    2 +-
 man/Makefile.am  |    8 ++---
 man/po/po4a.cfg  |   82 +++++++++++++++++++++++++++---------------------------
 4 files changed, 47 insertions(+), 47 deletions(-)

commit 572caf52457bc4158f6443aa455414e1d5e861dd
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 19 16:48:51 2011 +0200

    build: Use rm instead of po4a on make clean to not change the .pot file
    
    There's no way to invoke po4a for the clean target w/o it possibly
    modifying the .pot file, which makes the distcheck target fail in
    that case.

 man/Makefile.am |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

commit 3081af870546d7920d56a44611b7bc185286bda8
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 19 16:34:14 2011 +0200

    build: Place all man rules at the end of the Makefile.am

 man/Makefile.am |  146 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 74 insertions(+), 72 deletions(-)

commit 5fc9084fd7c439bbc73a3628b513e028c984ac29
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 18 19:22:59 2011 +0200

    dpkg: Destroy the dpkg_error variables on warnings
    
    The leak on cmpversions() does not pose any issue on normal operation as
    the program will exit immediately and the memory will be freed by the
    system, but once --command-fd is enabled, it could actually be a problem
    due to a long running dpkg process leaking repeatedly.
    
    The leak on parse_db_version() is actually problematic as it can act
    repeatedly if there's tons of warnings when parsing.
    
    Regression introduced in commit ccc26399f2f0e295da1206c5ce81fe81a5dc0e21.
    
    Reported-by: Niels Thykier <niels@thykier.net>

 lib/dpkg/parsehelp.c |    2 ++
 src/enquiry.c        |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit e2f95d8abee9978f480c8e1e4a31ed420900509c
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 18 09:42:48 2011 +0200

    Update German translation of manual pages
    
    Update to 2064t.

 man/po/de.po |   46 +++++++++++++++++++++++-----------------------
 1 files changed, 23 insertions(+), 23 deletions(-)

commit 96f21bd6d8cac9ce75726ba2626fbac86933bf9f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 16 23:39:09 2011 +0200

    build: Ignore perl test programs for coverage report

 scripts/Makefile.am |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit c24e8eba3b4fa687e77259822e9ae91735ac1941
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 16 22:17:09 2011 +0200

    s-s-d(8): Document the optional “:group|gid” argument for --chuid

 debian/changelog        |    1 +
 man/start-stop-daemon.8 |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 49ad180074dd59337622c568391770936cf912c4
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 16 19:41:31 2011 +0200

    s-s-d: Reset the user and group names from the password entry on --chuid
    
    This guarantees the initgroups() call will not fail when the user
    specified the user to change to as a uid instead of a username.
    
    Closes: #641834
    
    Reported-by: Andreas Pretzsch <apr@cn-eng.de>

 debian/changelog          |    2 ++
 utils/start-stop-daemon.c |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit f82c23a76d028c3b7d4df41d51a8eaacb5162b88
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 15 04:41:30 2011 +0200

    s-s-d: Fix do_procinit() on OSHurd, OShpux and HAVE_KVM_H
    
    The function on those systems did not have their return code updated
    for the status code.

 utils/start-stop-daemon.c |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

commit 9805ef20ebf7141c419376af68e7476b5c0dd5c0
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 14 23:32:43 2011 +0200

    s-s-d: Cast proc_stat_owner_uid() to uid_t to fix a warning

 utils/start-stop-daemon.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8e5585ff0c70be2070190defa6c2d04039c3fcb4
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 13 08:50:03 2011 +0200

    dpkg-buildflags(1): Fix ld option name from -z,bindnow to -z,now

 man/dpkg-buildflags.1 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 82f4497f3bbe41d52fe697868d53732bb355da81
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 13 05:19:50 2011 +0200

    u-a: Free struct alternative_map variables
    
    Take references when adding duplicate entries of the same alternative
    on load, and add a new alternative_map_free() function to free an
    alternative_map variable.

 utils/update-alternatives.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

commit 3b2b9aea518f3e3a562a57a9d7caa2623b4876ff
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 13 05:17:34 2011 +0200

    u-a: Add ref counting support to struct alternative
    
    This will allow to properly free an alternative map which contains
    duplicated references to the same alternative struct.

 utils/update-alternatives.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

commit d918d025f1ef1c15b76eb2fcc14d5830514937a9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 18 07:11:48 2011 +0200

    dpkg: Do not fail on version parsing warnings in --compare-versions
    
    The bogus versions might get fed into «dpkg --compare-versions» by
    way of maintainer scripts, which would get the bogus versions from
    the database, somewhere dpkg still allows those to exist.

 debian/changelog |    3 +++
 src/enquiry.c    |   16 ++++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

commit ccc26399f2f0e295da1206c5ce81fe81a5dc0e21
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 14 04:18:47 2011 +0200

    libdpkg: Switch parseversion() to use dpkg_error
    
    This allows to merge back the parseversion_lax() and
    version_strict_check() functions into a single parseversion(), which
    performs all the validation, but issues different types of dpkg_error
    messages on error. Which simplifies parse_db_version() and will allow
    for callers to distinguish the error conditions and handle them as
    they see fit.

 lib/dpkg/dpkg-db.h        |    5 ++-
 lib/dpkg/parsehelp.c      |  100 ++++++++++++++++++---------------------------
 lib/dpkg/test/t-version.c |   69 ++++++++++++++++++++-----------
 src/enquiry.c             |   12 ++---
 4 files changed, 94 insertions(+), 92 deletions(-)

commit b03f212d3a29bef2be2f269f0656e482bb9e56ad
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 10 19:50:15 2011 +0200

    libdpkg: Add new error module
    
    This new module provides error reporting infrastructure, which will
    be used to report back error information from inner functions that
    are not supposed to ohshit() directly, the caller should be
    responsible for the outcome, including just forwarding the error
    to its own caller.

 lib/dpkg/Makefile.am |    2 +
 lib/dpkg/error.c     |   93 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/error.h     |   49 ++++++++++++++++++++++++++
 3 files changed, 144 insertions(+), 0 deletions(-)

commit 07a8f6d882c019ed039442237c53d8333dc9c4a5
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 16 17:23:53 2011 +0200

    libdpkg: Add more test cases for version parsing failures

 lib/dpkg/test/t-version.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit 11bb86fe8aa208de4453589da31cf5c62649f091
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 14 05:07:19 2011 +0200

    libdpkg: Rename err variables to z_errnum and bz_errnum
    
    Make the variables more specific and clear about their intended purpose.

 lib/dpkg/compress.c |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

commit 39a535646fe17f4f9d9db88295e406443d1bc40a
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 10 10:14:40 2011 +0200

    libdpkg: Move ohshite calls into the buffer_copy loop

 lib/dpkg/buffer.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit 49a0022b72df33589fc416c30dc33a82f5f58ea6
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 17 15:58:51 2011 +0200

    libdpkg: Refactor path basename code into new path_basename function
    
    This function is an equivalent of the GNU basename, but this one will
    work consistently on any system regardless of libc used.

 dpkg-split/split.c     |    8 +++-----
 lib/dpkg/command.c     |   11 +++++------
 lib/dpkg/path.c        |   21 ++++++++++++++++++++-
 lib/dpkg/path.h        |    3 ++-
 lib/dpkg/progname.c    |   10 ++--------
 lib/dpkg/test/t-path.c |   13 +++++++++++++
 src/configure.c        |    5 ++---
 7 files changed, 47 insertions(+), 24 deletions(-)

commit b6b23a82594019d08dcdaf4f8b2a238dce78c945
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 17 05:09:56 2011 +0200

    libdpkg: Add new mod-db, progname and subproc modules test cases

 lib/dpkg/test/.gitignore   |    3 +
 lib/dpkg/test/Makefile.am  |    6 ++-
 lib/dpkg/test/t-mod-db.c   |   56 +++++++++++++++++++++++++++
 lib/dpkg/test/t-progname.c |   46 ++++++++++++++++++++++
 lib/dpkg/test/t-subproc.c  |   91 ++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 201 insertions(+), 1 deletions(-)

commit 7e26acd008d38f6d56c26e6a595430636ea40211
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 17 05:07:13 2011 +0200

    libdpkg: Add missing test cases for the command and varbuf modules

 lib/dpkg/test/t-command.c |   22 +++++++++++++++++++++-
 lib/dpkg/test/t-varbuf.c  |   24 ++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletions(-)

commit 02b48efd59416b79a51e9a08ef576df6110f4f8a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 16 19:46:37 2011 +0200

    libdpkg: Unify test_varbuf_add function naming

 lib/dpkg/test/t-varbuf.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 4aadfe74c5cce5a6acc45e1527d64583ee1b4d45
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 11 05:14:30 2011 +0200

    dpkg-split: Do not include trailing slash in PARTSDIR

 dpkg-split/dpkg-split.h |    2 +-
 dpkg-split/main.c       |   10 ----------
 dpkg-split/queue.c      |    9 ++++-----
 3 files changed, 5 insertions(+), 16 deletions(-)

commit 172b6bcca0e5a757e0e0bd132c319abe447f3e01
Author: Peter Krefting <peterk@debian.org>
Date:   Wed Sep 14 07:39:51 2011 +0100

    Fixed typo in Swedish man page translation.

 man/po/sv.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 9261a6b4f085c8e2cf87f64d363283f6d84e5b29
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Sep 13 08:30:14 2011 +0100

    Update Swedish translation.
    
    man/po/sv.po: 2064t0f0u.

 man/po/sv.po |   87 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 76 insertions(+), 11 deletions(-)

commit 3609b52cca240eea58735907d9810486f560e5fe
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Sep 12 10:57:38 2011 +0200

    update-alternatives: properly handle stat()/lstat() failures
    
    Fix update-alternatives to always fail when lstat() or stat() fails
    with something else than ENOENT. There were many places testing
    the existence of files with “stat() == 0” and “stat() == -1 && errno ==
    ENOENT” wrongly assuming that the only failure cause is ENOENT.

 utils/update-alternatives.c |   34 +++++++++++++++++++++++++---------
 1 files changed, 25 insertions(+), 9 deletions(-)

commit bf9cefeb7abd4bb0445b3a39a74d5594e247cd8e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Sep 12 10:20:05 2011 +0200

    update-alternatives: use alternative_path_classify() more extensively
    
    Constructs like “lstat(foo, &st) == 0 && S_ISLNK(st.st_mode)” do not
    fail when lstat() fails and they should really fail except when
    the failure is due to a missing foo (ENOENT).
    
    Using alternative_path_classify() achieves this.

 utils/update-alternatives.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 9dcb50a59414e1fe0e6a8a4c8ee9f59d10706396
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Sep 12 09:42:11 2011 +0200

    update-alternatives: new non-regression test
    
    This one catches the regression introduced in
    6c481e19a532080643e3cf5c76760df8009ea2c7 and fixed in
    9dceac005a0331ceb840f9c8273c7fd195413516.
    
    It should also catch the former problem of passing NULL to stat() (via
    new_file). But this did not trigger any segfault, merely a failure
    with EFAULT.

 utils/t/100_update_alternatives.t |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit 9dceac005a0331ceb840f9c8273c7fd195413516
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Sep 12 09:18:06 2011 +0200

    Revert "u-a: Use xreadlink() instead of areadlink() in alternative_evolve()"
    
    This reverts commit 6c481e19a532080643e3cf5c76760df8009ea2c7 and
    changes the surrounding code to deal correctly with the case where
    areadlink() returns NULL.
    
    This part of the code really had to cope with a non-existing
    /etc/alternatives/slave.
    
    Reported-by: Sven Joachim <svenjoac@gmx.de>

 utils/update-alternatives.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 4d5d022c8b1b4182482f47c6dc9cafdfdea18c66
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 11 15:19:35 2011 +0200

    Sort language names properly

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e84161fccee033d365688017c7006970ccd6941b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 11 15:18:26 2011 +0200

    Update German translation of manual pages
    
    Update to 2064t.

 man/po/de.po |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 2 deletions(-)

commit 9e3e62ba287c02bc2ddce7734456244be2ab7356
Author: Peter Krefting <peterk@debian.org>
Date:   Sun Sep 11 10:03:11 2011 +0100

    Update Swedish translation:
    
    po/sv.po: 1023t0f0u.
    scripts/po/sv.po: 525t0f0u.
    man/po/sv.po: 2043t2f19u (hardening section not translated).

 man/po/sv.po     |  792 ++++++++++++++++++++++++++------------------
 po/sv.po         |  967 +++++++++++++++++++++++++++---------------------------
 scripts/po/sv.po |  165 ++++------
 3 files changed, 1020 insertions(+), 904 deletions(-)

commit 25e7f50e87bf901a8cd22c39ce0f57c96661a8ba
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Sep 10 20:11:55 2011 +0200

    Update German translation of manual pages
    
    Update to 2056t0f8u.

 man/po/de.po |  250 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 241 insertions(+), 9 deletions(-)

commit fa50333bd0f9e33912e04e30b0a677aaf7460c46
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Sep 10 19:11:44 2011 +0200

    Update German scripts translation
    
    Update to 525t.

 scripts/po/de.po |  109 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 58 insertions(+), 51 deletions(-)

commit 3d146e437681323d05ae5c8345d85579a3cffffe
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 10 18:32:30 2011 +0200

    Fix bug closure for “dpkg-deb: Do not warn on strange timestamps”
    
    Spotted-by: Carl Fürstenberg <azatoth@gmail.com>

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2266fdc6df762fa9d2371411de3e0c7adfbc0fd2
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Sep 9 11:35:18 2011 +0200

    German dpkg translation update
    
    Update to 1022t.

 po/de.po |  630 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 317 insertions(+), 313 deletions(-)

commit 2ccd37bcadf4ab95a815b0952f933d3e73555366
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 9 09:02:27 2011 +0200

    build: Ship debian/dpkg.prerm in the dist tarball
    
    Regression introduced in commit cf6b98d3738d1fe8b3119b71fd8321c12feb618c.

 Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 972095bea5f6bcf3a14f3b3151ca3ca56eff6744
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 9 06:24:19 2011 +0200

    dpkg-buildflags(1): Escape minus sign

 man/dpkg-buildflags.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 1e5cdccd104a1fe819b501ae0c3ff63170617f70
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 9 05:55:37 2011 +0200

    libdpkg: Do not generate the unused infodir in modstatdb_init()

 lib/dpkg/dbmodify.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 25f368cb9756f4fe238aff9f0f7ee3b15e2e86a4
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 7 06:38:41 2011 +0200

    dpkg: Refactor control directory creation on unpack

 src/processarc.c |   74 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 43 insertions(+), 31 deletions(-)

commit 0e63ea3ee1a247e581eef0fdee453d09f7a358f7
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 7 06:20:43 2011 +0200

    Do not include trailing slash for directory string literals
    
    This makes it more natural to manage the directory names, and avoids
    some doubled slashes.

 lib/dpkg/dpkg.h         |    6 +++---
 lib/dpkg/trigdeferred.l |    1 +
 lib/dpkg/triglib.c      |    1 +
 src/filesdb.c           |    1 +
 src/infodb.c            |    1 +
 src/processarc.c        |    8 +++-----
 6 files changed, 10 insertions(+), 8 deletions(-)

commit af4a5dd8bb2e88c0d97646b697f60f9e9d265fdf
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 5 16:08:51 2011 +0200

    libdpkg: Move trigger note support to a new trignote module
    
    This detangles the trigger note support from triglib and avoids code
    using parsedb() to end up pulling the triglib and dbmodify modules.
    This reduces the dpkg-deb binary size.

 debian/changelog     |    2 +
 lib/dpkg/Makefile.am |    1 +
 lib/dpkg/triglib.c   |   99 --------------------------------------
 lib/dpkg/trignote.c  |  128 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 131 insertions(+), 99 deletions(-)

commit a4298e6ff245505a5a963a08fe2d40ecad9c595e
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 6 05:59:13 2011 +0200

    libdpkg: Refactor trig_awaited_pend_head processing into new functions
    
    This will allow accessing trig_awaited_pend_head from a different
    module, w/o needing to pull in triglib.

 lib/dpkg/triglib.c |   28 ++++++++++++++++++++--------
 lib/dpkg/triglib.h |    5 +++++
 2 files changed, 25 insertions(+), 8 deletions(-)

commit f3dcf914203a42c9080f128d7e8263e8a0fb7ffa
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 6 05:54:36 2011 +0200

    libdpkg: Rename trig_enqueue_awaited_pend to trig_awaited_pend_enqueue

 lib/dpkg/fields.c  |    2 +-
 lib/dpkg/triglib.c |    2 +-
 lib/dpkg/triglib.h |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 2e9a20901a16a1b3f2b392ad14c321712073b3f1
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 5 16:03:21 2011 +0200

    libdpkg: Move trig_name_is_illegal to a new trigname module
    
    This detangles the function from the triglib module, avoiding
    dpkg-trigger to pull it, and reducing its size.

 debian/changelog     |    2 ++
 lib/dpkg/Makefile.am |    1 +
 lib/dpkg/triglib.c   |   16 ----------------
 lib/dpkg/trigname.c  |   42 ++++++++++++++++++++++++++++++++++++++++++
 po/POTFILES.in       |    1 +
 5 files changed, 46 insertions(+), 16 deletions(-)

commit 8ed2e04c2b1bfa247e34da01c0e84612ce7dc84b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 4 16:07:29 2011 +0200

    dpkg-deb: Do not warn on strange timestamps
    
    The external extractor is only used on dpkg-deb -x (and friends), which
    is only used by dpkg when extracting the control member. The internal
    dpkg tar extractor never warns on timestamps, and there's no point for
    dpkg to induce those warnings on the control extraction either.
    
    Closes: #640298

 debian/changelog   |    2 ++
 dpkg-deb/extract.c |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 920596da263ed1342668a9fe5b59f8bbb52445dd
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 1 15:17:35 2011 +0200

    dpkg: Fix double “error:” string in missing PATH error output
    
    Closes: #639997

 debian/changelog |    2 ++
 src/help.c       |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 05ce02f897fbe2a455cacb064fd5bc5a6bf182d9
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 19 18:07:13 2011 +0200

    u-a: Update alternative links only if they change
    
    There's no point in changing the links to the same target. This also
    helps when systems might have a read-only file system mounted, but a
    writable database.
    
    Closes: #636700
    
    Based-on-patch-by: Salvatore Bonaccorso <carnil@debian.org>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog            |    3 +++
 utils/update-alternatives.c |   32 +++++++++++++++++++++++++++++---
 2 files changed, 32 insertions(+), 3 deletions(-)

commit 3518e4d159412c31c2de413b7bc358870b6c5c02
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 8 10:19:28 2011 +0200

    u-a: Refactor alternative_path_classify from alternative_can_replace_path

 utils/update-alternatives.c |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)

commit c922a8f681dc27135947ebdaff68fc3158614807
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 8 19:12:20 2011 +0200

    u-a: Do not try to readlink() a non-symlink
    
    Return early in case the path is not a symlink, there's no point in
    calling readlink() if we know it's going to fail.

 utils/update-alternatives.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 6c481e19a532080643e3cf5c76760df8009ea2c7
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 8 10:10:06 2011 +0200

    u-a: Use xreadlink() instead of areadlink() in alternative_evolve()
    
    The function does not expect the readlink call to fail.

 utils/update-alternatives.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c7c7522dd3e29af582eddda7b10b521337a7b21c
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 6 04:19:03 2011 +0200

    u-a: Split xreadlink() allocation code into areadlink()
    
    Using a bool as an argument for a function already taking several
    arguments is almost never a good interface, it's not clear from
    the call sites what it refers to and as such prone to confusion.
    
    Split the main xreadlink() code into a function that allocates but
    can return NULL, and make xreadlink() use the common semantics of
    never failing.

 utils/update-alternatives.c |   42 ++++++++++++++++++++++++++----------------
 1 files changed, 26 insertions(+), 16 deletions(-)

commit 5f40ae0644cf266f533d63cdc8643164f4d6b3c3
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 25 20:40:42 2011 +0200

    dpkg: Print a message instead of asserting on readlink/stat size discrepancy
    
    This will help the user diagnose which file was affected and in
    correcting the situation, which in most cases is due to file system
    breakage, or non POSIX compliance.
    
    Closes: #639229

 debian/changelog |    2 ++
 src/archives.c   |    4 +++-
 src/configure.c  |    6 +++++-
 3 files changed, 10 insertions(+), 2 deletions(-)

commit a23c74e708972c7e566ea8255728184393963825
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 25 20:40:02 2011 +0200

    dpkg: Change type of variable r from int to ssize_t in conffderef()

 src/configure.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 2b824afa6bb06b7cb757423b248f6907e9919e86
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 2 21:51:47 2011 +0200

    libdpkg: Detangle buffer filter logic from write logic

 lib/dpkg/buffer.c |   51 +++++++++++++++++++++++++++++++++++++++------------
 lib/dpkg/buffer.h |   31 +++++++++++++++++++++----------
 2 files changed, 60 insertions(+), 22 deletions(-)

commit 2cd316401fa2451e266562cf689bdfc7b4c501e8
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 2 21:51:47 2011 +0200

    libdpkg: Add new BUFFER_FILTER_NULL filter action

 lib/dpkg/buffer.c |    5 +++++
 lib/dpkg/buffer.h |    2 ++
 2 files changed, 7 insertions(+), 0 deletions(-)

commit 3c83f54bfe1f7d17c878c0897f9762ea8adc64dc
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 17 14:11:43 2011 +0200

    libdpkg: Rename BUFFER_WRITE_MD5 to BUFFER_FILTER_MD5

 lib/dpkg/buffer.c |    6 +++---
 lib/dpkg/buffer.h |    6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 7585faa92009f15b06e346cddaa5e4ce92df7079
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 2 10:25:38 2011 +0200

    libdpkg: Namespace buffer init and done functions with buffer_filter_
    
    This makes it clear these functions are not to initialize normal
    buffer operations, but just for when a filter is in place.

 lib/dpkg/buffer.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 3650a669fb01737444656916a6a7a09e82800679
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 3 10:55:45 2011 +0200

    libdpkg: Rename fd_null_copy() to fd_skip()

 dpkg-deb/extract.c |   12 ++++++------
 dpkg-split/join.c  |    2 +-
 lib/dpkg/buffer.h  |    2 +-
 src/archives.c     |    6 +++---
 src/processarc.c   |    2 +-
 5 files changed, 12 insertions(+), 12 deletions(-)

commit 3416f1d5c7a78e49a52f079b1e2a8576025650cb
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 9 07:19:27 2011 +0200

    libdpkg: Add a test case for fd_md5()

 lib/dpkg/test/t-buffer.c |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

commit d1abb6e80d72acffabecd352290dc10121f2c085
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 7 04:53:25 2011 +0200

    Convert translation files to UTF-8
    
    Consolidating the charset used for all files in the repository makes
    diff actually useful, otherwise when showing a patch involving distinct
    charsets it's not possible to display them correctly due to the mixture.

 dselect/po/da.po |  458 ++++++++++++------------
 man/po/fr.add    |    4 +-
 man/po/hu.add    |    2 +-
 man/po/pl.add    |    4 +-
 man/po/po4a.cfg  |   12 +-
 man/po/pt_BR.po  | 1084 +++++++++++++++++++++++++++---------------------------
 man/po/ru.add    |    8 +-
 man/po/sv.add    |    2 +-
 8 files changed, 787 insertions(+), 787 deletions(-)

commit 9288e573b0d1069f4a56caa95838f0157f1a23e7
Author: Kees Cook <kees@debian.org>
Date:   Mon Sep 5 23:34:49 2011 -0700

    dpkg-buildflags(1): add initial hardening documentation
    
    Document the various hardening options that can be enabled/disabled
    via DEB_BUILD_MAINT_OPTIONS.
    
    Improved-by: Raphaël Hertzog <hertzog@debian.org>
    Signed-off-by: Kees Cook <kees@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 man/dpkg-buildflags.1 |  109 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 108 insertions(+), 1 deletions(-)

commit f3bb7d4939ae95cf44c89e8f599e7ed5da431e57
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 22:10:49 2011 +0200

    dpkg-buildflags: emit hardening build flags by default
    
    All the hardening build flags supported by hardening-includes
    are supported except that PIE is not enabled by default (just like
    the corresponding gcc patch doesn't enable it by default).
    
    Inspired by the work of Kees Cook <kees@debian.org>.

 debian/changelog              |    3 +
 scripts/Dpkg/BuildFlags.pm    |    1 +
 scripts/Dpkg/Vendor/Debian.pm |   88 ++++++++++++++++++++++++++++++++++++++++-
 scripts/Dpkg/Vendor/Ubuntu.pm |    4 ++
 4 files changed, 95 insertions(+), 1 deletions(-)

commit ed84a9339452b934f4e740e389820e852a8bcd31
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Aug 2 14:15:17 2011 +0200

    Dpkg::BuildOptions: enable usage of alternative variable names

 scripts/Dpkg/BuildOptions.pm      |   26 ++++++++++++++++++--------
 scripts/t/300_Dpkg_BuildOptions.t |    6 +++++-
 2 files changed, 23 insertions(+), 9 deletions(-)

commit 08808c28500e7e027e58d32e434a3dc082e43e7d
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Sep 8 17:53:13 2011 +0200

    Update German translation of manual pages
    
    Update to 2038t.

 man/po/de.po |   74 ++++++++++++++++++---------------------------------------
 1 files changed, 24 insertions(+), 50 deletions(-)

commit bcd5c89ab1621264e09e525826b2132490f35e07
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 3 14:34:31 2011 +0200

    dpkg-source(1): add example of extend-diff-ignore's usage
    
    Suggested-by: Christoph Berg <myon@debian.org>
    Closes: #640198

 debian/changelog  |    2 ++
 man/dpkg-source.1 |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit cb0fa9cdbc8d081edb2d4044dbf1cfe4e88dba0f
Author: Peter Krefting <peterk@debian.org>
Date:   Sun Sep 4 18:57:23 2011 +0100

    Update Swedish translation.
    
    man/po/sv.po: 2044t0f0u.

 man/po/sv.po |  269 +++++++++++++++++++++++++++-------------------------------
 1 files changed, 125 insertions(+), 144 deletions(-)

commit ea50f9a4027deb105a6067cdd7063289cb89967b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Aug 24 19:35:38 2011 +0200

    Update German translation of manual pages
    
    Update to 2038t.

 man/po/de.po |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit f3418186f6b093162d9e6b47e73d01d795c2ef98
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 23 05:24:39 2011 +0200

    dpkg-source: Make single-debian-patch not abort on upstream changes
    
    The single-debian-patch option usage in Dpkg::Source::Package::V2
    was typoed as single_debian_patch, and thus not avoiding aborting
    on upstream changes. Instead of fixing the typo, let's just not
    expose single-debian-patch in Dpkg::Source::Package::V2, as it's
    Dpkg::Source::Package::V3::quilt specific and as such a layer
    violation, the code will just set auto_commit when single-debian-patch
    is specified, which is the actual intended behaviour. Reflect this
    explicitly in the man page.
    
    Regression introduced in commit 46b688e4824f00842568b517b119eec34a5f7286.
    
    Reported-by: Bernhard R. Link <brlink@debian.org>

 man/dpkg-source.1                       |    2 +-
 scripts/Dpkg/Source/Package/V2.pm       |    3 +--
 scripts/Dpkg/Source/Package/V3/quilt.pm |    2 ++
 3 files changed, 4 insertions(+), 3 deletions(-)

commit d97161c298625c8475b0b3d2d9e89e60ae56a5ff
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 23 03:55:27 2011 +0200

    Dpkg::Source::Package: Use “-z” instead of “not -s”

 scripts/Dpkg/Source/Package/V2.pm       |    2 +-
 scripts/Dpkg/Source/Package/V3/quilt.pm |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit a596ab8ef36ade2743dbd442d660b36146574624
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Aug 22 20:57:14 2011 +0200

    Update German scripts translation
    
    Update to 523t.

 scripts/po/de.po |   70 ++++++++++++++++++++++++++---------------------------
 1 files changed, 34 insertions(+), 36 deletions(-)

commit 513ad320a9677766f50aa2741d23987bce5b92a5
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Aug 22 20:33:18 2011 +0200

    Update German translation of manual pages
    
    Update to 2038t.

 man/po/de.po |  203 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 90 insertions(+), 113 deletions(-)

commit 277e572facf30001d59bdadfe3e3c9e4db37ae1b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Aug 21 11:11:02 2011 +0200

    dpkg: correctly handle a hardlink pointing to a conffile
    
    Normal files tagged as a conffile are not tagged with
    fnnf_deferred_rename and due to this the hardlinking code
    was assuming that the target is in its final location
    already. This is obviously not the case for a conffile.
    
    Fix the code so that the hardlinking logic takes into account
    the fact that conffiles are unpacked in .dpkg-new and stay
    there until the configuration phase.
    
    Reported-by: Igor Pashev <pashev.igor@gmail.com>

 debian/changelog |    1 +
 src/archives.c   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit c6400108e297b3fac8e887551b6a31edb51408f2
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Aug 21 18:37:50 2011 +0200

    German dpkg translation update
    
    Update to 1022t.

 po/de.po |  479 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 241 insertions(+), 238 deletions(-)

commit 3710f92e5c32bbcb766151df41e5a99ed3de2211
Author: Peter Krefting <peterk@debian.org>
Date:   Sat Aug 20 22:08:09 2011 +0100

    Update Swedish translation.
    
    man/po/sv.po: 1978t50f16u (WIP).

 man/po/sv.po | 1184 +++++++++++++++++++---------------------------------------
 1 files changed, 384 insertions(+), 800 deletions(-)

commit 89973c5bb9eed790242a7d1d35564fd954edf554
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 20 15:36:00 2011 +0200

    u-a: Do not build strings from parts in alternative_check_install_args
    
    This makes the work of translators harder.

 utils/update-alternatives.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

commit 52507504e69d6621262de82096987fdfb821bf8d
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 20 12:55:33 2011 +0200

    u-a: Refactor alternative argument checks into new function

 utils/update-alternatives.c |   41 +++++++++++++++++++----------------------
 1 files changed, 19 insertions(+), 22 deletions(-)

commit 46aadad359a9e4204cfe707f47e3cfceef47e709
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 19 22:59:53 2011 +0200

    u-a: Refactor --install argument checking into a new function

 utils/update-alternatives.c |  204 ++++++++++++++++++++++---------------------
 1 files changed, 104 insertions(+), 100 deletions(-)

commit abda47fbe81e53da7d0a46237895bd225373d022
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 19 22:32:19 2011 +0200

    u-a: Move alternative map loading to the actions that make use of them
    
    This will reduce start up time, by not doing unneeded operations.

 utils/update-alternatives.c |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

commit 774e918754bc7d801e802ea6ccbd9b5673799d8c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 19 18:38:10 2011 +0200

    u-a: Split alternative map loading into two functions
    
    This will allow only loading them when needed, instead of doing it
    for any action.

 utils/update-alternatives.c |   69 ++++++++++++++++++++++++++++++------------
 1 files changed, 49 insertions(+), 20 deletions(-)

commit ca9a2b79f85a8ed72308b5a2877ca8cfbda0b243
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 20 12:21:22 2011 +0200

    u-a: Refactor scandir() namelist free into new altdb_free_namelist()

 utils/update-alternatives.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit 31242e1aaabe7750b2b68ee96306e2cbdfd767bb
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 20 12:30:35 2011 +0200

    u-a: Rename get_all_alternatives() to altdb_get_namelist()
    
    This makes it clear we are referring to the filenames in the database
    directory.

 utils/update-alternatives.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 81412e6445bf231521fdfb5b8760988605149181
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 19 17:50:25 2011 +0200

    u-a: Do not check if linknames can be updated if --force is in use
    
    The action is going to proceed in any case, no point wasting resources
    doing the checks. Also this removes a possible point of non-overridable
    failure.

 utils/update-alternatives.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 36954c36abe3ce8e42b3c231579ef9e497f0da6d
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 19 12:59:35 2011 +0200

    Dpkg::Compression: Change default values depending on the compressor used
    
    This makes dpkg-source use more appropriate default compression values
    depending on the compressor used.
    
    Prompted-by: Timo Juhani Lindfors <timo.lindfors@iki.fi>

 debian/changelog                 |    3 +++
 man/dpkg-source.1                |    2 +-
 scripts/Dpkg/Compression.pm      |   25 +++++++++++++++++--------
 scripts/t/850_Dpkg_Compression.t |   12 +++++++++++-
 4 files changed, 32 insertions(+), 10 deletions(-)

commit a27a8e1989b0937e9eee18c2153524c755aba058
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 20 09:51:13 2011 +0200

    Do not use possessive «'s» after ‘s’ or ‘x’

 debian/changelog          |    4 ++--
 man/dpkg-shlibdeps.1      |    4 ++--
 utils/start-stop-daemon.c |    4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

commit dbe742b7db83d108e1ea143f2688ca5444007ba9
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 17 16:44:18 2011 +0200

    Fix spelling errors
    
    Found by codespell.

 ChangeLog.old                       |   66 +++++++++++++++++-----------------
 TODO                                |    2 +-
 debian/changelog                    |   32 ++++++++--------
 doc/Doxyfile.in                     |    2 +-
 doc/README.feature-removal-schedule |    2 +-
 doc/coding-style.txt                |    2 +-
 doc/triggers.txt                    |    6 ++--
 dselect/methods/ftp/install         |    2 +-
 dselect/po/it.po                    |    2 +-
 lib/dpkg/file.c                     |    2 +-
 lib/dpkg/progname.c                 |    2 +-
 man/dpkg-source.1                   |    2 +-
 man/po/de.po                        |    2 +-
 man/po/dpkg-man.pot                 |    2 +-
 man/po/es.po                        |    2 +-
 man/po/fr.po                        |    2 +-
 man/po/hu.po                        |    2 +-
 man/po/ja.po                        |    2 +-
 man/po/pl.po                        |    2 +-
 man/po/pt_BR.po                     |    2 +-
 man/po/ru.po                        |    2 +-
 man/po/sv.po                        |    2 +-
 po/ChangeLog.old                    |    4 +-
 scripts/Dpkg/Changelog.pm           |    2 +-
 scripts/changelog/debian.pl         |    4 +-
 scripts/po/ca.po                    |    4 +-
 scripts/po/de.po                    |    4 +-
 scripts/po/dpkg-dev.pot             |    4 +-
 scripts/po/es.po                    |    4 +-
 scripts/po/fr.po                    |    4 +-
 scripts/po/pl.po                    |    4 +-
 scripts/po/ru.po                    |    4 +-
 scripts/po/sv.po                    |    4 +-
 scripts/t/190_Dpkg_Shlibs_Cppfilt.t |    2 +-
 scripts/t/200_Dpkg_Shlibs.t         |    2 +-
 scripts/t/600_Dpkg_Changelog/shadow |   20 +++++-----
 src/filesdb.h                       |    2 +-
 utils/start-stop-daemon.c           |    4 +-
 utils/t/100_update_alternatives.t   |    2 +-
 39 files changed, 108 insertions(+), 108 deletions(-)

commit 312253830448926152020c8ce0f7834b8452a5d9
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Aug 15 00:03:00 2011 +0200

    dpkg: Clarify --update-avail usage error message
    
    Unify the reference to the Packages-file to match the one used on the
    man pages and on the --help output.
    
    Closes: #628055

 debian/changelog |    1 +
 src/update.c     |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 4fdbd69d7b8ca2fff39798a6e6fc5fa3e229c66b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Aug 15 00:01:53 2011 +0200

    dpkg-parsechangelog: Remove duplicate program name from usage error output

 scripts/dpkg-parsechangelog.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 62449a0a27ab1231ed81267f7ee5421b9f7fcb0c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 14 23:45:36 2011 +0200

    Expand numeric literals and word abbreviation in usage error output
    
    This avoids unneeded abbreviations, uses correct english, and should
    help translators.

 scripts/dpkg-scanpackages.pl |    2 +-
 scripts/dpkg-scansources.pl  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 5c6be96b1c88c40d002a25295891ec81d8764f90
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 14 23:28:07 2011 +0200

    dpkg-deb(1): Clarify the default compression-levels

 debian/changelog |    1 +
 man/dpkg-deb.1   |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

commit ffc6888c5721e5e4451d8135827936fca761b157
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 14 22:45:20 2011 +0200

    deb-src-control(5): Use linux-any in example control stanza
    
    Instead of using the negated list of not supported architectures, just
    use the positive form, which should be considered current best practice.

 man/deb-src-control.5 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 187025628d46bd737bd22242b857ae91e6922103
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 14 22:43:05 2011 +0200

    dselect(1): Correct configuration directory reference
    
    Use /etc/dpkg/dselect.cfg.d/ instead of /etc/dpkg/dpkg.cfg.d/.

 debian/changelog |    2 ++
 man/dselect.1    |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit ed3ec669d253ac9d69f134a93f570251ed687d98
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 14 22:41:16 2011 +0200

    man: Use minus signs and hyphens consistently
    
    Any string that can be copy & pasted into control files or into a
    terminal, for example, needs to correctly use minus signs (escaped
    dashes), instead of the default hyphen.

 debian/changelog              |    1 +
 man/deb-control.5             |    6 ++--
 man/deb-old.5                 |    6 ++--
 man/deb-override.5            |    4 +-
 man/deb-src-control.5         |   36 +++++++++---------
 man/deb-symbols.5             |   10 +++---
 man/deb-triggers.5            |   16 ++++----
 man/deb-version.5             |    6 ++--
 man/deb.5                     |   12 +++---
 man/dpkg-architecture.1       |   26 +++++++-------
 man/dpkg-buildflags.1         |    8 ++--
 man/dpkg-buildpackage.1       |   34 +++++++++---------
 man/dpkg-deb.1                |    4 +-
 man/dpkg-divert.8             |   10 +++---
 man/dpkg-genchanges.1         |    4 +-
 man/dpkg-gencontrol.1         |    8 ++--
 man/dpkg-gensymbols.1         |   20 +++++-----
 man/dpkg-maintscript-helper.1 |    8 ++--
 man/dpkg-mergechangelogs.1    |   14 ++++----
 man/dpkg-name.1               |    6 ++--
 man/dpkg-parsechangelog.1     |    4 +-
 man/dpkg-query.1              |    6 ++--
 man/dpkg-scanpackages.1       |    8 ++--
 man/dpkg-scansources.1        |    6 ++--
 man/dpkg-shlibdeps.1          |   32 ++++++++--------
 man/dpkg-source.1             |   78 ++++++++++++++++++++--------------------
 man/dpkg-trigger.1            |    7 ++--
 man/dpkg.1                    |    4 +-
 man/update-alternatives.8     |    8 ++--
 29 files changed, 197 insertions(+), 195 deletions(-)

commit 8fba51d4f327a99c994068e58bc76de770247a7f
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Aug 20 08:31:37 2011 +0200

    Regenerate .pot files and merge .po files with them

 man/po/es.po    |  144 +++++++++++++++++++++-------------
 man/po/fr.po    |  144 +++++++++++++++++++++-------------
 man/po/hu.po    |  134 +++++++++++++++++++-------------
 man/po/ja.po    |  139 +++++++++++++++++++-------------
 man/po/pl.po    |  142 ++++++++++++++++++++-------------
 man/po/pt_BR.po |  129 ++++++++++++++++++-------------
 man/po/ru.po    |  129 ++++++++++++++++++-------------
 man/po/sv.po    |  235 ++++++++++++++++++++-----------------------------------
 8 files changed, 662 insertions(+), 534 deletions(-)

commit f412c67b55d45ff4f595e8c50b35d8f172540a40
Author: Peter Krefting <peterk@debian.org>
Date:   Wed Aug 17 20:59:37 2011 +0100

    Update Swedish translation.
    
    po/sv.po: 1023t0f0u.
    man/po/sv.po: 1824t180f40u (WIP).
    scripts/po/sv.po: 524t0f0u

 debian/changelog |    1 +
 man/po/sv.po     |  356 +++++++++++++++++++++++++++++++++---------------------
 po/sv.po         |   61 +++++-----
 scripts/po/sv.po |   87 +++++++-------
 4 files changed, 291 insertions(+), 214 deletions(-)

commit efcf279a50aba3369b24d062017d581006d47d9b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 13 03:19:24 2011 +0200

    dpkg: Defer hardlink renames to avoid breakage on unpack
    
    This fixes two issues related to making the new file contents available
    through an alternative but final path before
    
    1) the one "carrying" the content has been fsync()ed, to avoid getting
    garbage on system failure.
    
    2) the deferred fsync() on the main path has been performed, avoiding
    a possible error when reopening the file for writing if it's currently
    under execution.
    
    Deferring the hardlink is safe as they are always after the tar entry
    containing the actual file data.
    
    Regression introduced in commit 9cd41fdda1c27169c52d73b3b3ce71991d724994.
    
    Closes: #635683
    
    Reported-by: Niko Tyni <ntyni@debian.org>
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    5 +++++
 src/archives.c   |    3 ++-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 5c1da3f8c2806490f9a7bed32c0a5b3a24d06d55
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Aug 12 22:35:46 2011 +0200

    Dpkg::Deps: fix simplification logic of union dependencies
    
    The code merging dependencies was wrongly updating the dependency that's
    not integrated in the resulting field.
    
    Reported-by: Andreas Metzler <ametzler@downhill.at.eu.org>

 debian/changelog          |    1 +
 scripts/Dpkg/Deps.pm      |    6 +++---
 scripts/t/400_Dpkg_Deps.t |    6 +++++-
 3 files changed, 9 insertions(+), 4 deletions(-)

commit e84c47aa298e9bd501f2ea353b4483f02c249eb8
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 9 07:19:09 2011 +0200

    libdpkg: Use a generic pointer to pass the parsed object data around
    
    This will allow code not parsing binary package control files to be
    able to easily reuse the parser, by supplying their own object
    structure.
    
    Unfortunately this sacrifices the type-safety of the parse_stanza()
    and parse_field() functions, but that only affects one variable,
    which should be an acceptable tradeoff given the gain in code reuse.

 lib/dpkg/parse.c     |   29 ++++++++++++++++++++++-------
 lib/dpkg/parsedump.h |    5 ++---
 2 files changed, 24 insertions(+), 10 deletions(-)

commit 85dcf82c6ed722d9cfb664a87a41315791cbb3b4
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Aug 8 20:29:13 2011 +0200

    Changelog for French translation update

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c22b83466766bfc146179fb93884f1f9374b0453
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Aug 8 20:27:40 2011 +0200

    Fix Sylvestre's translation

 scripts/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bffbef38affe5dbae3f15e07a4f19d686e1c0bd6
Author: Sylvestre Ledru <sylvestre.ledru@scilab.org>
Date:   Mon Aug 8 15:44:01 2011 +0200

    Update of the french localization

 scripts/po/fr.po |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 98f5f6ad2a9cff2684271b399ec51d4841f91f59
Author: Sylvestre Ledru <sylvestre.ledru@scilab.org>
Date:   Mon Aug 8 15:42:56 2011 +0200

    Fix a french typo

 scripts/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fb18783ce260a07d3f3a5f5a3a81640a45a9d089
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 5 06:23:59 2011 +0200

    libdpkg: Initialize ps->pkg and ps->pkgbin to NULL in parse_open()
    
    This guarantees the parsedb_state variable is in a sane state after
    the parse_open() call.

 lib/dpkg/parse.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 6ee5e8af9dbcd2ef161e1174827ea4e48da09870
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 5 05:21:01 2011 +0200

    libdpkg: Refactor parse_open() and parse_close() from parsedb()
    
    This will allow code using parse_stanza() to avoid having to reimplement
    the opening and closing logic.

 lib/dpkg/parse.c     |  110 ++++++++++++++++++++++++++++++-------------------
 lib/dpkg/parsedump.h |    5 ++
 2 files changed, 72 insertions(+), 43 deletions(-)

commit 250af430bc5cec09c2e4eb223f935891e0d96f45
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 5 06:03:02 2011 +0200

    libdpkg: Close the file descriptor just after slurping it in parsedb()

 lib/dpkg/parse.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 2dee4700ac94ffedb27366e650cd2fed383e40e1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Aug 4 21:33:23 2011 +0200

    dpkg-source: simplify message pointing to dpkg-source --commit
    
    The supplementary arguments suggested are awkward and are generally not
    needed unless your package is huge and takes a long time to uncompress
    and diff.
    
    The best advice is thus “dpkg-source --commit” without any parameter.
    Maintainers of big packages will read the manual package and learn
    by themselves how to reuse the generated patch.

 scripts/Dpkg/Source/Package/V2.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 45c83175b6544a54ad79dc671a77a59bf79f7690
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Aug 3 22:02:33 2011 +0200

    dpkg-source: don't always print "local changes have been recorded in a new patch"
    
    The message should only be printed if such a patch has really
    been created.
    
    Reported-by: Sven Joachim

 scripts/Dpkg/Source/Package/V2.pm |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 173cbe71eb800dbef52a6d894a1dffd64997610a
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Aug 3 21:19:38 2011 +0200

    Fix typo

 man/po/de.po |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

commit b964dbe5995fa136042b338ea944655f9b263172
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Aug 3 21:14:41 2011 +0200

    Update German translation of manual pages
    
    Update to 2047t.

 man/po/de.po |   91 ++++++++++++++++++++++++---------------------------------
 1 files changed, 38 insertions(+), 53 deletions(-)

commit af788d3abf42a35b24aad19c7393e4cf9ccb6238
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Aug 2 21:55:50 2011 +0200

    Update German translation of manual pages
    
    Update to 2037t7f3u.

 man/po/de.po |  255 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 132 insertions(+), 123 deletions(-)

commit 9cb4bd4fcf251212534f4010d59ff77a9ee4cdd6
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Aug 2 19:32:57 2011 +0200

    Update German scripts translation
    
    Update to 524t.

 scripts/po/de.po |   79 +++++++++++++++++-------------------------------------
 1 files changed, 25 insertions(+), 54 deletions(-)

commit c5678434b485284c352a1de3a2862726ba85393c
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Aug 2 11:57:17 2011 +0200

    German dpkg translation update
    
    Update to 1023t.

 po/de.po |  188 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 97 insertions(+), 91 deletions(-)

commit 7c2df89844617b70883ab76b1c239a2f088cc232
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Aug 2 11:20:54 2011 +0200

    dpkg-source: clean up temporary file in case of interruption
    
    Navite packages (both "1.0" and "3.0 (native)") failed to remove
    the temporary tarball if the process is interrupted during its
    generation.
    
    Reported-by: Cyril Brulebois <kibi@debian.org>

 debian/changelog                         |    2 ++
 scripts/Dpkg/Source/Package/V3/native.pm |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 3cd49fcd391466370d9d7f476f7f8acf0267d29e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Aug 2 11:06:11 2011 +0200

    Move changelog entry to attribute it correctly to me

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f3a8ea5245608e23c93600ff33f05d2af205cb64
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 2 05:05:30 2011 +0200

    libdpkg: Remove obsolete variable references in parsedb() comment
    
    The warnto and warncount variables were removed in commits
    ba908783e306ba38457a84fd6d975ca69e351e56 and
    8451065cf85cb8a17dcd17e0cd2ca1fdef7cb749 respectively.

 lib/dpkg/parse.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 98aea15132c085be3901956986afaa46bf0456b1
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 2 04:54:42 2011 +0200

    libdpkg: Make parse_stanza() a public function
    
    Make public also the required parse helper macros and structures. At
    least parse_EOF() will be needed for other callers to get out of the
    loop when parsing multi-stanza files.

 lib/dpkg/parse.c     |   18 +-----------------
 lib/dpkg/parsedump.h |   20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 17 deletions(-)

commit ef18ac88b029b0dba4272d3b2daa9130146d2697
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 2 04:50:09 2011 +0200

    libdpkg: Detangle fieldinfos from struct field_state
    
    Define the fieldencountered array in the stack, and switch the array
    in struct field_state to be a pointer to that array. This way we do not
    pull the fieldinfos symbol (specific to the parsedb() function) to the
    now generic struct field_state.

 lib/dpkg/parse.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 725675ddc107907ea68db5acef868896cf3915d2
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 2 04:24:10 2011 +0200

    libdpkg: Rename parse helper *_mmap functions to parse_*
    
    This abstracts the method used to load the file contents, and it also
    namespaces it for the parser.

 lib/dpkg/parse.c |   44 ++++++++++++++++++++++----------------------
 1 files changed, 22 insertions(+), 22 deletions(-)

commit 7d06ea566bafe5d2914adbfa4820342f35829a37
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 14 17:21:55 2011 +0200

    libdpkg: Refactor RFC-822 stanza parsing into new parse_stanza()
    
    This generalizes the stanza parsing so that it can be used by other
    parts of the code.

 lib/dpkg/parse.c |  214 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 123 insertions(+), 91 deletions(-)

commit 3d8951fdf5cc2fe3209540bc43c489208db8c306
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 14 04:37:31 2011 +0200

    libdpkg: Move dataptr and endptr from parsedb() to struct parsedb_state

 lib/dpkg/parse.c     |   75 ++++++++++++++++++++++++++++----------------------
 lib/dpkg/parsedump.h |    2 +
 2 files changed, 44 insertions(+), 33 deletions(-)

commit 926a204c1609d35de3a6500f8e96c9db0c315de4
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 14 03:58:45 2011 +0200

    libdpkg: Add pkg and pkgbin to struct parsedb_state
    
    We are passing these variables as arguments most of the time for
    parse_error() and parse_warn() calls which are not run-time frequent,
    this also unties somewhat the code from the package structures.

 lib/dpkg/fields.c    |   93 ++++++++++++++++++++++++-------------------------
 lib/dpkg/parse.c     |   49 ++++++++++++++------------
 lib/dpkg/parsedump.h |   16 ++++----
 lib/dpkg/parsehelp.c |   37 ++++++++------------
 4 files changed, 95 insertions(+), 100 deletions(-)

commit 842e66ae6790805d87b51129b560d1a6b0e526b3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 2 04:56:00 2011 +0200

    libdpkg: Remove trailing semicolons from getc_mmap and ungetc_mmap
    
    Those are unnecessary as these are function macros which need to be
    followed by semicolons on the call sites.

 lib/dpkg/parse.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 02c28c63a34e252d75f893cb0869f9480f603822
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 26 07:35:16 2011 +0200

    dpkg-deb: Add --raw-extract option combining --control and --extract
    
    This allows to extract the control and file system members of a .deb
    into a single directory using the same layout dpkg-deb -b expects for
    building a package.
    
    Closes: #552123

 debian/changelog    |    2 ++
 dpkg-deb/dpkg-deb.h |    1 +
 dpkg-deb/extract.c  |   32 ++++++++++++++++++++++++++++++++
 dpkg-deb/main.c     |    3 +++
 man/dpkg-deb.1      |    7 +++++++
 5 files changed, 45 insertions(+), 0 deletions(-)

commit 8561eeb48292a0495d13335d7f088fe66e8ea167
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 20 19:11:20 2011 +0200

    dpkg-deb: Add new -v, --verbose option
    
    Change --extract to honour --verbose and behave as --vextract.
    
    Closes: #293280

 debian/changelog    |    2 ++
 dpkg-deb/dpkg-deb.h |    1 +
 dpkg-deb/extract.c  |    9 +++++++--
 dpkg-deb/main.c     |    3 +++
 man/dpkg-deb.1      |    8 +++++++-
 5 files changed, 20 insertions(+), 3 deletions(-)

commit cd3492245d81c9766c9ff09dc66f5822751cf71c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Aug 1 22:27:08 2011 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |  108 +-
 dselect/po/ca.po        |  108 +-
 dselect/po/cs.po        |  108 +-
 dselect/po/da.po        |  108 +-
 dselect/po/de.po        |  108 +-
 dselect/po/dselect.pot  |  110 +-
 dselect/po/el.po        |  108 +-
 dselect/po/es.po        |  108 +-
 dselect/po/et.po        |  108 +-
 dselect/po/eu.po        |  108 +-
 dselect/po/fr.po        |  108 +-
 dselect/po/gl.po        |  108 +-
 dselect/po/hu.po        |  108 +-
 dselect/po/id.po        |  108 +-
 dselect/po/it.po        |  108 +-
 dselect/po/ja.po        |  108 +-
 dselect/po/ko.po        |  108 +-
 dselect/po/nb.po        |  108 +-
 dselect/po/nl.po        |  108 +-
 dselect/po/nn.po        |  108 +-
 dselect/po/pl.po        |  108 +-
 dselect/po/pt.po        |  108 +-
 dselect/po/pt_BR.po     |  108 +-
 dselect/po/ro.po        |  108 +-
 dselect/po/ru.po        |  108 +-
 dselect/po/sk.po        |  108 +-
 dselect/po/sv.po        |  108 +-
 dselect/po/tl.po        |  108 +-
 dselect/po/vi.po        |  108 +-
 dselect/po/zh_CN.po     |  108 +-
 dselect/po/zh_TW.po     |  108 +-
 man/po/de.po            | 1053 ++++++++------
 man/po/dpkg-man.pot     | 3913 +++++++++++++++++++++++++----------------------
 man/po/es.po            |  979 +++++++-----
 man/po/fr.po            | 1506 +++++++++----------
 man/po/hu.po            |  930 ++++++-----
 man/po/ja.po            |  922 ++++++-----
 man/po/pl.po            |  944 +++++++-----
 man/po/pt_BR.po         |  921 ++++++-----
 man/po/ru.po            |  922 ++++++-----
 man/po/sv.po            |  980 +++++++-----
 po/ast.po               | 1606 ++++++++++----------
 po/bs.po                | 1528 ++++++++++---------
 po/ca.po                | 1597 ++++++++++----------
 po/cs.po                | 1597 ++++++++++----------
 po/da.po                | 1597 ++++++++++----------
 po/de.po                |   84 +-
 po/dpkg.pot             | 1523 +++++++++---------
 po/dz.po                | 1598 ++++++++++----------
 po/el.po                | 1600 ++++++++++----------
 po/eo.po                | 1597 ++++++++++----------
 po/es.po                | 1604 ++++++++++----------
 po/et.po                | 1586 ++++++++++----------
 po/eu.po                | 1597 ++++++++++----------
 po/fr.po                | 1826 +++++++++++------------
 po/gl.po                | 1604 ++++++++++----------
 po/hu.po                | 1598 ++++++++++----------
 po/id.po                | 1597 ++++++++++----------
 po/it.po                | 1599 ++++++++++----------
 po/ja.po                | 1597 ++++++++++----------
 po/km.po                | 1598 ++++++++++----------
 po/ko.po                | 1597 ++++++++++----------
 po/ku.po                | 1541 ++++++++++---------
 po/lt.po                | 1577 ++++++++++----------
 po/mr.po                | 1586 ++++++++++----------
 po/nb.po                | 1597 ++++++++++----------
 po/ne.po                | 1598 ++++++++++----------
 po/nl.po                | 1598 ++++++++++----------
 po/nn.po                | 1577 ++++++++++---------
 po/pa.po                | 1561 ++++++++++---------
 po/pl.po                | 1610 ++++++++++----------
 po/pt.po                | 1599 ++++++++++----------
 po/pt_BR.po             | 1601 ++++++++++----------
 po/ro.po                | 1597 ++++++++++----------
 po/ru.po                | 1597 ++++++++++----------
 po/sk.po                | 1597 ++++++++++----------
 po/sv.po                | 1783 ++++++++++------------
 po/th.po                | 1597 ++++++++++----------
 po/tl.po                | 1577 ++++++++++---------
 po/vi.po                | 1601 ++++++++++----------
 po/zh_CN.po             | 1595 ++++++++++---------
 po/zh_TW.po             | 1600 ++++++++++----------
 scripts/po/ca.po        |  557 ++++---
 scripts/po/de.po        |  429 +++---
 scripts/po/dpkg-dev.pot |  524 ++++---
 scripts/po/es.po        |  605 +++++---
 scripts/po/fr.po        |  616 +++++---
 scripts/po/pl.po        |  549 ++++---
 scripts/po/ru.po        |  603 +++++---
 scripts/po/sv.po        |  616 +++++---
 90 files changed, 44365 insertions(+), 40673 deletions(-)

commit 9f2c48ff8d3c113d627e799650e97b6f734e6f93
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Aug 1 22:01:20 2011 +0200

    Revert "dpkg-buildpackage: support for Build-Features: build-arch"
    
    This reverts commit 14d48ef9abc2ce2d394e9ae4d69d4ba68b551620. Given
    that Guillem does not want this field and that the technical committee
    has not yet decided on the proper approach to enable
    build-arch/build-indep, it's safer to revert this change for now and allow
    us to proceed with a release.
    
    Conflicts:
    
    	man/deb-src-control.5

 debian/changelog               |    6 ---
 man/deb-src-control.5          |    7 ---
 man/dpkg-buildpackage.1        |   13 ++----
 scripts/Dpkg/BuildFeatures.pm  |   84 ----------------------------------------
 scripts/Dpkg/Control/Fields.pm |    3 -
 scripts/Makefile.am            |    1 -
 scripts/dpkg-buildpackage.pl   |   10 +----
 scripts/po/POTFILES.in         |    1 -
 8 files changed, 6 insertions(+), 119 deletions(-)

commit 9f2420aa6fee848acb30e88b127cb6e9a17d7c13
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 23:20:00 2011 +0200

    debian/rules: use the in-tree dpkg-buildflags to inject build flags
    
    Note that $(shell ...) does not receive variables defined
    within make with "export VAR=foo" so that we have to include
    DEB_CFLAGS_MAINT_APPEND in the command-line.

 debian/rules |   15 +++------------
 1 files changed, 3 insertions(+), 12 deletions(-)

commit 48468397afd51404ee3efcc9673e531155e999a2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 19:18:04 2011 +0200

    dpkg-buildflags: support a "strip" operation
    
    The strip operation is useful to drop some options from the
    returned build flags.

 debian/changelog           |    3 ++-
 man/dpkg-buildflags.1      |   10 ++++++++++
 scripts/Dpkg/BuildFlags.pm |   30 +++++++++++++++++++++++++++++-
 3 files changed, 41 insertions(+), 2 deletions(-)

commit a174a9ed4bea6da2098454bcf18d01dd438bf16a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 18:49:46 2011 +0200

    dpkg-buildflags: implement support of DEB_<flag>_MAINT_<op> env variables
    
    Those variables are meant to be used by the package maintainer within
    debian/rules to alter the resulting build flags if needed.

 debian/changelog           |    3 +-
 man/dpkg-buildflags.1      |   21 +++++++++++++++---
 scripts/Dpkg/BuildFlags.pm |   47 ++++++++++++++++++++++++++++++++++++-------
 3 files changed, 58 insertions(+), 13 deletions(-)

commit 250f99b073b471b9dcd82d61ff4d61dd594a8dfe
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 17:45:40 2011 +0200

    dpkg-buildflags: implement --export=configure
    
    The goal is to make it easy to set compilation flags on a ./configure
    command line for example like this:
    ./configure $(shell dpkg-buildflags --export=configure)
    
    The output thus looks like this:
    CFLAGS="-g -O2" CPPFLAGS="" CXXFLAGS="-g -O2" FFLAGS="-g -O2" LDFLAGS=""

 debian/changelog           |    3 +++
 man/dpkg-buildflags.1      |    4 +++-
 scripts/dpkg-buildflags.pl |   10 +++++++---
 3 files changed, 13 insertions(+), 4 deletions(-)

commit 7f4fb8576e9c9e8a2c959b3824fe61a95411f697
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 13:21:53 2011 +0200

    Revert "dpkg-buildflags: support debian/buildflags"
    
    This reverts commit 316df0a76f2ef91badbccb6fef0bfa7ae23fac59.
    A recent discussion concluded that it was not a proper interface
    for maintainers to override/extend build flags.
    
    See http://lists.debian.org/debian-dpkg/2011/07/msg00033.html
    
    Conflicts:
    
    	scripts/Dpkg/BuildFlags.pm

 debian/changelog           |    3 ---
 man/dpkg-buildflags.1      |    9 ---------
 scripts/Dpkg/BuildFlags.pm |   37 ++++++++-----------------------------
 3 files changed, 8 insertions(+), 41 deletions(-)

commit 9e03e21bf438f8513a2993c0be4ea4e22681af72
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jul 29 16:18:52 2011 +0200

    Provide a new makefile snippet exporting basic package information

 debian/changelog       |    4 ++--
 scripts/mk/Makefile.am |    1 +
 scripts/mk/default.mk  |    1 +
 scripts/mk/pkg-info.mk |   17 +++++++++++++++++
 4 files changed, 21 insertions(+), 2 deletions(-)

commit 46b688e4824f00842568b517b119eec34a5f7286
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 14 20:31:33 2011 +0200

    dpkg-source: implement --commit and fail with unrecorded changes
    
    Formats "2.0" and "3.0 (quilt)" now fail by default in presence of
    changes to upstream files that are not managed by their respective patch
    system. The user is invited to run dpkg-source --commit if he
    wants to keep the changes.
    
    This will avoid that maintainers upload packages with unexpected changes.
    The old behaviour can be kept with the option --auto-commit. The option
    --abort-on-upstream-changes is now useless with formats "2.0" and "3.0
    (quilt)" except to cancel the effect of a former --auto-commit.
    
    See http://lists.debian.org/20110529085303.GA17707@rivendell.home.ouaza.com
    for the discussion that enterined this change.

 debian/changelog                  |    6 +++
 man/dpkg-source.1                 |   32 ++++++++++++++++--
 scripts/Dpkg/Source/Package.pm    |    8 ++++-
 scripts/Dpkg/Source/Package/V2.pm |   68 ++++++++++++++++++++++++++++++++-----
 scripts/dpkg-source.pl            |   22 +++++++++---
 5 files changed, 117 insertions(+), 19 deletions(-)

commit 99cd8758402cc7f790f562c522d81f40c460233a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 28 17:14:55 2011 +0200

    Dpkg::Source::Package::V2: cleanup generate_patch()
    
    Drop all references to $autopatch which has nothing to do with
    generating a patch. Move the message explaining where the
    changes have been recorded outside of the function.
    
    Drop unused parameter to get_patch_header().
    
    Drop intermediary variables which are only used once.

 scripts/Dpkg/Source/Package/V2.pm |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

commit 3b7f497c4e9766a8aa60317cf43406de2b816e4b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 28 16:26:51 2011 +0200

    Dpkg::Source::Package::V2: move logic to create patches in a separate function
    
    This commit extracts the logic to create automatic patches in a new
    generate_patch() method. It's expected that this function will be
    reused to implement dpkg-source --commit.
    
    The code is mainly moved around as-is to simplify reviews. All
    desired changes have been left for further commits.

 scripts/Dpkg/Source/Package/V2.pm |   91 ++++++++++++++++++++++---------------
 1 files changed, 55 insertions(+), 36 deletions(-)

commit b8407b1dbd152c179039e38e9c0492ea05f406b5
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 28 15:10:43 2011 +0200

    Dpkg::Source::Package: replace register_autopatch() with register_patch()
    
    While register_autopatch() is only able to register a patch as the
    automatic patch, register_patch() can register a patch under any
    desired patch name.
    
    Also it doesn't not drop the input patch file, leaving that responsibility
    to whoever called it. However if the input patch file is empty, it will
    remove the target patch from the debian source package.

 scripts/Dpkg/Source/Package/V2.pm       |   40 ++++++++++++++----------------
 scripts/Dpkg/Source/Package/V3/quilt.pm |   36 +++++++++++++++++----------
 2 files changed, 42 insertions(+), 34 deletions(-)

commit be128c8f7960f05d3be727478c8078af1c1bfd72
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 14 19:02:49 2011 +0200

    dpkg-source: uniform handling of the patch header
    
    Formats "2.0" and "3.0 (quilt)" now generate the patch header
    with the same code. Drop some useless duplication.

 scripts/Dpkg/Source/Package/V2.pm       |   39 +++++++++++++++++++---
 scripts/Dpkg/Source/Package/V3/quilt.pm |   52 +-----------------------------
 2 files changed, 35 insertions(+), 56 deletions(-)

commit a7f16be86689ee46f4b2e445e5f08a63f447cdeb
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 14 18:56:30 2011 +0200

    dpkg-source: accept "." as the directory parameter
    
    dpkg-source should never be called from within the unpacked source
    tree, the result is usually not what one would expect. Fix this
    by automatically converting the directory name and by changing the
    current directory to the parent one.
    
    This is particularly interesting for the upcoming --record-changes
    option.

 scripts/dpkg-source.pl |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit dcc1a02343a45edbe209c0c07f09790418608723
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Aug 1 22:26:56 2011 +0200

    Fix markup in French translation

 man/po/fr.po |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit de998911d4af4effc8be60cab78a244f5951bfe2
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Aug 1 09:32:48 2011 +0200

    Updated french translation of manpages
    
    Updated to 1840t159f32u

 debian/changelog |    1 +
 man/po/fr.po     |  677 ++++++++++++++++++++++++++++++++++++------------------
 2 files changed, 460 insertions(+), 218 deletions(-)

commit 773e6dcc0e8fcbd0f185f95d27184e9979a2411e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 30 18:35:03 2011 +0200

    build: Error out if the host dpkg architecture cannot be determined
    
    Continuing will only produce a buggy dpkg.

 m4/dpkg-arch.m4 |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 99b890c2eb6bfe955d85aedd40841366826c2f73
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 30 18:27:39 2011 +0200

    build: Use the detected perl to invoke dpkg-architecture.pl
    
    This will help building dpkg on systems where perl is not at
    /usr/bin/perl, which we were already taking into consideration for the
    resulting scripts but not during build.

 debian/changelog |    2 ++
 m4/dpkg-arch.m4  |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit c90b620cd8c2836a3f5058dfa1527f9d7b5cf46e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 30 18:14:27 2011 +0200

    build: Move DPKG_ARCHITECTURE macro call to the end
    
    This puts together all build machinery checks, and will allow
    DPKG_ARCHITECTURE to use the detected perl interpreter w/o needing
    to call DPKG_PROG_PERL really early in the configure script.

 configure.ac |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit e03a8325caf1b02dca6908cde96f3fcff50d001a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jul 29 11:38:55 2011 +0200

    dpkg-mergechangelogs: fix test-suite
    
    In commit 5c233019cc770fb59671090d4a9462adb149921f I forgot to
    update the test-suite to match for the change of conflict markers.
    Doing this with this commit.

 scripts/t/910_merge_changelogs/ch-merged          |   18 ++++----
 scripts/t/910_merge_changelogs/ch-merged-basic    |   30 +++++++-------
 scripts/t/910_merge_changelogs/ch-merged-pr       |   24 ++++++------
 scripts/t/910_merge_changelogs/ch-merged-pr-basic |   42 ++++++++++----------
 4 files changed, 57 insertions(+), 57 deletions(-)

commit 5c233019cc770fb59671090d4a9462adb149921f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jul 29 00:53:30 2011 +0200

    dpkg-mergechangelogs: use 7 characters for conflict markers
    
    Reported-by: Andrew Bennetts <andrew.bennetts@canonical.com>

 debian/changelog                |    2 ++
 scripts/dpkg-mergechangelogs.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit a372b6a165de8876434828d2f7884b6e8840349b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 20:10:24 2011 +0200

    debian/rules: introduce a maintainer build mode
    
    Adding "maintainer-build" to DEB_BUILD_OPTS changes some compilation
    settings to make the build more useful for maintainers. For instance
    it enables the silent rules so that it's easier to spot the warnings.
    
    It would be nice to also enable -Werror but that requires further
    investigation since enabling this option results in ./configure not
    working any more due to warnings generated by several of the
    test programs compiled by ./configure itself.

 debian/rules |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 84f3154aee09f649e78e78f0f0affe160d73296e
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Wed Jul 27 17:05:27 2011 +0200

    German dpkg translation update
    
    Update to 1023t.

 po/de.po |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

commit 7e17d3bfc489c01412f6a7edc92c0a46befc85ee
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 27 13:08:59 2011 +0200

    dpkg-divert: fix the test-suite to also skip tests that would fail if run as root

 debian/changelog        |    2 ++
 src/t/100_dpkg_divert.t |    6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

commit 6f14223bd4a27d9cf40bd830c69187e3c6406982
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Jul 26 11:10:24 2011 +0200

    Update changelog to close a bug reporting a problem already fixed

 debian/changelog |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 5b9ecc1b953c78614b2aee49687bec216de748f7
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 25 05:12:35 2011 +0200

    Add build-indep and build-arch targets as aliases for build
    
    The current build target is responsible for the generation of
    architecture dependent and independent files. The architecture
    independent files are just sed'ed and as such they take insignificant
    build time, so splitting that from the general build process does not
    seem worth the trouble or complexity. Renaming the current build
    target to build-arch though would be incorrect.

 debian/changelog |    2 ++
 debian/rules     |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 9b22745f0a7127b7a171308f73e3079c535923f7
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 19:18:04 2011 +0200

    dpkg-deb: Construct control components paths with printf variants
    
    The output of dpkg-deb -I, -f and -W is not performance critical, and
    code simplicity trumps over the tiny performance improvements that using
    the explicit string functions or keeping the extracted control directory
    in the varbuf might imply in these cases.

 dpkg-deb/info.c |   43 +++++++++++++++----------------------------
 1 files changed, 15 insertions(+), 28 deletions(-)

commit dac802bce2e7fa909dac09d87f6fadb6074b9097
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 19:08:18 2011 +0200

    dpkg-deb: Use CONTROLFILE instead of a literal string

 dpkg-deb/info.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 04bcffc1565417a77a545adc643d86b82559b4a1
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jul 23 10:37:01 2011 +0200

    Update German scripts translation
    
    Update to 517t

 scripts/po/de.po |   64 +++++++++++++++++++++++++++--------------------------
 1 files changed, 33 insertions(+), 31 deletions(-)

commit b858e07bddec28c5b86c39d425a02f08d9bd205a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jul 11 10:37:41 2011 +0200

    dpkg-dev: add some common makefile snippets for use in rules files
    
    data/architecture.mk: variables related to dpkg-architecture
    data/buildflags.mk: variables related to dpkg-builflags
    data/vendor.mk: variables related to dpkg-vendor
    data/default.mk: all of the above

 configure.ac               |    1 +
 debian/changelog           |    3 +++
 debian/dpkg-dev.install    |    1 +
 debian/dpkg.install        |    2 +-
 scripts/Makefile.am        |    2 +-
 scripts/mk/Makefile.am     |   16 ++++++++++++++++
 scripts/mk/architecture.mk |   25 +++++++++++++++++++++++++
 scripts/mk/buildflags.mk   |   25 +++++++++++++++++++++++++
 scripts/mk/default.mk      |    7 +++++++
 scripts/mk/vendor.mk       |   18 ++++++++++++++++++
 10 files changed, 98 insertions(+), 2 deletions(-)

commit e135afdb35d0ac179657def901965a448115a981
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jul 20 08:29:05 2011 +0200

    dpkg: fix possible segfault in findbreakcycle().
    
    The circumstances are not entirely clear because clear_istobes() is
    called earlier in the code and should already ensure that clientdata
    is allocated for all packages in the database but the stack trace
    reported leaves no room for any other interpretation. We must protect
    the access to tpkg->clientdata in findbreakcycle() with
    ensure_package_clientdata(tpkg).
    
    Probably that some other parts of the code might create new packages in the
    in-memory database depending on some specific conditions. It might be that
    those conditions only hold for a multiarch-enabled dpkg for example if
    the code looks up a package entry for an alternative architecture and
    would thus create the package on the fly.
    
    This is pure speculation because I did not push the investigations that
    far. It might be something entirely different but it doesn't matter much
    because the proposed fix is the same and just ensures that we respect
    our API by protecting the access to clientdata.
    
    See https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/733414 for
    details.

 debian/changelog |    1 +
 src/depcon.c     |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

commit e6b7685a540c24da1f6357fe8869602d84444aee
Merge: d5aedf7 7627d80
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Jul 19 09:49:06 2011 +0200

    Merge branch 'master' of ssh://git.debian.org/git/dpkg/dpkg

commit 7627d8027482b28a40c88599be9808ce85e58a04
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Jul 19 08:16:25 2011 +0200

    dpkg-source: improve the error message "no orig.tar file found"
    
    Now we include the template corresponding to files that we try to look
    for.

 debian/changelog                  |    2 ++
 scripts/Dpkg/Source/Package/V2.pm |   15 +++++++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

commit d5aedf7fdff4dfeb8d329aa45486464d4596ec7a
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Jul 18 19:42:01 2011 +0200

    French translation of scripts completed
    
    514t

 debian/changelog |    1 +
 scripts/po/fr.po |   27 +++++++++++++--------------
 2 files changed, 14 insertions(+), 14 deletions(-)

commit 189eaa27d4d3e7c7bbbb1933dfcdbdc597a58476
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Jul 18 19:38:40 2011 +0200

    Updated French translation of programs
    
    1022t

 debian/changelog |    1 +
 po/fr.po         |  500 ++++++++++++++++++++++++++++--------------------------
 2 files changed, 257 insertions(+), 244 deletions(-)

commit bdcde2bb369531569c014bea8c0c6f6df5d38a2e
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Jul 17 15:26:06 2011 +0200

    Minor fixes

 scripts/po/de.po |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

commit 8449925b99926ba55651f94d21c174822a6af631
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Jul 17 13:47:31 2011 +0200

    German dpkg translation update
    
    Update to 1022t1f.

 po/de.po | 1209 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 621 insertions(+), 588 deletions(-)

commit 1605ee665e643613597e5d9100838fe6b3cdc2a1
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jul 17 10:01:35 2011 +0200

    Regenerate .pot files and merge .po files with them

 man/po/es.po    | 4955 +++++++++++++++++++++++++++++++++----------------------
 man/po/fr.po    | 4963 +++++++++++++++++++++++++++++++++----------------------
 man/po/hu.po    | 4169 ++++++++++++++++++++++++----------------------
 man/po/ja.po    | 4361 ++++++++++++++++++++++++++----------------------
 man/po/pl.po    | 4861 +++++++++++++++++++++++++++++++-----------------------
 man/po/pt_BR.po | 4222 +++++++++++++++++++++++++----------------------
 man/po/ru.po    | 4207 +++++++++++++++++++++++++----------------------
 man/po/sv.po    | 4950 ++++++++++++++++++++++++++++++++----------------------
 8 files changed, 20707 insertions(+), 15981 deletions(-)

commit a0affbc4e347f00992f91e9d62f888541977d3d7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jul 17 09:58:49 2011 +0200

    Update German translation of manual pages
    
    Update to 2028t3f.
    Remove outdate "# type" (without dot) comments

 man/po/de.po |  141 +++++-----------------------------------------------------
 1 files changed, 12 insertions(+), 129 deletions(-)

commit 4e4d2e3908ab132e840a71508e5a379895507fac
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jul 16 20:53:49 2011 +0200

    update-alternatives: can_replace_link() → can_replace_path()
    
    alternative_can_replace_path() is clearer than
    alternative_can_replace_link() since the function can also allow replacing
    files which aren't links.

 utils/update-alternatives.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 244ebc212261030e3da6c289108d4b5ed71aa867
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jul 16 20:48:33 2011 +0200

    update-alternatives: clarify role of --force concerning removal of links
    
    Modify update-alternatives --remove-all to remove files installed in
    place of links if --force is used. Add the corresponding non-regression
    test.

 man/update-alternatives.8         |    4 ++--
 utils/t/100_update_alternatives.t |   16 ++++++++++++----
 utils/update-alternatives.c       |    5 ++---
 3 files changed, 16 insertions(+), 9 deletions(-)

commit 91db161013479ad03ef95e7f0ca2f413c5e57925
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jul 15 22:06:38 2011 +0200

    update-alternatives: fix regression when dropping slave alternatives
    
    When the alternative is changed, it might have to drop a slave alternative
    that's no longer provide by the new choice. This must only remove the slave
    link if it's actually a link. If it's a file, it must be kept except if
    --force is given.
    
    The non-regression tests have been contributed by Andreas Beckmann.
    
    Reported-by: Andreas Beckmann <debian@abeckmann.de>

 debian/changelog                  |    3 ++
 utils/t/100_update_alternatives.t |   47 ++++++++++++++++++++++++++++++++++--
 utils/update-alternatives.c       |   36 +++++++++++++++++++---------
 3 files changed, 71 insertions(+), 15 deletions(-)

commit ed0eb757b659b8a7e4728e230b9d0db813294f15
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Jul 11 19:20:16 2011 +0200

    Update German translation of manual pages
    
    Update to 2028t3f.

 man/po/de.po |  432 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 262 insertions(+), 170 deletions(-)

commit e3c5e26a45f751fa42a4b96369cbce2b12c292bd
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Jul 11 18:55:28 2011 +0200

    Update German scripts translation
    
    Update to 517t

 scripts/po/de.po |  100 +++++++++++++++++++++++++++--------------------------
 1 files changed, 51 insertions(+), 49 deletions(-)

commit 006e0f93a2af1673a7153c822ce74b69fd8b2d26
Author: Niels Thykier <niels@thykier.net>
Date:   Mon Jul 11 13:59:10 2011 +0200

    dpkg-dev: fail when closing an output handle fails
    
    This patch makes dpkg-gencontrol and dpkg-shlibdeps fail if their
    call to close (on output handles) suggests an issue.  This prevents
    them from silently producing incomplete files and may provide a
    better error than the following rename failing.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog           |    1 +
 scripts/dpkg-gencontrol.pl |    2 +-
 scripts/dpkg-shlibdeps.pl  |    2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

commit 64dc71b84f8a4403028631f8f42e413f378e7d77
Author: Niels Thykier <niels@thykier.net>
Date:   Mon Jul 11 13:27:44 2011 +0200

    dpkg-mergechangelogs: fail if it cannot close the output file
    
    Made dpkg-mergechangelogs check the return value of close and fail
    if it was not successful.  Previously dpkg-mergechangelogs would
    silently fail to write a file if (e.g.) the device was full.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog                |    2 ++
 scripts/dpkg-mergechangelogs.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit d415c388d31e9c4b7eff8b77711a4c15b3b85208
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jul 11 09:20:20 2011 +0200

    dpkg-buildflags: new --dump action, make it the default
    
    The --export command is useful to retrieve the compilation flags
    in a shell script or in a makefile, and to export them in the environment,
    but it's not well suited for parsing by another script (or even by a
    human).
    
    The new --dump option becomes the default action and prints
    the flags and their values following a documented template: "flag=value".

 debian/changelog           |    2 ++
 man/dpkg-buildflags.1      |    7 ++++++-
 scripts/dpkg-buildflags.pl |   16 +++++++++++++---
 3 files changed, 21 insertions(+), 4 deletions(-)

commit 8904196d5bc313d80917b4b25f77f52e0227f698
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 7 12:26:12 2011 +0200

    dpkg-buildflags: supports a prepend command
    
    This command is particularly useful for package maintainers who don't want
    their supplementary flags to take precedence over user submitted flags.

 debian/changelog           |    4 ++++
 man/dpkg-buildflags.1      |   10 +++++++++-
 scripts/Dpkg/BuildFlags.pm |   29 ++++++++++++++++++++++++++++-
 3 files changed, 41 insertions(+), 2 deletions(-)

commit 316df0a76f2ef91badbccb6fef0bfa7ae23fac59
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 7 11:45:37 2011 +0200

    dpkg-buildflags: support debian/buildflags
    
    This file is for use by package maintainers. Since the call to
    dpkg-buildflags might be hidden by packaging helpers, it's a good
    idea to offer a simple way for package maintainers to extend
    the set of flags returned. Otherwise each package helper must provide
    its own way to extend the compilation flags.

 debian/changelog           |    3 ++
 man/dpkg-buildflags.1      |   13 ++++++++++-
 scripts/Dpkg/BuildFlags.pm |   45 ++++++++++++++++++++++++++++++++++---------
 3 files changed, 49 insertions(+), 12 deletions(-)

commit eb4bb268ab954748d015626a216f46f632f2371a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 7 11:15:40 2011 +0200

    Dpkg::Path: new find_build_file() function
    
    Useful to allow architecture-specific variants of a file and pick the
    right one based on the current host architecture.

 scripts/Dpkg/Path.pm |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 deletions(-)

commit 14f134d403c022046d38a6abb8be0fee7fb63355
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 7 10:30:20 2011 +0200

    dpkg-buildpackage: no longer exports the compiler flags
    
    Packages must directly call dpkg-buildflags to retrieve them.
    
    dpkg-buildpackage still prints the flags that are returned by
    dpkg-buildflags because it's useful for debugging purpose and for
    identifying an unclean build environment.

 debian/changelog             |    2 ++
 man/dpkg-buildpackage.1      |   13 +++++++------
 scripts/dpkg-buildpackage.pl |    5 ++---
 3 files changed, 11 insertions(+), 9 deletions(-)

commit c70908ffc751a6a84bffcecfa7fa752aadd42481
Author: Flo <sensorflo@gmail.com>
Date:   Sat Jul 9 11:10:39 2011 +0200

    Improve description of package states in man page

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d9661c223e1ac8c9892de6a45a0daa3fe3715936
Author: Flo <sensorflo@gmail.com>
Date:   Sat Jul 9 11:08:11 2011 +0200

    Improve description of package states in man page

 man/po/de.po |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit faa0fa50f1d9f85c1c9765961248701c11ad7abf
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jul 9 11:00:14 2011 +0200

    Update German translation of manual pages
    
    Update to 2017t3f.

 man/po/de.po |   39 ++++++++++++++++++++++-----------------
 1 files changed, 22 insertions(+), 17 deletions(-)

commit cd5c4b5bd6b50399af78dd42bda0408554ac6689
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Jul 8 16:54:49 2011 +0200

    Update German translation of manual pages
    
    Update to 2012t5f3u.

 man/po/de.po |  927 ++++++++++++++--------------------------------------------
 1 files changed, 224 insertions(+), 703 deletions(-)

commit 3762f5bf39f9af0a937f49112b5aa982c49f3e2c
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jul 7 23:08:11 2011 +0200

    Update German translation of manual pages
    
    Update to 1877t140f3u.

 man/po/de.po | 3398 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 1955 insertions(+), 1443 deletions(-)

commit 01f081f28e88bc52a6609cd53ff1776c95a91c6d
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jul 7 22:42:03 2011 +0200

    Update German scripts translation
    
    Update to 518t

 scripts/po/de.po |  154 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 85 insertions(+), 69 deletions(-)

commit 9c39b853fe4354476714f34a2ea52f030500bbc6
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Jul 7 20:11:50 2011 +0200

    build: Update po/POTFILES.in for renamed source file
    
    Commit cf22cf6118035ab8ee5cc25e5298a987073c8dc8 broke 'make update-po'.

 po/POTFILES.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2d233269cbf8cc1529e0c49a8c03a8b2227d49ff
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 7 16:49:32 2011 +0200

    dpkg-source(1): improve the description of --before-build & --after-build

 debian/changelog  |    2 ++
 man/dpkg-source.1 |   23 ++++++++++++-----------
 2 files changed, 14 insertions(+), 11 deletions(-)

commit e0ce9b4ac351a921de12bf0302cfa97f1c7251e2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 7 16:09:33 2011 +0200

    dpkg-source(1): fix a small typo
    
    Replace ", under as" with "under". Add missing dot at the end of the
    sentence.
    
    Reported-by: "Barak A. Pearlmutter" <bap@debian.org>

 debian/changelog    |    1 +
 man/dpkg-source.1   |    4 ++--
 man/po/de.po        |    4 ++--
 man/po/dpkg-man.pot |    4 ++--
 man/po/es.po        |    4 ++--
 man/po/fr.po        |    4 ++--
 man/po/hu.po        |    4 ++--
 man/po/ja.po        |    4 ++--
 man/po/pl.po        |    4 ++--
 man/po/pt_BR.po     |    4 ++--
 man/po/ru.po        |    4 ++--
 man/po/sv.po        |    4 ++--
 12 files changed, 23 insertions(+), 22 deletions(-)

commit 2533ebc755dc0e197d51e7d50beaac2ec3a70e22
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 7 15:18:31 2011 +0200

    dpkg-deb: adjust code now that extracthalf() no longer chdir() as a side-effect
    
    dpkg-deb -I, -f, -W were no longer working because they relied on the fact
    that extracthalf() changed the current directory to the extracted
    one.
    
    Regression introduced in commit 87809163331a320f9562d75591fcc6c954b9f80c.

 dpkg-deb/info.c |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

commit c819a400aa596e513ca8b28710ab9e2c62fcacd2
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 06:24:37 2011 +0200

    dpkg-maintscript-helper: Unify somewhat --help output with other commands

 debian/changelog                   |    1 +
 scripts/dpkg-maintscript-helper.sh |   18 ++++++------------
 2 files changed, 7 insertions(+), 12 deletions(-)

commit 2825370120d3adf3c1ef0c1b16d09bb2637ff358
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 06:15:57 2011 +0200

    man: Correctly format text with bold and italics

 debian/changelog              |    1 +
 man/deb-control.5             |   25 +++++++++++++------------
 man/deb-shlibs.5              |    2 +-
 man/deb-split.5               |    8 ++++----
 man/deb-src-control.5         |   24 +++++++++++++-----------
 man/deb-symbols.5             |    2 +-
 man/deb-version.5             |    2 +-
 man/dpkg-architecture.1       |    2 +-
 man/dpkg-checkbuilddeps.1     |    2 +-
 man/dpkg-divert.8             |    2 +-
 man/dpkg-maintscript-helper.1 |    6 +++---
 man/dpkg-name.1               |    3 +--
 man/dpkg-shlibdeps.1          |    2 +-
 man/dpkg-split.1              |    4 ++--
 man/dpkg-trigger.1            |    8 ++++----
 man/dpkg-vendor.1             |    8 ++++----
 man/update-alternatives.8     |   16 ++++++++--------
 17 files changed, 60 insertions(+), 57 deletions(-)

commit 9c757bf4c00f777f089e0ab6f83f10edd5892679
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 6 17:19:38 2011 +0200

    man: Use italics or bold instead of surrounding the text with <>
    
    Using <> to delimit parts of text is necessary when using plain text
    output, but not when we have some formatting available around, which
    is the case with the man pages, but not with the program output.

 TODO                          |    1 -
 debian/changelog              |    1 +
 man/deb-control.5             |   59 ++++++++++++++++---------------
 man/deb-src-control.5         |   78 ++++++++++++++++++++--------------------
 man/deb-symbols.5             |   18 +++++-----
 man/dpkg-divert.8             |    4 +-
 man/dpkg-maintscript-helper.1 |    4 +-
 man/dpkg-name.1               |   18 +++++----
 man/dpkg-parsechangelog.1     |   16 ++++----
 man/dpkg.1                    |   24 ++++++------
 man/dselect.1                 |    6 ++--
 man/update-alternatives.8     |   14 ++++----
 12 files changed, 123 insertions(+), 120 deletions(-)

commit 5190ed2c6b5c3d9e4f21db2cbdfddeca6ace2d46
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 4 19:06:38 2011 +0200

    man: Use [option...] instead of [options] and friends

 TODO                          |    1 -
 debian/changelog              |    1 +
 man/dpkg-architecture.1       |    5 ++---
 man/dpkg-buildpackage.1       |    4 ++--
 man/dpkg-checkbuilddeps.1     |    4 ++--
 man/dpkg-deb.1                |    5 ++---
 man/dpkg-distaddfile.1        |    4 ++--
 man/dpkg-divert.8             |    4 ++--
 man/dpkg-genchanges.1         |    4 ++--
 man/dpkg-gencontrol.1         |    4 ++--
 man/dpkg-gensymbols.1         |    4 ++--
 man/dpkg-maintscript-helper.1 |    4 ++--
 man/dpkg-name.1               |    6 +++---
 man/dpkg-parsechangelog.1     |    4 ++--
 man/dpkg-scanpackages.1       |    5 ++---
 man/dpkg-scansources.1        |    5 ++---
 man/dpkg-shlibdeps.1          |    6 ++----
 man/dpkg-source.1             |    5 ++---
 man/dpkg-split.1              |    5 ++---
 man/dpkg-statoverride.8       |    5 ++---
 man/dpkg.1                    |    2 +-
 man/dselect.1                 |   12 ++----------
 man/start-stop-daemon.8       |    5 ++---
 man/update-alternatives.8     |    5 ++---
 24 files changed, 45 insertions(+), 64 deletions(-)

commit 9e53fcc54bddbbab53e964f3339bd712e41806e5
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 4 18:55:03 2011 +0200

    Refer to Sources and Packages files as part of a repository
    
    Instead of as being of exclusive use or owned by APT, which has never
    been the case. Those files existed long before APT even existed.

 debian/changelog              |    2 ++
 man/dpkg-query.1              |    4 ++--
 scripts/Dpkg/Control.pm       |    8 ++++----
 scripts/Dpkg/Control/Types.pm |    4 ++--
 4 files changed, 10 insertions(+), 8 deletions(-)

commit 868cccc78684cd098e4ca6f879492842e24eb9a6
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 6 16:46:54 2011 +0200

    dpkg-query(1): Clarify that several fields are not dselect specific
    
    These apply to most dpkg front-ends not just dselect.

 debian/changelog |    2 ++
 man/dpkg-query.1 |    8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

commit 7f3892f184d9accd250600dfc54173a6436a5d3a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 6 16:46:26 2011 +0200

    dpkg-shlibdeps(1): Add missing “with”

 man/dpkg-shlibdeps.1 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0a9586213086723c5962bbfa6659df240c77433c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 06:19:02 2011 +0200

    man: Use dashes instead of underscores for variable text
    
    This makes the text more clear by avoiding the clashes when italics
    are rendered as underlined text.

 debian/changelog      |    1 +
 man/deb-control.5     |    2 +-
 man/deb-src-control.5 |    2 +-
 man/deb-version.5     |   36 ++++++++++++++++++------------------
 man/dpkg-deb.1        |    4 ++--
 man/dpkg-gensymbols.1 |    4 ++--
 man/dpkg-name.1       |    4 ++--
 man/dpkg.1            |   14 +++++++-------
 8 files changed, 34 insertions(+), 33 deletions(-)

commit 7dcd875e084213fa65c09cd23a3e45edfbfcb94b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 06:17:19 2011 +0200

    deb-control(5): Add missing escaping to field dashes

 debian/changelog  |    1 +
 man/deb-control.5 |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 971e0bd2005b06ab718a90e77067f7c6ff01c0b3
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 6 16:45:26 2011 +0200

    dselect(1): Add missing built-in methods

 debian/changelog |    1 +
 man/dselect.1    |    8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

commit 37b01269a3735a3213d5fe5fce377d5360f55ff7
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 05:41:06 2011 +0200

    dselect(1): Rename USAGE section to ACTIONS
    
    Document the ways actions can be performed, either interactively or from
    the command line.

 debian/changelog |    3 +++
 man/dselect.1    |    7 ++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

commit e342a8fc3bc777971f76aff0f89b8b121876a532
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 3 21:29:43 2011 +0200

    Use “command line” instead of commandline or command-line

 TODO              |    1 -
 debian/usertags   |    4 ++--
 doc/README.api    |    2 +-
 doc/triggers.txt  |    2 +-
 man/dpkg-source.1 |    4 ++--
 man/dselect.1     |    8 ++++----
 man/dselect.cfg.5 |    4 ++--
 7 files changed, 12 insertions(+), 13 deletions(-)

commit 23cd39aae01f1b3b1aee834befa02201e8824819
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 09:04:32 2011 +0200

    libdpkg: Rename catch_signals to signo_ignores in subproc module

 lib/dpkg/subproc.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 668ab0d8ab99dcc7a63d58bc1d859d857e3e939e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 4 04:10:32 2011 +0200

    libdpkg: Rename sigaction variables in subproc module to sa and sa_save

 lib/dpkg/subproc.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit b81ec0a39b7ccba925fb0fb8f0664a0671dbc2dc
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 4 03:19:04 2011 +0200

    libdpkg: Rename variable r to pid in subproc_fork()

 lib/dpkg/subproc.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit cf22cf6118035ab8ee5cc25e5298a987073c8dc8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 3 03:23:11 2011 +0200

    libdpkg: Rename myopt module to options

 dpkg-deb/build.c                |    2 +-
 dpkg-deb/extract.c              |    2 +-
 dpkg-deb/info.c                 |    2 +-
 dpkg-deb/main.c                 |    2 +-
 dpkg-split/info.c               |    2 +-
 dpkg-split/join.c               |    2 +-
 dpkg-split/main.c               |    2 +-
 dpkg-split/queue.c              |    2 +-
 dpkg-split/split.c              |    2 +-
 dselect/main.cc                 |    2 +-
 lib/dpkg/Makefile.am            |    4 ++--
 lib/dpkg/{myopt.c => options.c} |    4 ++--
 lib/dpkg/{myopt.h => options.h} |    8 ++++----
 src/archives.c                  |    2 +-
 src/cleanup.c                   |    2 +-
 src/divertcmd.c                 |    2 +-
 src/enquiry.c                   |    2 +-
 src/errors.c                    |    2 +-
 src/main.c                      |    2 +-
 src/packages.c                  |    2 +-
 src/processarc.c                |    2 +-
 src/querycmd.c                  |    2 +-
 src/remove.c                    |    2 +-
 src/select.c                    |    2 +-
 src/statcmd.c                   |    2 +-
 src/trigcmd.c                   |    2 +-
 src/update.c                    |    2 +-
 27 files changed, 32 insertions(+), 32 deletions(-)

commit 16354a961ce86778a3e0ca56f2fa5314855ccf3c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 3 03:12:40 2011 +0200

    Fix printforhelp string in dpkg-divert and dpkg-statoverride

 src/divertcmd.c |    2 +-
 src/statcmd.c   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 01d9ba9dfa1695ab12bd4a09f9f35a6e18c09788
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 2 02:23:27 2011 +0200

    Fix comment header lines describing the subproject

 dselect/bindings.h       |    2 +-
 dselect/dselect-curses.h |    2 +-
 dselect/dselect.h        |    2 +-
 dselect/pkglist.h        |    2 +-
 lib/dpkg/dbmodify.c      |    2 +-
 lib/dpkg/fdio.c          |    2 +-
 lib/dpkg/fdio.h          |    2 +-
 lib/dpkg/glob.c          |    2 +-
 lib/dpkg/glob.h          |    2 +-
 lib/dpkg/log.c           |    2 +-
 lib/dpkg/pkg-array.c     |    2 +-
 lib/dpkg/pkg-array.h     |    2 +-
 lib/dpkg/pkg-list.c      |    2 +-
 lib/dpkg/pkg-list.h      |    2 +-
 lib/dpkg/pkg-queue.c     |    2 +-
 lib/dpkg/pkg-queue.h     |    2 +-
 lib/dpkg/pkg-show.c      |    2 +-
 lib/dpkg/pkg-show.h      |    2 +-
 lib/dpkg/pkg.c           |    2 +-
 lib/dpkg/pkg.h           |    2 +-
 lib/dpkg/progress.c      |    2 +-
 lib/dpkg/progress.h      |    2 +-
 lib/dpkg/trigdeferred.l  |    2 +-
 23 files changed, 23 insertions(+), 23 deletions(-)

commit 9fe0a1b16d3045534f7863aed2e35f5177156a15
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 2 02:00:51 2011 +0200

    Use new dpkg_set_progname and dpkg_get_progname instead of thisname
    
    The current implementation demanded libdpkg users to define thisname
    themselves, which is not really a nice interface to offer to programs.
    
    Closes: #631757

 debian/changelog          |    3 +++
 dpkg-deb/main.c           |    2 +-
 dpkg-split/main.c         |    2 +-
 dselect/main.cc           |    3 ++-
 lib/dpkg/dpkg.h           |    1 +
 lib/dpkg/ehandle.c        |   16 +++++++++-------
 lib/dpkg/ehandle.h        |    3 ---
 lib/dpkg/libdpkg.Versions |    1 -
 lib/dpkg/subproc.c        |    2 +-
 lib/dpkg/test.h           |    2 --
 src/divertcmd.c           |    7 ++++---
 src/errors.c              |    6 +++---
 src/main.c                |    2 +-
 src/querycmd.c            |    6 +++---
 src/statcmd.c             |    7 ++++---
 src/trigcmd.c             |   11 +++++------
 src/trigproc.c            |    2 +-
 17 files changed, 39 insertions(+), 37 deletions(-)

commit ec206bf34be3733a665840432f70faf149f2c008
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 2 01:58:33 2011 +0200

    libdpkg: Add new progname module handling functions

 configure.ac              |    3 +-
 lib/dpkg/Makefile.am      |    2 +
 lib/dpkg/libdpkg.Versions |    4 ++
 lib/dpkg/progname.c       |   83 +++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/progname.h       |   33 ++++++++++++++++++
 m4/dpkg-funcs.m4          |   23 ++++++++++++
 6 files changed, 147 insertions(+), 1 deletions(-)

commit cd92cc77e5103b31ce15b746bd71095b859ac08b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 2 02:04:28 2011 +0200

    libdpkg: Add missing macros for program names
    
    Specifically for dpkg-divert, dpkg-statoverride and dpkg-trigger.

 lib/dpkg/dpkg.h |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 0fc0d6d598c045c77d056b40446208448b9ec6e2
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 1 04:22:51 2011 +0200

    libdpkg: Do not require programs to define printforhelp
    
    Instead define it in myopt.c and initialize it through a new argument to
    myopt().

 dpkg-deb/main.c           |    4 ++--
 dpkg-split/main.c         |    4 ++--
 dselect/main.cc           |    4 ++--
 lib/dpkg/libdpkg.Versions |    1 -
 lib/dpkg/myopt.c          |    9 ++++++++-
 lib/dpkg/myopt.h          |    5 ++---
 src/divertcmd.c           |    5 +++--
 src/main.c                |    6 +++---
 src/querycmd.c            |    5 +++--
 src/statcmd.c             |    5 +++--
 src/trigcmd.c             |    4 ++--
 11 files changed, 30 insertions(+), 22 deletions(-)

commit 4da4c894719c7d33a3e44645630f63172cfd4c99
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 4 02:02:57 2011 +0200

    libdpkg: Add missing symbols to the version script

 lib/dpkg/libdpkg.Versions |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 87809163331a320f9562d75591fcc6c954b9f80c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 17 17:00:30 2011 +0200

    dpkg-deb: Always chdir(2) in the childs to not change the global state
    
    To not disturb the global program state we should always chdir(2) in the
    childs that actually need it. This will allow in the future to switch
    this code to be part of a library.

 dpkg-deb/extract.c |   25 ++++++++++++-------------
 dpkg-deb/info.c    |    4 ++--
 2 files changed, 14 insertions(+), 15 deletions(-)

commit 6ab502b6a7a3718b697e7c1020fcd5d7f9fd2d67
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 7 07:11:06 2011 +0200

    dpkg: Use braces on ‘if’ to avoid ambiguous ‘else’
    
    Warning introduced in commit fc625d161382abc41b984ca9ee1e32ad4f295c67.

 src/archives.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 1ea0da5ac9079a38aae50ccbe78cec003e7ae95a
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Jul 5 09:44:49 2011 +0200

    dpkg: Mark error message for translation
    
    Missed in commit fc625d161382abc41b984ca9ee1e32ad4f295c67.

 src/archives.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a9345899bd3ad76e6081beaefbb1a5ce0758ebad
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jun 30 14:08:44 2011 +0200

    dpkg-source: improve the logic to identify ignored files
    
    The list of ignored files was only generated by expanding the patterns
    relative to the current directory (which usually is the directory above
    the source package). Instead what we want is to expand them at the
    top-level directory of the source package and at the directory being
    inspected.
    
    Reported-by: Joachim Breitner <nomeata@debian.org>

 debian/changelog                  |    1 +
 scripts/Dpkg/Source/Package/V2.pm |   12 +++++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

commit fc625d161382abc41b984ca9ee1e32ad4f295c67
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Jun 28 09:39:46 2011 +0200

    dpkg: add the missing ohshite() on a failed syscall

 src/archives.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b6ca9bcdb5887e30fe65ecd2105da9dcd55a351c
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jun 29 04:11:32 2011 +0200

    dpkg: Unpack missing shared directories when the package is replaced
    
    When unpacking a directory missing in the file system with that path
    shared by at least one other package, from a package that is Replaced
    by other packages, assume the missing path is a shared directory and
    avoid setting ‘keepexisting’ and as such returning prematurely from
    tarobject(), because in that case we need to recreate the lost
    directory. As a side effect this also prevents printing the message
    “Replaced by files in installed package” which is bogus in this case,
    as directories are always shared.
    
    Regression introduced in commit 00e5640a99be03aba40c9e08a663b90d8f8aa797.
    
    Closes: #631808

 debian/changelog |    2 ++
 src/archives.c   |   26 ++++++++++++++++----------
 2 files changed, 18 insertions(+), 10 deletions(-)

commit 638e259f69c1f3c0e1000979274562f8ffad4df9
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Jun 28 09:34:52 2011 +0200

    update-alternatives: do not allow to reuse a slave link in another slave alternative
    
    update-alternatives erroneously allowed to reuse a link in another slave
    alternative. Given the parsing code already catched this error, it would
    immediately result in update-alternatives being unusable to manipulate the
    broken alternative.
    
    Reported-by: Andreas Beckmann <debian@abeckmann.de>

 debian/changelog                  |    2 ++
 utils/t/100_update_alternatives.t |    7 ++++++-
 utils/update-alternatives.c       |   11 +++++++++++
 3 files changed, 19 insertions(+), 1 deletions(-)

commit 8ee722234e35e8fca0fd60aac35f9263d62f3f95
Author: Peter Krefting <peterk@debian.org>
Date:   Mon Jun 27 19:24:45 2011 +0100

    Fix some damage introduced by gtranslator.

 po/sv.po         |    6 +++---
 scripts/po/sv.po |    6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 46dde50846c6698b28e255c8f1f060e1ec7a7179
Author: Peter Krefting <peterk@debian.org>
Date:   Mon Jun 27 19:22:11 2011 +0100

    Update Swedish translation.
    
    po/sv.po: 1022t0f0u.
    scripts/po/sv.po: 514t0f0u.

 debian/changelog |    2 +
 po/sv.po         |  512 ++++++++++++++++++++++++++----------------------------
 scripts/po/sv.po |   37 ++--
 3 files changed, 269 insertions(+), 282 deletions(-)

commit 86f689c13be910797eb22f7c2a63f2d49298641d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jun 27 09:36:59 2011 +0200

    dpkg-buildflags(1): DEB_*_(SET|APPEND) are meant for users
    
    Make it clear that the possibility to override the compilation flags
    with environment variables DEB_*_SET and DEB_*_APPEND is restricted
    to users and that packages should not set those variables.

 debian/changelog      |    2 ++
 man/dpkg-buildflags.1 |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit f64a8d66c0c3b3a44927a6eb4d5bd57ef8d60594
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Feb 21 16:32:57 2011 +0100

    Fix bad indentation in various parts of the code

 lib/dpkg/dbmodify.c |    6 +++---
 src/archives.c      |    6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

commit e2d910ee0805a56f87416aab355ca68a264e077b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jun 26 10:21:28 2011 +0200

    Add missing changelog entry for new trigger directives

 debian/changelog |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit cf6b98d3738d1fe8b3119b71fd8321c12feb618c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun May 15 01:39:31 2011 +0200

    dpkg: implement "interest-noawait" and "activate-noawait" trigger commands
    
    Those variants do not put triggering packages in triggers-awaited status
    and thus do not record the package with the corresponding pending triggers
    in the Triggers-Awaited field.
    
    This should be used for triggers which do not provide essential
    functionality when we can safely consider that the triggering packages
    are able to satisfy dependencies even if the trigger processing
    has not yet happened.

 debian/dpkg.prerm  |   81 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 doc/triggers.txt   |    3 +-
 lib/dpkg/triglib.c |   78 +++++++++++++++++++++++++++++++++++---------------
 lib/dpkg/triglib.h |   15 +++++++--
 man/deb-triggers.5 |   20 ++++++++++++-
 src/trigproc.c     |   10 ++++--
 6 files changed, 174 insertions(+), 33 deletions(-)

commit 9d3ec0f5a727d439c3cbc8885bcbc78f7a34dd0b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 18 21:36:40 2011 +0200

    dpkg: do not fallback to "new-prerm failed-upgrade" for downgrades
    
    If "installed-prerm upgrade" fails, dpkg tries to run "new-prerm
    failed-upgrade" so that newer versions of packages can work-around
    a bug in the prerm of the installed package.
    
    In the case of downgrade this logic doesn't make any sense since
    the oldest version can't be aware of the bug in the newest version
    (that did not exist when the prerm of the oldest version was
    written).
    
    Thus we're disabling the fallback in case of a downgrade or a
    reinstallation of the same version.

 debian/changelog |    3 +++
 src/processarc.c |   10 ++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

commit bbe54d836c52533c923484f3eaf216011551337a
Author: Cyril Brulebois <kibi@debian.org>
Date:   Mon Jun 13 23:23:09 2011 +0200

    dpkg-gensymbols: cope with empty lines
    
    Empty lines are quite useful as (visual) delimiters between sections in
    symbols files, for example when libfoo0 contains libfoo-bar.so.0 and
    libfoo-baz.so.0. Consider them like comments: ignore them. This gets us
    rid of such warnings (which by the way are missing line numbers):
    | dpkg-gensymbols: warning: Failed to parse a line in debian/libfoo0.symbols:
    | dpkg-gensymbols: warning: Failed to parse a line in debian/libfoo0.symbols:
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog                  |    2 ++
 scripts/Dpkg/Shlibs/SymbolFile.pm |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 2be618a80de2de006428c1f92bfafa90bb963adf
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 25 10:17:53 2011 +0200

    dpkg-gensymbols(1): document syntax of comments
    
    Reported-by: Sven Joachim <svenjoac@gmx.de>

 debian/changelog      |    1 +
 man/dpkg-gensymbols.1 |    5 +++++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit 1c1653ef4d7a6d461d4c2168d8a078a8a11596db
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 25 10:08:03 2011 +0200

    dpkg-source: add some supplementary checks of debian/control
    
    We're now ensuring that debian/control contains a source entry
    and at least one entry for a binary package. And we also ensure
    that the Architecture field is present. This a new restriction
    but it's really in-line with the change made in dpkg where we
    complain of the lack of this field.
    
    Reported-by: Niels Thykier <niels@thykier.net>

 debian/changelog                     |    2 ++
 scripts/Dpkg/Control/Info.pm         |    6 +++++-
 scripts/dpkg-source.pl               |    5 +++++
 scripts/t/700_Dpkg_Control.t         |    4 ++++
 scripts/t/700_Dpkg_Control/control-1 |    3 +++
 5 files changed, 19 insertions(+), 1 deletions(-)

commit 8eed1ffef9b85ccf71190cb7f36788f2994222ed
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 25 09:53:02 2011 +0200

    Dpkg::ErrorHandling::syntaxerr(): handle supplementary parameters like report()
    
    That is consider that the string is a format string that needs to be
    processed with sprintf().

 scripts/Dpkg/ErrorHandling.pm |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 02e045f9b2f6a75711a7a9f29766a835e971be3a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 25 08:59:24 2011 +0200

    dpkg-source(1): wording improvement
    
    Use "special" instead of "particular" to qualify the "3.0 (custom)"
    format.
    
    Reported-by: Ben Pfaff <blp@nicira.com>

 debian/changelog  |    2 ++
 man/dpkg-source.1 |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 3c3dce24847d0040547aa2a2bd9da5dcca2df0c7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jun 17 23:53:32 2011 +0200

    dpkg: ensure that post_postinst_tasks() doesn't introduce bad data
    
    The pending triggers were removed because the postinst has just been
    run, unfortunately in some cases it would restore the status to
    pending-triggers. This is notably the case when a package is
    removed while being in triggers-pending and when the prerm fails.
    
    In fact it was not correct to remove the pending triggers in this
    function because only "postinst configure" should clear the pending
    triggers. Thus move the removal of the pending triggers to
    deferred_configure() in src/configure.c and reset the status
    to its "normal" value when the target status is one of triggers-awaited,
    triggers-pending or installed.
    
    With this change, it's no longer possible to have a status of
    triggers-pending without any pending trigger in trigpend_head.
    
    Note that despite this change, the pending triggers are lost
    during a failed removal because dpkg switches the package to
    halfconfigured before running "prerm remove" and modstatdb_note()
    drops the pending triggers in that situation.

 debian/changelog |    4 ++--
 src/configure.c  |    1 +
 src/help.c       |    7 +++++--
 3 files changed, 8 insertions(+), 4 deletions(-)

commit a36cadba41b19d5908bdfcb658cf01af07c1436a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jun 17 23:22:55 2011 +0200

    dpkg: ensure that trig_transitional_activate() doesn't introduce bad data
    
    trig_transitional_activate() is emptying Triggers-Pending without
    ensuring that the status is set back to something which is not
    triggers-pending. In theory it's ok because the trig_parse_ci()
    call is supposed to reactivate all the triggers. But if there's no
    triggers file any more then we're effectively introducing a skew
    which is going to be fatal the next time we try to write down
    the status file.
    
    The disparition of the triggers file can happen with file system problems,
    bad user manipulation or even an old dpkg bug that kept triggers alive
    when in fact the trigger was dropped from the package. Or the triggers
    file has effectively been removed in the package but the user has restored
    an old status file with a triggers-pending status that the current package
    should no longer be able to generate.
    
    In other words, properly resetting the status in
    trig_transitional_activate() makes dpkg more robust.

 debian/changelog |    2 ++
 src/trigproc.c   |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

commit 1165f6821681075eeed66ca9cf1e889a057f636c
Author: Ludovic Brenta <ludovic@ludovic-brenta.org>
Date:   Wed Jun 15 06:48:10 2011 +0200

    dpkg-gencontrol: Run du with --apparent-size for the Installed-Size field
    
    This will give consistent results independent of build system.
    
    Even though this will keep not providing accurate enough information
    for the field's purpose and as such some times the size reported will
    be less than the space eventually used, having the value changing
    depending on the build system is just bogus.
    
    Closes: #630533
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog           |    3 +++
 scripts/dpkg-gencontrol.pl |    3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit f7205f491c1f68a36f63d650eb780436f1fc7fe7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jun 12 14:25:50 2011 +0200

    Update German translation of manual pages
    
    Update to 2029t1f0u.

 man/po/de.po |  315 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 158 insertions(+), 157 deletions(-)

commit 8a92e91b6be8c5ef0d3aee8e340d18b82b8a40c5
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jun 12 14:05:03 2011 +0200

    Update German scripts translation
    
    Update to 516t

 scripts/po/de.po |  320 +++++++++++++++++++++++++++---------------------------
 1 files changed, 159 insertions(+), 161 deletions(-)

commit 9c590651dc6a4d641f4abdb1200da71c21f5bd72
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jun 12 11:41:23 2011 +0200

    dpkg-source: unapplied patches do not warrant a warning
    
    There are perfectly legitimate cases where the patches are not applied
    and there's no need to output a long warning about this. A brief message
    is more than enough.

 scripts/Dpkg/Source/Package/V2.pm       |    2 +-
 scripts/Dpkg/Source/Package/V3/quilt.pm |    3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

commit e60718be567458e84f6d3f650a4f2b13dd21f1d6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jun 12 11:27:28 2011 +0200

    dpkg-source: --after-build unapplies patches applied during --before-build
    
    Implement this logic for the "2.0" and "3.0 (quilt)" source formats.

 debian/changelog                        |    2 ++
 man/dpkg-source.1                       |   31 ++++++++++++-------------------
 scripts/Dpkg/Source/Package/V2.pm       |   13 ++++++++++++-
 scripts/Dpkg/Source/Package/V3/quilt.pm |   18 ++++++++++++++++++
 4 files changed, 44 insertions(+), 20 deletions(-)

commit e215edebf89cb342718b0d9a1fada68e414e1798
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jun 12 09:57:18 2011 +0200

    Fix typo in French translation of dpkg-source(1).

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 46d6192d4070b0324b837105e9959a501e65433d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 11 22:49:53 2011 +0200

    dpkg-source: support debian/source/local-patch-header
    
    Useful to use in combination with a --single-debian-patch option
    in debian/source/local-options.
    
    The commit also changes the place where the local-options file is ignored.
    Instead of using the default diff_ignore regexp, it's hardcoded in the
    initialization function in case the default regexp is not used.
    
    Suggested-by: Russ Allbery <rra@debian.org>

 debian/changelog                        |    3 +++
 man/dpkg-source.1                       |   11 +++++++----
 scripts/Dpkg/Source/Package.pm          |    6 +++---
 scripts/Dpkg/Source/Package/V1.pm       |    7 ++++---
 scripts/Dpkg/Source/Package/V2.pm       |    5 ++++-
 scripts/Dpkg/Source/Package/V3/quilt.pm |    5 ++++-
 6 files changed, 25 insertions(+), 12 deletions(-)

commit 4e246f9e3e3155447f3aaa8bab7d079ee0064c5b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 11 19:05:26 2011 +0200

    Dpkg::BuildFlags: avoid a Perl warning when HOME is not set

 debian/changelog           |    1 +
 scripts/Dpkg/BuildFlags.pm |    7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

commit cbf13f86a99b7ed2d3c89a9c99996dfa2625782e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jun 11 12:02:33 2011 +0200

    Dpkg::Vendor: add the module the supported Perl API
    
    Bump its version to 1.00.
    
    Lintian would like to use it when dpkg-dev is absent to provide some
    vendor specific behaviour.

 debian/changelog       |    2 ++
 scripts/Dpkg/Vendor.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit b5c339c155b21cc393cc7ec7e4c5579dc5f03f6f
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Jun 7 11:46:08 2011 +0200

    Update German translation of manual pages
    
    Update to 2028t1f0u.

 man/po/de.po |  346 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 188 insertions(+), 158 deletions(-)

commit dc927a0183f925646a06b1198f831e270fed75d3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jun 6 15:00:35 2011 +0200

    Fix typo in debian/changelog spotted by lintian

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 14d48ef9abc2ce2d394e9ae4d69d4ba68b551620
Author: Bill Allombert <Bill.Allombert@math.u-bordeaux.fr>
Date:   Sun Sep 6 13:18:50 2009 +0200

    dpkg-buildpackage: support for Build-Features: build-arch
    
    With this flag set in debian/control, dpkg-buildpackage will use
    "debian/rules build-arch" or "debian/rules build-indep" when
    appropriate.
    
    Improved-by: Raphaël Hertzog <hertzog@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog               |    6 +++
 man/deb-src-control.5          |    7 +++
 man/dpkg-buildpackage.1        |   13 ++++--
 scripts/Dpkg/BuildFeatures.pm  |   84 ++++++++++++++++++++++++++++++++++++++++
 scripts/Dpkg/Control/Fields.pm |    3 +
 scripts/Makefile.am            |    1 +
 scripts/dpkg-buildpackage.pl   |   10 ++++-
 scripts/po/POTFILES.in         |    1 +
 8 files changed, 119 insertions(+), 6 deletions(-)

commit b3d0bb4a4cb8a994d3841912dccd116224498f32
Author: Niels Thykier <niels@thykier.net>
Date:   Sun Jun 5 00:31:49 2011 +0200

    dpkg-vendor: fail on missing parameters for required arguments
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog       |    2 ++
 scripts/dpkg-vendor.pl |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 53af7e486a194fb005beb24873e5fb276e84b42c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun May 29 09:43:22 2011 +0200

    Dpkg::Source::Package: add extraction functions to the supported API
    
    Add the extraction part of Dpkg::Source::Package to the supported API.
    It's useful to extract source packages without having to depend on
    dpkg-source (and hence dpkg-dev).
    
    Suggested-by: Niels Thykier

 debian/changelog               |    3 +
 scripts/Dpkg/Source/Package.pm |  107 +++++++++++++++++++++++++++++++++++++++-
 2 files changed, 109 insertions(+), 1 deletions(-)

commit 3aad657574c14c0ec13338d13cb4d6eea94b3926
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat May 28 15:22:23 2011 +0200

    Update German scripts translation
    
    Update to 516t

 scripts/po/de.po |   98 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 51 insertions(+), 47 deletions(-)

commit 8bbd76cc98360c20ff8ca660ab1d53234608ff92
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 28 15:12:58 2011 +0200

    dpkg-source: reenable the Package-List field
    
    But drop the Architecture column since we have no clear use case yet. It
    can always be added later on. Parsers should treat the field as an
    extendable one. They shall ignore supplementary columns that they do
    not know.
    
    Also drop the source line, it's not needed since the dsc file describes
    the source package already (source section and priority are not currently
    exported in dedicated fields but they can be added later if we start
    having a need for this information).

 debian/changelog       |    4 ++++
 scripts/dpkg-source.pl |   10 ++--------
 2 files changed, 6 insertions(+), 8 deletions(-)

commit 587a1e17ff424ee87d5011795c518da238189e9f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 28 14:56:49 2011 +0200

    dpkg-gensymbols: warn when the generated symbols files is empty
    
    It indirectly avoids a perl warning in dpkg-gensymbols when no symbols
    file has been generated (because it would have been empty).
    
    Reported-by: Niels Thykier <niels@thykier.net>

 debian/changelog           |    2 ++
 scripts/dpkg-gensymbols.pl |    4 +++-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 0d55f02275c0439622bb58f3b3c6658aef51fb11
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 25 08:51:50 2011 +0200

    libdpkg: Fix fd_fd_filter to execute the filter on the child
    
    There was a logic error in the pid check, and the filter code was being
    executed in the parent instead of the child.
    
    Regression introduced in commit 269bbee973c46e1be0aaef82cb7e19bbc9a95aa7.
    
    Reported-by: Sven Joachim <svenjoac@gmx.de>

 lib/dpkg/compress.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2ed0a42cb3863e2ce0199e13242fa3b769ca773d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 24 06:19:28 2011 +0200

    libdpkg: Do not warn on missing Architecture in config-files state
    
    dpkg before commit 2ef42b027e4267432a41343e28f102b1dae668d2 (versions
    older than 1.10.19) did not keep the Architecture field in the status
    file, and as such removed (but not purged) packages might still be
    around in live systems lacking the Architecture field. Let's shut up
    the warning for now.
    
    Closes: #604241
    
    Analysis-by: Raphael Hertzog <hertzog@debian.org>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    2 ++
 lib/dpkg/parse.c |    8 ++++++++
 2 files changed, 10 insertions(+), 0 deletions(-)

commit e4cb12a710457b103a7544c4de5e9fc1b2bd24d8
Author: Guillem Jover <guillem@debian.org>
Date:   Sat May 21 10:38:32 2011 +0200

    libdpkg: Do not allow blank lines in field values
    
    Blank lines in this case mean, lines containing only spaces and tabs.
    This ensure the Perl and C parsers match, and it follows RFC-2822 style
    format, and Debian policy.
    
    Closes: #308082

 debian/changelog |    1 +
 lib/dpkg/parse.c |   18 ++++++++++++++++--
 2 files changed, 17 insertions(+), 2 deletions(-)

commit 588077fdbc350d0733ce5cb8a298d317cfda1926
Author: Guillem Jover <guillem@debian.org>
Date:   Sat May 21 06:59:44 2011 +0200

    Dpkg::Source::Package: Add ‘.hgsigs’ to the default ignore lists
    
    Closes: #627462
    
    Based-on-patch-by: Jakub Wilk <jwilk@debian.org>

 debian/changelog               |    2 ++
 scripts/Dpkg/Source/Package.pm |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit b8038ef4721d53bb037583b9355a1f00dbcdc740
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 22 16:11:40 2011 +0200

    libdpkg: Properly reset filetriggers_edited in trig_file_interests_save
    
    The function was not resetting filetriggers_edited when no triggers were
    left, and duplicated part of the existing functionality.
    
    Refactor into trig_file_interests_remove() and
    trig_file_interests_update() to make them use the same main code path.
    
    Regression introduced in commit 83b591340ec92cf0e9814e8403da7711cbbc6b46.

 lib/dpkg/triglib.c |   34 +++++++++++++++++++++-------------
 1 files changed, 21 insertions(+), 13 deletions(-)

commit 104882f7fef02d53e1b868e746b8e9ff313eb1f5
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 24 06:55:34 2011 +0200

    libdpkg: Do not fail on current file removal in trk_explicit_interest_change
    
    In case the new trigger interest file is empty and as such not needed
    any longer, do not fail if the current file is not present.
    
    Regression introduced in commit 83b591340ec92cf0e9814e8403da7711cbbc6b46.

 lib/dpkg/triglib.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5c32f0c0e4c537fc00bf3ccace8799fe27a522aa
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 22 16:07:49 2011 +0200

    libdpkg: Properly pop the cleanup handler in trk_explicit_interest_change
    
    In case of error all cleanup handlers will get called but the nf FILE
    variable might have been already closed, which would cause the
    subsequent fclose() to fail, this will not be fatal as the return
    value for fclose() in the cleanup handler is not checked, but it's
    still not correct.
    
    Refactor trk_explicit_interest_change() into
    trk_explicit_interest_remove(), trk_explicit_interest_flush() and
    trk_explicit_interest_commit() to reflow the function and make it
    clearer by sharing the main code path.
    
    Regression introduced in commit 83b591340ec92cf0e9814e8403da7711cbbc6b46.

 lib/dpkg/triglib.c |   59 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 37 insertions(+), 22 deletions(-)

commit 83b591340ec92cf0e9814e8403da7711cbbc6b46
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed May 18 10:10:04 2011 +0200

    dpkg: properly remove triggers information during package removal
    
    Before this change, a package removal would not remove the triggers
    information from the internal files. When you reinstalled the same
    package without any trigger, dpkg would improperly believe that
    the package implemented some triggers.
    
    However the triggers were correctly unregistered during a package
    upgrade that dropped the triggers.
    
    With this commit, we also remove triggers interest file that are empty and
    thus no longer needed.

 debian/changelog   |    2 ++
 lib/dpkg/triglib.c |   25 ++++++++++++++++++++++++-
 src/remove.c       |    4 ++++
 3 files changed, 30 insertions(+), 1 deletions(-)

commit 799d38599c1326c2e4c0b9360b19721c05f8c55f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri May 6 06:08:30 2011 +0200

    dpkg: Keep parent directories of directories kept during removal
    
    When a directory is kept during removal to be later dealt with during
    purge, due to the directory containing conffiles from the same package,
    it not being empty, etc, we should keep all its parent to make sure
    when the subsequent trial is performed they are properly cleaned up.
    
    Closes: #454694
    
    Based-on-patch-by: Ondřej Surý <ondrej@debian.org>

 debian/changelog |    3 +++
 src/help.c       |   31 +++++++++++++++++++++++++++++++
 src/main.h       |    2 ++
 src/remove.c     |    8 ++++++++
 4 files changed, 44 insertions(+), 0 deletions(-)

commit e67e071e5836c7bd79bb5a1561ecda760f09a01f
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 15 17:38:18 2011 +0200

    dpkg: On purge remove the conffiles from the file list file
    
    This makes sure the files list is correct after the conffiles have been
    removed from disk and the status db has been updated.

 src/remove.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit ad07629757599f8f27ec63864b0c34fd7515882c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 15 17:33:14 2011 +0200

    dpkg: Do not preserve and check for conffiles on leftover dir removal
    
    The function removal_bulk_remove_leftover_dirs() was supposed to be
    called only w/ left over dirs, but removal_bulk_remove_configfiles()
    does not remove them from the file list when unlinking.
    
    Do not check if the directory needs to be preserved if the package has
    conffiles inside, because it should have none, although it would match
    given that the file list still contains conffiles.
    
    Do not preserve any lingering conffiles in the file list as they are
    no longer on disk anyway.

 src/remove.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

commit 0582645c283f39a602201dc0cf0fc8a6e986fe76
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 15 17:07:53 2011 +0200

    dpkg: Change write_filelist_except() to take a mask intead of a bool
    
    This generalizes the function to exclude any desired file namenode
    flag and not just fnnf_elide_other_lists. It also gets rid of the
    bool variable which is generally a bad interface to change function
    behaviour when it should really be a named flag or a mask.

 src/filesdb.c    |    8 ++++----
 src/filesdb.h    |    2 +-
 src/processarc.c |    3 ++-
 3 files changed, 7 insertions(+), 6 deletions(-)

commit f65316a5ec488a52cb7d5fa98824c21629de26b6
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 15 03:39:35 2011 +0200

    libdpkg: Use new writedb flags instead of independent bool variables
    
    Using bool to pass flags to a function already taking several arguments
    is generally a bad interface, as it's not clear from the call sites what
    each of them refer to. Switch to a proper enum with named flags instead.

 lib/dpkg/dbmodify.c |    6 +++---
 lib/dpkg/dpkg-db.h  |    9 ++++++++-
 lib/dpkg/dump.c     |   10 +++++-----
 src/update.c        |    2 +-
 4 files changed, 17 insertions(+), 10 deletions(-)

commit d6f176b4b8ad5fdf77f05704ee4c1abb3fa23ab4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 15 03:33:53 2011 +0200

    dpkg: Make fd variable passed to cu_closefd static
    
    The push_cleanup() call takes a pointer to the fd variable which resides
    in the stack. In case of error and stack unwinding due to longjmp, the
    value of fd might get overwritten by subsequent stack usage. Thus this
    kind of variables need to be static so that their value cannot change
    on stack rollback.

 src/filesdb.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7337447704d69a553cf44f462ad7c22e4026646c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 15 03:32:32 2011 +0200

    libdpkg: Rename cu_closefile to cu_closestream
    
    This should make it clear we are referring to a stdio stream, and not
    the future planned ‘struct file’.

 lib/dpkg/cleanup.c |    2 +-
 lib/dpkg/dpkg.h    |    2 +-
 lib/dpkg/triglib.c |    8 ++++----
 src/filesdb.c      |    2 +-
 src/processarc.c   |    2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)

commit 216b7a30bab31817dca09ba2c7c629883cee1efa
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 12 02:57:30 2011 +0200

    dpkg: On purge correctly remove a symlink pointing to a directory
    
    The code was treating symlinks to directories as directories, but then
    it was trying to rmdir(2) them, which failed. In such case just verify
    it's a symlink and unlink(2) them instead.

 debian/changelog |    2 ++
 src/remove.c     |    9 +++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

commit ea81b2b144f70de7a0652b654de4d2fe765ff327
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 12 02:52:17 2011 +0200

    dpkg: Add debug output on match in dir_is_used_by_others()
    
    The debug output was not balanced, and was only printing when no match
    happened, making the output confusing.

 src/help.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 8074459cfa13502a424545542dc85808e7ec1dc0
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun May 15 10:57:19 2011 +0200

    Fix copyright year in header

 scripts/po/de.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 47126733bb08ea5e9cbdf88e865a0cf759d7449b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun May 15 09:49:09 2011 +0200

    dpkg-source: ensure "any" doesn't hide "all" in the Architecture field
    
    "any" doesn't imply "all" so we should keep both values in the field. This
    is important so that wanna-build can know what needs to be scheduled for
    the buildd that deals with Architecture: all packages.

 debian/changelog       |    1 +
 scripts/dpkg-source.pl |    9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

commit fddb1643bc221f20f6e607776c1b8234dbebe328
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 14 23:02:22 2011 +0200

    libdpkg: keep Config-Version in triggers-awaited state
    
    A package is really fully configured and can thus satisfy dependencies
    only when no triggers are awaited. Thus we should not drop Config-Version
    while a package is still in triggers-awaited.

 lib/dpkg/dump.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit a946894f7a0b6ce9d779b99257246c7003718269
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 14 10:38:59 2011 +0200

    dpkg: improve pre-dependency check on unpack
    
    When a pre-dependency is not satisfied due to a package in
    triggers-awaited state, immediately run the trigger processing
    and continue without errors.
    
    This make it possible to blindly use --no-triggers and not break
    when you're not fully configuring a pre-dependency.
    
    See test case t-predepends-no-triggers.

 debian/changelog |    2 ++
 src/processarc.c |   20 +++++++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)

commit 2b8cfa50709558709d5e24d7a3fa27b925bce74d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 14 10:26:23 2011 +0200

    dpkg: depisok() can now suggest to process awaited triggers for a package
    
    Package in triggers-awaited state do not satisfy dependencies but they
    could easily if their awaited triggers were processed. So we enhance the
    function to return such a hint when possible.
    
    All the callers pass NULL to the new parameter so that this commit
    should not change the current behaviour.

 src/archives.c   |    8 ++++----
 src/depcon.c     |   18 ++++++++++++++++--
 src/enquiry.c    |    4 ++--
 src/main.h       |    3 ++-
 src/processarc.c |    6 +++---
 5 files changed, 27 insertions(+), 12 deletions(-)

commit f95177fdacdd58e1c25fa722213477bd7f57df26
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 14 22:10:42 2011 +0200

    dpkg: use the correct version in "pkg-foo is unpacked, but is version <v>"
    
    The error message used while analyzing pre-dependencies did improperly
    use the available version instead of the installed version.

 src/depcon.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5f48b4cfe18848fb11ef96a34ef5826a1f3757b2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 14 21:35:03 2011 +0200

    dpkg: small bugfix in the dependency checking code for virtual packages
    
    A dependency on a virtual package provided by a package in
    triggers-pending status is now correctly considered as satisfied.

 debian/changelog |    2 ++
 src/depcon.c     |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 0e0f59a882ce329de880d4a75f30787e261e2cb3
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sat May 7 11:33:42 2011 +0200

    libdpkg: Use new DPKG_BUFFER_SIZE macro instead of hard-coded literal
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/buffer.h   |    2 ++
 lib/dpkg/compress.c |    8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

commit e8c1a5863572eac719e36b2e409002871e6eee4a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 1 08:06:53 2011 +0200

    libdpkg: Add new buffer_skip_Int() and switch fd_null_copy() to it
    
    Add a new buffer_skip() function and the externally visible
    buffer_skip_Int(), this way we hide the implementation details
    of fd_null_copy().

 lib/dpkg/buffer.c |   43 +++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/buffer.h |   12 +++---------
 2 files changed, 46 insertions(+), 9 deletions(-)

commit 751c399e50a087fb5c6367cbfd5a551e3ac676c9
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 9 19:59:21 2011 +0200

    libdpkg: Remove unneeded checks on buffer_copy loop termination
    
    The while loop checks unnecessarily for bytesread and byteswritten
    being >= 0, but that's always going to be true, as in case of read or
    write error the code breaks out of the loop.

 lib/dpkg/buffer.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fbc930968e396694b293ee35177c9305f407cf30
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 2 21:53:35 2011 +0200

    libdpkg: Rename struct buffer_write_md5ctx to buffer_md5_ctx

 lib/dpkg/buffer.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 7e7236f7e19f1b4e238359d887756e7044328891
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 3 10:28:26 2011 +0200

    libdpkg: Expand buffer_copy_TYPE macro instances
    
    This makes the code easier to debug, as it will be able to track
    correct code lines, it also allows to more easily see the code
    duplication explicitly, and makes the code slightly more clear as
    it's using the real structure member and type names.

 lib/dpkg/buffer.c |   64 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 23 deletions(-)

commit 269bbee973c46e1be0aaef82cb7e19bbc9a95aa7
Author: Guillem Jover <guillem@debian.org>
Date:   Sat May 7 11:27:06 2011 +0200

    libdpkg: Switch the compression filter functions to always return
    
    This makes the compression and decompression functions be closer to the
    buffer api, which always return. For non-blocking I/O, the caller has to
    setup a child process.
    
    When using external binaries, we make the filter functions setup that
    child process transparently so that the API is uniform.

 dpkg-deb/build.c    |    2 +
 dpkg-deb/extract.c  |    1 +
 lib/dpkg/compress.c |   78 +++++++++++++++++++++++----------------------------
 lib/dpkg/compress.h |   10 ++----
 4 files changed, 42 insertions(+), 49 deletions(-)

commit ec5615cdd134654d0e7049cdd5925aa9a83034ba
Author: Guillem Jover <guillem@debian.org>
Date:   Sat May 7 11:16:08 2011 +0200

    dpkg-deb: Pass the real file descriptors to compression functions
    
    Instead of duping them to the stdin and stdout file descriptors, pass
    them directly. If the compression functions need the file descriptors
    on stdin and stdout, then they will take care of setting them up. This
    is only the case when using the external compression binaries.

 dpkg-deb/build.c   |   22 ++++++++++++----------
 dpkg-deb/extract.c |   15 ++++++++++-----
 2 files changed, 22 insertions(+), 15 deletions(-)

commit 2f003686fdd46eb524a08715c8a8988c6d13cea3
Author: Guillem Jover <guillem@debian.org>
Date:   Sat May 7 12:27:27 2011 +0200

    Group Build-Depends lines by purpose
    
    Build tools, i18n tools, compression, security and UI libraries, and
    perl packages for the test suite.

 debian/control |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 23f38bc5e67816576971e21aac0b1f8d21342ea2
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri May 6 20:25:45 2011 +0200

    Update German translation of manual pages
    
    Update to 2027t.

 man/po/de.po |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

commit 7665f7d8aedc99c740c530162a914f9e0ae5d3fa
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri May 6 09:11:33 2011 +0200

    dpkg-source: fix behaviour of --extend-diff-ignore if used after --diff-ignore
    
    Up to now --extend-diff-ignore was only extending the default diff-ignore.
    This is usually enough as this option is usually put in
    debian/source/options and interpreted early enough before any other -i
    option (that activates the usage of the default diff-ignore regexp).
    
    Should --extend-diff-ignore appear after -i, it should still extend
    the regexp that we're going to use.

 debian/changelog       |    2 ++
 man/dpkg-source.1      |   10 +++++-----
 scripts/dpkg-source.pl |    3 +++
 3 files changed, 10 insertions(+), 5 deletions(-)

commit ff6e32d3588cf11258a7d0a2311461971abe51f3
Author: Guillem Jover <guillem@debian.org>
Date:   Fri May 6 05:06:54 2011 +0200

    dpkg: Rename isdirectoryinuse() to dir_is_used_by_others()
    
    This clarifies the action performed by the function, which could be
    easily confused as being used by the given package, instead of by other
    packages.

 src/help.c       |    8 ++++----
 src/main.h       |    2 +-
 src/processarc.c |    3 ++-
 src/remove.c     |    6 ++++--
 4 files changed, 11 insertions(+), 8 deletions(-)

commit fda21f829bebed12e1a4ec0dccac7434a643c6b5
Author: Guillem Jover <guillem@debian.org>
Date:   Fri May 6 05:05:51 2011 +0200

    dpkg: Rename hasdirectoryconffiles() to dir_has_conffiles()

 src/help.c   |    6 +++---
 src/main.h   |    2 +-
 src/remove.c |    4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

commit 2c9a342dc4e1ad3e9e58ac89957b9068664d1930
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 5 14:49:49 2011 +0200

    dpkg: Fix wrong matching for check on directory containing conffiles
    
    On package removal, keep only directories actually containing conffiles,
    and not directories just matching the substring in the conffile or the
    directory itself. The directory itself is not matched either as strictly
    speaking it is not contained in itself, and it should already be in the
    leftover lists.
    
    Previously when checking for directory ‘/foo’ the following conffiles
    would match:
    
      /foo
      /foobar
      /foo/bar
    
    Now only the following will match:
    
      /foo/bar
    
    Spotted-by: Ondřej Surý <ondrej@debian.org>

 debian/changelog |    3 +++
 src/help.c       |    3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit cbde7fa861fa6851cdbc56ae70b73332ab9db935
Merge: 140527f bd1d6cd
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 4 11:00:11 2011 +0200

    Merge branch 'sid' (through tag '1.16.0.3')
    
    Conflicts:
    	debian/changelog

commit bd1d6cd247f8e5eb7f2465c0d686cba363c64a57
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 4 10:01:44 2011 +0200

    Release 1.16.0.3

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d84b36a81088721b340e52664aa2c3379fea2a9a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 4 09:41:37 2011 +0200

    libdpkg: Allow again unknown Priority field values
    
    The code was not properly advancing the end of the value string when
    reaching the fallback case (on values not known for the Priority field),
    and the validation for junk after the first word was failing on the
    actual first word.
    
    This change reverts to the previous behaviour of blindly accepting the
    whole value string for a field, regardless of it being multiword, when
    it's the fallback case.
    
    Regression introduced in commit b3f669039f128d715ac7ac71abaeac86f0954112.
    
    Analysis-by: Raphaël Hertzog <hertzog@debian.org>
    Analysis-by: Guillem Jover <guillem@debian.org>

 debian/changelog  |    7 +++++++
 lib/dpkg/fields.c |   13 +++++++++----
 2 files changed, 16 insertions(+), 4 deletions(-)

commit 140527fc6129f0e4f2a7c64f28d8d19fe5e60b3f
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon May 2 12:14:22 2011 +0200

    German dpkg translation update
    
    Update to 1016t.
    Change translation of downgrade messages (Closes: #620312).

 debian/changelog |    3 +
 po/de.po         |  830 +++++++++++++++++++++++++++---------------------------
 2 files changed, 420 insertions(+), 413 deletions(-)

commit 9b2cc7aa3187091bf2cbbb734fb77a7c52bec969
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Apr 30 21:03:16 2011 +0200

    dselect: Mark ‘y’ variables as unused for getyx() and getmaxyx()
    
    The ncurses library does not provide a way to only retrieve the ‘x’
    variable, so we have to pass a dummy ‘y’ which we are not going to
    use, for which the compiler emits a warning.

 dselect/basecmds.cc   |    4 +++-
 dselect/baselist.cc   |    3 ++-
 dselect/main.cc       |    4 ++--
 dselect/pkgdisplay.cc |    2 +-
 4 files changed, 8 insertions(+), 5 deletions(-)

commit 2ecaea9677e9d4307aabfbecc00a77e99a05457b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Apr 30 21:01:27 2011 +0200

    s-s-d: Return status_unknown on error reading from the pid file
    
    Otherwise the variable was uninitialized.

 utils/start-stop-daemon.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit cfe2f1ee1fcbb16d461dbd027cc6e9a9fab628be
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Apr 30 13:56:29 2011 +0200

    Update German translation of manual pages
    
    Update to 2027t.

 man/po/de.po |  167 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 87 insertions(+), 80 deletions(-)

commit ab776cbd87880f3712a8f44aa1f2bb630960d0b5
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 29 22:15:17 2011 +0200

    deb-src-control(5), start-stop-daemon(8): small improvements
    
    - Clarify that the Architecture field can contain architecture wildcards.
    - Clarify when start-stop-daemon can exit 0 when --oknodo is used.
    - Drop a sentence that was repeating something already said earlier.
    
    Reported-by: Helge Kreutzmann <debian@helgefjell.de>

 man/deb-src-control.5   |   11 +++++++----
 man/start-stop-daemon.8 |    7 ++++---
 2 files changed, 11 insertions(+), 7 deletions(-)

commit c102e7ff81bba84f7e18efae06262dee08d44de0
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Apr 29 19:35:54 2011 +0200

    Update German translation of manual pages
    
    Update to 2026t0f1u.

 man/po/de.po | 1101 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 602 insertions(+), 499 deletions(-)

commit fa406fa856d9ec898d171e51a6e6c5e5c9677d00
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 29 09:31:39 2011 +0200

    dpkg: Move <dpkg/tarfn.h> inclusion from cleanup.c to archives.h
    
    The former is not using any declarations from tarfn.h, but the latter
    is.

 src/archives.h |    2 ++
 src/cleanup.c  |    1 -
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 222996f8c64e6263384ae35331ed0d04cce3cbcc
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 29 07:19:29 2011 +0200

    libdpkg: Move informativeversion() to the version module

 lib/dpkg/dpkg-db.h   |    2 --
 lib/dpkg/parsehelp.c |    8 --------
 lib/dpkg/version.c   |    8 ++++++++
 lib/dpkg/version.h   |    3 +++
 4 files changed, 11 insertions(+), 10 deletions(-)

commit d14c72ffee3ffd98b8ecb0b189f197b404b56a9e
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 29 07:20:53 2011 +0200

    libdpkg: Move version module declarations to a new version.h

 lib/dpkg/Makefile.am              |    3 ++-
 lib/dpkg/dpkg-db.h                |    8 +-------
 lib/dpkg/version.c                |    2 +-
 lib/dpkg/{version.c => version.h} |   30 ++++++++++++++++++------------
 4 files changed, 22 insertions(+), 21 deletions(-)

commit 6de064f083117ed6944d629baf7b543818edcf30
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 28 09:44:20 2011 +0200

    s-s-d: Add process name kernel limits for several systems
    
    Specifically: Solaris, NetBSD, OpenBSD, FreeBSD and Darwin.

 debian/changelog          |    2 ++
 utils/start-stop-daemon.c |   10 ++++++++++
 2 files changed, 12 insertions(+), 0 deletions(-)

commit 5bced9fc3bc757ba5e4642d11422596667625dce
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 28 09:11:28 2011 +0200

    s-s-d: Add LSB --status command to check for process status
    
    The new command follows the LSB Init Script status action specification,
    and returns exit codes accordingly.

 debian/changelog          |    2 +
 man/start-stop-daemon.8   |   19 +++++++++
 utils/start-stop-daemon.c |   98 +++++++++++++++++++++++++++++++++-----------
 3 files changed, 94 insertions(+), 25 deletions(-)

commit ad188eee157ac71a7e2a9be31eb6c61af7adae94
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 28 08:23:12 2011 +0200

    man: Clarify “EXIT STATUS” sections by using bold and a table
    
    Change the status codes to bold and list them with a table to makes
    it easier to visually distinguish them.

 debian/changelog          |    1 +
 man/dpkg-query.1          |    8 +++++---
 man/dpkg-split.1          |   17 ++++++++++-------
 man/start-stop-daemon.8   |   22 ++++++++++++++++------
 man/update-alternatives.8 |    8 +++++---
 5 files changed, 37 insertions(+), 19 deletions(-)

commit a41fb4e3364eae47d3379a69e3e041843f064f78
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 28 07:25:59 2011 +0200

    Clarify exit status in dpkg-split and start-stop-daemon --help output

 debian/changelog          |    1 +
 dpkg-split/main.c         |   11 ++++++++---
 utils/start-stop-daemon.c |    7 +++++--
 3 files changed, 14 insertions(+), 5 deletions(-)

commit ac41b5fef42683b4640b0bb746889100fb8a9a20
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 28 04:22:28 2011 +0200

    s-s-d: Use a single action variable to track the command line actions
    
    This makes it easier to add new commands w/o having to check for the
    setting of any of the other action variables against each other.

 utils/start-stop-daemon.c |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

commit 8b9315219d7a4dbb8520427ceccd00cdfac55a77
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 28 03:38:10 2011 +0200

    dpkg: Use “unselected” as an adjective instead of “deselected”
    
    When being used as an adjective “unselected” is the correct word to use.
    
    Closes: #231089

 debian/changelog |    2 ++
 lib/dpkg/parse.c |    2 +-
 src/archives.c   |    4 ++--
 3 files changed, 5 insertions(+), 3 deletions(-)

commit bb19d944502d30b966dc5ec1664a19a0872800f2
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 28 03:22:38 2011 +0200

    Fix typos in Vietnamese translation (deselect → dselect)

 po/vi.po |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 65eceb8eabc3e1547148af1072d695044ece97aa
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 27 08:10:23 2011 +0200

    dpkg(1): Clarify the current dpkg behaviour when running the back-ends
    
    When running the dpkg-deb and dpkg-query back-ends, dpkg does not pass
    through back-end specific options.
    
    Closes: #610940

 debian/changelog |    3 +++
 man/dpkg.1       |   23 +++++++----------------
 2 files changed, 10 insertions(+), 16 deletions(-)

commit 487a7a85a44e75d3bcd40e4e736e093eb74e0612
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 27 07:56:11 2011 +0200

    dpkg(1): Remove reference to --nocheck dpkg-deb option
    
    dpkg does not pass this option when running dpkg-deb.

 debian/changelog |    2 ++
 man/dpkg.1       |    4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)

commit 14340213c8df6215708f6b1dd01d7dea4e58fd14
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 27 07:50:59 2011 +0200

    dpkg: Remove --new and --old dpkg-deb option handling
    
    These have been non-functional for a long time, and were being treated
    as dpkg commands which would conflict with the dpkg-deb commands.

 debian/changelog |    2 ++
 man/dpkg.1       |    4 ----
 src/main.c       |    2 --
 3 files changed, 2 insertions(+), 6 deletions(-)

commit 531c81097d7aa5799f0a95d0353b1f1b334a6042
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 18 06:34:06 2011 +0200

    dpkg: Refactor force flags to parsedb flags into parsedb_force_flags()
    
    This will make it easier to convert new flags in the future.

 src/processarc.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

commit 1c4771a44299c3fb528f0dae920089f67fd2820d
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Apr 26 19:14:11 2011 +0200

    Update German translation of manual pages
    
    Update to 2020t.

 man/po/de.po |  467 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 241 insertions(+), 226 deletions(-)

commit dd467371b69ff327592f35c22ce5256f70408689
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 26 06:23:05 2011 +0200

    dpkg-deb(1): --fsys-tarfile will always process the archive sequentially
    
    Closes: #616609

 debian/changelog |    2 ++
 man/dpkg-deb.1   |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit e897fdba4ebb67902ad28c63bafaea8dfeb385ab
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 26 06:00:32 2011 +0200

    dpkg: Do not fail when unpacking a diverted hardlink
    
    Closes: #245322
    
    Based-on-patch-by: Christopher Baines <cbaines8@gmail.com>

 debian/changelog |    2 ++
 src/archives.c   |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 6d50a5ac6ae54f4374070e5849070530a6d57a49
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 18 06:34:06 2011 +0200

    Add --force-bad-version to allow installing packages with bogus versions
    
    This allows to install old packages with such versions, to ease
    debugging, testing, etc.

 debian/changelog |    2 ++
 man/dpkg.1       |    3 +++
 src/main.c       |    3 +++
 src/main.h       |    1 +
 src/processarc.c |    4 ++--
 5 files changed, 11 insertions(+), 2 deletions(-)

commit f9fac280b7805165819ece32980841b7f6a39333
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 11:06:09 2011 +0200

    libdpkg: Rename and alias pdb_lax_parser to pdb_lax_version_parser
    
    This way we get a more fine-grained and accurate control over what we
    want to relax while parsing.

 lib/dpkg/dpkg-db.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 980da6d9b5f7f7057fbcc67d09a128393e1d5d66
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 08:09:41 2011 +0200

    Support conffiles with spaces when diffing them
    
    Closes: #147583

 debian/changelog |    1 +
 src/configure.c  |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 8578e79d0307f7a3408f7e00f4565286babda61a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 08:09:41 2011 +0200

    libdpkg: Add new str_quote_meta() function

 lib/dpkg/string.c        |   30 ++++++++++++++++++++++++++++++
 lib/dpkg/string.h        |    1 +
 lib/dpkg/test/t-string.c |   20 ++++++++++++++++++++
 3 files changed, 51 insertions(+), 0 deletions(-)

commit b15765a5b60fd6cd67f4ffa28034fdae62ae8252
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 18 05:22:59 2011 +0200

    s-s-d: Change do_stop() to always obey global quietmode
    
    The only behaviour change was affecting the new do_stop_summary(), which
    is not always called now after do_stop(), to catter for the forced quiet
    mode when sending signal 0. The other verbose statement which before
    commit 5fef90a2960053e9b24304e2a2663fb1ed7dafb1 was not being printed in
    some cases, actually makes sense to print always.

 utils/start-stop-daemon.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 8dba2f80642e17b78c2c556781f4204d2c435b5f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 18 05:22:59 2011 +0200

    s-s-d: Refactor do_stop_summary() out from do_stop()

 utils/start-stop-daemon.c |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 deletions(-)

commit e71ae2eac5422eae4e89d1c09e302935ef17c01f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 07:45:05 2011 +0200

    dpkg-split: Generate filenames following current conventions on --join
    
    Keep the architecture in the debian-split member of the part file so
    that we can reuse it when putting back together the joined binary
    package. Use underscores to separate each filename part.

 debian/changelog        |    3 +++
 dpkg-split/dpkg-split.h |    1 +
 dpkg-split/info.c       |    9 +++++++++
 dpkg-split/join.c       |    4 +++-
 dpkg-split/main.c       |    3 ++-
 dpkg-split/queue.c      |    1 +
 dpkg-split/split.c      |    8 +++++---
 man/deb-split.5         |    4 +++-
 man/dpkg-split.1        |   12 ++----------
 9 files changed, 29 insertions(+), 16 deletions(-)

commit 9ccc9615187a8c7c5111c82d6061b29ec3fbae62
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Apr 23 07:38:57 2011 +0200

    u-a: Flush the alternatives database file stream before fsync()ing it
    
    For stream I/O the buffers have to be flushed before they are fsync()ed
    to guarantee the data has been written, and as such fsync() can do its
    job.
    
    Missed in commit 0e0e26cb8e9e3b8e3a60c329d8ea0c6e5445742c.

 utils/update-alternatives.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit bf13ae4c68bb2becc591b23995853358b7e423c4
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Apr 22 19:16:50 2011 +0200

    Update German translation of manual pages
    
    Update to 2019t.

 man/po/de.po |  242 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 160 insertions(+), 82 deletions(-)

commit 124fefbc8e082aeb94f549273915b5c61b0a729b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 22 17:01:22 2011 +0200

    dpkg-source: tighten the regexp used to ignore the .pc directory of quilt
    
    The "." was not escaped and the regex incorrectly matched an "ipc"
    directory for example.
    
    Reported-by: Mike Hommey <glandium@debian.org>

 debian/changelog                        |    2 ++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 0e0e26cb8e9e3b8e3a60c329d8ea0c6e5445742c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 22 11:56:43 2011 +0200

    update-alternatives: fsync the administrative files before installation
    
    This is for filesystems that do not put an implicit write barrier
    when renaming files. That way we ensure that we'll never
    have empty files.

 debian/changelog            |    3 +++
 utils/update-alternatives.c |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit c28eadb19f134cd652d74da6670f3586b3938ccc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 22 11:50:15 2011 +0200

    update-alternatives: new syserr() function
    
    This function is to be used when a syscall failed and when we want
    to print strerror(errno) after the error message.
    
    Update all the code to use this function. This allows to reduce the
    number of strings to translate as we're now reusing the same strings
    than those passed to oshite() in dpkg.

 utils/update-alternatives.c |   58 ++++++++++++++++++++++++------------------
 1 files changed, 33 insertions(+), 25 deletions(-)

commit 57ca795e68c988843a8421a8e86cc8fc4fbd258b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 08:15:12 2011 +0200

    Bump Standards-Version to 3.9.2 (no changes needed)

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit a91709c404dee118a7f4fc6295b034ba9621adb0
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 08:04:35 2011 +0200

    Use dh_prep instead of deprecated “dh_clean -k”

 debian/changelog |    1 +
 debian/rules     |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 1b7feb3240bc7f1e7f14903153891e289561bce4
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 08:01:28 2011 +0200

    Switch to debhelper compatibility level 7

 debian/changelog |    1 +
 debian/compat    |    2 +-
 debian/control   |    2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

commit 8bc7ba68ff8bd0acd6f6e6f9f7145746671edff6
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 05:01:59 2011 +0200

    man: Change debian-split member internal description to a list
    
    This makes it easier to see what each line contains.

 debian/changelog |    2 ++
 man/deb-split.5  |   26 ++++++++++++++++++--------
 2 files changed, 20 insertions(+), 8 deletions(-)

commit d2ee3fdccf4f0d892c3ed77a9cabaadbfa105d81
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 19 08:31:14 2011 +0200

    libdpkg: Move nicknames table from parsehelp.c to parse.c
    
    This table is only ever going to be used at parse time when normalizing
    the input.

 lib/dpkg/parse.c     |   12 +++++++++++-
 lib/dpkg/parsedump.h |    1 -
 lib/dpkg/parsehelp.c |   10 ----------
 3 files changed, 11 insertions(+), 12 deletions(-)

commit cf715ae93a6dcfb31838abc577ce3300c03edaad
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 12 05:30:34 2011 +0200

    u-a: Remove unused new_choice assignment

 utils/update-alternatives.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d48dd2616055af01ef84a0c3f12845d9d45990f6
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 6 03:27:07 2011 +0200

    dpkg: Remove unused force_conff_new() and force_conff_miss() declarations

 src/main.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit e654cb5b6d2eb7f80255fc976a6ccbb8d694bd43
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sun Apr 10 04:06:56 2011 -0500

    libdpkg: Use execvp(3) unconditionally in command_exec()
    
    execvp(3) already checks if its file argument contains a '/'; simplify
    by not checking again for the same thing.
    
    The real motivation is to avoid confusing behavior in an edge case:
    when execve(2) fails with ENOEXEC, execvp will run the script using the
    system shell but execv will error out.
    
    Closes: #622094
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog   |    4 ++++
 lib/dpkg/command.c |    5 +----
 2 files changed, 5 insertions(+), 4 deletions(-)

commit 3712f6a4ddc75c69fccd2b3dfb1961ff07771825
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 08:02:07 2011 +0200

    Changelog police
    
    Remove spurious spaces.

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit ce9d96bcf33500b3f5db51d70772062560fba234
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 21 00:08:00 2011 +0200

    dpkg-query(1): document empty lines as separator for --status and --print-avail too

 debian/changelog |    3 ++-
 man/dpkg-query.1 |   15 ++++++++++-----
 2 files changed, 12 insertions(+), 6 deletions(-)

commit e6b6ff0887e328f379f1ff15484d3bffc9b645b4
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 20 23:41:22 2011 +0200

    man: On dpkg-query -L each list of files per package is separated by blank lines

 debian/changelog |    2 ++
 man/dpkg-query.1 |    5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 398a6016718aac2c97b757b2364a9aebca800052
Merge: b00ef3a 0bfd81b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Apr 20 23:38:31 2011 +0200

    Merge commit '1.16.0.2'

commit 0bfd81b977ed0a3d4fca1c21e9f4e65c92c3fe9e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Apr 16 00:17:10 2011 +0200

    Release 1.16.0.2

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 58c6486cdf485d03f843b27d1f60e37eed6b77e5
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 23:33:35 2011 +0200

    libdpkg: Include <locale.h> from <i18n.h> to fix unoptimized builds
    
    The pgettext() macros in gettext.h make use of LC_MESSAGES, which get
    normally pulled from <locale.h> through <libintl.h>, but that only
    happens on optimized builds. As this is an implementation detail,
    pgettext() users (through the local C_() macro) should not need to
    know they have to include <locale.h>. Arguably this is a deficiency
    in gettext.h which we are working around here.
    
    Reported-by: Steve Langasek <steve.langasek@ubuntu.com>

 debian/changelog |    2 ++
 lib/dpkg/i18n.h  |    6 +++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 438e5813caa759a1c6dbfa282e68ab451b425e75
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 07:09:14 2011 +0200

    dpkg-split: Correctly set the last part split size
    
    The partsize for each part should be the same, the code was wrongly
    setting the partsize to the real size of the data being written.
    
    Regression introduced in commit 506dd27b56a570e019e90974ea285fe4fd2f8bf8.

 debian/changelog   |    1 +
 dpkg-split/split.c |   10 ++++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

commit 99380668590b3734fc105504ef2569d026c63209
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 15 07:04:44 2011 +0200

    dpkg-split: Fix --auto to not fail when opening the new depot file
    
    The code was wrongly checking for non-zero file descriptors returned
    from creat(2), which was making it always fail.
    
    Regression introduced in commit 102aef24e438b7aba9cf90ab9fc75d3c13c6c7cf.

 debian/changelog   |    6 ++++++
 dpkg-split/queue.c |    2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit b00ef3aa35e76e72fe814727c5e5ae28a6a68639
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Apr 9 01:55:34 2011 +0200

    dpkg-deb: fix error message output by read_fail()
    
    read_fail() should only assume a system error if rc < 0. Any positive
    value means that we did not manage to read as much data as we wanted
    and should result in the "unexpected end of file" message.

 dpkg-deb/extract.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 27b872fb0a26b92fa908fd691dbe6abe2605ed89
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Apr 7 21:38:35 2011 +0200

    Update German translation of manual pages
    
    Update to 2010t.

 debian/changelog |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 9023da1533184439d753bcba6b89b4aa4edc91f0
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Apr 7 21:37:36 2011 +0200

    Update German translation of manual pages
    
    Update to 2010t.

 man/po/de.po |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

commit 9dc6ea29b59050af1fd06c6c348afacc428de8f4
Author: Lars Buitinck <larsmans@gmail.com>
Date:   Wed Apr 6 14:09:00 2011 +0200

    dpkg-query(1): improve description of --search

 debian/changelog |    2 ++
 man/dpkg-query.1 |    8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

commit 66810a5ef36dfa8c576dc4125afc3b98369f8538
Merge: 2393193 fe69ae4
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 5 07:41:33 2011 +0200

    Merge branch 'sid' (through tag '1.16.0.1')
    
    Conflicts:
    	debian/changelog

commit fe69ae4874919314c7f0757bb155bae38e7f211b
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Apr 5 07:29:24 2011 +0200

    Release 1.16.0.1

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 2393193c27eb806ea81d54c8a8f066417f4e4dfd
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Apr 3 17:32:25 2011 +0200

    dpkg: Rename set_selinux_path_context() to tarobject_set_se_context()
    
    This puts it in line with the rest of tarobject filesystem metadata
    setters.

 src/archives.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 888a5bbbd916d4a2f3a519c1c45519e8614d1782
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 3 15:27:21 2011 +0200

    dpkg: don't ohshite if lutimes() fails with ENOSYS
    
    Glibc implements lutimes() on top of utimensat() which is only provided
    by Linux >= 2.6.22. With older kernels it returns ENOSYS.
    
    This regression was introduced by commit
    b3eb59cf43c286bb6c906c00ef1cdc0ec21f474d which implemented support for
    setting timestamps of symlinks.
    
    Reported-by: Michael Prokop <mika@debian.org>

 debian/changelog |    2 ++
 src/archives.c   |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit fddba30d74856e2d5c3f287343569fc259729bc0
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 3 14:58:06 2011 +0200

    dpkg: fix regression when using -R option
    
    The regression was introduced in commit
    280ac914cc52ee5de079c0833bb1df5005c1e7ab. The variable used for the loop
    got incremented twice for each iteration, the net result is that the list
    of filenames contains random data on half of the entries.
    
    Reported-by: Craig Sanders <cas@taz.net.au>

 debian/changelog |    7 +++++++
 src/archives.c   |    2 +-
 2 files changed, 8 insertions(+), 1 deletions(-)

commit b7e4c4c2d7d4e9eb744c4efdab343f5478e00479
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Apr 3 12:22:24 2011 +0200

    Update German scripts translation
    
    Update to 515t

 debian/changelog |    3 +++
 scripts/po/de.po |   48 ++++++++++++++++++++++++++----------------------
 2 files changed, 29 insertions(+), 22 deletions(-)

commit 0cacb0c3a1d1f837c957f3917a040ace6d60f9e7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 3 09:52:33 2011 +0200

    Dpkg::Version: update version_check to forbid versions starting with non digits
    
    Adapted the code to rely on the parsing done by the constructor to split
    the version number properly instead of redoing similar regexes in
    version_check().
    
    Updated the test suite accordingly.

 scripts/Dpkg/Version.pm      |   25 ++++++++++++++++---------
 scripts/t/100_Dpkg_Version.t |    6 +++++-
 2 files changed, 21 insertions(+), 10 deletions(-)

commit fa98524b587fd1d8c376c00cbd51eeee75d1c197
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 3 09:45:20 2011 +0200

    libdpkg: add non-regression test for version number starting with non-digit
    
    And update the non-regression test for invalid characters to put
    the invalid character as the second character and not the first (which
    would be caught by the more strict non-digit check).

 lib/dpkg/test/t-version.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 106c21fc6ca503da92addb9b87db094a557de922
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Apr 2 16:55:40 2011 +0200

    Dpkg::Source::Package: Add ‘.gitmodules’ to the default ignore lists
    
    Closes: #620490

 debian/changelog               |    1 +
 scripts/Dpkg/Source/Package.pm |    4 +++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 88206aeb51d713bcfc6a0a4dd1dad6b013f51482
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Apr 2 16:43:14 2011 +0200

    Install deb-src-control(5) man pages in dpkg-dev
    
    Closes: #620520

 debian/changelog        |    3 +++
 debian/dpkg-dev.install |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 12f2cab45b69c242b58adac220830dfc36fc79a2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Apr 2 10:02:33 2011 +0200

    Dpkg::Deps: some typo and consistency fixes in the POD documentation

 scripts/Dpkg/Deps.pm |   35 ++++++++++++++++++-----------------
 1 files changed, 18 insertions(+), 17 deletions(-)

commit 09bc62ca9dc79df376bdae44da7920996e6777c6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Apr 2 09:46:49 2011 +0200

    Dpkg::Deps: Implement new "reset" method
    
    Bump module version to 1.01 due to this.

 debian/changelog     |    4 ++-
 scripts/Dpkg/Deps.pm |   52 +++++++++++++++++++++++++++++++++----------------
 2 files changed, 38 insertions(+), 18 deletions(-)

commit 57d958bb3798bb9a9a727a9700ae0bfd05f23c72
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Apr 2 09:22:01 2011 +0200

    Add new changelog entry for 1.16.1

 debian/changelog |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit d3686b5552f28a357d678b453a869b9d10f1ac4f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 23:57:06 2011 +0200

    Release 1.16.0

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit eb48da7aae9793ac29daa7197d28c830fa6f3235
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 19:26:51 2011 +0200

    Correct and clarify changelog entries

 debian/changelog |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 0fd41e2bb9696ef91e5f18aa07b2acc78563c355
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 22:13:55 2011 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |  116 ++--
 dselect/po/ca.po        |  116 ++--
 dselect/po/cs.po        |  116 ++--
 dselect/po/da.po        |  116 ++--
 dselect/po/de.po        |  116 ++--
 dselect/po/dselect.pot  |  118 ++--
 dselect/po/el.po        |  116 ++--
 dselect/po/es.po        |  116 ++--
 dselect/po/et.po        |  116 ++--
 dselect/po/eu.po        |  116 ++--
 dselect/po/fr.po        |  116 ++--
 dselect/po/gl.po        |  116 ++--
 dselect/po/hu.po        |  116 ++--
 dselect/po/id.po        |  116 ++--
 dselect/po/it.po        |  116 ++--
 dselect/po/ja.po        |  116 ++--
 dselect/po/ko.po        |  116 ++--
 dselect/po/nb.po        |  116 ++--
 dselect/po/nl.po        |  116 ++--
 dselect/po/nn.po        |  116 ++--
 dselect/po/pl.po        |  116 ++--
 dselect/po/pt.po        |  116 ++--
 dselect/po/pt_BR.po     |  116 ++--
 dselect/po/ro.po        |  116 ++--
 dselect/po/ru.po        |  116 ++--
 dselect/po/sk.po        |  116 ++--
 dselect/po/sv.po        |  116 ++--
 dselect/po/tl.po        |  116 ++--
 dselect/po/vi.po        |  116 ++--
 dselect/po/zh_CN.po     |  116 ++--
 dselect/po/zh_TW.po     |  116 ++--
 man/po/dpkg-man.pot     |  190 ++++---
 man/po/es.po            |  199 ++++---
 man/po/fr.po            |  199 ++++---
 man/po/hu.po            |  193 ++++---
 man/po/ja.po            |  193 ++++---
 man/po/pl.po            |  199 ++++---
 man/po/pt_BR.po         |  192 ++++---
 man/po/ru.po            |  193 ++++---
 man/po/sv.po            |  199 ++++---
 po/ast.po               | 1512 ++++++++++++++++++++++++----------------------
 po/bs.po                | 1434 +++++++++++++++++++++++---------------------
 po/ca.po                | 1531 +++++++++++++++++++++++++----------------------
 po/cs.po                | 1515 ++++++++++++++++++++++++----------------------
 po/da.po                | 1505 ++++++++++++++++++++++++----------------------
 po/de.po                |  502 ++++++++--------
 po/dpkg.pot             | 1431 +++++++++++++++++++++++---------------------
 po/dz.po                | 1514 ++++++++++++++++++++++++----------------------
 po/el.po                | 1514 ++++++++++++++++++++++++----------------------
 po/eo.po                | 1502 ++++++++++++++++++++++++----------------------
 po/es.po                | 1516 ++++++++++++++++++++++++----------------------
 po/et.po                | 1489 ++++++++++++++++++++++++----------------------
 po/eu.po                | 1502 ++++++++++++++++++++++++----------------------
 po/fr.po                | 1517 ++++++++++++++++++++++++----------------------
 po/gl.po                | 1514 ++++++++++++++++++++++++----------------------
 po/hu.po                | 1508 ++++++++++++++++++++++++----------------------
 po/id.po                | 1502 ++++++++++++++++++++++++----------------------
 po/it.po                | 1504 ++++++++++++++++++++++++----------------------
 po/ja.po                | 1502 ++++++++++++++++++++++++----------------------
 po/km.po                | 1514 ++++++++++++++++++++++++----------------------
 po/ko.po                | 1502 ++++++++++++++++++++++++----------------------
 po/ku.po                | 1463 +++++++++++++++++++++++----------------------
 po/lt.po                | 1480 +++++++++++++++++++++++----------------------
 po/mr.po                | 1496 ++++++++++++++++++++++++----------------------
 po/nb.po                | 1515 ++++++++++++++++++++++++----------------------
 po/ne.po                | 1514 ++++++++++++++++++++++++----------------------
 po/nl.po                | 1516 ++++++++++++++++++++++++----------------------
 po/nn.po                | 1512 ++++++++++++++++++++++++----------------------
 po/pa.po                | 1493 ++++++++++++++++++++++++----------------------
 po/pl.po                | 1497 ++++++++++++++++++++++++----------------------
 po/pt.po                | 1515 ++++++++++++++++++++++++----------------------
 po/pt_BR.po             | 1516 ++++++++++++++++++++++++----------------------
 po/ro.po                | 1502 ++++++++++++++++++++++++----------------------
 po/ru.po                | 1502 ++++++++++++++++++++++++----------------------
 po/sk.po                | 1502 ++++++++++++++++++++++++----------------------
 po/sv.po                | 1515 ++++++++++++++++++++++++----------------------
 po/th.po                | 1515 ++++++++++++++++++++++++----------------------
 po/tl.po                | 1512 ++++++++++++++++++++++++----------------------
 po/vi.po                | 1502 ++++++++++++++++++++++++----------------------
 po/zh_CN.po             | 1502 ++++++++++++++++++++++++----------------------
 po/zh_TW.po             | 1514 ++++++++++++++++++++++++----------------------
 scripts/po/ca.po        |  122 ++--
 scripts/po/de.po        |  122 ++--
 scripts/po/dpkg-dev.pot |  124 ++--
 scripts/po/es.po        |  122 ++--
 scripts/po/fr.po        |  122 ++--
 scripts/po/pl.po        |  122 ++--
 scripts/po/ru.po        |  122 ++--
 scripts/po/sv.po        |  122 ++--
 89 files changed, 35046 insertions(+), 31900 deletions(-)

commit 922093b5fb715554456ef44bb4ce70e89dc4e337
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 23:49:24 2011 +0200

    dpkg-divert: Unlink the source file when moving across filesystems
    
    Otherwise we might leave cruft behind.
    
    Regression introduced in commit 02b12d75f1eff7c184fafb5a663a0421e9a645ea.

 debian/changelog |    2 ++
 src/divertcmd.c  |    4 ++++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit 1624466c3d3c882b551f0b5deae8db4016332e5a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 23:38:20 2011 +0200

    dpkg-divert: Inline rename_mv() into file_rename()

 src/divertcmd.c |   17 +++++------------
 1 files changed, 5 insertions(+), 12 deletions(-)

commit 1cfa991dac363c3494edbb8a914b369cbf374d04
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 23:33:15 2011 +0200

    dpkg-divert: Move atomic rename logic from rename_mv() to file_copy()
    
    This makes file_copy() safe to use by itself, and will allow to pull it
    out and use it in other places in the future.

 src/divertcmd.c |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 deletions(-)

commit d1ad33f057d0aa76d66434f40dedf67473095918
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 23:18:05 2011 +0200

    dpkg-divert: Change file_copy() and rename_mv() to ohshite() on error
    
    This has several consequences, the code will not trigger leak detectors
    like cppcheck due to ohshite() being marked non-returning, and the error
    messages are going to be more descriptive.
    
    Closes: #620380

 debian/changelog |    3 +++
 src/divertcmd.c  |   27 ++++++++++-----------------
 2 files changed, 13 insertions(+), 17 deletions(-)

commit 0489d13cb0469ad64d4b345acc2c0372a5588bd0
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 22:53:21 2011 +0200

    Revert "dpkg-divert: fix minor file descriptor leak found by cppcheck"
    
    This reverts commit bdcee319a90eee494af70e6725fed8b4e8f16584.

 debian/changelog |    1 -
 src/divertcmd.c  |    4 +---
 2 files changed, 1 insertions(+), 4 deletions(-)

commit 9a5103c7bd96d32d685ac9f5bb38b0b4f0a9d030
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 24 03:21:13 2011 +0100

    dpkg-genchanges: Do not warn when adding files w/o matching architecture
    
    Fix undefined value useage when adding files w/o a matching architecture,
    because they are not present in debian/control, this is most commonly the
    case due to dpkg-distaddfile.

 debian/changelog           |    3 +++
 scripts/dpkg-genchanges.pl |    6 ++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

commit d571f9eeffad01ac1e281c83ac3eae47946cfc7b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Apr 1 01:27:30 2011 +0200

    libdpkg: Make buffer_init() and buffer_done() take only one argument
    
    These functions only handle the output buffer_data and thus the
    read_data argument will never get used.

 lib/dpkg/buffer.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit b3eb59cf43c286bb6c906c00ef1cdc0ec21f474d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 20:13:55 2011 +0200

    dpkg: Set the modification time for unpacked symlinks if possible
    
    Use lutimes() conditionally as it might not be widely available.

 configure.ac     |    2 +-
 debian/changelog |    1 +
 src/archives.c   |   14 +++++++++-----
 3 files changed, 11 insertions(+), 6 deletions(-)

commit e49efcbbb93d18138da31cdcc114ca1baa67d56c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 20:11:54 2011 +0200

    dpkg: Move lchown() call from tarobject() to tarobject_set_perms()
    
    This unifies a bit more the tarobject permission handling into a single
    place.

 src/archives.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit 632048a0a1cd3815a737f4d0bf5fddcf6bdcefd6
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 21 18:31:55 2011 +0200

    libdpkg: Move mtime from file_stat back to tar_info
    
    There's never a reason to override the mtime, no point in carrying and
    copying it around in file_stat for now.

 lib/dpkg/file.h  |    1 -
 lib/dpkg/tarfn.c |    2 +-
 lib/dpkg/tarfn.h |    1 +
 src/archives.c   |   12 +++++-------
 4 files changed, 7 insertions(+), 9 deletions(-)

commit b5e4c93f82a4a915f58df0335ffecba9f98f675b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 19:48:25 2011 +0200

    dpkg: Use utimes(2) instead of obsolete utime(2)
    
    POSIX.1-2008 marked utime(2) as obsolete. Ideally we'd switch to use
    utimensat(2), which would simplify quite a bit the code, but it's not
    yet widely available, and using it would imply having to support
    fallback code at compilation and run-time. This can be done later on
    once we up the POSIX baseline.

 src/archives.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

commit 36a3883ee15e6c39ab54750b1365d217aa48bf75
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 19:37:14 2011 +0200

    dpkg: Move conditionals to tarobject_set_*() functions
    
    This will allow to handle the different cases transparently. Pass a
    tar_entry to each of the functions.

 src/archives.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

commit f281bc0fd64c563e452050145c0a5c2b6294105d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 15:17:10 2011 +0200

    dpkg: Rename newtarobject_allmodes() to tarobject_set_perms()

 src/archives.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 37d86f2b772d6aaf8d25972e32e19f38a29e676f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 15:16:48 2011 +0200

    dpkg: Rename newtarobject_utime() to tarobject_set_mtime()

 src/archives.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5e50a926b217ed01da35b6eccd656ba7ec47d1e9
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 15:05:11 2011 +0200

    dpkg: Factor out newtarobject_allmodes() call

 src/archives.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

commit b1ef911615c9fec1163ce2b9d6fdb9cb46b43377
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 21 18:30:40 2011 +0200

    dpkg: Move newtarobject_utime() call out of newtarobject_allmodes()
    
    Always call newtarobject_utime() for all tar object types, except
    symlinks.

 src/archives.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 07bbb73fcd8ee0a911535d6dbe53b07e8ff99f3b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 31 14:01:32 2011 +0200

    dpkg: Fix typo in comment ‘cheched’ → ‘checked’

 src/archives.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5b03e1e990f2260e0e852e50986fe492fc5e8f70
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 21 18:11:32 2011 +0200

    libdpkg: Update MD5 implementation with the one from OpenBSD
    
    Add <config.h> and <compat.h> includes. Change <md5.h> include to
    "md5.h". Change BYTE_ORDER check to WORDS_BIGENDIAN. Remove __bounded__
    gcc attributes on function declarations. Remove file helper
    declarations.

 lib/dpkg/md5.c |  291 +++++++++++++++++++++++++++++---------------------------
 lib/dpkg/md5.h |   51 ++++------
 2 files changed, 170 insertions(+), 172 deletions(-)

commit bfb43e8aaec95b69184bffaceb099819ad97721d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 16 14:33:09 2011 +0100

    Rename struct cmdinfo member arg_func to action and call it directly
    
    This avoids a temporary variable, given that now the function is
    strongly prototyped.

 dpkg-deb/main.c   |    5 ++---
 dpkg-split/main.c |    5 ++---
 lib/dpkg/myopt.h  |    3 ++-
 src/divertcmd.c   |    5 +----
 src/main.c        |    9 ++-------
 src/querycmd.c    |    5 +----
 src/statcmd.c     |    4 +---
 7 files changed, 11 insertions(+), 25 deletions(-)

commit 12d1e5a1a42ee085b79d1a3bb3a94a9b0165afff
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 16 14:22:36 2011 +0100

    Use new action_func typedef instead of ad-hoc function casts

 dpkg-deb/dpkg-deb.h     |   13 +++++++++----
 dpkg-deb/main.c         |    4 ++--
 dpkg-split/dpkg-split.h |    9 ++++++---
 dpkg-split/main.c       |    4 ++--
 lib/dpkg/myopt.h        |    6 +++---
 src/divertcmd.c         |    4 ++--
 src/main.c              |   10 +++++-----
 src/querycmd.c          |    4 ++--
 src/statcmd.c           |    4 ++--
 9 files changed, 33 insertions(+), 25 deletions(-)

commit ba372a8c554dfe6fa4f0e12961efab6b10aaf6bd
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 16 14:22:34 2011 +0100

    Make all command line action functions return int
    
    This will allow using type-safe function pointers instead of casting
    them around. Replace all exit(3) calls with return statements. Remove
    DPKG_ATTR_NORET from function declarations, all functions are expected
    to return now.

 dpkg-deb/build.c        |    6 ++-
 dpkg-deb/dpkg-deb.h     |    4 +-
 dpkg-deb/extract.c      |   35 +++++++++++++++----
 dpkg-deb/info.c         |   25 ++++++++++---
 dpkg-deb/main.c         |    7 +++-
 dpkg-split/dpkg-split.h |    4 +-
 dpkg-split/info.c       |    6 +++-
 dpkg-split/join.c       |    6 +++-
 dpkg-split/main.c       |    6 ++-
 dpkg-split/queue.c      |   20 ++++++++--
 dpkg-split/split.c      |    4 +-
 src/archives.c          |    6 +++-
 src/enquiry.c           |   89 ++++++++++++++++++++++++++++++++--------------
 src/main.c              |   30 ++++++++++------
 src/main.h              |   34 +++++++++---------
 src/packages.c          |    4 ++-
 src/select.c            |   17 +++++++--
 src/statcmd.c           |    4 +-
 src/update.c            |   12 +++++-
 19 files changed, 225 insertions(+), 94 deletions(-)

commit f6600ffa162e6f2f04f6a10d9622bee3bc8781a1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 24 03:57:44 2011 +0100

    dpkg: Pass default return value to reportbroken_retexitstatus()
    
    This will allow to pass arbitrary values from the command actions when
    there's not been any reported error.

 src/errors.c |    6 ++++--
 src/main.c   |    2 +-
 src/main.h   |    2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

commit 1059a9f6ed8568032ae64aba72ef18c289d42dae
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 1 21:26:02 2011 +0200

    dpkg-source: temporarily drop Package-List field generation
    
    That way we can discuss it further until there's consensus on its design
    and upload 1.16.0 immediately.

 debian/changelog       |    3 ---
 scripts/dpkg-source.pl |    1 +
 2 files changed, 1 insertions(+), 3 deletions(-)

commit bdcee319a90eee494af70e6725fed8b4e8f16584
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 1 20:45:46 2011 +0200

    dpkg-divert: fix minor file descriptor leak found by cppcheck
    
    Reported-by: Niels Thykier <niels@thykier.net>

 debian/changelog |    1 +
 src/divertcmd.c  |    4 +++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit e3a9083fcadcb1cff64a2b3980b2679e7396fb99
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Mar 26 09:24:58 2011 +0100

    dpkg-source: extend the Package-List field based on the feedback received
    
    Integrate the architecture field with spaces replaced by commas. It will
    be used by the wanna-build team to see if the source package builds
    Architecture: all packages. The reprepro maintainer also had a similar
    use case for this information.
    
    Put the type of the package in a dedicated field rather than a prefix of
    the package name. Suggested by Bastian Blank.
    
    See feedback at
    http://lists.debian.org/debian-policy/2011/03/threads.html#00155

 debian/changelog       |    2 +-
 scripts/dpkg-source.pl |   12 +++++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

commit 7ea2064c46b77398a63d7f7a543ebcf08f7c74d2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 24 23:53:37 2011 +0100

    Dpkg::Source::Patch: don't choke on empty patches
    
    Commit 255e73e11d1365fbb1e8d78287fad751a8ebc6e5 introduced a regression
    with empty patches by assuming that a patch analysis would always give
    back at least one filename.
    
    Reported-by: Niels Thykier <niels@thykier.net>

 debian/changelog             |    2 ++
 scripts/Dpkg/Source/Patch.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 893a04ba94f21ea068aa18a7b715769275b98892
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 24 16:04:30 2011 +0100

    Dpkg::Changelog::Debian::Entry: ignore whitespaces after options in header

 debian/changelog                       |    2 ++
 scripts/Dpkg/Changelog/Entry/Debian.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 84e9322448b3b9b227d80b667ef1274452d6fb3e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 24 15:45:22 2011 +0100

    dpkg-source: strip spaces around newlines in Uploaders

 debian/changelog       |    2 ++
 scripts/dpkg-source.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit c52cb59d6bc99dc02a0a63fd2c80fe544bf6d691
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 24 15:29:54 2011 +0100

    dpkg(1): remove a duplicate word in the german translation
    
    Concerns the explanation of --get-selections.

 debian/changelog |    1 +
 man/po/de.po     |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 7504022cd8922bf7a69572106b1b4a7a1c052675
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 24 15:26:04 2011 +0100

    Fix two typos in changelog

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 014672432452a6f6a18c44e733fece7938685370
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 24 14:39:56 2011 +0100

    dpkg-source: add new Package-List field to .dsc files
    
    This field has been requested by ftpmasters so that they can install
    overrides for all binary packages as soon as they have approved
    the source package. It contains a the list of packages that the source
    can build along with their sections and priorities.
    
    It looks like this:
    
      Package-List:
       src:foo admin optional
       foo admin optional
       foo-common admin optional
       udeb:foo-udeb debian-installer extra

 debian/changelog               |    3 +++
 scripts/Dpkg/Control/Fields.pm |    6 +++++-
 scripts/dpkg-source.pl         |   12 ++++++++++++
 3 files changed, 20 insertions(+), 1 deletions(-)

commit d291a98bce9ecf04ae7f35262453b038dc17cf04
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 24 12:18:50 2011 +0100

    Dpkg::Control::Fields: define the place of the Built-Using field
    
    Commit a8cb927edb7dbd67c7a6084685998818b811caec forgot to add the
    Built-Using field in %FIELD_ORDER.

 scripts/Dpkg/Control/Fields.pm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit cd4237cc8828a609be6260d3379f60d9c4694393
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Mar 23 19:43:34 2011 +0100

    Update German translation of manual pages
    
    Update to 2010t.

 man/po/de.po |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 deletions(-)

commit a8cb927edb7dbd67c7a6084685998818b811caec
Author: Mark Hymers <mhy@debian.org>
Date:   Tue Mar 22 15:50:16 2011 +0000

    dpkg-gencontrol: add support for Built-Using field
    
    And teach dpkg-deb to not complain about it.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog               |    3 +++
 dpkg-deb/build.c               |    1 +
 man/deb-control.5              |   11 +++++++++++
 man/deb-src-control.5          |    3 +++
 scripts/Dpkg/Control/Fields.pm |    5 +++++
 5 files changed, 23 insertions(+), 0 deletions(-)

commit 6a7a20c72325a57762e34f5dbb9f79ba73b5d496
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Mar 21 08:23:49 2011 +0100

    dpkg: use the correct mtime when installing a file with statoverrides
    
    Regression introduced by commit ceb07b08dad4d5eead630064f45c7e7ded00a341.
    
    Reported-by: Marc A. Donges

 debian/changelog |    2 ++
 src/archives.c   |    6 ++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

commit b5a79629f849faf27bf20f088af1487fa5e2bc14
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Mar 17 16:21:13 2011 +0100

    Fix minor error in German dpkg translation

 po/de.po |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 083f2ed8a6d125ea7b88e58fed034742aefb021e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Mar 17 14:35:53 2011 +0100

    dpkg-divert: fix return value of rename_mv
    
    This is a regression introduced by the C rewrite of dpkg-divert
    (commit 02b12d75f1eff7c184fafb5a663a0421e9a645ea) that made it unable to
    rename files when that rename implies a copy on another file system.
    
    The code has provision to do a copy when a simple rename is not enough
    but the associated function erroneously returned a failure value when
    that operation was performed.
    
    Reported-by: Durk Strooisma

 debian/changelog |    3 +++
 src/divertcmd.c  |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit b100b81bfda369bd13cffddc99b79ae3a9663c05
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Mar 16 08:00:44 2011 +0100

    pkg_parse_copy(): fix references to variables in a comment
    
    The comment still used the old names of variables from before the code had
    been factored in a separate function (in commit
    58df02f9d39c1e7b1c7f49026a649f125b87140d).

 lib/dpkg/parse.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f3ac02357276ffe2ed29b350a98f0e14e162463a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 16 00:54:13 2011 +0100

    libdpkg: Do not lose reverse dependencies when parsing control data
    
    Regression introduced in commit 58df02f9d39c1e7b1c7f49026a649f125b87140d.

 lib/dpkg/parse.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6093adaf447e98496dc4413277f474a379fdc912
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Mar 15 17:00:27 2011 +0100

    Update German translation of manual pages
    
    Update to 2008t0f0u.

 man/po/de.po |  162 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 96 insertions(+), 66 deletions(-)

commit 88b0c3043a651a422cd0c43c38ab6d553e2214ea
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 15 01:24:28 2011 +0100

    Add armhf support to ostable and triplettable
    
    Closes: #594179

 debian/changelog |    1 +
 ostable          |    1 +
 triplettable     |    1 +
 3 files changed, 3 insertions(+), 0 deletions(-)

commit d9130f2deff8a78c8813bb1d6d2504d3773a6a6e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Mar 14 14:49:26 2011 +0100

    dpkg-split: fix a gcc warning
    
    The refactoring made in commit 86cbf575b13d049504402f72d221fa1538c2e53b
    was supposed to add the cast for the argument matching
    the %jx specifier (and not %s).

 dpkg-split/queue.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 20c568dccae1d1a8b108eabb6e9df57d82d3834c
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Mar 14 13:09:18 2011 +0100

    German dpkg translation update
    
    Update to 1020t.

 po/de.po | 1317 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 667 insertions(+), 650 deletions(-)

commit 3bfb2e8845b277f4cecd720c3aef0a1d6604d895
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Mar 14 13:08:45 2011 +0100

    build: Update po/POTFILES.in for new/renamed source files
    
    lib/dpkg/dir.c (commit 20fdb395cc721a5060c5623eda956d73ea840a21)
    src/infodb.c (commit 9f7f2a958321d41725c0ae7f46c434fe4cbf3c6a)
    
    lib/dpkg/database.c → lib/dpkg/pkg-db.c (commit
    ced5ec027285de3f207c0bb7a26e3455503e7e29)

 po/POTFILES.in |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit b8d8d02e4afd7b377bad3d81afdcc48d5c6f3938
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Mar 14 13:08:21 2011 +0100

    dpkg-split: Fix typo

 dpkg-split/queue.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 86cbf575b13d049504402f72d221fa1538c2e53b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 14 02:15:38 2011 +0100

    Use off_t and %jd or %jx to handle file sizes and offsets
    
    This allows to support large files on 32-bit systems were a ‘long int’
    type might not be of at least 64-bits. For printing %jd or %jx is used,
    and the value is cast to intmax_t.

 dpkg-deb/build.c        |    5 +++--
 dpkg-deb/extract.c      |   18 ++++++++++--------
 dpkg-deb/info.c         |    5 +++--
 dpkg-split/dpkg-split.h |   12 ++++++------
 dpkg-split/info.c       |   20 ++++++++++----------
 dpkg-split/main.c       |    4 ++--
 dpkg-split/queue.c      |    9 +++++----
 dpkg-split/split.c      |   10 ++++++----
 lib/dpkg/ar.c           |    7 ++++---
 lib/dpkg/ar.h           |    2 +-
 lib/dpkg/buffer.c       |    2 +-
 lib/dpkg/tarfn.c        |    2 +-
 lib/dpkg/tarfn.h        |    2 +-
 src/archives.c          |    5 +++--
 src/processarc.c        |    3 ++-
 15 files changed, 58 insertions(+), 48 deletions(-)

commit 74dc50b34d45e906ecdf664634ad491f2ffac43e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 14 03:01:43 2011 +0100

    Use size_t and %zu to handle memory sizes and offsets

 dselect/methparse.cc        |    6 +++---
 lib/dpkg/mlib.c             |    6 ++++--
 lib/dpkg/pkg-format.c       |    2 +-
 utils/update-alternatives.c |    2 +-
 4 files changed, 9 insertions(+), 7 deletions(-)

commit 07eee0db56472a5932249c04b940b9c8fe01bb5f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 14 02:58:28 2011 +0100

    libdpkg: Replace OtoL() with OtoM() converting to intmax_t
    
    This allows storing at least 64-bit integers on 32-bit systems, and thus
    large file support.

 lib/dpkg/tarfn.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

commit f9aaae4396a0465dce0f8c05e9e1608bd9425e81
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 14 05:21:49 2011 +0100

    dpkg-split: Make decompose_filename() and setpartsize() use strtoimax()
    
    This will allow parsing large numbers, required for large file support.

 dpkg-split/main.c  |    3 ++-
 dpkg-split/queue.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 75d6bcf73ba88e443c2fd1a65018bb7f40d76ff1
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 14 02:12:57 2011 +0100

    dpkg-split: Replace unsignedlong() with parse_intmax()

 configure.ac      |    2 +-
 dpkg-split/info.c |   20 ++++++++++++--------
 2 files changed, 13 insertions(+), 9 deletions(-)

commit 766de19997417fc673c0b07e9fef2cffb25d5b25
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 14 01:55:50 2011 +0100

    build: Check for %j and %z format modifiers support
    
    We use those to create binary output, so we require them to be working.

 m4/dpkg-compiler.m4 |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

commit df6a6091b3e420b12286dbde56ef86cf0230c2b4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 23:32:30 2011 +0100

    dpkg-split: Use a constant expression to declare an array
    
    Although usually the compiler should replace strlen(literal) with a
    built-in, it might not, and it's more predictable to use a constant
    expression using sizeof() instead to avoid making it a variable
    length array. This fixes a warning with latest gcc and -Wvla.

 dpkg-split/info.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 79a67e901e0ce82944d33f13d0830fe256f9a39c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 14 07:16:31 2011 +0100

    Inline rerr() into its only current call site

 dpkg-split/dpkg-split.h |    1 -
 dpkg-split/info.c       |    5 ++++-
 dpkg-split/main.c       |    4 ----
 3 files changed, 4 insertions(+), 6 deletions(-)

commit 26998971c3e84e33a4602e3d97a6a8c9a058fa16
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 23:30:19 2011 +0100

    Inline werr() into its only current call site

 dpkg-deb/build.c          |    2 +-
 lib/dpkg/ehandle.c        |    4 ----
 lib/dpkg/ehandle.h        |    2 --
 lib/dpkg/libdpkg.Versions |    1 -
 4 files changed, 1 insertions(+), 8 deletions(-)

commit fdc401aa7d35d879ad0fb9090049691f2638af41
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 23:10:28 2011 +0100

    dpkg-deb: Use fdio instead of stdio
    
    Prefer fdio for binary data.

 dpkg-deb/build.c |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 deletions(-)

commit 102aef24e438b7aba9cf90ab9fc75d3c13c6c7cf
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 23:05:54 2011 +0100

    dpkg-split: Do not slurp into memory the whole package parts
    
    Use buffered I/O when reassembling split packages. This will make
    possible to handle parts > 2 GiB on 32 bit systems.

 dpkg-split/join.c  |   45 +++++++++++++++++----------------------------
 dpkg-split/queue.c |   36 +++++++++++++++++-------------------
 2 files changed, 34 insertions(+), 47 deletions(-)

commit 9980e450861b782093572ecc23bfbdc8ee326087
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 22:38:38 2011 +0100

    libdpkg: Add missing <errno.h> needed by fd_null_copy()

 lib/dpkg/buffer.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 65d2ed5c215657e0e0f60500148b47bd8436e282
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 21:56:42 2011 +0100

    u-a: Do not unneedingly initialize variables to NULL
    
    Those get initialized unconditionally later on in the code.
    
    This was spotted by a run with the clang static analyzer.

 utils/update-alternatives.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit aab72be3be19811105baf7c22e3ac370423f9636
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 21:51:21 2011 +0100

    dpkg-query: Return a valid width even if opening /dev/tty failed
    
    This was spotted by a run with the clang static analyzer.

 src/querycmd.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 9acbadfc967d74c7930912bf89e508b14ff509d9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 21:41:01 2011 +0100

    build: Add -Wformat-security and -Wpointer-arith to default warnings

 m4/dpkg-compiler.m4 |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 4c3faede9746f1e85f544b319d07b2a2c12f67d4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 21:41:38 2011 +0100

    dselect: Use a format string in printf() instead of only a variable
    
    This fixes a warning with -Wformat-security.

 dselect/main.cc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a468c10801bb7cee20e15d04e502e67aa95a0f7e
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 18:38:21 2011 +0100

    dpkg: Add comment about why writeback code ignores return values
    
    Suggested-by: Sven Mueller <sven@debian.org>

 src/archives.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 557765dbed656c3718c65352f1cb995fcc8b87b9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 18:27:56 2011 +0100

    Move pkgadmindir() and pkgadminfile() to the filesdb module
    
    These functions are not really part of the modstatdb module, and by
    moving them out they get detangled and will make it possible to extend
    them w/o pulling additional code into binaries not using the functions.

 lib/dpkg/dbmodify.c       |   16 ----------------
 lib/dpkg/dpkg-db.h        |    3 ---
 lib/dpkg/libdpkg.Versions |    2 --
 src/filesdb.c             |   40 ++++++++++++++++++++++++++++++++++++++++
 src/filesdb.h             |    3 +++
 src/infodb.c              |    1 +
 6 files changed, 44 insertions(+), 21 deletions(-)

commit dcac09fadeaea420267c85d430ed7668f3e37ba7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 19:56:01 2011 +0100

    Make admindir file local everywhere
    
    The interface to get and set the database directory is dpkg_db_get_dir()
    and dpkg_db_set_dir().

 dselect/dselect.h |    1 -
 dselect/main.cc   |    3 ++-
 dselect/method.cc |   10 +++++-----
 src/divertcmd.c   |    2 +-
 src/help.c        |    1 +
 src/main.c        |    2 +-
 src/main.h        |    1 -
 src/processarc.c  |    2 ++
 src/querycmd.c    |    2 +-
 src/statcmd.c     |    4 ++--
 src/update.c      |    2 +-
 11 files changed, 16 insertions(+), 14 deletions(-)

commit e0ae796d8cde360c5bf9b46b49998f6efa3b8c82
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 08:45:25 2011 +0100

    Do not pass admindir to database initialization functions
    
    Use dpkg_db_get_dir() and dpkg_db_get_path() to globally retrieve the
    database directory instead of passing it around.

 dselect/main.cc         |    6 +++---
 lib/dpkg/dbmodify.c     |   10 +++++-----
 lib/dpkg/dpkg-db.h      |    4 ++--
 lib/dpkg/trigdeferred.h |    3 +--
 lib/dpkg/trigdeferred.l |    2 +-
 lib/dpkg/triglib.c      |    6 +++---
 lib/dpkg/triglib.h      |    2 +-
 src/archives.c          |    3 +--
 src/enquiry.c           |    8 ++++----
 src/help.c              |    4 ++--
 src/packages.c          |    3 +--
 src/querycmd.c          |   16 ++++++++--------
 src/select.c            |    6 +++---
 src/trigcmd.c           |    4 ++--
 src/update.c            |    2 +-
 15 files changed, 38 insertions(+), 41 deletions(-)

commit 06cd58eed3c3c9b6d5764773428b2dd31d5233a3
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 22:13:04 2011 +0100

    libdpkg: Use dpkg_db_get_path() instead of trig_get_triggersdir()
    
    Remove now unused trig_get_triggersdir().

 lib/dpkg/trigdeferred.l |    2 +-
 lib/dpkg/triglib.c      |   12 +-----------
 lib/dpkg/triglib.h      |    2 --
 3 files changed, 2 insertions(+), 14 deletions(-)

commit f67665e8f5eb46b3a0b90d2a90001b3d33f94ef9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 19:17:55 2011 +0100

    Use dpkg_db_set_dir() instead of pkgadmindir_init()
    
    Remove now unused pkgadmindir_init().

 dselect/main.cc     |    2 ++
 lib/dpkg/dbmodify.c |   12 ------------
 lib/dpkg/dpkg-db.h  |    1 -
 src/divertcmd.c     |    4 ++--
 src/main.c          |    2 ++
 src/querycmd.c      |    4 ++--
 src/statcmd.c       |    4 ++--
 src/trigcmd.c       |    4 ++--
 8 files changed, 12 insertions(+), 21 deletions(-)

commit addcf0717e7a6076f40a57d8aa9a0164868d46ba
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 19:53:28 2011 +0100

    Use dpkg_db_get_path() instead of using m_asprintf() and admindir

 dselect/method.cc    |    2 +-
 dselect/methparse.cc |    2 +-
 lib/dpkg/dbmodify.c  |    2 +-
 src/divertcmd.c      |    2 +-
 src/processarc.c     |    2 +-
 src/statcmd.c        |    2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

commit 8ecd3414ebcf0a81a4f23b671c134729dc600a3a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 19:51:55 2011 +0100

    Use dpkg_db_get_path() instead of ad-hoc building the string with varbuf

 src/divertdb.c |   20 +++++++++-----------
 src/statdb.c   |   16 +++++++---------
 src/update.c   |   12 ++++++------
 3 files changed, 22 insertions(+), 26 deletions(-)

commit 18d1daa7bfffdb00af4903ad895151fe60e77ebf
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 08:45:25 2011 +0100

    libdpkg: Add new dbdir module

 lib/dpkg/Makefile.am |    2 +
 lib/dpkg/dbdir.c     |   92 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/dpkg-db.h   |    6 +++
 3 files changed, 100 insertions(+), 0 deletions(-)

commit ad2f2b8ca2abf2e21e55ab7425f19dd27cad96d8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 07:41:30 2011 +0100

    dselect: Use modstatdb_can_lock() in refreshmenu() instead of ad-hoc code

 dselect/main.cc |   11 +++--------
 1 files changed, 3 insertions(+), 8 deletions(-)

commit 62b91d46785dae5d7eab796f0ceb43295f1c54b8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 07:40:09 2011 +0100

    libdpkg: Refactor modstatdb_can_lock() out from modstatdb_lock()

 lib/dpkg/dbmodify.c       |   25 ++++++++++++++++++-------
 lib/dpkg/dpkg-db.h        |    1 +
 lib/dpkg/libdpkg.Versions |    1 +
 3 files changed, 20 insertions(+), 7 deletions(-)

commit 2ed67cedac6e5b8dfae90c56f96c8a44accc9302
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 22:02:01 2011 +0100

    libdpkg: Handle EACCES as a permission error in modstatdb_lock()
    
    The current code only considers EPERM, but EACCES is also a valid error
    concerning permission issues from open(2).

 lib/dpkg/dbmodify.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8619e6d31486b874f8f2f2cdb34e66704d26a6a0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 07:38:03 2011 +0100

    libdpkg: Reset dblockfd on modstatdb_unlock()
    
    This will allow locking again the database after having previously
    unlocked it.

 lib/dpkg/dbmodify.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 6c9093777f6121dc8c2ee3be44d2937402f3c028
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 06:48:27 2011 +0100

    Make modstatdb locking functions not take an admindir argument
    
    Initialize the lockfile on modstatdb_init() via the fnis array. Make
    sure we call modstatdb_init() and modstatdb_done() in case we are not
    calling modstatdb_open() and modstatdb_shutdown().

 lib/dpkg/dbmodify.c |   23 +++++++----------------
 lib/dpkg/dpkg-db.h  |    4 ++--
 src/enquiry.c       |    2 +-
 src/update.c        |    6 +++++-
 4 files changed, 15 insertions(+), 20 deletions(-)

commit be596facc45b0b921322abd0d885bead822639f4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 06:29:08 2011 +0100

    libdpkg: Refactor modstatdb init/done sequence into new functions
    
    Move variable path initialization and destruction code to the new
    modstatdb_init() and modstatdb_done(). Add a boolean variable to protect
    the funtions from reiterated calls.

 lib/dpkg/dbmodify.c       |   59 ++++++++++++++++++++++++++++++++-------------
 lib/dpkg/dpkg-db.h        |    2 +
 lib/dpkg/libdpkg.Versions |    1 +
 3 files changed, 45 insertions(+), 17 deletions(-)

commit 7a14fd7d6604d5b8de58e0e33ddd8ee8026bff62
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 06:29:08 2011 +0100

    libdpkg: Rename modstatdb_init() to modstatdb_open()
    
    We'll need to reuse the modstatdb_init() function name for further
    refactoring.

 dselect/main.cc           |    2 +-
 lib/dpkg/dbmodify.c       |    2 +-
 lib/dpkg/dpkg-db.h        |    2 +-
 lib/dpkg/libdpkg.Versions |    1 +
 src/archives.c            |    2 +-
 src/enquiry.c             |    8 ++++----
 src/packages.c            |    2 +-
 src/querycmd.c            |   16 ++++++++--------
 src/select.c              |    6 +++---
 9 files changed, 21 insertions(+), 20 deletions(-)

commit ced5ec027285de3f207c0bb7a26e3455503e7e29
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 06:09:10 2011 +0100

    libdpkg: Rename database module to pkg-db
    
    This matches the namespace for the provided functions, and disambiguates
    what kind of database it's refering to.

 lib/dpkg/Makefile.am              |    2 +-
 lib/dpkg/{database.c => pkg-db.c} |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 1a8c2f8400324dc04e1fa664239c3bbc6399e6b0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 06:06:33 2011 +0100

    libdpkg: Rename hashreport() to pkg_db_report()

 lib/dpkg/database.c |    4 +++-
 lib/dpkg/dpkg-db.h  |    2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 69a2c708c05d7a81041e0b2fbdf7941c40ad3113
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 06:01:39 2011 +0100

    libdpkg: Move non pkg_db related functions to the pkg module
    
    The pkgbin_blank, pkg_blank and pkg_is_informative are not strictly
    part of the pkg_db module, and can be used w/o the latter.

 lib/dpkg/database.c |   65 -------------------------------------------
 lib/dpkg/pkg.c      |   77 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+), 65 deletions(-)

commit 190a0f88ef7258b6a35a346ff1a3c21c68c3f6e4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 05:53:37 2011 +0100

    libdpkg: Move blankversion() to new version module

 lib/dpkg/Makefile.am |    3 ++-
 lib/dpkg/database.c  |    5 -----
 lib/dpkg/version.c   |   32 ++++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+), 6 deletions(-)

commit 943de6c0e09760af1f8ad8c1e364fc4bcfbb1418
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 05:40:43 2011 +0100

    libdpkg: Change file_unlock() to act directly on its new arguments
    
    This switches the function from unlocking the file via the popped
    cleanup to do the action itself.

 lib/dpkg/dbmodify.c |    3 ++-
 lib/dpkg/file.c     |   21 +++++++++++----------
 lib/dpkg/file.h     |    2 +-
 3 files changed, 14 insertions(+), 12 deletions(-)

commit 55f9704e40f07a95a409e1fba38bb21d70041872
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 05:04:11 2011 +0100

    libdpkg: Do not leak triggersdir

 lib/dpkg/trigdeferred.l |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit c0f00ddf9a3258d28aa3ad306adabc3eb34476d9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 13 04:25:02 2011 +0100

    dselect: Use m_asprintf() instead of ad-hoc string construction

 dselect/method.cc    |   10 +++-------
 dselect/methparse.cc |    9 ++-------
 2 files changed, 5 insertions(+), 14 deletions(-)

commit 6761f32a6b9476cd63f874e8fbbb9346068049c3
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 10 05:49:46 2011 +0100

    Make modstatdb available file options explicit
    
    The options were either explicit or dependent on the main status
    options, now they are always explicit. This detangles the actions
    on the available file from the ones on the status file. Rename the
    enum flags accordingly.

 lib/dpkg/dbmodify.c |   12 +++++++-----
 lib/dpkg/dpkg-db.h  |    6 +++---
 src/archives.c      |    4 ++--
 src/enquiry.c       |    2 +-
 src/querycmd.c      |    6 +++---
 5 files changed, 16 insertions(+), 14 deletions(-)

commit af3153d09aa3ed5597d6d415e5ab7cc3ba972e7c
Author: Steve Langasek <steve.langasek@linaro.org>
Date:   Wed Mar 9 11:43:05 2011 -0800

    Add new variables, DEB_HOST_MULTIARCH and DEB_BUILD_MULTIARCH
    
    Add new variables that return the "ideal" GNU triplet for each architecture
    which should be used as the path component for library installation.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog             |    6 ++++++
 man/dpkg-architecture.1      |    6 ++++++
 scripts/Dpkg/Arch.pm         |   22 +++++++++++++++++++++-
 scripts/dpkg-architecture.pl |   10 ++++++++--
 4 files changed, 41 insertions(+), 3 deletions(-)

commit 8a910bc7aadd0525fe24b14c8d6249f77bba15b7
Author: Ivan Gagis <igagis@gmail.com>
Date:   Wed Mar 9 05:18:09 2011 +0100

    dpkg-name: Fix typo in --overwrite argument parsing
    
    This fixes the option so that it actually works at all.
    
    LP: #728708
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog     |    2 ++
 scripts/dpkg-name.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 7221d533e93de0d73716e4f69f1f01d73cce8f95
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 8 14:15:19 2011 +0100

    u-a: Fix memory leaks due to scandir() return value

 utils/update-alternatives.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 9c01b373009ac462afbdb9375abd2c7b9abc19d5
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 5 05:22:10 2011 +0100

    Do not write the available file unnecessarily
    
    Some times we need to write back the status file, but not the available
    file. Add a new flag to handle those cases.
    
    Based-on-patch-by: Michel Lespinasse <walken@zoy.org>

 debian/changelog    |    2 +-
 dselect/main.cc     |    2 +-
 lib/dpkg/dbmodify.c |    2 +-
 lib/dpkg/dpkg-db.h  |    1 +
 src/select.c        |    2 +-
 5 files changed, 5 insertions(+), 4 deletions(-)

commit fb49e131ef32039277c538f759ab19c1ff22e8fd
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 4 16:15:51 2011 +0100

    Do not read the available file unnecessarily
    
    For commands that only make use of information from the status file,
    there's no need to make them read and parse the available file. This
    change does not alter the current behaviour, and commands that were
    previously updating the available file will continue doing so.
    
    Removing further access to it is pending a decision on how to treat
    globally the available file, which needs interaction with the package
    manager frontend developers.
    
    Closes: #397121
    
    Based-on-patch-by: Michel Lespinasse <walken@zoy.org>

 debian/changelog    |    2 ++
 lib/dpkg/dbmodify.c |    3 ++-
 src/archives.c      |    4 ++--
 src/enquiry.c       |    2 +-
 src/packages.c      |    6 +++---
 src/querycmd.c      |   16 +++++++++++-----
 src/select.c        |    4 ++--
 7 files changed, 23 insertions(+), 14 deletions(-)

commit 8e57f4f4224fc4f6f03a3aeef898e25f3ff881d5
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 5 04:55:41 2011 +0100

    Switch the logic from msdbrw_noavail to msdbrw_available

 dselect/main.cc     |    3 ++-
 lib/dpkg/dbmodify.c |    2 +-
 lib/dpkg/dpkg-db.h  |    2 +-
 src/archives.c      |    9 +++++----
 src/enquiry.c       |    8 ++++----
 src/packages.c      |    6 +++---
 src/querycmd.c      |   12 ++++++------
 src/select.c        |    6 +++---
 8 files changed, 25 insertions(+), 23 deletions(-)

commit 898936120e987d9faf27002e2d01844edbfbb538
Author: Roger Leigh <rleigh@debian.org>
Date:   Sat Mar 12 16:04:31 2011 +0000

    Dpkg::Control::Hash: accept PGP signature as end of block
    
    Improved-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog             |    3 +++
 scripts/Dpkg/Control/Hash.pm |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 2bfd5102b413d3a0b97aa93e50467f41b2448ecf
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Mar 7 11:29:21 2011 +0100

    Update German scripts translation
    
    Update to 514t

 scripts/po/de.po |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit df8062d202016114b6c167cd0cf23e895587059c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Mar 7 09:32:14 2011 +0100

    dpkg-source: be a bit less strict when parsing patches
    
    It will now accept seeing the same file twice
    
    Reported-by: Bastian Blank <waldi@debian.org>
    
    It will no longer match on the English text "No newline at end of file" as
    it might be translated in some cases. It will only consider the intial
    "\ ".
    
    Reported-by: Jan-Marek Glogowski <glogow@fbihome.de>

 debian/changelog             |    4 ++++
 scripts/Dpkg/Source/Patch.pm |   14 ++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

commit 43f5433769a0f8eecc3c1cc7a208d6e14171ad60
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 6 10:46:28 2011 +0100

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |  325 ++---
 dselect/po/ca.po        |  340 +++---
 dselect/po/cs.po        |  340 +++---
 dselect/po/da.po        |  340 +++---
 dselect/po/de.po        |  340 +++---
 dselect/po/dselect.pot  |  327 ++---
 dselect/po/el.po        |  340 +++---
 dselect/po/es.po        |  340 +++---
 dselect/po/et.po        |  334 +++---
 dselect/po/eu.po        |  340 +++---
 dselect/po/fr.po        |  340 +++---
 dselect/po/gl.po        |  340 +++---
 dselect/po/hu.po        |  334 +++---
 dselect/po/id.po        |  340 +++---
 dselect/po/it.po        |  340 +++---
 dselect/po/ja.po        |  340 +++---
 dselect/po/ko.po        |  340 +++---
 dselect/po/nb.po        |  340 +++---
 dselect/po/nl.po        |  340 +++---
 dselect/po/nn.po        |  340 +++---
 dselect/po/pl.po        |  340 +++---
 dselect/po/pt.po        |  340 +++---
 dselect/po/pt_BR.po     |  340 +++---
 dselect/po/ro.po        |  340 +++---
 dselect/po/ru.po        |  342 +++---
 dselect/po/sk.po        |  340 +++---
 dselect/po/sv.po        |  340 +++---
 dselect/po/tl.po        |  340 +++---
 dselect/po/vi.po        |  340 +++---
 dselect/po/zh_CN.po     |  340 +++---
 dselect/po/zh_TW.po     |  340 +++---
 man/po/dpkg-man.pot     |  938 ++++++++++---
 man/po/es.po            | 1232 +++++++++++++----
 man/po/fr.po            | 1236 +++++++++++++----
 man/po/hu.po            | 1125 ++++++++++++----
 man/po/ja.po            | 1136 ++++++++++++----
 man/po/pl.po            | 1232 +++++++++++++----
 man/po/pt_BR.po         | 1058 +++++++++++----
 man/po/ru.po            | 1126 ++++++++++++----
 man/po/sv.po            | 1234 +++++++++++++----
 po/ast.po               | 3435 ++++++++++++++++++++++++++--------------------
 po/bs.po                | 2750 +++++++++++++++++++------------------
 po/ca.po                | 3473 ++++++++++++++++++++++++++--------------------
 po/cs.po                | 3410 ++++++++++++++++++++++++++-------------------
 po/da.po                | 3496 ++++++++++++++++++++++++++--------------------
 po/de.po                |  644 +++++-----
 po/dpkg.pot             | 2742 +++++++++++++++++++------------------
 po/dz.po                | 3262 ++++++++++++++++++++++++-------------------
 po/el.po                | 3385 +++++++++++++++++++++++++--------------------
 po/eo.po                | 3432 ++++++++++++++++++++++++++--------------------
 po/es.po                | 3517 +++++++++++++++++++++++++++--------------------
 po/et.po                | 2894 +++++++++++++++++++++------------------
 po/eu.po                | 3442 ++++++++++++++++++++++++++--------------------
 po/fr.po                | 3494 ++++++++++++++++++++++++++--------------------
 po/gl.po                | 3374 +++++++++++++++++++++++++--------------------
 po/hu.po                | 3208 ++++++++++++++++++++++++-------------------
 po/id.po                | 3414 ++++++++++++++++++++++++++-------------------
 po/it.po                | 3489 ++++++++++++++++++++++++++--------------------
 po/ja.po                | 3439 ++++++++++++++++++++++++++--------------------
 po/km.po                | 3212 ++++++++++++++++++++++++-------------------
 po/ko.po                | 3461 ++++++++++++++++++++++++++--------------------
 po/ku.po                | 2810 ++++++++++++++++++++------------------
 po/lt.po                | 3025 ++++++++++++++++++++++------------------
 po/mr.po                | 3216 ++++++++++++++++++++++++-------------------
 po/nb.po                | 3413 ++++++++++++++++++++++++++-------------------
 po/ne.po                | 3221 ++++++++++++++++++++++++-------------------
 po/nl.po                | 3365 +++++++++++++++++++++++++--------------------
 po/nn.po                | 3169 +++++++++++++++++++++++-------------------
 po/pa.po                | 3021 ++++++++++++++++++++++-------------------
 po/pl.po                | 3371 +++++++++++++++++++++++++--------------------
 po/pt.po                | 3463 ++++++++++++++++++++++++++--------------------
 po/pt_BR.po             | 3378 +++++++++++++++++++++++++--------------------
 po/ro.po                | 3538 +++++++++++++++++++++++++++--------------------
 po/ru.po                | 3453 ++++++++++++++++++++++++++--------------------
 po/sk.po                | 3430 ++++++++++++++++++++++++++--------------------
 po/sv.po                | 3421 ++++++++++++++++++++++++++-------------------
 po/th.po                | 3387 ++++++++++++++++++++++++++-------------------
 po/tl.po                | 3216 ++++++++++++++++++++++++-------------------
 po/vi.po                | 3479 ++++++++++++++++++++++++++--------------------
 po/zh_CN.po             | 3384 ++++++++++++++++++++++++++-------------------
 po/zh_TW.po             | 3303 ++++++++++++++++++++++++--------------------
 scripts/po/ca.po        |  445 +++---
 scripts/po/de.po        |  323 +++---
 scripts/po/dpkg-dev.pot |  433 +++---
 scripts/po/es.po        |  479 ++++---
 scripts/po/fr.po        |  483 ++++---
 scripts/po/pl.po        |  476 ++++---
 scripts/po/ru.po        |  470 ++++---
 scripts/po/sv.po        |  471 ++++---
 89 files changed, 89656 insertions(+), 67779 deletions(-)

commit d5c5d8f8651eb2ccdb61847e2bd018f80fcd84cb
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 6 10:44:22 2011 +0100

    dpkg-source: remove quilt's .pc directory when --unapply-patches is in use

 debian/changelog                        |    2 ++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 34d922eef1ecf03fbccc3b022fdbe58a81792be6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 6 10:08:43 2011 +0100

    Do not print warnings resulting from the autopatch analysis
    
    Colin's change in 40dcf24632684ec726210dd4437fdedbdbe6134e meant that the
    autopatch is parsed while it's already applied and this can trigger some
    undue warnings.
    
    This patch silences them. And also deals with similar cases that were
    unnoticed up to now.

 scripts/Dpkg/Source/Package/V2.pm       |    4 ++--
 scripts/Dpkg/Source/Package/V3/quilt.pm |    4 +++-
 scripts/Dpkg/Source/Patch.pm            |   15 ++++++++++-----
 3 files changed, 15 insertions(+), 8 deletions(-)

commit 255e73e11d1365fbb1e8d78287fad751a8ebc6e5
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Mon Feb 14 06:39:03 2011 -0600

    dpkg-source: use server-side clock for patched file timestamp on NFS
    
    Since 1.13.14~20 (2006-02-10), dpkg-source touches the files it
    patches when unpacking, with a single date.  This way, the order of
    mtimes does not depend on the order in which the files were patched,
    which is convenient when e.g. configure.in and configure are patched.
    
    More precisely, dpkg-source does something like the following:
    
    	my $now = time();
    	foreach my $fn (@patched_files) {
    		utime($now, $now, $fn);
    	}
    
    Unfortunately when the filesystem is NFS, "touch" and normal
    modification set mtime and atime to the current time on the server
    side, while time() returns the current time on the client side.
    The two clocks can disagree, producing breakage.
    
    So unless a timestamp has been passed explicitly, use utime(undef,
    undef, $fn) to set mtime for the first file to the server side time
    and copy it (rounded down to a number of seconds) to all patched
    files.
    
    Reported-by: Stéphane Glondu <glondu@debian.org>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Improved-by: Raphaël Hertzog <hertzog@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog                        |    5 +++++
 scripts/Dpkg/Source/Functions.pm        |   26 +++++++++++++++++++++++++-
 scripts/Dpkg/Source/Package/V1.pm       |    3 +--
 scripts/Dpkg/Source/Package/V2.pm       |    6 +++---
 scripts/Dpkg/Source/Package/V3/quilt.pm |    8 ++++----
 scripts/Dpkg/Source/Patch.pm            |    7 +++++--
 6 files changed, 43 insertions(+), 12 deletions(-)

commit 40dcf24632684ec726210dd4437fdedbdbe6134e
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Mon Dec 6 09:42:17 2010 +0000

    dpkg-source: keep file order stable when regenerating autopatches.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog                  |    3 +
 scripts/Dpkg/Source/Package/V2.pm |    3 +-
 scripts/Dpkg/Source/Patch.pm      |   82 +++++++++++++++++++++++++-----------
 3 files changed, 62 insertions(+), 26 deletions(-)

commit 4225da67179cae2be44a76d3c37c6c859c8659c5
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Mar 5 09:52:49 2011 +0100

    Fix english mistake catched by lintian

 man/dpkg-gensymbols.1 |    2 +-
 man/po/de.po          |    2 +-
 man/po/es.po          |    2 +-
 man/po/fr.po          |    2 +-
 man/po/hu.po          |    2 +-
 man/po/ja.po          |    2 +-
 man/po/pl.po          |    2 +-
 man/po/pt_BR.po       |    2 +-
 man/po/ru.po          |    2 +-
 man/po/sv.po          |    2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

commit 94bf966f04a6c4b262544f4cf6f8442379c821d1
Author: Martin Dorey <mdorey@bluearc.com>
Date:   Sat Mar 5 09:44:00 2011 +0100

    Fix OtoL() to accumulate data in a long instead of an int
    
    On 64-bit architectures where the long is bigger than the int, it makes
    it possible to have files bigger than 2GB.
    
    Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog |    2 ++
 lib/dpkg/tarfn.c |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 908fda0b103f7843992b7ec8609447d1efdd11b9
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Mar 4 13:30:00 2011 +0100

    Update German translation of manual pages
    
    Update to 2004t0f0u.

 man/po/de.po |   68 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 36 insertions(+), 32 deletions(-)

commit 5aac6553a7f40c73da046301bf96175b998f9221
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 4 03:37:05 2011 +0100

    dpkg: Call gettext() on force option description printing
    
    Regression introduced in commit 97205c1bab2d5fd18e9dd33f5329db209b866634.

 src/main.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 7fbb6b98a73c8b5fbbbd9a275bf6685625ae487c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 4 02:52:38 2011 +0100

    man: Add missing quotes and escaping

 man/dpkg-shlibdeps.1      |   10 +++++-----
 man/dpkg-source.1         |    4 ++--
 man/start-stop-daemon.8   |    6 +++---
 man/update-alternatives.8 |    4 ++--
 4 files changed, 12 insertions(+), 12 deletions(-)

commit 7a86e4231750a73b37f7afa8d1c8944574d9c7fc
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 3 18:41:58 2011 +0100

    dpkg-query: Document that --list and --show arguments are optional
    
    Do that in the --help output and in the man page.

 debian/changelog |    2 ++
 man/dpkg-query.1 |    4 ++--
 src/querycmd.c   |    2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

commit 47a7d338c77b36c92fbfdeb6dcd7d275ded94f56
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Mar 3 17:56:31 2011 +0100

    Update German translation of manual pages
    
    Update to 2006t0f0u.

 man/po/de.po |   50 +++++++++++++++++++++++++-------------------------
 1 files changed, 25 insertions(+), 25 deletions(-)

commit bd8ddb2fcad52236b5844531583e7a3d1b169259
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Mar 2 12:32:38 2011 +0100

    dpkg-shlibdeps: improve parsing of output of dpkg --search
    
    The returned package names can include ":" with foreign packages.
    Modify the regex to allow this but also tighten it to match only
    characters allowed in package names (plus ", " used as separator).
    
    And anchor the match on the filename with the initial "/" as
    a safety measure.
    
    Sponsored-by: Linaro Limited

 debian/changelog          |    1 +
 scripts/dpkg-shlibdeps.pl |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 305d8090caf90e16a963cfb962ea78fa185b5849
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Mar 2 12:18:32 2011 +0100

    dpkg-shlibdeps: use get_control_path()
    
    Do not hardcode the location of shlibs/symbols files. They are under the
    control of dpkg. By using dpkg-query --control-path we ensure that we
    always use the correct location.
    
    Sponsored-by: Linaro Limited

 debian/changelog          |    2 ++
 man/dpkg-shlibdeps.1      |    8 ++++----
 scripts/dpkg-shlibdeps.pl |   11 +++++++----
 3 files changed, 13 insertions(+), 8 deletions(-)

commit 00ae46fa208194feb36bdced907ec8b7a8d62f3f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Mar 2 12:13:38 2011 +0100

    Dpkg::Path::get_control_path(): wrapper around dpkg-query --control-path
    
    Sponsored-by: Linaro Limited

 debian/changelog     |    2 ++
 scripts/Dpkg/Path.pm |   36 +++++++++++++++++++++++++++++++++---
 2 files changed, 35 insertions(+), 3 deletions(-)

commit 873c0d7d717ae97ea3cc4309c1df6993137b3e21
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 2 06:06:33 2011 +0100

    dpkg: Pass correct DPKG_ADMINDIR to maintainer scripts with --root
    
    When passing the DPKG_ADMINDIR environment variable to the maintainer
    scripts we need to trim the installation directory name from admindir,
    otherwise the directory won't be found.
    
    Regression introduced in commit e63e1fa4a4afdf98847f13f2506a0aeea68c33c7.
    
    Based-on-patch-by: Steve Langasek <steve.langasek@linaro.org>
    Improved-by: Jonathan Nieder <jrnieder@gmail.com>

 src/help.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

commit 8fc97bc94c08f4da2f18c3f4aa43db148bd8f6e2
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 2 01:37:28 2011 +0100

    dpkg-divert: Honour --local when DPKG_MAINTSCRIPT_PACKAGE is present
    
    Regression introduced in commit dc98261980767f258046f8a4c2e020fcdc92c8b6-
    
    Reported-by: Martin Pitt <martin.pitt@ubuntu.com>
    Suggested-by: Colin Watson <cjwatson@ubuntu.com>

 src/divertcmd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 598d605202413affb749a96bab8a39d60e6902ff
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 27 09:19:20 2011 +0100

    dpkg: Refactor infodb update on unpack into new pkg_infodb_update()

 src/processarc.c |  164 +++++++++++++++++++++++++++++------------------------
 1 files changed, 90 insertions(+), 74 deletions(-)

commit a2acd17d3c5a6980cf4516f6f5c5f93e67832882
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 26 17:12:08 2011 +0100

    dpkg: Refactor infodb directory traversal into new pkg_infodb_foreach()
    
    Move the common code into a new function which will call an action
    pointer function on matched files to perform the specific logic.

 src/Makefile.am  |    1 +
 src/infodb.c     |   56 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/infodb.h     |    4 +++
 src/processarc.c |   61 ++++-------------------------------------------------
 src/querycmd.c   |   52 +--------------------------------------------
 src/remove.c     |   29 +------------------------
 6 files changed, 69 insertions(+), 134 deletions(-)

commit fc8b6ecf05e6d4bc66e036f275daa304ada6696e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 26 18:02:05 2011 +0100

    dpkg: Refactor specific infodb traversal logic into their own functions
    
    This will allow further refactoring now that the infodb traversal code
    is the same eveyrwhere.

 src/processarc.c |   55 +++++++++++++++++++++++++++++++++++++++--------------
 src/querycmd.c   |   35 ++++++++++++++++-----------------
 src/remove.c     |   28 ++++++++++++++++++--------
 3 files changed, 76 insertions(+), 42 deletions(-)

commit ecd886da6390f9c10b8a36d27323f0bc570e97f3
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 2 06:33:06 2011 +0100

    dpkg: Refactor match_node allocation into new match_node_new()

 src/processarc.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

commit 7a79f5a1fafa0043e555cad4f2d0ed6d5c3098d4
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 26 17:58:07 2011 +0100

    dpkg: Refactor match_node deallocation into new match_node_free()

 src/processarc.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit 070dc94cfca122aba5b682db90292a6525119272
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 26 17:09:18 2011 +0100

    dpkg: Switch the rename_list logic to match_node
    
    Instead of directly preparing the arguments on traversal, store the
    information of the matched files, which we'll be acting on later in
    the code. This will allow for further refactoring.

 src/processarc.c |   51 +++++++++++++++++++++++++++------------------------
 1 files changed, 27 insertions(+), 24 deletions(-)

commit 9f7f2a958321d41725c0ae7f46c434fe4cbf3c6a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 25 00:21:46 2011 +0100

    dpkg: Refactor infodb file existence check into new pkg_infodb_has_file()

 src/Makefile.am |    1 +
 src/depcon.c    |   10 +++-------
 src/infodb.c    |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/infodb.h    |   30 ++++++++++++++++++++++++++++++
 src/remove.c    |   18 ++----------------
 5 files changed, 86 insertions(+), 23 deletions(-)

commit ae3500585ce59833e7b3094e1615fa273d7b8527
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 26 17:47:00 2011 +0100

    libdpkg: Make dir_sync() private

 lib/dpkg/dir.c            |    2 +-
 lib/dpkg/dir.h            |    1 -
 lib/dpkg/libdpkg.Versions |    1 -
 3 files changed, 1 insertions(+), 3 deletions(-)

commit ed250955ff45778f083091d3bf78cf172c3a35ad
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 26 17:45:41 2011 +0100

    dpkg: Sync and print the correct info database directory
    
    On unpack sync the info database directory instead of the temporary
    control information directory, and print the correct pathname on
    error instead of the last file acted on that directory.

 debian/changelog |    3 +++
 src/processarc.c |   12 ++++--------
 src/remove.c     |    6 ++----
 3 files changed, 9 insertions(+), 12 deletions(-)

commit d72022b1d3bbfe9871dab28d2db6ded7a268132e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 26 17:52:47 2011 +0100

    s-s-d: Do not unneedingly fsync() the pid file
    
    The pid file is a run-time resource, which will not be valid on reboot
    anyway. There's no need to guarantee its durability. But now that we are
    not checking for errors from flushing the stream, check them instead
    when closing it, which we should have been doing anyway.

 utils/start-stop-daemon.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

commit bf7b7023d4e67a82c71806cc65a5d83b0a2541f0
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 24 01:28:24 2011 +0100

    Fix dpkg maintainer scripts to honour DPKG_ADMINDIR if present
    
    This will allow the maintainer scripts to work properly if --admindir
    has been passed to dpkg. Fallback to using the default admindir in case
    we are being called from an old dpkg not setting the environment
    variable.

 debian/dpkg.lintian-overrides |    6 +++---
 debian/dpkg.postinst          |    2 +-
 debian/dpkg.preinst           |    3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

commit 0787286c1d4bc1d11e7670647e60c7eec0675fac
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 24 08:51:58 2011 +0100

    libdpkg: Rename string variables to str_start and str_end in parse_nv_next

 lib/dpkg/fields.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 01b03062de7945b1345115f4d31e51a4d18ccfa0
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 24 08:49:01 2011 +0100

    Rename namevalue variables to nv and nv_head

 lib/dpkg/fields.c |   12 ++++++------
 src/select.c      |    8 ++++----
 2 files changed, 10 insertions(+), 10 deletions(-)

commit 4f36d67a83687a7ecd10293c9e0d919050672d43
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 20 05:19:41 2011 +0100

    libdpkg: Refactor convert_string into parse_nv_next and parse_nv_last
    
    This clarifies the function name and its usage from the call sites, also
    avoids passing unneeded arguments.

 lib/dpkg/fields.c |   55 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 33 insertions(+), 22 deletions(-)

commit b3f669039f128d715ac7ac71abaeac86f0954112
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 20 01:46:59 2011 +0100

    libdpkg: Switch pri_other to be a fallback namevalue

 lib/dpkg/fields.c    |   16 +++++++---------
 lib/dpkg/parsehelp.c |    2 +-
 2 files changed, 8 insertions(+), 10 deletions(-)

commit 902cc15dc86797966ea09f66b26a433c7c85c64f
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 20 01:45:22 2011 +0100

    libdpkg: Add support for fallback namevalues
    
    This will allow to designate a namevalue entry as the fallback return
    value in case none of the rest did match.

 lib/dpkg/namevalue.c |   13 +++++++++----
 lib/dpkg/namevalue.h |    4 +++-
 2 files changed, 12 insertions(+), 5 deletions(-)

commit 21e9a2d3ce24bee668d1d108752c8d2fd6dc8f8b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 19:34:56 2011 +0100

    libdpkg: Use format precision instead of strnlen() in convert_string()

 lib/dpkg/fields.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit f1bccd4763343d0897db3361022fec8ab5411a34
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 24 10:15:47 2011 +0100

    Use varbuf_end_str() instead of ad-hoc varbuf_add_char() calls
    
    This allows the strings to be terminated, thus printable or accessed
    through the standard C string functions, and at the same time
    appendable.

 dpkg-deb/info.c         |    2 +-
 dpkg-split/split.c      |    2 +-
 lib/dpkg/dbmodify.c     |    2 +-
 lib/dpkg/dump.c         |    4 ++--
 lib/dpkg/fields.c       |    6 +++---
 lib/dpkg/parse.c        |    2 +-
 lib/dpkg/parsehelp.c    |    2 +-
 lib/dpkg/pkg-format.c   |    4 ++--
 lib/dpkg/trigdeferred.l |    2 +-
 lib/dpkg/triglib.c      |    2 +-
 lib/dpkg/varbuf.h       |    3 +--
 src/archives.c          |   20 ++++++++++----------
 src/configure.c         |   18 +++++++++---------
 src/depcon.c            |    4 ++--
 src/divertdb.c          |    2 +-
 src/enquiry.c           |    2 +-
 src/filesdb.c           |    2 +-
 src/help.c              |    4 ++--
 src/main.c              |    4 ++--
 src/packages.c          |    4 ++--
 src/processarc.c        |   20 ++++++++++----------
 src/querycmd.c          |    8 ++++----
 src/remove.c            |   22 +++++++++++-----------
 src/select.c            |    4 ++--
 src/statdb.c            |    2 +-
 src/trigproc.c          |    2 +-
 src/update.c            |    2 +-
 27 files changed, 75 insertions(+), 76 deletions(-)

commit 3ae09f975d9138de3c51359ef9ba0d7776a4cc86
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 09:28:55 2011 +0100

    libdpkg: Add new varbuf_end_str()

 lib/dpkg/libdpkg.Versions |    1 +
 lib/dpkg/varbuf.c         |    9 ++++++++-
 lib/dpkg/varbuf.h         |    3 ++-
 3 files changed, 11 insertions(+), 2 deletions(-)

commit 280ac914cc52ee5de079c0833bb1df5005c1e7ab
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 09:26:13 2011 +0100

    dpkg: Only copy already counted output lines from find
    
    Instead of appending two NUL characters to be able to track the end of
    the NUL terminated lines from find's output. Just handle the number of
    lines we have already counted previously.

 src/archives.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

commit de314a54d0214d0aa733aba18797ee4eed006e7e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 09:24:26 2011 +0100

    dpkg: Reduce local variable scope in archivefiles()

 src/archives.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

commit 173a6cb53258403f339ae090507cbb100b742604
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 06:12:15 2011 +0100

    libdpkg: Do not add a NUL char after varbuf_printf() calls
    
    The varbuf_printf() and varbuf_vprintf() already NUL terminate the
    string via the vsnprintf() calls. No need to do that again.

 lib/dpkg/log.c           |    1 -
 lib/dpkg/test/t-varbuf.c |    9 ++++-----
 lib/dpkg/triglib.c       |    1 -
 3 files changed, 4 insertions(+), 7 deletions(-)

commit 2449dcaa610b86221d914140a7e747728f5cc409
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 06:08:13 2011 +0100

    dpkg: Move varbuf related calls close together in setselections()
    
    It's easier to read if the varbuf calls affecting the same variable are
    close together, rather than dispersed around in the code.

 src/select.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

commit 18b52757ea38d896e57334ca83bf3c62e21795ed
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 05:17:52 2011 +0100

    Revert "libdpkg: Refactor varbuf_pkgadminfile() out from pkgadminfile()"
    
    This reverts commit bad18329473a306d59a9c35823e85fc964bbf724.
    
    The varbuf_pkgadminfile() function is not being used anymore.

 lib/dpkg/dbmodify.c       |   20 ++++++--------------
 lib/dpkg/dpkg-db.h        |    2 --
 lib/dpkg/libdpkg.Versions |    1 -
 3 files changed, 6 insertions(+), 17 deletions(-)

commit 869564af64bb745501ee4a22e2609b18ad60d34b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 19 05:13:59 2011 +0100

    dpkg: Use pkgadminfile() instead of varbuf_pkgadminfile()
    
    This simplifies the API, and unifies the different call sites, the
    extremely small performance penalty is irrelevant in these cases.

 src/filesdb.c |    9 +++++----
 src/remove.c  |   18 +++++++++++-------
 2 files changed, 16 insertions(+), 11 deletions(-)

commit 7e31262a6fa961d81cbe67138cb875c81e195711
Author: Andrea Gelmini <andrea.gelmini@gelma.net>
Date:   Sun Feb 20 22:28:44 2011 +0100

    libdpkg: Remove duplicate <stdio.h> include
    
    Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/path.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit f92a24f349082d51b702cd72f59edae005798c79
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 13 18:24:12 2010 +0200

    dpkg-architecture: Set DEB_HOST_ARCH and DEB_HOST_GNU_TYPE only once
    
    The variables are set initially once, and then possibly overriden by the
    user supplied arguments. Rearrange the code to set these only once.

 scripts/dpkg-architecture.pl |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

commit cc7ee6f7c0c2fd603c976391cba5fb42ddfe49c1
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Mon Feb 28 18:53:13 2011 -0600

    dpkg-maintscript-helper(1): dpkg only has to be unpacked for it to be usable
    
    Some packages use a pre-dependency to ensure a version of dpkg with
    dpkg-maintscript-helper is available by the time preinst is run.
    Clarify that "available" here means "unpacked", not configured, for
    some added peace of mind.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog              |    2 ++
 man/dpkg-maintscript-helper.1 |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit e02f4f5bba696d270b3b82158794f5859a09f507
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Mar 1 09:16:05 2011 +0100

    Add missing changelog entry
    
    This entry was meant to be integrated in commit
    c824c49b3fbbd61626031eeb10ae37782a994154.

 debian/changelog |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit c824c49b3fbbd61626031eeb10ae37782a994154
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Tue Mar 1 09:10:35 2011 +0100

    dpkg-buildflags: use CFLAGS="-g -O3" for building ppc64 packages on Ubuntu
    
    We're considering bringing up a ppc64 port of the Ubuntu server, and it
    appears to be best to build it with -O3 rather than -O2.  (I realise
    that this would be unusual in Debian and that there are more obstacles
    to this than just dpkg-buildflags, and I'd like to do this differently
    eventually, but this is where we are at the moment.)

 scripts/Dpkg/Vendor/Ubuntu.pm |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 4d5189f9746bbb7e4a37af95cb351c890ac90d38
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Wed Feb 16 19:42:36 2011 +0100

    German dpkg translation update
    
    Update to 1017t.

 debian/changelog |    1 +
 po/de.po         | 3164 ++++++++++++++++++++++++++++++------------------------
 2 files changed, 1767 insertions(+), 1398 deletions(-)

commit 385b464c99919eb403b5ef3a6cab6f34343f8f88
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Feb 12 18:26:23 2011 +0100

    Update German translation of manual pages
    
    Update to 2007t0f0u.

 man/po/de.po |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

commit 8889c01480269ccbe4e888ae830c5d24b12716db
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Feb 12 09:51:58 2011 +0100

    Update German translation of manual pages
    
    Update to 2006t0f1u.

 man/po/de.po |   98 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 50 insertions(+), 48 deletions(-)

commit 0ff1ba98ce2dd4d8268e4154b7173fab49657045
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 11 05:21:36 2011 +0100

    libdpkg: Rename cmdinfo arg members
    
    The current names are not descriptive enough, so rename parg to arg_ptr,
    farg to arg_func, and finally arg to arg_int (which disambiguates what
    kind of data it's holding).

 dpkg-deb/main.c   |    2 +-
 dpkg-split/main.c |    2 +-
 lib/dpkg/myopt.c  |    9 ++++++---
 lib/dpkg/myopt.h  |    7 ++++---
 src/archives.c    |    6 +++---
 src/cleanup.c     |    2 +-
 src/divertcmd.c   |    2 +-
 src/main.c        |   22 +++++++++++-----------
 src/packages.c    |   16 ++++++++--------
 src/processarc.c  |    5 +++--
 src/querycmd.c    |    8 ++++----
 src/remove.c      |    4 ++--
 src/statcmd.c     |    2 +-
 src/update.c      |   14 +++++++-------
 14 files changed, 53 insertions(+), 48 deletions(-)

commit 2718f03bc2bb26de0e18b7bbcb20ac02b24c0719
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 11 05:11:39 2011 +0100

    libdpkg: Rename function type from tar_func to tar_make_func
    
    This disambiguates the purpose of the function type.

 lib/dpkg/tarfn.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 97205c1bab2d5fd18e9dd33f5329db209b866634
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 5 10:24:45 2011 +0100

    dpkg: Automate force help output printing
    
    Move the force type (normal, default, dangerous) and force description
    to struct forceinfo, so that its printing can be automated.
    
    This has multiple purposes (similar to the debuginfo output automation);
    there's one less place to modify when adding a new force flag, the ouput
    is easier to modify w/o fuzzying the translated strings, it's easier for
    the translators to deal with new force flag additions.

 src/main.c |  128 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 76 insertions(+), 52 deletions(-)

commit 10960fcbe949640779ed5afaaaa5eb4e72897ff8
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 5 10:24:45 2011 +0100

    dpkg: Reduce the scope of a if/else in setforce()

 src/main.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit aa18c17889d55b09e71f402afb986b7c35390212
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 5 10:24:45 2011 +0100

    dpkg: Handle --force-all as any other force option
    
    Add an entry for "all" to forceinfos, so that the code paths are more
    clear on what each is doing. This will also make further refactoring
    easier.

 src/main.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 1a3d55e03561d4c53dd654026c7e64ce97c68219
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 5 05:44:59 2011 +0100

    dpkg: Fix typo in debug help output

 src/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fcfbce668169aecc332ffd0be9127dc8b9e0bd4e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 5 05:24:43 2011 +0100

    dpkg: Capitalize debug help output table titles

 man/dpkg.1 |    4 ++--
 src/main.c |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 166015ca54a3a5cfdbb49eaaee558be6fec329e8
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 5 05:18:33 2011 +0100

    dpkg: Automate debug help output printing
    
    Add a new array of struct debuginfo to hold debug flag information, so
    that it can be handled automatically.
    
    This has multiple purposes; it will guarantee the output value always
    matches the one defined in the code, there's one less place to modify
    when adding a new debug flag, the ouput is easier to modify w/o fuzzying
    the translated strings, it's easier for the translators to deal with new
    debug flag additions, it will not allow for the source reference name to
    be translated thus avoiding errors.

 src/main.c |   48 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 16 deletions(-)

commit 0d6e7bc21e645a49a85bd20ca73cdb08f12a9e4f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 20:15:17 2011 +0100

    dpkg: Refactor conflictor addition to a new push_conflictor() function
    
    Move the conflictor and cflict_index variables to processarc.c and
    make them static. And create a new push_conflictor() function to hide
    the implementation details. This fixes a warning on variable shadowing.

 src/archives.c   |   11 +----------
 src/archives.h   |    3 +--
 src/processarc.c |   14 ++++++++++++++
 3 files changed, 16 insertions(+), 12 deletions(-)

commit efa6e49193f7948de103bada19de40720a7774fb
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 19:45:01 2011 +0100

    dpkg: Use m_realloc() instead of free()+m_malloc() on process_archive()

 src/processarc.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit f1891335a4686a8859e4f77be1cd5d8061e0b56e
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 19:40:33 2011 +0100

    dpkg: Remove useless cidirbuf variable in process_archive()
    
    Remove cidirbuf and make cidir a static function scope variable.

 src/processarc.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

commit 194dce1ca37ab0047c0e0606c7e9ba80196d3d2c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 19:22:05 2011 +0100

    dpkg: Remove temporary variable admindirlen in process_archive()
    
    Inline the strlen() call instead of using the intermediate variable.

 src/processarc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 1baad8809039eb52113f2e647800cccf77168349
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 05:50:43 2011 +0100

    dselect: Switch to use libdpkg debug support

 dselect/basecmds.cc   |    2 +-
 dselect/baselist.cc   |   39 +++++++---------
 dselect/dselect.h     |    3 +-
 dselect/main.cc       |   13 ++++--
 dselect/methlist.cc   |   30 ++++++-------
 dselect/methparse.cc  |   50 ++++++++++----------
 dselect/pkgcmds.cc    |    4 +-
 dselect/pkgdepcon.cc  |  117 +++++++++++++++++++++++--------------------------
 dselect/pkgdisplay.cc |    2 +-
 dselect/pkginfo.cc    |   17 +++----
 dselect/pkglist.cc    |  109 ++++++++++++++++++++++------------------------
 dselect/pkgsublist.cc |   44 +++++++++---------
 12 files changed, 208 insertions(+), 222 deletions(-)

commit 5e7235bf69f016a1ade715c4a6be3a40d2cde4b5
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 04:26:37 2011 +0100

    Move and generalize debug API from dpkg to libdpkg

 lib/dpkg/Makefile.am      |    2 +
 lib/dpkg/debug.c          |   84 +++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/debug.h          |   54 +++++++++++++++++++++++++++++
 lib/dpkg/libdpkg.Versions |    5 +++
 src/depcon.c              |    2 +-
 src/help.c                |   13 +------
 src/main.c                |    6 ++-
 src/main.h                |   19 +----------
 8 files changed, 152 insertions(+), 33 deletions(-)

commit 469c5fa91e12fdded4e4c6f7131a965e889d5b18
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 00:41:26 2011 +0100

    dpkg: Always call pkg_has_postrm_script() in removal_bulk()
    
    Instead of letting removal_bulk_remove_files() tell the caller it has
    found a postrm script in its branch and calling pkg_has_postrm_script()
    on the other, just unconditionally call it always.
    
    This removes the need to pass back the value via out_foundpostrm, which
    makes further refactoring slightly more convoluted.

 src/remove.c |   17 ++++++-----------
 1 files changed, 6 insertions(+), 11 deletions(-)

commit 355d2c2aa6a2fb906e915bcfee77108c2ab0c163
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 00:40:20 2011 +0100

    dpkg: Refactor out pkg_has_postrm_script() from removal_bulk()

 src/remove.c |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

commit 2fe2563ee3f2f63b05b6e76c658ea989bc4925fd
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 3 17:37:31 2011 +0100

    dpkg: Use varbuf_pkgadminfile() instead of manually building the path

 src/filesdb.c |    6 +-----
 src/remove.c  |   13 ++-----------
 2 files changed, 3 insertions(+), 16 deletions(-)

commit bad18329473a306d59a9c35823e85fc964bbf724
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 3 17:37:31 2011 +0100

    libdpkg: Refactor varbuf_pkgadminfile() out from pkgadminfile()

 lib/dpkg/dbmodify.c       |   20 ++++++++++++++------
 lib/dpkg/dpkg-db.h        |    2 ++
 lib/dpkg/libdpkg.Versions |    1 +
 3 files changed, 17 insertions(+), 6 deletions(-)

commit 9c152b641835b3d5c074215dffd2d47f4e4340cd
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Feb 8 17:03:53 2011 +0100

    Update German translation of manual pages
    
    Update to 2006t0f1u.

 man/po/de.po |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 deletions(-)

commit aacb1f1ec9aab9378fab10fb832a4337fb7852c4
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Mon Feb 7 06:33:28 2011 +0100

    On install for Ubuntu adjust the i386 GNU cpu name in cputable
    
    Ubuntu builds their i386 architecture for i686 instead of i486 like
    Debian does. This change helps them use an unmodified upstream source.
    
    This should be considered a temporary measure until a better, more
    generic implementation comes up, or is required for other derivatives,
    but for now this will do.
    
    Closes: #611741
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    2 ++
 debian/rules     |    7 +++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

commit d09ad2efd0b93bb69eb6dd74f643717f6fe35242
Author: Robert Millan <rmh@debian.org>
Date:   Sun Feb 6 21:31:52 2011 +0100

    libcompat: Add missing semicolon to vsnprintf() declaration
    
    This makes the build fail on systems where vsnprintf() is missing or
    not compliant enough, and thus the fallback is being used.
    
    Closes: #612203
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog    |    2 ++
 lib/compat/compat.h |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit da5fceca72b4c67be8acdb0734dbf7c241519dff
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 4 18:59:00 2011 +0100

    dpkg: Do not segfault on “dpkg -i --no-act”
    
    mkdtemp() takes the string allocated by path_make_temp_template() and
    modifies it, but there's not enough allocated room for the subsequent
    string appends done starting from cidirrest, for the control files.
    
    Regression introduced in commit ffccc65580189420a0a64736bba0fb661de56dcb.

 debian/changelog |    1 +
 src/processarc.c |   11 +++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

commit b83cc7d551c9aeed7bada926e2e3b3d9fc5c9140
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 3 00:05:23 2011 +0100

    libcompat: Define gettext context functions when NLS is disabled
    
    When the package is configured with NLS disabled (--disable-nls),
    the build will fail due to undefined references to LC_MESSAGES, the
    gettext.h header file does not correctly handle the gettext context
    related function declarations on disabled NLS support, which is known
    to be used by downstreams. This adds all missing macros corresponding
    to their NLS enabled counterparts.

 debian/changelog     |    1 +
 lib/compat/gettext.h |   32 ++++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 0 deletions(-)

commit 61a3cb189063139c8562b2fddc65de0c9996fd8f
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Feb 2 23:02:20 2011 +0100

    Update German translation of manual pages
    
    Update to 1996t0f11u.

 man/po/de.add |    2 +-
 man/po/de.po  | 1155 ++++++++++++++++++++++++++++++++++++++++++++-------------
 2 files changed, 899 insertions(+), 258 deletions(-)

commit 18ac5167655f3db8a0c2c8a9a8fd338d6b5daa81
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Feb 1 05:03:59 2011 +0100

    dpkg: Document packages w/o Architecture field need --force-architecture
    
    The commit 58e7276b69be105735eccb3c18c2b28d3a2ec2e5 didn't explicitly
    document this behavioural change, do so now.

 debian/changelog |    2 ++
 man/dpkg.1       |    2 +-
 src/main.c       |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

commit 3ce597a4c62157f6955101d16db198db4afd4259
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Feb 1 04:45:24 2011 +0100

    Revert "Fix installation of packages without architecture field"
    
    This reverts commit 13637ddfaf473fa5fd67264da9f38841eeed7401.
    
    The changes in commit 58e7276b69be105735eccb3c18c2b28d3a2ec2e5 were
    intentional, supported here meant (although the commit did not
    document this properly) that the non-compliant package can still be
    installed, although --force-architecture is now required.

 src/processarc.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit f3496dc24f98cea0e1da3c812e8c728c45875f48
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 31 19:17:35 2011 +0100

    libdpkg: Do not print bogus warnings when parsing status files
    
    This is the equivalent fix in spirit as the one in commit
    672b0664cbb8fd7fd5eea7ab10af1bbf6871833f, but applied to the
    Architecture field instead.
    
    Reported-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog |    3 ++-
 lib/dpkg/parse.c |    9 +++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

commit 13637ddfaf473fa5fd67264da9f38841eeed7401
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 31 15:06:14 2011 +0100

    Fix installation of packages without architecture field
    
    Refactoring done in commit 58e7276b69be105735eccb3c18c2b28d3a2ec2e5
    introduced a regression: a package without an architecture field
    can no longer be installed without --force-architecture.

 src/processarc.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 58e7276b69be105735eccb3c18c2b28d3a2ec2e5
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 31 10:11:56 2011 +0100

    libdpkg: Ensure parsed packages have a usable arch member
    
    In case the package didn't have an Architecture field, warn and
    initialize it to an empty string, so that it can be safely used for
    string comparisons, printing, etc.
    
    This fixes a potential segfault when setting the environment variable
    DPKG_MAINTSCRIPT_ARCH from a package w/o an Architecture field, which
    are a thing from the distant past, but still should be supported.

 debian/changelog |    2 ++
 dpkg-deb/build.c |    6 +++---
 lib/dpkg/parse.c |    6 ++++--
 src/processarc.c |    3 +--
 4 files changed, 10 insertions(+), 7 deletions(-)

commit c48475458415335c8969a11cea22ba87045c2cf3
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 31 07:24:50 2011 +0100

    dpkg: Rename arch variable to native_arch
    
    This disambiguates the usage and avoids unneeded shadowing.

 src/enquiry.c    |    2 +-
 src/main.c       |    2 +-
 src/main.h       |    2 +-
 src/processarc.c |    4 ++--
 4 files changed, 5 insertions(+), 5 deletions(-)

commit 1466cd10e8c551fcb670f8785ef39abafc66d996
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 31 07:36:56 2011 +0100

    libdpkg: Add type documentation to struct pkginfo

 lib/dpkg/dpkg-db.h |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 694b4b5aded077b43abd4e0cf5a81c7040899a24
Merge: eedb20c 5f52c08
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 31 06:33:01 2011 +0100

    Merge branch 'squeeze' (through tag '1.15.8.10')
    
    Conflicts:
    	debian/changelog

commit eedb20c17071efd92112edf60f74f9f637b4aaed
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 29 06:19:28 2011 +0100

    libdpkg: Change new_pkg to be a pointer in parsedb()
    
    This way all variables are handled the same.

 lib/dpkg/parse.c |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 deletions(-)

commit da34b9f70ed071f12efdf48a0579aea3e14cc0b2
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 29 06:16:28 2011 +0100

    libdpkg: Rename newpig/newpifp to new_pkg/new_pkgbin in parsedb()
    
    The names better match reality, and describe this is the new package
    information being parsed. The previous usage was slightly confusing.

 lib/dpkg/parse.c |   38 +++++++++++++++++++++-----------------
 1 files changed, 21 insertions(+), 17 deletions(-)

commit 6b7ea85f6c109b241febc5ff3c2bdcad55f9fb4e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 29 06:10:22 2011 +0100

    libdpkg: Rename pigp/pifp to db_pkg/db_pkgbin in parsedb()
    
    The names better match reality, and describe this is package information
    coming from the database. The previous usage was slightly confusing.

 lib/dpkg/parse.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

commit df219a607282614168b6d19423d57bb902021f34
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 29 05:59:09 2011 +0100

    Rename architecture variables to arch
    
    The “arch” name is unambiguous in this context, and as we are going to
    be using it more often, let's avoid unnecessary typing.

 dpkg-deb/build.c    |    2 +-
 lib/dpkg/database.c |    2 +-
 lib/dpkg/dpkg-db.h  |    2 +-
 lib/dpkg/parse.c    |    4 ++--
 src/enquiry.c       |    2 +-
 src/help.c          |    2 +-
 src/main.c          |    2 +-
 src/main.h          |    2 +-
 src/processarc.c    |   10 +++++-----
 9 files changed, 14 insertions(+), 14 deletions(-)

commit 44e022a801e0b5720a6e8d6887788ebf15b9995f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 20 18:41:09 2011 +0100

    Use pid instead of c1 for variable name

 dpkg-deb/extract.c |    8 ++++----
 dpkg-deb/info.c    |    8 ++++----
 dselect/method.cc  |    8 ++++----
 src/archives.c     |    9 +++++----
 src/help.c         |   17 +++++++++--------
 src/processarc.c   |   15 ++++++++-------
 6 files changed, 34 insertions(+), 31 deletions(-)

commit ad95ee210312c38c12c6054e13dd45c1a8ff1c6c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 20 18:26:26 2011 +0100

    dselect: Use subproc_check in falliblesubprocess instead of ad-hoc code

 dselect/method.cc |   20 +++-----------------
 1 files changed, 3 insertions(+), 17 deletions(-)

commit ef339f3715418ddaabb7923a7d5157f522687954
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 29 05:52:30 2011 +0100

    libdpkg: Improve subprocess signal handling in subproc_check()
    
    Explicitly handle user interruption, which should be slightly more
    helpful for the user and will allow to use subproc_check() in dselect's
    falliblesubprocess(). Improve too the output strings.

 lib/dpkg/subproc.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit 88e1cf242fbaf9c347099656d34ae50750e5e2a1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 20 18:23:02 2011 +0100

    libdpkg: Warn too on unknown status in subproc_check() if PROCWARN
    
    We were erroring out even if the caller specified PROCWARN, so handle
    this error case too.

 lib/dpkg/subproc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e61824e3e7d37d0b4fcf1e2128b709292a0867cb
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 20 18:21:38 2011 +0100

    libdpkg: Refactor error output into a function variable in subproc_check()
    
    This deduplicates two sets of identical strings.

 lib/dpkg/subproc.c |   25 +++++++++++--------------
 1 files changed, 11 insertions(+), 14 deletions(-)

commit 5f2e95ef39658991aade7b2357978c713bad7cae
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 20 18:16:56 2011 +0100

    Update usertags

 debian/usertags |   81 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 49 insertions(+), 32 deletions(-)

commit 5f52c08852c672e48ca67ccddb17c83c8d1f9fe8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 30 20:29:05 2011 +0100

    Release 1.15.8.10

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 19a571d40fdb3cdbff8ea3910aaafdcf706a1892
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 30 19:14:37 2011 +0100

    u-a: Fix segfault in --auto on link groups with only dangling symlinks
    
    All the invalid alternative entries will get removed so it might happen
    that the link group ends up empty. Handle that explicitly on --auto.
    
    Closes: #611545

 debian/changelog            |    7 +++++++
 utils/update-alternatives.c |    6 +++++-
 2 files changed, 12 insertions(+), 1 deletions(-)

commit 3a6f1b5c30c88bf90e191f891c9aa015a8235cac
Merge: ec2ebca 6bdf65b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 28 08:49:55 2011 +0100

    Merge commit '1.15.8.9'

commit 6bdf65bafdc6b25ffd1cae27b6860d84e56823a1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 28 08:21:19 2011 +0100

    Release 1.15.8.9

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit be8b9f2dd6bc959ec605bf01e372c8089079aad9
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 28 08:18:30 2011 +0100

    Drop install-info related Breaks for emacs and jed related packages
    
    For jed, the breaks has been rendered useless as the maintainers dropped
    the install-info dependencies anyway.
    
    For emacs, Sven Joachim reported similar problems as with Konqueror.

 debian/changelog |    3 +++
 debian/control   |    6 +-----
 2 files changed, 4 insertions(+), 5 deletions(-)

commit 38b959b27a115363307afa1980ad691ab5768986
Author: Stan Ioan-Eugen <stan.ieugen@gmail.com>
Date:   Tue Jan 25 14:14:53 2011 +0100

    Update Romanian dpkg translation

 debian/changelog |    1 +
 po/ro.po         |   21 +++++++++++++--------
 2 files changed, 14 insertions(+), 8 deletions(-)

commit f589a03c6fcd9360d00cb4b084d55704c3c8746f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 24 20:43:13 2011 +0100

    debian/control: drop Breaks on konqueror
    
    With this Breaks, "apt-get install udev" that is recommended at the start
    of a lenny->squeeze upgrade might remove the kde metapackage. This is
    due to udev needing a new util-linux that itself needs a newer dpkg (due
    to the install-info transition).
    
    In contrast, the lack of the Breaks has very minimal consequences: partial
    upgrades might not install install-info and in that case konqueror might
    show an outdated list of info pages.

 debian/changelog |    5 +++++
 debian/control   |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit f80dec4bf15c6349d09cb0773ab22e309af853e7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 24 20:25:52 2011 +0100

    Start new changelog entry
    
    Integrate changelog entry that got added to the previous changelog entry
    for an already released version.

 debian/changelog |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

commit fd7a65e7aa5a4f489138127c99b830b17adb4b02
Author: Jordi Mallach <jordi@debian.org>
Date:   Sat Jan 22 14:04:50 2011 +0100

    Remove space before "…" in several Catalan strings (Jordi  Mallach).

 debian/changelog |    3 +++
 po/ca.po         |   44 ++++++++++++++++++++++----------------------
 2 files changed, 25 insertions(+), 22 deletions(-)

commit ec2ebca2e2b35589b60a04980e464134c3b85f5c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 21 13:33:33 2011 +0100

    Update triggers documentation to match reality
    
    - The list of triggers is in the second parameter and not in the third.
    - The --verbose and --query options for dpkg-trigger have never been
      implemented.

 doc/triggers.txt |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit 7b561513784490d08c0f890ba58a1a2aa63cf62b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 16 07:23:41 2011 +0100

    dpkg-query: Use ohshit() for not installed package in --control-path
    
    The use of badusage() here is not appropriate.

 src/querycmd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 626560b31133376bfb5593770b2ee1fc83931c29
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 16 07:21:17 2011 +0100

    dpkg: Do not fail when trying to remove the root directory
    
    This will happen when removing the last package from an installation,
    which does never happen on normal conditions on Debian-based systems.
    But it can happen either on other distributions where dpkg is a foreign
    package manager, or on test databases.

 debian/changelog |    3 +++
 src/remove.c     |   10 ++++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

commit e63e1fa4a4afdf98847f13f2506a0aeea68c33c7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 16 06:59:55 2011 +0100

    Propagate --admindir to programs run from maintainer scripts
    
    Always set DPKG_ADMINDIR from dpkg so that all subprocesses inherit
    the variable and there's no possible security risk from a user process
    setting the variable to write onto a user controlled area.
    
    As usual, the order in which the admindir value is overridden is the
    following: built-in default, environment variable and command line
    option.
    
    Closes: #97076
    
    Suggested-by: Brendan O'Dea <bod@debian.org>

 TODO                        |    2 --
 debian/changelog            |    2 ++
 lib/dpkg/dbmodify.c         |   12 ++++++++++++
 lib/dpkg/dpkg-db.h          |    1 +
 man/dpkg-divert.8           |    4 ++++
 man/dpkg-query.1            |    4 ++++
 man/dpkg-statoverride.8     |    6 ++++++
 man/dpkg-trigger.1          |    6 ++++++
 man/update-alternatives.8   |    6 ++++++
 src/divertcmd.c             |    4 +++-
 src/main.c                  |   13 ++++---------
 src/querycmd.c              |    4 +++-
 src/statcmd.c               |    4 +++-
 src/trigcmd.c               |    4 +++-
 utils/update-alternatives.c |   21 ++++++++++++++++++++-
 15 files changed, 77 insertions(+), 16 deletions(-)

commit 76ed5f9ff43b1c803098ffd15843b9acc721608e
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 16 06:31:08 2011 +0100

    Use string literals instead of macros for environment variable names
    
    The environment variable names are part of the exposed API, and as such
    would need a transition plan in case of name change. Inline the macro
    values to ease code reading.

 lib/dpkg/command.c |    2 +-
 lib/dpkg/dpkg.h    |    7 -------
 src/configure.c    |    2 +-
 src/divertcmd.c    |    2 +-
 src/help.c         |    8 ++++----
 src/trigcmd.c      |    2 +-
 6 files changed, 8 insertions(+), 15 deletions(-)

commit 7dc8ca8a270b5970f6571b4d357a1208d7b98bbf
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 16 06:23:36 2011 +0100

    build: Do not set MKSPLITSCRIPT CPP macro
    
    Not needed anymore since the rewrite in C of mksplit.
    
    Missed in commit f2115151c19ff37b305296c23225807b0832086b.

 dpkg-split/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f528030583d6059fa60ae02da187e39be1fd974c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 15 16:57:37 2011 +0100

    dpkg: Change wanttoinstall() return type from int to bool

 src/archives.c |   24 ++++++++++++------------
 src/main.h     |    2 +-
 2 files changed, 13 insertions(+), 13 deletions(-)

commit f114b567ddcd92f9fad094b9f3ca1280affc31a9
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 15 16:53:32 2011 +0100

    dpkg: Fix wanttoinstall() to use the new version from pkg->available
    
    The code was mixing usages of the argument ver, with printing from
    pkg->available.version, which is rather confusing. Just use the
    available and installed pkg members instead.
    
    This also will guarantee we'll never get a NULL version.

 src/archives.c   |   12 +++++-------
 src/main.h       |    2 +-
 src/processarc.c |    2 +-
 3 files changed, 7 insertions(+), 9 deletions(-)

commit 3133aae67ee9e4f693a121b9578bffc0e0fa8469
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 15 16:42:39 2011 +0100

    dpkg: Always say why in wanttoinstall()
    
    There's just one caller and it always requests to say why we are
    installing. So remove this unneeded logic.

 src/archives.c   |   46 +++++++++++++++++++---------------------------
 src/main.h       |    3 +--
 src/processarc.c |    2 +-
 3 files changed, 21 insertions(+), 30 deletions(-)

commit acb03dc669957b3e4f4412bc53bd201a1bfe528b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 15 07:00:26 2011 +0100

    Add spelling fix for jfs@debian.org to .mailmap

 .mailmap |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f938e6fd12238e43cfb02540794739097c9e1530
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 18:03:52 2011 +0100

    libdpkg: Use a varbuf for the field_state value
    
    This should reduce the amount of m_realloc() calls done when parsing,
    as the varbuf keeps track of the memory allocated and does not alternate
    reducing and growing the buffer unnecessarily.
    
    It might allow in the future to avoid copying around the field value
    string just to be able to append a NUL character.

 lib/dpkg/parse.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 5f2b4a46326738154bdd47df91b3e110c55ebd28
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 18:00:57 2011 +0100

    libdpkg: Move field matching into for (;;) bodies in pkg_parse_field()
    
    The current code is performing the field matching in the for (;;)
    conditional, which implies and empty for (;;) body and needs inverted
    logic to work. Move the matching into the body as that's the more
    natural place for it to be and easier to read.

 lib/dpkg/parse.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

commit 36d762414b7f244a4846443644e4d2e64c71a58a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 07:43:04 2011 +0100

    libdpkg: Refactor pkg_parse_field() out from parsedb()

 lib/dpkg/parse.c |  144 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 84 insertions(+), 60 deletions(-)

commit 58df02f9d39c1e7b1c7f49026a649f125b87140d
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 07:12:51 2011 +0100

    libdpkg: Refactor pkg_parse_copy() out from parsedb()

 lib/dpkg/parse.c |  100 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 57 insertions(+), 43 deletions(-)

commit 055ca895b3de26c117bd619785cf05580c9dcc55
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 06:56:12 2011 +0100

    libdpkg: Reduce variable scope in parsedb()

 lib/dpkg/parse.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

commit 280f4a55b649035ae72093c80edc91289594e111
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 06:49:33 2011 +0100

    libdpkg: Refactor pkg_parse_verify() out from parsedb()

 lib/dpkg/parse.c |  167 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 87 insertions(+), 80 deletions(-)

commit ca8a4bace2c59618aa78a488dbd0b3096009850d
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 06:02:26 2011 +0100

    Update TODO list

 TODO |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

commit de553e274645c58b1b45197d962da15e72c1e24c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 01:10:00 2011 +0100

    Rename struct pkginfoperfile to struct pkgbin

 dselect/pkgdepcon.cc      |   13 +++--
 dselect/pkglist.cc        |    2 +-
 dselect/pkglist.h         |    2 +-
 dselect/pkgtop.cc         |    2 +-
 lib/dpkg/database.c       |    8 ++--
 lib/dpkg/dpkg-db.h        |   25 ++++++----
 lib/dpkg/dump.c           |  114 ++++++++++++++++++++++++++++-----------------
 lib/dpkg/fields.c         |   94 +++++++++++++++++++++++--------------
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/parse.c          |    8 ++--
 lib/dpkg/parsedump.h      |    6 +-
 lib/dpkg/pkg-format.c     |    2 +-
 lib/dpkg/pkg-format.h     |    2 +-
 lib/dpkg/vercmp.c         |    2 +-
 src/archives.c            |    4 +-
 src/cleanup.c             |    2 +-
 src/help.c                |    2 +-
 src/processarc.c          |    2 +-
 src/remove.c              |    2 +-
 19 files changed, 177 insertions(+), 117 deletions(-)

commit 2276c6a59c80a0d2558b349203310bb833bdd909
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 14 01:04:32 2011 +0100

    dselect: Remove i2info() declaration w/o matching definition

 dselect/pkglist.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 21306c4f9e47c1e77c23ae81ce42eb1cf8d2b962
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 13 03:58:15 2009 +0100

    dpkg: Refactor package authentication into deb_verify()

 src/processarc.c |   59 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 35 insertions(+), 24 deletions(-)

commit a6d7d484b5fc140aa4471535690e734900d1e4a6
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 13 03:56:53 2009 +0100

    dpkg: Refactor reassembling a split package into deb_reassemble()

 src/processarc.c |   81 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 48 insertions(+), 33 deletions(-)

commit f4b0dd0456af74edea2f117423e4b2a9959e8e59
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 12 01:24:58 2011 +0100

    Use m_asprintf() instead varbuf_printf() for one-off strings
    
    When the string is only created once, used several times and then
    freed, there's no much point in using a varbuf instead of the simpler
    m_asprintf(). The former needs more state and makes using the string
    slightly more cumbersome. Using m_asprintf() should be slightly faster
    too, but not significantly enough to justify this change by itself.

 dpkg-deb/build.c    |   20 ++++++++--------
 dpkg-split/split.c  |   11 ++++-----
 lib/dpkg/dbmodify.c |   12 +++++-----
 lib/dpkg/dir.c      |   15 ++++++-------
 lib/dpkg/path.c     |    8 +++---
 lib/dpkg/triglib.c  |   12 +++++-----
 src/divertcmd.c     |   58 ++++++++++++++++++++++++--------------------------
 7 files changed, 66 insertions(+), 70 deletions(-)

commit 881d62b236b52c35a367c49c3737c2b4dfdb7ede
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 12 01:20:08 2011 +0100

    Use m_asprintf() instead of building the strings piece by piece
    
    This is way more compact, the strings are for temporary values, and the
    minimal possible performance difference does not matter here.

 src/statcmd.c |   38 ++++++++++++++------------------------
 1 files changed, 14 insertions(+), 24 deletions(-)

commit 76a6ebe12c5fe1d8199ca4072915118197e6b98a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 12 00:28:55 2011 +0100

    Use m_asprintf() instead of nfmalloc() and string operations
    
    This avoid the need to know the resulting string length beforehand, and
    makes sure it's always going to get the right size. It also makes the
    code way clearer.
    
    Usage of nfmalloc() here was not appropriate anyway, as the variables
    are only of temporary use, so switching to normal allocation gives
    a side-effect “bug” fix.

 dpkg-split/queue.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

commit 6185545a7936478f8b2cce7153d7e880b3b5df5b
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 12 00:27:11 2011 +0100

    Use m_asprintf() instead of m_malloc() and string operations
    
    This avoid the need to know the resulting string length beforehand, and
    makes sure it's always going to get the right size. It also makes the
    code way clearer.

 lib/dpkg/dbmodify.c |    9 ++-------
 lib/dpkg/dump.c     |    6 ++----
 lib/dpkg/myopt.c    |   23 +++++++----------------
 lib/dpkg/tarfn.c    |    6 ++----
 src/archives.c      |    5 ++---
 src/main.c          |   10 +++-------
 src/processarc.c    |    7 ++-----
 7 files changed, 20 insertions(+), 46 deletions(-)

commit d9be477d0f0b17b61c8dbc40457d1b500c90035f
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jan 11 22:26:33 2011 +0100

    libdpkg: Call va_end() just after vsnprintf() in parse_db_version()
    
    No need to leak in case of recoverable error.

 lib/dpkg/parsehelp.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 38a86e06fd459cb94f75dd0370cac3e04cdff685
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jan 11 22:04:31 2011 +0100

    libdpkg: Add new m_asprintf() function

 lib/dpkg/dpkg.h           |    1 +
 lib/dpkg/libdpkg.Versions |    1 +
 lib/dpkg/mlib.c           |   18 ++++++++++++++++++
 3 files changed, 20 insertions(+), 0 deletions(-)

commit 795d07d2f773bd05d23d5f25bf1334bd0f3d4fb5
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 20:51:13 2011 +0100

    libdpkg: Rename varbufvprintf() to varbuf_vprintf()
    
    Make the varbuf API a bit more consistent.

 lib/dpkg/buffer.c         |    2 +-
 lib/dpkg/compress.c       |    4 ++--
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/log.c            |    4 ++--
 lib/dpkg/varbuf.c         |    4 ++--
 lib/dpkg/varbuf.h         |    2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

commit af47d0660e1c1771999e64e4b54e97031c345053
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 20:46:18 2011 +0100

    libdpkg: Rename varbufprintf() to varbuf_printf()
    
    Make the varbuf API a bit more consistent.

 dpkg-deb/build.c          |   16 +++++-----
 dpkg-split/split.c        |   20 ++++++------
 lib/dpkg/dbmodify.c       |    2 +-
 lib/dpkg/dir.c            |    2 +-
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/parsehelp.c      |    2 +-
 lib/dpkg/path.c           |    2 +-
 lib/dpkg/pkg-format.c     |    6 ++--
 lib/dpkg/test/t-varbuf.c  |    6 ++--
 lib/dpkg/triglib.c        |    6 ++--
 lib/dpkg/varbuf.c         |    4 ++-
 lib/dpkg/varbuf.h         |    2 +-
 src/depcon.c              |    2 +-
 src/divertcmd.c           |   32 ++++++++++----------
 src/packages.c            |   71 +++++++++++++++++++++-----------------------
 15 files changed, 87 insertions(+), 88 deletions(-)

commit 66b316d08a64b8f5e64f53d71e267024fb2f6884
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 17:06:25 2011 +0100

    libdpkg: Rename varbufaddbuf() to varbuf_add_buf()
    
    Make the varbuf API a bit more consistent.

 lib/dpkg/buffer.c         |    2 +-
 lib/dpkg/fields.c         |    6 +++---
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/pkg-format.c     |    2 +-
 lib/dpkg/test/t-varbuf.c  |   12 ++++++------
 lib/dpkg/varbuf.c         |    2 +-
 lib/dpkg/varbuf.h         |    4 ++--
 src/archives.c            |    2 +-
 src/configure.c           |    2 +-
 src/help.c                |    2 +-
 10 files changed, 18 insertions(+), 18 deletions(-)

commit 91c3515c2444483633e0bb52ae575775c3765230
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 15:40:34 2011 +0100

    libdpkg: Rename varbufaddstr() to varbuf_add_str()
    
    Make the varbuf API a bit more consistent.

 dpkg-deb/info.c         |    4 +-
 lib/dpkg/dbmodify.c     |    6 ++--
 lib/dpkg/dump.c         |   93 ++++++++++++++++++++++++++---------------------
 lib/dpkg/parsehelp.c    |    5 ++-
 lib/dpkg/trigdeferred.l |    4 +-
 lib/dpkg/triglib.c      |    4 +-
 lib/dpkg/varbuf.h       |    4 +-
 src/archives.c          |   26 +++++++-------
 src/configure.c         |   10 +++---
 src/depcon.c            |   18 +++++-----
 src/divertdb.c          |    4 +-
 src/filesdb.c           |   10 +++---
 src/help.c              |    4 +-
 src/packages.c          |   12 +++---
 src/processarc.c        |   18 +++++-----
 src/querycmd.c          |    8 ++--
 src/remove.c            |   28 +++++++-------
 src/statcmd.c           |   12 +++---
 src/statdb.c            |    4 +-
 src/trigproc.c          |    2 +-
 src/update.c            |    4 +-
 21 files changed, 146 insertions(+), 134 deletions(-)

commit 064d5f21ab0a97538b9a3d85056dd0c77e46ffba
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 15:28:46 2011 +0100

    libdpkg: Rename varbufaddc() to varbuf_add_char()
    
    Make the varbuf API a bit more consistent.

 dpkg-deb/info.c           |    4 +-
 dpkg-split/split.c        |    2 +-
 lib/dpkg/dbmodify.c       |    4 +-
 lib/dpkg/dump.c           |   60 +++++++++++++++++++++++++-------------------
 lib/dpkg/fields.c         |    6 ++--
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/log.c            |    4 +-
 lib/dpkg/parsehelp.c      |    4 +-
 lib/dpkg/pkg-format.c     |    4 +-
 lib/dpkg/test/t-varbuf.c  |   12 ++++----
 lib/dpkg/trigdeferred.l   |    2 +-
 lib/dpkg/triglib.c        |    4 +-
 lib/dpkg/varbuf.c         |    2 +-
 lib/dpkg/varbuf.h         |    6 ++--
 src/archives.c            |   38 +++++++++++++++------------
 src/configure.c           |   16 ++++++------
 src/depcon.c              |    8 +++---
 src/divertdb.c            |    2 +-
 src/enquiry.c             |    2 +-
 src/filesdb.c             |    4 +-
 src/help.c                |    8 +++---
 src/main.c                |    4 +-
 src/packages.c            |    4 +-
 src/processarc.c          |   22 ++++++++--------
 src/querycmd.c            |   12 ++++----
 src/remove.c              |   27 ++++++++++---------
 src/select.c              |    8 +++---
 src/statcmd.c             |    6 ++--
 src/statdb.c              |    2 +-
 src/trigproc.c            |    4 +-
 src/update.c              |    2 +-
 31 files changed, 149 insertions(+), 136 deletions(-)

commit 559d66ec3f4a649e65cc87dc6bea708c9289c1ff
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 15:12:42 2011 +0100

    libdpkg: Rename varbufdupc() to varbuf_dup_char()
    
    Make the varbuf API a bit more consistent.

 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/test/t-varbuf.c  |    8 ++++----
 lib/dpkg/varbuf.c         |    2 +-
 lib/dpkg/varbuf.h         |    2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

commit d5c59894cca3f776c68e499aaea1d697d2d1afd2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 15:07:46 2011 +0100

    libdpkg: Rename varbufsubstc() to varbuf_map_char()
    
    Make the varbuf API a bit more consistent.

 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/log.c            |    2 +-
 lib/dpkg/test/t-varbuf.c  |    6 +++---
 lib/dpkg/varbuf.c         |    2 +-
 lib/dpkg/varbuf.h         |    2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

commit 4ea08bff42040d7e1c623c393d00946ddd943557
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 14:56:56 2011 +0100

    libdpkg: Rename varbufreset() to varbuf_reset()
    
    Make the varbuf API a bit more consistent.

 dpkg-deb/build.c          |    6 +++---
 dpkg-deb/info.c           |    2 +-
 dpkg-split/split.c        |    8 ++++----
 lib/dpkg/dbmodify.c       |    4 ++--
 lib/dpkg/dump.c           |    2 +-
 lib/dpkg/fields.c         |    6 +++---
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/log.c            |    4 ++--
 lib/dpkg/parsehelp.c      |    2 +-
 lib/dpkg/pkg-format.c     |    4 ++--
 lib/dpkg/test/t-varbuf.c  |    4 ++--
 lib/dpkg/trigdeferred.l   |    2 +-
 lib/dpkg/triglib.c        |    4 ++--
 lib/dpkg/varbuf.c         |    4 +++-
 lib/dpkg/varbuf.h         |    2 +-
 src/archives.c            |   14 +++++++-------
 src/configure.c           |    8 ++++----
 src/depcon.c              |    2 +-
 src/divertcmd.c           |    4 ++--
 src/divertdb.c            |    2 +-
 src/enquiry.c             |    2 +-
 src/filesdb.c             |    4 ++--
 src/help.c                |    2 +-
 src/main.c                |    2 +-
 src/packages.c            |    2 +-
 src/processarc.c          |    6 +++---
 src/querycmd.c            |    4 ++--
 src/remove.c              |   12 ++++++------
 src/select.c              |    4 ++--
 src/statdb.c              |    2 +-
 src/trigproc.c            |    2 +-
 31 files changed, 65 insertions(+), 63 deletions(-)

commit 496dc81c1fadbb57092cfd5e2b42ddb9201020ce
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 10 14:50:54 2011 +0100

    libdpkg: Rename varbufinit() to varbuf_init()
    
    Make the varbuf API a bit more consistent.

 lib/dpkg/dbmodify.c       |    2 +-
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/test/t-varbuf.c  |   22 +++++++++++-----------
 lib/dpkg/varbuf.c         |    2 +-
 lib/dpkg/varbuf.h         |   14 +++++++-------
 src/querycmd.c            |    2 +-
 6 files changed, 22 insertions(+), 22 deletions(-)

commit fdce08c3b923d3abb83768af2554743682486392
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sat Jan 8 22:41:48 2011 +0100

    Remove --enable-sync-sync codepath
    
    Using sync() on unpack causes _all_ filesystems to be sync'd, which is
    not so great when one of those is a thumb drive, mounted over a network,
    or otherwise slow. Remove the sync-instead-of-fsync codepath due to
    those side-effects and to simplify maintenance.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 configure.ac     |    1 -
 debian/changelog |    4 ++++
 m4/dpkg-funcs.m4 |   28 ----------------------------
 src/archives.c   |    8 --------
 4 files changed, 4 insertions(+), 37 deletions(-)

commit dff89f3f2339b9ee4ac015004ae0dd7e573079f7
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 8 22:16:17 2011 +0100

    libdpkg: Add missing command_shell to version script

 lib/dpkg/libdpkg.Versions |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 2561f28501fe5a497e05784c0237e797cd74666e
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 12 04:31:31 2010 +0200

    dpkg: Fix -GEO options on multiple versions of the same package
    
    The options were not taking effect as they were only being applied to
    installed packages, while the first stage usually implies unpacking
    and then configuring in a later stage. Which implies having those
    packages going from installed to unpacked, and then skipping any of
    the checks requested by the user on subsequently processed packages.
    
    Closes: #31141

 debian/changelog |    2 ++
 src/archives.c   |    6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

commit 0c770cb2f1b823d6a0f29bfd52326ed7fcb07bd2
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 8 15:34:43 2011 +0100

    u-a: Removed unused ret variable from altdb_parse_error()

 utils/update-alternatives.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 818f6647be26a8f339ab2682c8364fb447e5bc60
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 7 21:32:49 2011 +0100

    build: Fail configure if curses is needed but no headers are present
    
    Reported-by: Raphael Geissert <geissert@debian.org>
    Tested-by: Raphael Geissert <geissert@debian.org>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 m4/dpkg-libs.m4 |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

commit f568ae3f5ce9f2fc41abd372a828bb4026c6d0e3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jan 4 04:18:45 2011 +0100

    dpkg-split: Reduce scope of variables

 dpkg-split/join.c  |   12 +++++++-----
 dpkg-split/queue.c |   28 +++++++++++++++++-----------
 2 files changed, 24 insertions(+), 16 deletions(-)

commit 460284e19e1556ab312528fdf34be97ce575cf0d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jan 4 04:13:22 2011 +0100

    dpkg-deb: Fix corrupt archive header magic error string
    
    The string was referring to the first header when the string refers to
    any header parsed.

 dpkg-deb/extract.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 942be7d09ffcdf2bbc5b5b8e391880704da86f7f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 3 20:43:47 2011 +0100

    Remove unneeded <errno.h> include

 dpkg-deb/main.c    |    1 -
 dpkg-split/split.c |    1 -
 lib/dpkg/buffer.c  |    1 -
 lib/dpkg/mlib.c    |    1 -
 4 files changed, 0 insertions(+), 4 deletions(-)

commit 7ee10fceb19acbea67a587800c9e972dbe87aab3
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 3 15:44:11 2011 +0100

    dpkg-deb: Refactor out pkg_get_pathname() from do_build()

 dpkg-deb/build.c |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 deletions(-)

commit 0d5ba1a79ee26dc74cd964f255ef62920f7f6e35
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 3 03:07:52 2011 +0100

    dpkg-deb: Refactor check_new_pkg() out from do_build()

 dpkg-deb/build.c |   79 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 46 insertions(+), 33 deletions(-)

commit f849410277803fb37e153d3fdaa1dd44da9c632b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 3 03:06:03 2011 +0100

    dpkg-deb: Handle missing arch in varbufprintf() call inside do_build()

 dpkg-deb/build.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 8451065cf85cb8a17dcd17e0cd2ca1fdef7cb749
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 3 01:49:13 2011 +0100

    Centralize warn counting in warningv()
    
    Add an accessor function to be able to replace the old warn counters
    in the rest of the code.

 dpkg-deb/build.c          |   19 +++++--------------
 dpkg-deb/info.c           |    2 +-
 lib/dpkg/dbmodify.c       |    6 +++---
 lib/dpkg/dpkg-db.h        |    3 +--
 lib/dpkg/ehandle.c        |    9 +++++++++
 lib/dpkg/ehandle.h        |    1 +
 lib/dpkg/libdpkg.Versions |    1 +
 lib/dpkg/parse.c          |    6 +-----
 lib/dpkg/parsedump.h      |    1 -
 lib/dpkg/parsehelp.c      |    1 -
 src/processarc.c          |    2 +-
 src/update.c              |    4 ++--
 12 files changed, 25 insertions(+), 30 deletions(-)

commit a63d8a8d16b4b3c1cb34f635dd15346ed2728444
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 18:53:09 2011 +0100

    dpkg-deb: Use varbuf in file_info_get() instead of ad-hoc code

 dpkg-deb/build.c |   37 +++++++++++++++----------------------
 1 files changed, 15 insertions(+), 22 deletions(-)

commit 00fa8d0e6ffb777dea52f7e20a24bd9a7702e5f8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 14:30:23 2011 +0100

    Use fdio functions instead of raw read()/write() calls
    
    This makes the call sites safe against interrupted I/O.

 dpkg-deb/build.c    |    4 ++--
 dpkg-deb/extract.c  |    7 ++++---
 lib/dpkg/ar.c       |   11 ++++++-----
 lib/dpkg/compress.c |    9 +++++----
 4 files changed, 17 insertions(+), 14 deletions(-)

commit 5d74139fda1e4850c436765131b949232b54cc80
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 14:27:06 2011 +0100

    Use fdio instead of ad-hoc code to handle interrupted I/O

 dpkg-deb/build.c  |   10 ++++------
 lib/dpkg/buffer.c |   34 +++++++++++++---------------------
 lib/dpkg/log.c    |   13 ++++---------
 src/archives.c    |   29 ++++++-----------------------
 4 files changed, 27 insertions(+), 59 deletions(-)

commit 44b4d950ba4beb443d4f718467e7baec14885bc0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 13:47:29 2011 +0100

    libdpkg: Remove unused fd_buf_copy()
    
    This function is not really needed once we have fd_read(), it also
    performs some slight unneeded work.

 lib/dpkg/buffer.c |    4 ----
 lib/dpkg/buffer.h |    4 ----
 2 files changed, 0 insertions(+), 8 deletions(-)

commit 12f71d6df332c212fa86b7b2c11dbd43b19e37f1
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 13:38:37 2011 +0100

    Use fd_read() instead of fd_buf_copy()
    
    The latter is doing unneeded work. Switch to use a simpler but equally
    functional variant.

 lib/dpkg/parse.c |    5 +++--
 src/filesdb.c    |    5 +++--
 src/statdb.c     |    6 +++---
 3 files changed, 9 insertions(+), 7 deletions(-)

commit 0053d6ef57593f98d92d0e37bb2b81c042669b67
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 2 04:56:51 2010 +0100

    libdpkg: Add new fdio API

 lib/dpkg/Makefile.am      |    2 +
 lib/dpkg/fdio.c           |   77 +++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/fdio.h           |   35 ++++++++++++++++++++
 lib/dpkg/libdpkg.Versions |    2 +
 4 files changed, 116 insertions(+), 0 deletions(-)

commit 5cb9ffc5f9b53691d23ca8e8347eccfa8f130071
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 01:39:16 2011 +0100

    libdpkg: Merge errmsgbuf and errmsg
    
    There's no need anymore for the two distinct variables since ohshitvb
    got removed in commit 7d1245eff85d74d872b6ee89f55c8466321e560c.

 lib/dpkg/ehandle.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

commit 3c25a7b0a50fc25dbeea7a512459a01bb0672f32
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 1 03:58:58 2011 +0100

    libdpkg: Initialize buffer_data variables on declaration in buffer_copy_TYPE

 lib/dpkg/buffer.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit ee595ed38daa7b3ffba452296b7b070e82d8c939
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 1 03:51:40 2011 +0100

    libdpkg: Call buffer_init() and buffer_done() from buffer_copy()

 lib/dpkg/buffer.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 4e51e727e7d06eeda8ba7a8fc0fc4252d9bc875d
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 1 03:47:05 2011 +0100

    libdpkg: Remove buffer_copy_PtrPtr and buffer_copy_PtrInt functions
    
    Those were instantiated from the buffer_copy_TYPE macro, but not used
    anymore.

 lib/dpkg/buffer.c |    2 --
 lib/dpkg/buffer.h |    6 ------
 2 files changed, 0 insertions(+), 8 deletions(-)

commit 7b4de87652e11609c0797a334a0c43aac08d940e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 1 03:43:25 2011 +0100

    libdpkg: Make all internal buffer functions static

 lib/dpkg/buffer.c         |   12 ++++++------
 lib/dpkg/buffer.h         |   12 +-----------
 lib/dpkg/libdpkg.Versions |    5 -----
 3 files changed, 7 insertions(+), 22 deletions(-)

commit 4e65a84d1e529541c686230086f56de4e2b2122c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 1 03:54:01 2011 +0100

    libdpkg: Move buffer_copy_TYPE() and instantiations after buffer_copy()

 lib/dpkg/buffer.c |   68 ++++++++++++++++++++++++++--------------------------
 1 files changed, 34 insertions(+), 34 deletions(-)

commit 25fb807882427fa70afd2494ec844a96ba63337c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 16 05:09:35 2010 +0100

    libdpkg: Add new DPKG_GCC_VERSION macro and use it
    
    Instead of doing several checks on the different GCC macros with the
    version parts, merge them into this new macro and use simple integer
    arithmetic to compare the versions.

 lib/dpkg/macros.h |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

commit 0ba66256fb3abbf208179952ec9f1282f76bbcae
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Dec 13 08:15:56 2010 +0100

    build: Refactor common linker objects into LDADD

 lib/dpkg/test/Makefile.am |   16 +---------------
 src/Makefile.am           |   28 +++++-----------------------
 2 files changed, 6 insertions(+), 38 deletions(-)

commit 581ce084ea6b26816de53b9580600beae05ce16c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 2 21:09:13 2010 +0100

    dpkg: Do not check for presence of update-rc.d
    
    It's not really needed for dpkg correct operation.

 debian/changelog |    2 ++
 src/help.c       |    1 -
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 506dd27b56a570e019e90974ea285fe4fd2f8bf8
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 31 21:26:43 2010 +0100

    dpkg-split: Do not slurp the entire part into memory when splitting
    
    The current code is slurping the entire part into memory, which works
    fine when the partsize is small but might be unbearable when the
    partsize is too big. Use fd_fd_copy() via dpkg_ar_member_put_file()
    instead, which will guarantee small constant memory usage.

 dpkg-split/split.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

commit d2b1ba546eda19271ada6daf1d0bcfee6b0dd9c9
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 31 20:43:44 2010 +0100

    libdpkg: Use bool values for copy_dependency_links() call

 lib/dpkg/parse.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1d779cecab2016047a433a5175764c0e2951ba9d
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 31 17:24:44 2010 +0100

    dpkg-split: Do not pass partsize to mksplit() and compute it internally

 dpkg-split/split.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 6bb0ab0608fdd2509a8d2b84cd75ae01fa5e64c5
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 31 20:43:09 2010 +0100

    dpkg-split: Mark strings for translation
    
    Use plural support for one of them.

 dpkg-split/split.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

commit 97f0c0baee8fbb393781bc7024d80b8c08a87d25
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 31 13:57:47 2010 +0100

    libdpkg: Change dpkg_ar_member_put_file() to accept a size limit

 dpkg-deb/build.c |    4 ++--
 lib/dpkg/ar.c    |   17 ++++++++++-------
 lib/dpkg/ar.h    |    2 +-
 3 files changed, 13 insertions(+), 10 deletions(-)

commit 150be4c45af785a6374e2c7ecc90b0fdab054787
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 31 12:43:21 2010 +0100

    dpkg-split: Use number of parts to track split process
    
    Use the currently available variables instead of the additional useless
    startat.

 dpkg-split/split.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

commit 6a790ffc469be94173db8dc0f0ebee7e9c95e707
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 31 12:42:31 2010 +0100

    dpkg-split: Reduce variable scope in do_split()

 dpkg-split/split.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 027c6e35be5cfb31cab3c3a286e2b4bc0763d161
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 1 03:20:07 2010 +0100

    Use dpkg_ar_member_get_size() instead of duplicated code

 dpkg-deb/extract.c |   25 +------------------------
 dpkg-split/info.c  |   20 ++------------------
 2 files changed, 3 insertions(+), 42 deletions(-)

commit e36ca74003e44e44faacbb9c32d596d80a9387f9
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 1 03:19:31 2010 +0100

    libdpkg: Add new dpkg_ar_member_get_size()

 lib/dpkg/ar.c             |   25 +++++++++++++++++++++++++
 lib/dpkg/ar.h             |    3 +++
 lib/dpkg/libdpkg.Versions |    1 +
 3 files changed, 29 insertions(+), 0 deletions(-)

commit 3be2cf607868adb9a2c0e5af06f20168a072eeb6
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 29 13:29:17 2010 +0100

    libdpkg: Refactor common code into parse_error_msg()
    
    This moves all the buffer size knowledge to the same function, and
    easily allows to fix possible buffer overflows in case fmt is longer
    than the destination buffer. It also nicely reduces slightly the
    duplicated code.

 lib/dpkg/parsehelp.c |   33 +++++++++++++++------------------
 1 files changed, 15 insertions(+), 18 deletions(-)

commit ec97f0a8ff3bf88418dc452e5df8425b86957f9a
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 29 11:41:06 2010 +0100

    libdpkg: Use warningv() in parse_warn() instead of open coding it
    
    Generalize and unify parse_error_msg() error message and stop passing
    the type of error to it. Now that ohshit() will print "error" we don't
    need to print it again here.

 lib/dpkg/parsehelp.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

commit f428f6f616de9ff659730dc646aada51b7bd1f8c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 29 09:39:13 2010 +0100

    libdpkg: Always prefix "error" to fatal error message output

 debian/changelog   |    1 +
 lib/dpkg/ehandle.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 6857c9064b75e7ef2aabdb45b4e55a8b2f2de91a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 27 12:35:46 2010 +0100

    Changelog police
    
    Typo fixes.

 debian/changelog |   67 ++++++++++++++++++++++++++---------------------------
 1 files changed, 33 insertions(+), 34 deletions(-)

commit cf316979dec20696ee57d5a6f8a469a12758f54d
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 27 12:32:36 2010 +0100

    man: Quote dashes for correct output

 man/deb-control.5     |   26 ++++++++--------
 man/deb-src-control.5 |   78 ++++++++++++++++++++++++------------------------
 2 files changed, 52 insertions(+), 52 deletions(-)

commit 95bb77ebc2c420a6788a147983010560c6606303
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 27 11:57:23 2010 +0100

    Clarify and simplify strings to help translators
    
    Closes: #604914
    
    Suggested-by: Andrei Popescu <andreimpopescu@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog     |    1 +
 lib/dpkg/ehandle.c   |    2 +-
 lib/dpkg/parsehelp.c |    3 ++-
 src/help.c           |   11 +++++------
 4 files changed, 9 insertions(+), 8 deletions(-)

commit 3fa386596dcdf3711e79fc2aedd124691bc69e45
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 27 11:56:17 2010 +0100

    libdpkg: Unmark debug message for translation
    
    Reported-by: Andrei Popescu <andreimpopescu@gmail.com>

 lib/dpkg/database.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 7ab4b0ce3912e34620760f02242ebf80bc0dafff
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 27 09:56:19 2010 +0100

    Make short strings unique by using gettext context support
    
    Reported-by: Andrei Popescu <andreimpopescu@gmail.com>

 lib/dpkg/parsehelp.c |    3 ++-
 src/enquiry.c        |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 63e047b9c2f652290f6e697ac31266a8488491e7
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 27 08:42:56 2010 +0100

    Add gettext context infrastructure support

 lib/dpkg/i18n.h |    1 +
 po/Makevars     |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit f5d6106db5c8110f6e0b0a736099e705b3c43eee
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:51:43 2010 +0100

    dpkg-deb: Move setcompresstype() before cmdinfos
    
    This unifies the style with the rest of the code base, and avoids the
    need for a declaration of a static function.

 dpkg-deb/main.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 0cabc7648dca136fd4ee19c1157d89e7670dfbc3
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:47:00 2010 +0100

    dpkg-deb: Move known_arbitrary_field() closer to do_build()

 dpkg-deb/build.c |   56 +++++++++++++++++++++++++++---------------------------
 1 files changed, 28 insertions(+), 28 deletions(-)

commit bebb0f3a0ac4fd4990585363c4af2bceafcf1ebd
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 20:44:36 2011 +0100

    dpkg-deb: Use varbuf to generate package file name in do_build()

 dpkg-deb/build.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

commit 5ed471f8bc8aaf8faee6b04e4177451fa2d3cd52
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 20:11:34 2011 +0100

    dpkg-deb: Count one missing warning() for the total amount reported

 debian/changelog |    1 +
 dpkg-deb/build.c |    5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 167fc193f41e65f4cac84432e7114ea2b66a5ccb
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:30:32 2010 +0100

    dpkg-deb: Rename getfi() into file_info_get()

 dpkg-deb/build.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 26a90f1d068bc30af5ddcd1ab265d7090c6c9509
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:29:01 2010 +0100

    dpkg-deb: Rename free_filist() to file_info_list_free()

 dpkg-deb/build.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit a0c16300d391f3ee91d6bc37b3031f562338f998
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:29:01 2010 +0100

    dpkg-deb: Rename add_to_filist() to file_info_list_append()

 dpkg-deb/build.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 2998b32eaf8d560cafdc45a66a183f3697bfeaf6
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:27:50 2010 +0100

    dpkg-deb: Rename add_to_filist() arguments to head/tail
    
    This normalized them with the rest of the codebase.

 dpkg-deb/build.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 291c19900153dbae4417b67d4077d7f7b1b25435
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:16:43 2010 +0100

    dpkg-deb: Remove redundant debar check and reduce code scope

 dpkg-deb/build.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

commit f17d95da9d3b23362bf0d97b9ff40f5d5ec3971e
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 06:50:37 2010 +0100

    dpkg-deb: Refactor check_conffiles() out from do_build()

 dpkg-deb/build.c |  136 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 79 insertions(+), 57 deletions(-)

commit 855bdfb4fe44e851ad036627f2d8702e3e0dcb0c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 06:35:19 2010 +0100

    dpkg-deb: Refactor check_file_perms() out from do_build()

 dpkg-deb/build.c |   82 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 50 insertions(+), 32 deletions(-)

commit af34a9cc062756207f275dbbb5ec16896ba311b7
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 07:45:06 2010 +0100

    dpkg-deb: Rename checkedinfo to pkg in do_build()

 dpkg-deb/build.c |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 deletions(-)

commit 0dd72f1b7a6a0835bc0212d019c2a01761e041fb
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 2 19:19:10 2011 +0100

    dpkg-deb: Use a varbuf instead of a fixed size buffer in do_build()
    
    The allocated buffer has a fixes size, which could pose problems if for
    whatever reason some of the components increase size.

 dpkg-deb/build.c |   43 ++++++++++++++++++-------------------------
 1 files changed, 18 insertions(+), 25 deletions(-)

commit 06f0675ffa2f84a2661a312194feefdeb3841ec0
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 5 09:44:37 2011 +0100

    Rename directory variables to just dir
    
    The shorter form is unambiguous and takes less screen size.

 dpkg-deb/build.c    |   33 ++++++++++++++-----------
 dpkg-deb/dpkg-deb.h |    2 +-
 dpkg-deb/extract.c  |   26 ++++++++++++-------
 dpkg-deb/info.c     |   66 +++++++++++++++++++++++++++-----------------------
 src/archives.c      |   14 +++++-----
 5 files changed, 78 insertions(+), 63 deletions(-)

commit 0b67f8d1d540e3cd52d7849b767ed1a9bae02368
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 26 06:24:49 2010 +0100

    dpkg-deb: Reduce scope of variables in do_build()

 dpkg-deb/build.c |   43 ++++++++++++++++++++++++++++++-------------
 1 files changed, 30 insertions(+), 13 deletions(-)

commit 797115468511551b08b8fd79a9d787dc17fba9fe
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 23:18:58 2010 +0100

    libdpkg: Install header file ehandle.h
    
    Missed in commit 6e5d5c1f05edbe0ce2213a6658b438668fe48cba.

 lib/dpkg/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f9ed41c4f61d2b037a0faca08a40581c1bc385b1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 01:23:07 2010 +0100

    dpkg-query: Refactor --list header printing into list_format_print_header()

 src/querycmd.c |   67 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 38 insertions(+), 29 deletions(-)

commit dba35578a11b7fd887fda28d22083e61047ac1d2
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 00:36:27 2010 +0100

    dpkg-query: Refactor --list format creation into new list_format_init()

 src/querycmd.c |  114 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 69 insertions(+), 45 deletions(-)

commit 49f8bd789eca3a3b7c8d57974070d4e4d055b42d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 24 03:06:53 2010 +0100

    s-s-d: Rename do_help() to usage()

 utils/start-stop-daemon.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit df7dabd95adfee2e07e70b6bc60c216ccba0d272
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 23 23:15:47 2010 +0100

    s-s-d: Rename clear() to pid_list_free()

 utils/start-stop-daemon.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit db56c2bba99f22c879bbbffb4b020f418f508f8f
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 23 23:15:33 2010 +0100

    s-s-d: Rename push() to pid_list_push()

 utils/start-stop-daemon.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 8a2f4f6866790b5ae9e8931dccb19c10b274397e
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 23 23:05:04 2010 +0100

    s-s-d: Rename check() to pid_check()

 utils/start-stop-daemon.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 886d2911bdb2253a5a331d109f15fd8bd9d4027a
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 23 22:38:16 2010 +0100

    s-s-d: Remove static function declarations

 utils/start-stop-daemon.c |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

commit f53151c5c738b0902815ad3cdeae35005797f099
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 23 22:31:01 2010 +0100

    s-s-d: Make only sched_goto use goto instead of the other enum values
    
    This makes sched_goto usage more obvious, makes the for more natural,
    and removes one instance of goto usage.

 utils/start-stop-daemon.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

commit e611924c3e2ca6e13e6c50fab6e01da24045c129
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 23 04:21:03 2010 +0100

    s-s-d: Refactor finish code into new finish_stop_schedule()
    
    This removes an unneeded and ugly goto, and replaces with a proper
    funciton.

 utils/start-stop-daemon.c |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

commit 6b04265c74633e42addd63bcf30763545b643ecf
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Jan 7 21:55:59 2011 +0100

    Update German scripts translation
    
    Update to 513t

 scripts/po/de.po |  283 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 146 insertions(+), 137 deletions(-)

commit 2df6e3351f79c96c80f5869499a5cb4d59f2943f
Merge: 930bb77 1d872bf
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jan 6 21:59:44 2011 +0100

    Merge commit '1.15.8.8'

commit 1d872bf8ed2a7976c901aff20bf2bd6c20660f65
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jan 6 21:04:53 2011 +0100

    Release 1.15.8.8

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 00aa1a86493e4160ac98d65b32ff7d0b64ff6e37
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 3 10:01:37 2011 +0100

    Fix multiple security issues with dpkg-source (CVE-2010-1679)
    
    - Enhance checks to catch maliciously crafted patches which could modify
      files outside of the unpacked source package.
    - Do not consider a top-level symlink like a directory when
      extracting a tarball.
    - Exclude .pc while extracting the upstream tarball in 3.0 (quilt)
      as patch blindly writes in that directory during unpack (and would
      follow any existing symlink).

 debian/changelog                  |   12 ++++-
 scripts/Dpkg/Source/Archive.pm    |    2 +-
 scripts/Dpkg/Source/Package/V2.pm |    7 ++-
 scripts/Dpkg/Source/Patch.pm      |   98 ++++++++++++++++++++++++-------------
 4 files changed, 81 insertions(+), 38 deletions(-)

commit e70589e47f27d179dc01412e37bd8e0b9e76227d
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 3 21:25:18 2011 +0100

    dpkg-split: Truncate the output file when splitting a package
    
    Use creat() instead of open() with the missing O_TRUNC.
    
    Regression introduced in f2115151c19ff37b305296c23225807b0832086b.

 debian/changelog   |    4 ++++
 dpkg-split/split.c |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 930bb774c5aeb2a2a083deb7b92432a7b7ab9a35
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 3 10:33:28 2011 +0100

    Dpkg::Source::Package::V1.pm: correctly detect debian files
    
    The code was erroneously assuming that $newdirectory was always
    a simple filename, but it can be a complete path.

 debian/changelog                  |    3 +++
 scripts/Dpkg/Source/Package/V1.pm |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit a66c05098e9f05d008e225c7cbc3479d37b0f91f
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Dec 20 07:13:28 2010 +0100

    Fix two typos in French manpages translation

 debian/changelog |    8 ++++++++
 man/po/fr.po     |    4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

commit 85fce47c813230e0d9b51826adb479f1f519df6c
Merge: 300c089 8edabd2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Dec 20 03:30:55 2010 +0100

    Merge branch 'sid' (through tag '1.15.8.7')
    
    Conflicts:
    	debian/changelog
    	dselect/po/es.po
    	po/es.po
    	po/pt.po
    	scripts/po/es.po
    	src/archives.c

commit 8edabd23157612c5b9dab88983b34166ea6fb902
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Dec 20 02:26:36 2010 +0100

    Release 1.15.8.7

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 050765e9968cfedbf90b9c5660b2ca812a77b55d
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Dec 20 02:31:20 2010 +0100

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |    2 +-
 dselect/po/ca.po        |    2 +-
 dselect/po/cs.po        |    2 +-
 dselect/po/da.po        |    2 +-
 dselect/po/de.po        |    2 +-
 dselect/po/dselect.pot  |    4 +-
 dselect/po/el.po        |    2 +-
 dselect/po/es.po        |    2 +-
 dselect/po/et.po        |    2 +-
 dselect/po/eu.po        |    2 +-
 dselect/po/fr.po        |    2 +-
 dselect/po/gl.po        |    2 +-
 dselect/po/hu.po        |    2 +-
 dselect/po/id.po        |    2 +-
 dselect/po/it.po        |    2 +-
 dselect/po/ja.po        |    2 +-
 dselect/po/ko.po        |    2 +-
 dselect/po/nb.po        |    2 +-
 dselect/po/nl.po        |    2 +-
 dselect/po/nn.po        |    2 +-
 dselect/po/pl.po        |    2 +-
 dselect/po/pt.po        |    2 +-
 dselect/po/pt_BR.po     |    2 +-
 dselect/po/ro.po        |    2 +-
 dselect/po/ru.po        |    2 +-
 dselect/po/sk.po        |    2 +-
 dselect/po/sv.po        |    2 +-
 dselect/po/tl.po        |    2 +-
 dselect/po/vi.po        |    2 +-
 dselect/po/zh_CN.po     |    2 +-
 dselect/po/zh_TW.po     |    2 +-
 man/po/dpkg-man.pot     |    2 +-
 man/po/fr.po            |  240 +++++++++++++++++---------
 man/po/sv.po            |   25 ++--
 po/ast.po               |  142 ++++++++--------
 po/bs.po                |  142 ++++++++--------
 po/ca.po                |  145 ++++++++--------
 po/cs.po                |  142 ++++++++--------
 po/da.po                |  142 ++++++++--------
 po/de.po                |  142 ++++++++--------
 po/dpkg.pot             |  144 ++++++++--------
 po/dz.po                |  142 ++++++++--------
 po/el.po                |  142 ++++++++--------
 po/eo.po                |    2 +-
 po/es.po                |  446 ++++++++++++++++++++++++++++++-----------------
 po/et.po                |  142 ++++++++--------
 po/eu.po                |  280 +++++++++++++++++------------
 po/fr.po                |  185 ++++++++------------
 po/gl.po                |  142 ++++++++--------
 po/hu.po                |  142 ++++++++--------
 po/id.po                |  142 ++++++++--------
 po/it.po                |  142 ++++++++--------
 po/ja.po                |  157 +++++++++--------
 po/km.po                |  142 ++++++++--------
 po/ko.po                |  142 ++++++++--------
 po/ku.po                |  142 ++++++++--------
 po/lt.po                |  142 ++++++++--------
 po/mr.po                |  142 ++++++++--------
 po/nb.po                |  142 ++++++++--------
 po/ne.po                |  142 ++++++++--------
 po/nl.po                |  142 ++++++++--------
 po/nn.po                |  142 ++++++++--------
 po/pa.po                |  142 ++++++++--------
 po/pl.po                |  142 ++++++++--------
 po/pt.po                |  142 ++++++++--------
 po/pt_BR.po             |  142 ++++++++--------
 po/ro.po                |  142 ++++++++--------
 po/ru.po                |  150 ++++++++--------
 po/sk.po                |  142 ++++++++--------
 po/sv.po                |  142 ++++++++--------
 po/th.po                |  142 ++++++++--------
 po/tl.po                |  142 ++++++++--------
 po/vi.po                |  142 ++++++++--------
 po/zh_CN.po             |  142 ++++++++--------
 po/zh_TW.po             |  142 ++++++++--------
 scripts/po/ca.po        |    2 +-
 scripts/po/de.po        |    4 +-
 scripts/po/dpkg-dev.pot |    4 +-
 scripts/po/es.po        |   11 +-
 scripts/po/fr.po        |    2 +-
 scripts/po/pl.po        |    2 +-
 scripts/po/ru.po        |    2 +-
 scripts/po/sv.po        |    2 +-
 83 files changed, 3384 insertions(+), 3171 deletions(-)

commit a196b9489fcecb75c3cc7add9f1273966697b419
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Dec 20 02:22:51 2010 +0100

    Fix Spanish scripts translation
    
    Split two accidentally merged lines.

 scripts/po/es.po |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit d744e244588451c75fe24e2f784601901f459d6d
Author: Theppitak Karoonboonyanan <thep@linux.thai.net>
Date:   Mon Dec 20 01:56:57 2010 +0100

    Update Thai dpkg translation
    
    Closes: #607501

 debian/changelog |    1 +
 po/th.po         |  111 +++++++++---------------------------------------------
 2 files changed, 19 insertions(+), 93 deletions(-)

commit 39c27014d0537ca667d6a83b10c4236e7878d840
Author: Felipe E. F. de Castro <fefcas@gmail.com>
Date:   Mon Dec 20 01:52:13 2010 +0100

    Update Esperanto dpkg translation
    
    Closes: #607437

 debian/changelog |    1 +
 po/eo.po         |  277 +++++++++++++++++++++++-------------------------------
 2 files changed, 119 insertions(+), 159 deletions(-)

commit 660fc389c566623a1ff5de37c1d91e7832048d10
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Dec 18 18:15:16 2010 +0100

    Improve fix after disussion with Sven Joachim (now more consistent even)

 scripts/po/de.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit ffdc8c88d7006170ac67fd44ee3ca2222dd2fb69
Author: Aron Xu <happyaron.xu@gmail.com>
Date:   Sat Dec 18 02:30:31 2010 +0100

    Update Simplified Chinese dpkg translation

 debian/changelog |    1 +
 po/zh_CN.po      | 3358 +++++++-----------------------------------------------
 2 files changed, 412 insertions(+), 2947 deletions(-)

commit 6a3da3db1a15a771229951bec5e7389ade5e2098
Author: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>
Date:   Sat Dec 18 00:06:08 2010 +0100

    Update Norwegian Bokmål dpkg translation

 debian/changelog |    1 +
 po/nb.po         |   56 ++++++-----------------------------------------------
 2 files changed, 8 insertions(+), 49 deletions(-)

commit f70ae2a8116d1e1657ba08e34508d4dff6020d18
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Fri Dec 17 00:05:14 2010 +0100

    Update Italian dpkg translation
    
    Closes: #607306

 debian/changelog |    1 +
 po/it.po         |   50 +++++---------------------------------------------
 2 files changed, 6 insertions(+), 45 deletions(-)

commit b6be0c4f0dac7fdb8b138026a13527e11afd8e4d
Author: Ivan Masár <helix84@centrum.sk>
Date:   Thu Dec 16 22:25:50 2010 +0100

    Update Slovak dpkg translation
    
    Closes: #607302

 debian/changelog |    1 +
 po/sk.po         |   48 +++---------------------------------------------
 2 files changed, 4 insertions(+), 45 deletions(-)

commit 097d36dc6ca36dbf1ce2ee62fde1d9c353fce5cf
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 16 22:22:28 2010 +0100

    Fix encoding of X-POFile-SpellExtra field in Spanish translations

 dselect/po/es.po |    2 +-
 po/es.po         |   12 ++++++------
 scripts/po/es.po |    2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

commit 878dab712fafd8f050b24c5085dd6ad6d561c017
Author: Yuri Kozlov <yuray@komyakino.ru>
Date:   Thu Dec 16 20:55:49 2010 +0100

    Update Russian dpkg translation
    
    Closes: #607292

 debian/changelog |    1 +
 po/ru.po         |   72 ++++++++++++-----------------------------------------
 2 files changed, 18 insertions(+), 55 deletions(-)

commit 6719cdfa47de6fefc5d412c5b1dbdaaf0a4f4e14
Author: Kenshi Muto <kmuto@debian.org>
Date:   Thu Dec 16 19:30:08 2010 +0100

    Update Japanese dpkg translation
    
    Closes: #607259

 debian/changelog |    1 +
 po/ja.po         |   67 ++++++++---------------------------------------------
 2 files changed, 11 insertions(+), 57 deletions(-)

commit 24e0c98cc2f1668cd685a1101e1dda2bc89b21bd
Author: Iñaki Larrañaga Murgoitio <dooteo@euskalgnu.org>
Date:   Thu Dec 16 19:25:50 2010 +0100

    Update Basque dpkg translation
    
    Closes: #607253

 debian/changelog |    1 +
 po/eu.po         |  192 +++++++++++++++---------------------------------------
 2 files changed, 53 insertions(+), 140 deletions(-)

commit 7fe7bce38ac93977a0069402ff51af0276dc3f70
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Wed Dec 15 20:26:42 2010 +0100

    Fix a translation error in the German scripts translation

 debian/changelog |    1 +
 scripts/po/de.po |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 57dae739dafc03dd63e546188bb106deeb799780
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Wed Dec 15 20:20:15 2010 +0100

    Update Spanish translation of manual pages
    
    Update to 1940t.

 debian/changelog |    1 +
 man/po/es.po     |   24 +++++++++++++++++++-----
 2 files changed, 20 insertions(+), 5 deletions(-)

commit 61e2d9af2c4ad15a3b13e1bf2f93a9a90a076dc1
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 10 13:11:31 2010 +0100

    Changelog police

 debian/changelog |   16 +++++++---------
 1 files changed, 7 insertions(+), 9 deletions(-)

commit 888c346186673b6e637f34ee47b9a0137d64b812
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 10 01:21:02 2010 +0100

    dpkg-query: Fix stanza delimiting on -L, -s and -p output
    
    The code was only printing a delimiting new line on the second to last
    stanza. Invert the logic and do it always except on the last one.
    
    Closes: #606315

 debian/changelog |    2 ++
 src/querycmd.c   |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 8e7f545a9d42a02cea521399da52932774926231
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 10 01:59:55 2010 +0100

    dpkg: On non-Linux use fadvise(FADV_DONTNEED) to initiate writeback
    
    Use the posix_fadvise(POSIX_FADV_DONTNEED) hint to notify the kernel
    dpkg does not need the unpacked files any longer and as such it can
    start writeback asynchronously.
    
    Although POSIX does not explicitly say so, and this is merely a hint,
    this is the only sensible thing to do for the kernel. On Linux at least
    it also evicts the pages if they are not currently under writeback,
    locked or dirty, which might be undesired if a maintainer script has
    to use the data, but unlikely as the writeback will still be ongoing
    if it started at all.
    
    In addition it could be argued the Linux implementation is not optimal
    as the standard talks about the application not needing the data any
    longer, not the system. So it seems the NetBSD implementation which
    just marks the pages as not active would be more correct.

 debian/changelog |    3 +++
 src/archives.c   |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 2921e80c2f7645f66a197c5265cdadae58142672
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 8 06:44:00 2010 +0100

    dpkg: On Linux finish writeback before fsync
    
    The second sync_file_range() call, with the operation
    SYNC_FILE_RANGE_WAIT_BEFORE, will block until the previously
    initiated writeback has completed.
    
    We finish the writeback for all files before calling fsync. This
    basically ensures that the delayed allocation has been resolved;
    that is, the data blocks have been allocated and written, and the
    inode updated (in memory), but not necessarily pushed out to disk.
    So that later fsync can become no-ops, minimizing the number of
    (costly) jbd2 commits.
    
    Suggested-by: Ted Ts'o <tytso@mit.edu>
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/archives.c |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

commit 203c99b0dda40159d824944e407a2f720f1088ed
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 8 06:29:07 2010 +0100

    dpkg: On Linux initiate writeback of unpacked files ASAP
    
    To avoid performance degradation on filesystems with "allocate on
    flush" semantics (like xfs, ubifs, hfs+, and ext4 without nodelalloc),
    start writing back each file once it has finished being extracted.
    This doesn't actually wait for the write to finish; it just starts
    the writeback.
    
    The sync_file_range() call has been available since Linux 2.6.17.
    On non-Linux systems we can skip it.
    
    Closes: #605009
    
    Suggested-by: Ted Ts'o <tytso@mit.edu>
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    3 +++
 src/archives.c   |   11 +++++++++++
 2 files changed, 14 insertions(+), 0 deletions(-)

commit a766f501f6da46aca070c315e6429e163d188202
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 1 04:28:45 2010 +0100

    dpkg: Defer symlink renames to avoid ending up with broken symlinks
    
    The broken symlinks are particularly pernicious as they imply a shared
    library SONAME path might point to nowhere and thus applications will
    fail to get dynamically linked.
    
    Deferring symlinks is safe as they are always at the end of the tar
    archive, and they are processed last on deferred renames as they are
    appended at the end of the new list files.
    
    Closes: #605536

 debian/changelog |    5 +++++
 src/archives.c   |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit 2e764078cc3bc75dc7426678377bb1c12ea00ba1
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 1 04:37:32 2010 +0100

    Update Catalan program translation

 debian/changelog |    1 +
 po/ca.po         |   46 ++--------------------------------------------
 2 files changed, 3 insertions(+), 44 deletions(-)

commit 725933d6f73d7d749c46778cff1cbb7416431a4b
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Fri Dec 10 01:34:43 2010 +0100

    Updated all Spanish translations to sync with master.
    
    Translations are now at 100%

 debian/changelog |    6 +
 dselect/po/es.po |  548 +++++++++++++++++++++++++++++-------------------------
 scripts/po/es.po |   44 ++++-
 3 files changed, 332 insertions(+), 266 deletions(-)

commit 7c27d584603d6cda82d668f0da1fb64201e456d7
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Fri Dec 10 01:27:36 2010 +0100

    Updated Spanish translation
    
    Uptated to 985t from master branch with typo fixes included.

 debian/changelog |    1 +
 po/es.po         | 1643 +++++++++++++++++++++++-------------------------------
 2 files changed, 690 insertions(+), 954 deletions(-)

commit 300c089c3e178420915c9805ae73d2b99e25cfcc
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Fri Dec 10 01:26:46 2010 +0100

    Fix typos in PO file

 po/es.po |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 5e702366cba8c98a456740dbb97238b511eec26d
Merge: 0e238b8 f3fa58a
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Fri Dec 10 01:20:59 2010 +0100

    Merge branch 'master' of ssh://git.debian.org/git/dpkg/dpkg

commit 0e238b8e0281270a3d12bec69450f728af6f3dbf
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Fri Dec 10 01:20:32 2010 +0100

    Fix typo

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2ba06ea3e29c913ac4f9649b9561cfb1a692a35c
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Fri Dec 10 01:19:17 2010 +0100

    Fix typos in translation format strings

 po/es.po |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit f3fa58a3317e3456bcfb490aae66fa4371949fae
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Dec 9 16:13:42 2010 +0100

    dpkg-shlibdeps: print the error note about missing libraries only once
    
    With the previous change, dpkg-shlibdeps can now print the error about
    missing library multiple times. It makes no sense to print the associated
    note multiple times. Instead it should be printed once at the end.

 scripts/dpkg-shlibdeps.pl |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

commit 4105379e2532d68579cfb1d95eb49205414507db
Author: Chris Baines <cbaines8@gmail.com>
Date:   Thu Dec 9 15:58:48 2010 +0100

    dpkg-shlibdeps: do not fail immediatly when a library is not found
    
    Instead continue and fail after all problems have been reported.

 debian/changelog          |    3 +++
 scripts/dpkg-shlibdeps.pl |   13 ++++++++++++-
 2 files changed, 15 insertions(+), 1 deletions(-)

commit b67f29d946683dfdbddf1fffb1aef550a3260fb8
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Thu Dec 9 02:50:14 2010 +0100

    Typo fix

 po/es.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 76385c55207bb6a0ddb4e8ff3727a0e8e0cddbcd
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Thu Dec 9 02:35:56 2010 +0100

    Review translation and fix some typos. Also added PO4spell check headers.

 scripts/po/es.po |   44 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 33 insertions(+), 11 deletions(-)

commit c58875d365ab10cefe6cf83de9e792a19c1201e2
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Thu Dec 9 02:26:38 2010 +0100

    Updated Spanish translation for dselect
    
    Update to 227t, convert to UTF-8, spell check headers and typos fixed.

 debian/changelog |    4 +
 dselect/po/es.po |  548 +++++++++++++++++++++++++++++-------------------------
 2 files changed, 297 insertions(+), 255 deletions(-)

commit 48a74f34f5aa54f2506795e8a30fe6a9c50354fd
Author: Javier Fernandez-Sanguino <jfs@debian.org>
Date:   Thu Dec 9 02:17:17 2010 +0100

    Include changes introduced to Spanish translation

 debian/changelog |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 553549620ee08e704f8488d6dd4af947f812b093
Author: Javier Fernandez-Sanguino Pen~a <jfs@javifsp.no-ip.org>
Date:   Thu Dec 9 02:12:42 2010 +0100

    Updated Spanish translation

 po/es.po | 1638 ++++++++++++++++++++++++++------------------------------------
 1 files changed, 686 insertions(+), 952 deletions(-)

commit 89d63574bd3455efe14f1388f3c1532e6c6130d1
Author: Miguel Figueiredo <elmig@debianpt.org>
Date:   Wed Dec 1 07:03:03 2010 +0100

    Portuguese translation update. 985t

 debian/changelog |    1 +
 po/pt.po         |   56 ++++++-----------------------------------------------
 2 files changed, 8 insertions(+), 49 deletions(-)

commit 252f5e0561120d8b6d7bb55a9fc30a004d45a566
Author: Miguel Figueiredo <elmig@eeepc.debian>
Date:   Tue Nov 30 20:14:42 2010 +0000

    Update Portuguese translation of program
    
    Update to 985t

 debian/changelog |    1 +
 po/pt.po         |   17 ++++++++---------
 2 files changed, 9 insertions(+), 9 deletions(-)

commit c627cec00d90d14289ca523308455ce6607d57bc
Author: Arief S Fitrianto <arief@gurame.fisika.ui.ac.id>
Date:   Sun Nov 28 15:25:08 2010 +0100

    Updated Indonesian translation. 985t

 debian/changelog |    1 +
 po/id.po         |   68 ++++++++++-------------------------------------------
 2 files changed, 14 insertions(+), 55 deletions(-)

commit b3d062225c0144d28747a48bd82a5108ada1439a
Author: Miroslav Kure <kurem@upcase.inf.upol.cz>
Date:   Sat Nov 27 16:42:49 2010 +0100

    Czech translation update. 985t

 debian/changelog |    1 +
 po/cs.po         | 1082 +++++++++++++++++++++---------------------------------
 2 files changed, 429 insertions(+), 654 deletions(-)

commit 53165b3620a915d2c16748ba4ce30af31581d6da
Author: Christian PERRIER <bubulle@debian.org>
Date:   Fri Nov 26 07:16:59 2010 +0100

    French translation update for programs: 985t
    French translation update for manpages: 1940t

 debian/changelog |    4 +
 man/po/fr.po     |  228 +++++++++++++++++++-----------------------------------
 po/fr.po         |    6 +-
 3 files changed, 88 insertions(+), 150 deletions(-)

commit 3dee8477d93c831ecef5b92f3dd96d189bdda988
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Nov 26 21:46:53 2010 +0100

    Update German translation of manual pages
    
    Update to 1940t.

 debian/changelog |    3 +++
 man/po/de.po     |   21 +++++++++++++++++----
 2 files changed, 20 insertions(+), 4 deletions(-)

commit 953a14800e0e6489b35864115dabf09a52fa1962
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Nov 25 16:42:57 2010 +0100

    German dpkg translation update
    
    Update to 985t.

 debian/changelog |    7 +++++++
 po/de.po         |   52 ++++++----------------------------------------------
 2 files changed, 13 insertions(+), 46 deletions(-)

commit a4c8f5eff9dede8638b325c49093d1df33574749
Author: Peter Krefting <peterk@debian.org>
Date:   Thu Nov 25 10:43:37 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 985t0f0u.
    man/po/sv.po: 1940t0fou.

 man/po/sv.po |   19 ++++++++++++++++---
 po/sv.po     |   48 +++---------------------------------------------
 2 files changed, 19 insertions(+), 48 deletions(-)

commit 7e8695bdb8fb3a1dd4cf2ba4a48586e068fe3058
Merge: 93bba14 81aacd4
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 07:57:09 2010 +0100

    Merge branch 'sid' (through tag '1.15.8.6')
    
    Conflicts:
    	debian/changelog
    	m4/dpkg-funcs.m4
    	man/dpkg.1

commit 81aacd4b0a84df492d0ba33110537efb6fef836d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 07:11:02 2010 +0100

    Release 1.15.8.6

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 7fe25bef6e0379cb1a54ec5394164b7854f1868a
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 07:23:34 2010 +0100

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |    2 +-
 dselect/po/ca.po        |   47 ++-
 dselect/po/cs.po        |    2 +-
 dselect/po/da.po        |    2 +-
 dselect/po/de.po        |    2 +-
 dselect/po/dselect.pot  |    4 +-
 dselect/po/el.po        |    2 +-
 dselect/po/es.po        |    2 +-
 dselect/po/et.po        |    2 +-
 dselect/po/eu.po        |    2 +-
 dselect/po/fr.po        |    2 +-
 dselect/po/gl.po        |    2 +-
 dselect/po/hu.po        |    2 +-
 dselect/po/id.po        |    2 +-
 dselect/po/it.po        |    2 +-
 dselect/po/ja.po        |    2 +-
 dselect/po/ko.po        |    2 +-
 dselect/po/nb.po        |    2 +-
 dselect/po/nl.po        |    2 +-
 dselect/po/nn.po        |    2 +-
 dselect/po/pl.po        |    2 +-
 dselect/po/pt.po        |    2 +-
 dselect/po/pt_BR.po     |    2 +-
 dselect/po/ro.po        |    2 +-
 dselect/po/ru.po        |    2 +-
 dselect/po/sk.po        |    2 +-
 dselect/po/sv.po        |    2 +-
 dselect/po/tl.po        |    2 +-
 dselect/po/vi.po        |    2 +-
 dselect/po/zh_CN.po     |    2 +-
 dselect/po/zh_TW.po     |    2 +-
 man/po/de.po            |  299 ++++++-----
 man/po/dpkg-man.pot     |  282 ++++++-----
 man/po/es.po            |  285 ++++++-----
 man/po/fr.po            | 1308 +++++++++++++++++++++++++++--------------------
 man/po/hu.po            |  282 ++++++-----
 man/po/ja.po            |  282 ++++++-----
 man/po/pl.po            |  282 ++++++-----
 man/po/pt_BR.po         |  282 ++++++-----
 man/po/ru.po            |  282 ++++++-----
 man/po/sv.po            |  285 ++++++-----
 po/ast.po               |  143 +++---
 po/bs.po                |  143 +++---
 po/ca.po                |  355 +++++++++-----
 po/cs.po                |  143 +++---
 po/da.po                |  188 +++++---
 po/de.po                |  188 +++++---
 po/dpkg.pot             |  145 +++---
 po/dz.po                |  143 +++---
 po/el.po                |  143 +++---
 po/eo.po                |  188 +++++---
 po/es.po                |  143 +++---
 po/et.po                |  143 +++---
 po/eu.po                |  188 +++++---
 po/fr.po                |  188 +++++---
 po/gl.po                |  143 +++---
 po/hu.po                |  143 +++---
 po/id.po                |  188 +++++---
 po/it.po                |  188 +++++---
 po/ja.po                |  188 +++++---
 po/km.po                |  143 +++---
 po/ko.po                |  188 +++++---
 po/ku.po                |  143 +++---
 po/lt.po                |  143 +++---
 po/mr.po                |  143 +++---
 po/nb.po                |  188 +++++---
 po/ne.po                |  143 +++---
 po/nl.po                |  143 +++---
 po/nn.po                |  143 +++---
 po/pa.po                |  143 +++---
 po/pl.po                |  143 +++---
 po/pt.po                |  188 +++++---
 po/pt_BR.po             |  143 +++---
 po/ro.po                |  191 +++++---
 po/ru.po                |  188 +++++---
 po/sk.po                |  188 +++++---
 po/sv.po                |  188 +++++---
 po/th.po                |  188 +++++---
 po/tl.po                |  143 +++---
 po/vi.po                |  188 +++++---
 po/zh_CN.po             |  188 +++++---
 po/zh_TW.po             |  143 +++---
 scripts/po/ca.po        |  114 +++--
 scripts/po/de.po        |  106 ++--
 scripts/po/dpkg-dev.pot |  108 ++--
 scripts/po/es.po        |  106 ++--
 scripts/po/fr.po        |  132 +++---
 scripts/po/pl.po        |  106 ++--
 scripts/po/ru.po        |  106 ++--
 scripts/po/sv.po        |  106 ++--
 90 files changed, 6573 insertions(+), 5179 deletions(-)

commit e0b4d276a74c74bfdfc0965eaa58c0749ea252b9
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 07:09:14 2010 +0100

    Changelog police
    
    Sort entries. Some rewording.

 debian/changelog |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

commit 929a9c4808c79781469987585f78f07df7f1d484
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 08:59:09 2010 +0200

    Add new --force-unsafe-io to disable safe I/O operations on unpack
    
    This allows to not perform file system syncs before file renames
    to guarantee its atomicity, which is known to cause substantial
    performance degradation on some file systems, unfortunately the ones
    that require the safe I/O on the first place due to their unreliable
    behaviour causing zero-length files on abrupt system crashes (sudden
    reboot, bus locks, pulling the plug, etc).
    
    Using this option might improve performance at the cost of losing
    data, and should thus be used with care, but that's ultimately
    something for the user of the affected file systems to decide.
    
    Closes: #584254

 debian/changelog |    2 ++
 man/dpkg.1       |   19 ++++++++++++++++++-
 src/archives.c   |    6 ++++--
 src/main.c       |    3 +++
 src/main.h       |    1 +
 5 files changed, 28 insertions(+), 3 deletions(-)

commit 5ee4e4e0458088cde1625ddb5a3d736f31a335d3
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 09:11:02 2010 +0200

    build: Disable usage of synchronous sync(2) by default
    
    It causes undesired I/O on unrelated file systems. It also makes the
    code behave differently on Linux systems.
    
    Allow the possibility to enable it again for the benefit of downstreams,
    which might want to use it regardless of its problems. Although this
    code path will most probably be removed in the near future.
    
    Closes: #588339, #595927, #600075

 configure.ac     |    2 +-
 debian/changelog |    4 ++++
 m4/dpkg-funcs.m4 |   34 +++++++++++++++++++++++-----------
 src/archives.c   |    4 ++--
 4 files changed, 30 insertions(+), 14 deletions(-)

commit f99dc9af28a5f60dbc4cf7747b36509f0979b326
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 06:28:49 2010 +0100

    Fix typo in French dpkg --debug=help output

 po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 07dcccd8c498dc679ac36aa407cc595c568380c1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 25 06:25:49 2010 +0100

    Fix status-fd man page translations
    
    Some of the words on those strings are literal output from dpkg, which
    will not be translated, so use english there. Avoid using French spacing
    too which will not happen on output either.

 man/po/es.po |    8 ++++----
 man/po/fr.po |    6 +++---
 man/po/sv.po |    2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

commit c2442afe4b79603e56dee4285301d2f8d85d164b
Author: Andrei Popescu <andreimpopescu@gmail.com>
Date:   Thu Nov 25 06:21:39 2010 +0100

    Update Romanian translation

 po/ro.po | 2187 ++++++++++++++------------------------------------------------
 1 files changed, 479 insertions(+), 1708 deletions(-)

commit 93bba14d3659578f19b5273dea2142d09a150a19
Author: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
Date:   Wed Nov 24 21:05:30 2010 +0100

    New manual page deb-src-control(5) documenting debian/control

 debian/changelog      |    6 +
 man/Makefile.am       |    1 +
 man/deb-control.5     |   26 ++++
 man/deb-src-control.5 |  322 +++++++++++++++++++++++++++++++++++++++++++++++++
 man/po/po4a.cfg       |    5 +
 5 files changed, 360 insertions(+), 0 deletions(-)

commit dd7ef56c1d46e89092ac78a710c23fa693b52228
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 24 20:59:09 2010 +0100

    dpkg-buildflags: fix incorrect name in comment

 scripts/dpkg-buildflags.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6b403243270240fd01116532112c287c8cfb688e
Author: Andrei POPESCU <andreimpopescu@gmail.com>
Date:   Wed Nov 24 19:36:01 2010 +0100

    Romanian translation update. Closes: #604769

 debian/changelog |    1 +
 po/ro.po         | 1555 +++++++++++++++++++++++-------------------------------
 2 files changed, 666 insertions(+), 890 deletions(-)

commit 48875ddd6f6b295120e54b17b904a2fc9badcbf9
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Nov 22 21:39:42 2010 +0100

    Patch by Sven Joachim <svenjoac@gmx.de> (and some further fixes noted)

 scripts/po/de.po |  110 +++++++++++++++++++++++++++---------------------------
 1 files changed, 55 insertions(+), 55 deletions(-)

commit f0266cd69c61fdab75691818ef40c64e66adbe26
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 8 08:02:30 2010 +0100

    u-a: Add missing options to --help output
    
    Document --get-selections, --set-selections, --log and --force.
    Split the huge string into smaller pieces to ease translators work.

 debian/changelog            |    1 +
 utils/update-alternatives.c |   18 ++++++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

commit 1f75b16ea5c48bfb26ead6aa3248b717ab8aa5fc
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 8 08:00:16 2010 +0100

    u-a: Unify similar strings

 utils/update-alternatives.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 438df89ef1888c77d9bfc74720392ed9ef580332
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 23:20:25 2010 +0100

    u-a: Use PROGNAME as format argument instead of concatenated to literals
    
    This reduced the amount of duplicated string literals in the output
    object reducing slightly the binary image.

 utils/update-alternatives.c |   29 +++++++++++++----------------
 1 files changed, 13 insertions(+), 16 deletions(-)

commit 898ad6a9d5900b6a46dc2b7c742edb00fc116c3c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 23:11:03 2010 +0100

    u-a: Add missing space in --set-selections output
    
    This was lost during the rewrite in C.

 debian/changelog            |    1 +
 utils/update-alternatives.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit f9c5414ea39c07cbd6a1b580a6a5df1381de39b4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 23:03:54 2010 +0100

    u-a: Reduce scope of current pointer in main()

 utils/update-alternatives.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 47a45689c3f395b4a1b86067fd795bbbcab29c6f
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 09:16:44 2010 +0100

    u-a: Avoid unneeded string allocations
    
    Instead of using temporaries with xasprintf(), just modify the original
    string by merging the needed literal strings and pass the additional
    arguments.

 utils/update-alternatives.c |   31 ++++++++++---------------------
 1 files changed, 10 insertions(+), 21 deletions(-)

commit befa6d21586273f86e911b97aa1c80bde8380f3c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 09:11:52 2010 +0100

    u-a: Simplify an unify string in alternative_display_query()
    
    Unify the common string, and always call free() as it handles NULL just
    fine.

 utils/update-alternatives.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit 97c8020b42b8be6b62e35b785e0411d963eaeae7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 09:07:42 2010 +0100

    u-a: Refactor duplicate code into new checked_rm_args()

 utils/update-alternatives.c |   45 ++++++++++++++++++++++---------------------
 1 files changed, 23 insertions(+), 22 deletions(-)

commit abcde2189e74065b2807b3984031ef33fe64742b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 09:05:36 2010 +0100

    u-a: Create new xvasprintf() and use it instead of ad-hoc code

 utils/update-alternatives.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

commit f7547316a11da5968a62094f789583428ce78ac3
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 7 08:58:11 2010 +0100

    u-a: Change alternative_save() to take care of atomic file write
    
    Instead of leaving the job of doing a proper atomic write, move the code
    inside alternative_save() so that other possible callers will benefit.

 utils/update-alternatives.c |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

commit 2819f4cc4639d59f7b6017f118e92dc5d9994299
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 5 06:56:06 2010 +0100

    u-a: Refactor common code into new alternative_commit_operations_free

 utils/update-alternatives.c |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

commit 73dab65273c589b7eed823adab30870e77171bb8
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 20:46:23 2010 +0100

    dpkg: Add new --status-logger option
    
    This option works in a similar way to --status-fd, the main difference
    is that we invoke the provided command and pass the status information
    to its standard input instead.
    
    Suggested-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog |    3 +++
 man/dpkg.1       |    8 +++++++-
 src/main.c       |   36 +++++++++++++++++++++++++++++++++++-
 3 files changed, 45 insertions(+), 2 deletions(-)

commit a7df7bc856fd3add35ba44f7bd23901913a539d4
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 19:13:59 2010 +0100

    dpkg: Use command_shell() instead of ad-hoc code to execute shells

 dpkg-deb/extract.c |    5 ++---
 src/configure.c    |   21 +++------------------
 2 files changed, 5 insertions(+), 21 deletions(-)

commit 7f9153a39ef306cb2181cd96c6e7a8f8513414b7
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 19:10:23 2010 +0100

    libdpkg: Add new command_shell() to execute a shell instance
    
    The function can invoke an interactive shell or a command through the
    shell.

 lib/dpkg/command.c |   26 ++++++++++++++++++++++++++
 lib/dpkg/command.h |    2 ++
 2 files changed, 28 insertions(+), 0 deletions(-)

commit 94e25a0380033654d2140ebf8149268b9bf446f8
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 06:39:28 2010 +0100

    Refactor setpipe() into statusfd_add() to stop exposing status_pipes

 lib/dpkg/dpkg.h           |    8 +-------
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/log.c            |   20 +++++++++++++++++++-
 src/main.c                |   11 ++---------
 4 files changed, 23 insertions(+), 18 deletions(-)

commit 4e6da8c691773fbad5d6df4f0544361ea971dc14
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 06:25:00 2010 +0100

    man: Remove comment about newlines in status-fd error entries
    
    This got fixed in commit db9645cff36a3fff3c597764fb8d49fbc819bad7.

 debian/changelog |    2 ++
 man/dpkg.1       |    8 +++-----
 2 files changed, 5 insertions(+), 5 deletions(-)

commit d2abfdb8bc6137c4a2f87c5c6db22e030d3334c7
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 03:38:06 2010 +0100

    dpkg-deb: Use m_realloc instead of m_malloc when the pointer is NULL
    
    This removes a duplicate case which m_realloc will handle just fine.

 dpkg-deb/build.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

commit 65969bfbccaf387c69df284215b6aefea7496f41
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 10:46:28 2010 +0100

    Use new enum for dependency found status
    
    Instead of cryptic literal integers use named enums.

 src/packages.c |   70 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 40 insertions(+), 30 deletions(-)

commit e983b8522fc2be93c3b31e38ddd5ce94448739c1
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 10:45:08 2010 +0100

    Use new enum for dependency check result values
    
    Instead of cryptic literal integers use named enums.

 src/main.h     |   13 ++++++++++---
 src/packages.c |   47 +++++++++++++++++++++++++++--------------------
 2 files changed, 37 insertions(+), 23 deletions(-)

commit 0f1668f799780250503fca5df0a12531587c1eb8
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 10:08:18 2010 +0100

    Use new enum for trigdef_update_start() return values
    
    Instead of cryptic literal integers use named enums.

 lib/dpkg/trigdeferred.h |   11 ++++++++++-
 lib/dpkg/trigdeferred.l |   12 ++++++------
 lib/dpkg/triglib.c      |   14 +++++++-------
 src/trigcmd.c           |   10 +++++-----
 4 files changed, 28 insertions(+), 19 deletions(-)

commit b070e0ec0d33b585809dd420e0433a4f67ca12c0
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 09:41:29 2010 +0100

    libdpkg: Rewrite get_prefix_name() to be more efficient
    
    Avoid temporary allocations from the heap and use sprintf to write the
    string with delimited parts.

 lib/dpkg/tarfn.c |   19 +++++--------------
 1 files changed, 5 insertions(+), 14 deletions(-)

commit 04eaf265a0b219ed8689607196405fdff9a4a432
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 08:24:54 2010 +0100

    libdpkg: Disallow versions starting with non-digits
    
    Fail on strict parsing, and warn otherwise.

 debian/changelog             |    2 ++
 lib/dpkg/parsehelp.c         |    5 ++++-
 lib/dpkg/test/t-version.c    |    4 ++--
 scripts/t/100_Dpkg_Version.t |   40 ++++++++++++++++++++--------------------
 4 files changed, 28 insertions(+), 23 deletions(-)

commit ac65897081f5f20fda853beed79c28559fe33aea
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 07:36:16 2010 +0100

    libdpkg: Fix version_strict_check() to not allow '-' in revision
    
    The revision cannot possibly have a '-' in it, so do not allow it. This
    is innocuous in the current code as the parser makes sure the versions
    are split on last '-', which implies the revision will never have one,
    but it could happen that a manually constructed versionrevision could
    contain one.

 lib/dpkg/parsehelp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit be7a2c7829014eaec48185add2e445f2d8570055
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 07:33:08 2010 +0100

    libdpkg: Improve version strict check unit test
    
    The current test was using a single version with lots of invalid
    characters, but only the first invalid character would get checked
    against. Create a version per each invalid character to be tested
    instead.

 lib/dpkg/test/t-version.c |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

commit d3de9d66d6c4e735e7f9d2821549b9fc8e235d7d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 08:06:52 2010 +0100

    libdpkg: Slightly optimize order() checks
    
    Reorganize code to first do checks on most commonly expected character.
    First digits, then alphabetical, then the tilde, followed by any non NUL
    character and finally the NUL character.

 lib/dpkg/vercmp.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 60c89bac73d5a9aea0da4c38cc5e963b0d760000
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 08:02:05 2010 +0100

    libdpkg: Switch order macro into a function

 lib/dpkg/vercmp.c |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

commit 326d7b43ffd8b6c8e1bf4dcd5c5495ee5129631f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 21:41:46 2010 +0100

    libdpkg: Refactor tar_gnu_long() out from tar_extractor()

 lib/dpkg/tarfn.c |  102 +++++++++++++++++++++++++++---------------------------
 1 files changed, 51 insertions(+), 51 deletions(-)

commit ebe392c61526b520bb7033fa49af8bd2faa39001
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 21:01:05 2010 +0100

    libdpkg: Switch tar_header_decode() to take a struct tar_header
    
    Instead of passing it a 'char *' argument to be casted later on to a
    tar_header, just pass the latter directly.

 lib/dpkg/tarfn.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

commit 835741f632e884ccd973d87e128c9846dd3e1d4c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 20:50:58 2010 +0100

    libdpkg: Move checksum_offset into tar_header_checksum()

 lib/dpkg/tarfn.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit d30a087c4f7686ad237b15b413848a6a8fe87ed6
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 20:44:41 2010 +0100

    libdpkg: Refactor tar_header_checksum() out from tar_header_decode()

 lib/dpkg/tarfn.c |   42 ++++++++++++++++++++++++++----------------
 1 files changed, 26 insertions(+), 16 deletions(-)

commit 2d0ebab0474fc83f07ed4f648fdb85443b1bfd2b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 20:31:25 2010 +0100

    libdpkg: Rename DecodeTarHeader to tar_header_decode

 lib/dpkg/tarfn.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 58a9ff2596fa722f230eee97bfa65c5d6218f479
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 20:30:53 2010 +0100

    libdpkg: Rename TarChecksumOffset to checksum_offset

 lib/dpkg/tarfn.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit cd9b20b161549ea810750cccc28c92ea655d42fa
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 20:30:25 2010 +0100

    libdpkg: Rename TarInfo to tar_header

 lib/dpkg/tarfn.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 3b717d8231e3251fe7b2ac09db44481a40092c58
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 20:28:34 2010 +0100

    libdpkg: Rename and lower-case TarHeader members

 lib/dpkg/tarfn.c |   82 ++++++++++++++++++++++++++---------------------------
 1 files changed, 40 insertions(+), 42 deletions(-)

commit a30303a4ea49c548673544d09f667802be7c9b26
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 20:19:37 2010 +0100

    libdpkg: Rename nameLength to name_len in tar_extractor()

 lib/dpkg/tarfn.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 7a0a0619fd3c926aecec59987597a40f7b2dcd3c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 08:31:48 2010 +0100

    libdpkg: Rename path_rtrim_slash_slashdot to path_trim_slash_slashdot

 dpkg-deb/build.c          |    2 +-
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/path.c           |    2 +-
 lib/dpkg/path.h           |    2 +-
 lib/dpkg/test/t-path.c    |    6 +++---
 src/querycmd.c            |    2 +-
 src/statcmd.c             |    2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

commit c6ea15b9850f26ea3b5a13667396c89e00aa9890
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 08:18:28 2010 +0100

    Cleanup white spaces
    
    Remove trailing spaces. Remove blank lines not separating different code
    blocks. Remove blank lines at the end of the file.

 ChangeLog.old                       |    1 -
 README.translators                  |    1 -
 TODO                                |    1 -
 debian/usertags                     |    1 -
 doc/README.feature-removal-schedule |    1 -
 doc/triggers.txt                    |    2 -
 dpkg-deb/Makefile.am                |    1 -
 dpkg-deb/build.c                    |   15 +++++------
 dpkg-deb/extract.c                  |   19 +++++--------
 dpkg-deb/info.c                     |    6 ++--
 dpkg-split/info.c                   |   14 +++++-----
 dpkg-split/join.c                   |    9 +++---
 dpkg-split/main.c                   |    2 +-
 dpkg-split/queue.c                  |    2 +-
 dselect/basecmds.cc                 |   14 +++++-----
 dselect/baselist.cc                 |   26 +++++++++---------
 dselect/bindings.cc                 |    8 +++---
 dselect/bindings.h                  |   12 ++++----
 dselect/dselect-curses.h            |    1 -
 dselect/dselect.h                   |    4 +-
 dselect/main.cc                     |    5 +--
 dselect/methkeys.cc                 |   12 ++++----
 dselect/methlist.cc                 |   10 +++---
 dselect/method.cc                   |    6 ++--
 dselect/method.h                    |    6 ++--
 dselect/methods/disk/setup          |    2 -
 dselect/methods/disk/update         |    1 -
 dselect/methods/ftp/names           |    1 -
 dselect/methparse.cc                |   12 ++++----
 dselect/pkgcmds.cc                  |    4 +-
 dselect/pkgdepcon.cc                |   34 ++++++++++++------------
 dselect/pkgdisplay.cc               |   14 +++++-----
 dselect/pkginfo.cc                  |    4 +-
 dselect/pkgkeys.cc                  |   16 ++++++------
 dselect/pkglist.cc                  |   44 +++++++++++++++----------------
 dselect/pkglist.h                   |   12 ++++----
 dselect/pkgsublist.cc               |   13 ++++-----
 dselect/pkgtop.cc                   |   22 +++++-----------
 dselect/po/ChangeLog.old            |    1 -
 dselect/po/POTFILES.in              |    1 -
 get-version                         |    1 -
 lib/compat/Makefile.am              |    1 -
 lib/compat/alphasort.c              |    1 -
 lib/compat/compat.h                 |    1 -
 lib/compat/scandir.c                |    1 -
 lib/compat/snprintf.c               |    1 -
 lib/compat/strerror.c               |    1 -
 lib/compat/strsignal.c              |    1 -
 lib/compat/unsetenv.c               |    1 -
 lib/compat/vsnprintf.c              |    1 -
 lib/dpkg/buffer.c                   |    1 -
 lib/dpkg/cleanup.c                  |    1 -
 lib/dpkg/command.c                  |    1 -
 lib/dpkg/command.h                  |    1 -
 lib/dpkg/database.c                 |    2 +-
 lib/dpkg/dbmodify.c                 |   13 +++------
 lib/dpkg/dpkg-db.h                  |    3 +-
 lib/dpkg/dump.c                     |   10 +++---
 lib/dpkg/ehandle.c                  |   12 +++-----
 lib/dpkg/fields.c                   |   11 +++----
 lib/dpkg/file.c                     |    1 -
 lib/dpkg/file.h                     |    1 -
 lib/dpkg/log.c                      |    1 -
 lib/dpkg/macros.h                   |    1 -
 lib/dpkg/mlib.c                     |    7 ++---
 lib/dpkg/nfmalloc.c                 |    2 +-
 lib/dpkg/parse.c                    |    7 +++-
 lib/dpkg/parsehelp.c                |    7 ++---
 lib/dpkg/path.c                     |    1 -
 lib/dpkg/path.h                     |    1 -
 lib/dpkg/pkg-array.c                |    1 -
 lib/dpkg/pkg-format.c               |    1 -
 lib/dpkg/pkg-list.c                 |    1 -
 lib/dpkg/pkg-queue.c                |    1 -
 lib/dpkg/pkg-show.c                 |    1 -
 lib/dpkg/pkg.c                      |    1 -
 lib/dpkg/progress.c                 |    1 -
 lib/dpkg/progress.h                 |    1 -
 lib/dpkg/string.c                   |    1 -
 lib/dpkg/string.h                   |    1 -
 lib/dpkg/subproc.c                  |    1 -
 lib/dpkg/subproc.h                  |    1 -
 lib/dpkg/tarfn.c                    |    1 -
 lib/dpkg/test.h                     |    1 -
 lib/dpkg/test/Makefile.am           |    1 -
 lib/dpkg/test/t-buffer.c            |    1 -
 lib/dpkg/test/t-command.c           |    1 -
 lib/dpkg/test/t-macros.c            |    1 -
 lib/dpkg/test/t-path.c              |    1 -
 lib/dpkg/test/t-pkg-list.c          |    1 -
 lib/dpkg/test/t-pkg-queue.c         |    1 -
 lib/dpkg/test/t-pkginfo.c           |    1 -
 lib/dpkg/test/t-string.c            |    1 -
 lib/dpkg/test/t-test.c              |    1 -
 lib/dpkg/test/t-varbuf.c            |    1 -
 lib/dpkg/test/t-version.c           |    1 -
 lib/dpkg/trigdeferred.l             |    1 -
 lib/dpkg/triglib.c                  |    1 +
 lib/dpkg/utils.c                    |    1 -
 m4/dpkg-compiler.m4                 |    1 -
 m4/dpkg-progs.m4                    |    1 -
 man/po/ChangeLog.old                |    1 -
 po/ChangeLog.old                    |    1 -
 scripts/dpkg-distaddfile.pl         |    1 -
 scripts/dpkg-genchanges.pl          |    1 -
 scripts/dpkg-gencontrol.pl          |    1 -
 scripts/dpkg-mergechangelogs.pl     |    1 -
 scripts/dpkg-name.pl                |    1 -
 scripts/dpkg-parsechangelog.pl      |    1 -
 scripts/dpkg-scanpackages.pl        |    1 -
 scripts/dpkg-shlibdeps.pl           |    1 -
 scripts/dpkg-source.pl              |    1 -
 scripts/po/ChangeLog.old            |    1 -
 scripts/t/400_Dpkg_Deps.t           |    1 -
 scripts/t/500_Dpkg_Path.t           |    1 -
 scripts/t/700_Dpkg_Control.t        |    1 -
 scripts/t/850_Dpkg_Compression.t    |    2 -
 scripts/t/910_merge_changelogs.t    |    1 -
 src/archives.c                      |   42 ++++++++++++++----------------
 src/cleanup.c                       |    8 +++---
 src/depcon.c                        |   35 ++++++++++++-------------
 src/divertdb.c                      |    1 -
 src/enquiry.c                       |    8 +++---
 src/errors.c                        |    4 +-
 src/filesdb.c                       |   14 +++++-----
 src/filesdb.h                       |    2 +-
 src/help.c                          |   18 ++++++------
 src/main.c                          |    5 +--
 src/main.h                          |    2 +-
 src/packages.c                      |   10 +++---
 src/processarc.c                    |   48 ++++++++++++++++++----------------
 src/querycmd.c                      |   15 +++-------
 src/remove.c                        |   38 +++++++++++++--------------
 src/select.c                        |    2 +-
 src/statcmd.c                       |    1 -
 src/statdb.c                        |    1 -
 src/trigcmd.c                       |    1 -
 src/trigproc.c                      |    1 -
 src/update.c                        |    4 +-
 utils/start-stop-daemon.c           |    1 -
 utils/t/100_update_alternatives.t   |    1 -
 141 files changed, 321 insertions(+), 444 deletions(-)

commit 7ee4f4f2ef5ca3d9fa1426ac93f78ead2280bc36
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 07:02:21 2010 +0100

    Add doxygen comments to several functions

 lib/dpkg/dir.c       |   21 +++++++++++++++++++++
 lib/dpkg/file.c      |    3 +++
 lib/dpkg/parse.c     |    3 +++
 lib/dpkg/path.c      |   16 ++++++++++++++++
 lib/dpkg/pkg-list.c  |   19 +++++++++++++++++++
 lib/dpkg/pkg-queue.c |   37 +++++++++++++++++++++++++++++++++++++
 lib/dpkg/pkg-queue.h |    3 +++
 lib/dpkg/string.c    |    9 +++++++++
 8 files changed, 111 insertions(+), 0 deletions(-)

commit ec5d6813398a42b6cf6b3da7604e59bbb3343aa9
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 1 06:13:38 2010 +0100

    Cleanup and improve source code comments
    
    Global review, which includes the following changes to try to increase
    consistency, update and improve the source code comments:
    
     - Spelling fixes.
     - Use American English forms.
     - Uppercase NULL, NUL and ASCII.
     - Use “Note: ” instead of the slightly cryptic “NB: ” form.
     - Write comments as proper sentences, including capitalizations and
       ending dots.
     - Move comments before the code, function or variable they refer to.
     - Move general function comments outside the body.
     - Convert function and variable description comments to doxygen.
     - Use one space before dot, exclamation and question marks.
     - Use ‘’ or “” instead of `' style quoting.
     - Remove author names from comments, already visible from “git blame”.
     - Mark strings for translators with “TRANSLATORS: ”.
     - Remove useless or outdated comments.
     - Fix comment indentation.
     - Standardize comment format:
    
       /* Short text comment. */
    
       /* Long text,
        * comment. */
    
       /*
        * Section text.
        */

 dpkg-deb/build.c              |   74 +++++++--------
 dpkg-deb/extract.c            |    8 +-
 dpkg-split/dpkg-split.h       |   11 +-
 dpkg-split/info.c             |   10 ++-
 dpkg-split/queue.c            |   27 +++---
 dselect/pkgdisplay.cc         |    9 +-
 lib/dpkg/database.c           |   28 +++---
 lib/dpkg/dbmodify.c           |   20 ++--
 lib/dpkg/dpkg-db.h            |   56 +++++++----
 lib/dpkg/dpkg.h               |    3 +-
 lib/dpkg/dump.c               |    4 +-
 lib/dpkg/ehandle.c            |   32 ++++---
 lib/dpkg/ehandle.h            |    3 +-
 lib/dpkg/fields.c             |   33 +++++--
 lib/dpkg/file.c               |   17 +++-
 lib/dpkg/file.h               |    3 -
 lib/dpkg/mlib.c               |    2 +-
 lib/dpkg/myopt.h              |    9 ++-
 lib/dpkg/nfmalloc.c           |    2 +-
 lib/dpkg/parse.c              |  111 +++++++++++-----------
 lib/dpkg/parsedump.h          |    3 +-
 lib/dpkg/parsehelp.c          |   16 ++--
 lib/dpkg/path.c               |   30 +++----
 lib/dpkg/string.c             |    8 ++-
 lib/dpkg/tarfn.c              |   12 ++-
 lib/dpkg/trigdeferred.h       |    8 --
 lib/dpkg/trigdeferred.l       |   11 ++
 lib/dpkg/triglib.c            |   87 ++++++++++-------
 lib/dpkg/utils.c              |    5 +-
 lib/dpkg/varbuf.h             |    2 +-
 lib/dpkg/vercmp.c             |    4 +-
 m4/dpkg-compiler.m4           |   12 +-
 scripts/Dpkg/Shlibs/Symbol.pm |    2 +-
 src/archives.c                |  196 +++++++++++++++++++++-----------------
 src/cleanup.c                 |   51 ++++++-----
 src/configure.c               |    8 +-
 src/depcon.c                  |  129 +++++++++++++-------------
 src/enquiry.c                 |   79 +++++++++-------
 src/filesdb.c                 |   69 +++++++-------
 src/filesdb.h                 |  110 ++++++++++++----------
 src/help.c                    |   33 ++++---
 src/main.c                    |   39 ++++----
 src/main.h                    |   24 ++---
 src/packages.c                |   52 ++++++-----
 src/processarc.c              |  206 ++++++++++++++++++++---------------------
 src/querycmd.c                |   49 +++++++---
 src/remove.c                  |   48 +++++-----
 src/trigproc.c                |   58 +++++++-----
 src/update.c                  |    2 +-
 utils/start-stop-daemon.c     |   21 +++--
 utils/update-alternatives.c   |    6 +-
 51 files changed, 1015 insertions(+), 827 deletions(-)

commit 9209010455812b6e51cd907aab3d50779ea8e35b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 21:30:49 2010 +0100

    s-s-d: Refactor sched_timeout code out into new do_stop_timeout()

 utils/start-stop-daemon.c |  132 ++++++++++++++++++++++++---------------------
 1 files changed, 71 insertions(+), 61 deletions(-)

commit 141b8a46fae0a80313ca1968f55f45124ce70428
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 07:55:47 2010 +0100

    libdpkg: Make str_escape_fmt buffer overflow safe
    
    Make sure we do not write more to the destination buffer than it can
    hold.

 lib/dpkg/parsehelp.c     |    4 ++--
 lib/dpkg/string.c        |   12 ++++++++++--
 lib/dpkg/string.h        |    2 +-
 lib/dpkg/test/t-string.c |   19 +++++++++++++++----
 4 files changed, 28 insertions(+), 9 deletions(-)

commit 295a6102cacb6be15bf2441549d2dcb505990138
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 06:28:58 2010 +0100

    libdpkg: Refactor string termination in path_quote_filename
    
    Move all destination string termination to the end of the function.
    Always check the size limit before writting to the desintation and bail
    out if there's no enough space.

 lib/dpkg/path.c |   47 +++++++++++++++++++++--------------------------
 1 files changed, 21 insertions(+), 26 deletions(-)

commit 537a50764317c9a2ed37afe7a4acc3f1114f8c55
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 06:01:02 2010 +0100

    libdpkg: Change switch into if/else in path_quote_filename
    
    This reduces the code depth, and will allow further code simplification.

 lib/dpkg/path.c |   34 +++++++++++++++-------------------
 1 files changed, 15 insertions(+), 19 deletions(-)

commit 180e2e0e477145df4ccf8a71220773c0b093091e
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 04:09:59 2010 +0100

    libdpkg: Add new warningv() function and make warning() use it

 lib/dpkg/ehandle.c        |   14 ++++++++++----
 lib/dpkg/ehandle.h        |    1 +
 lib/dpkg/libdpkg.Versions |    1 +
 3 files changed, 12 insertions(+), 4 deletions(-)

commit 7d4d1007c4f7ca8d40a5374f1305426b8c1e2e54
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 04:05:19 2010 +0100

    libdpkg: Add PURE, MALLOC, NONNULL and REQRET compiler attributes

 lib/dpkg/macros.h |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 631338a5e54d5ecd861f26440deef37a891d1f30
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 03:40:04 2010 +0100

    dselect: Remove shadowing variable definitions from pkgtop
    
    The variables i and p are always initialized before each different loop
    use, and they are actually used for the same purpose, just in different
    places in the code.

 dselect/pkgtop.cc |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 2d8721c8417aaa8dd8fe1f393eee69e92e5b2294
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 3 01:57:42 2010 +0100

    build: Use AC_REQUIRE for AC_CANONICAL_HOST in DPKG_FUNC_ASYNC_SYNC

 m4/dpkg-funcs.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 79b0a98dff5e8aaf3ee94d301613278cf1bd5593
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 05:55:51 2010 +0100

    build: Change the strictness from gnu to foreign
    
    This is not a GNU project and thus we don't abide by the GNU
    conventions.

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bbf1c10064958da1ebb5a8d2da0bc170dd1c994a
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 05:53:30 2010 +0100

    build: Refactor --with/out options into DPKG_WITH_PROG and DPKG_WITH_DIR

 configure.ac     |   72 +++++++----------------------------------------------
 m4/dpkg-build.m4 |   33 ++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 62 deletions(-)

commit fcd428d0b05f84ee1dbc4910a011d75bf6d02171
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 03:27:29 2010 +0100

    build: Unify and fix AC_ARG_ENABLE usage
    
    The current code was executing code in the action arguments, instead
    of just setting boolean flags and processing them afterwards. This
    poses several problems, it implies jugling code around in case the the
    default changes, it might also duplicate code, and it might leave the
    ACTION-IF-NOT-GIVEN argument empty which could turn into an empty
    “then fi” shell block which is a syntax error on POSIX shell. Leaving
    the ACTION-IF-GIVEN argument empty is fine as it's always used by
    autoconf to set $enableval to the specific enable variable, and setting
    that variable from $enableval is redundant and might be wrong depending
    on the order they are set, which could empty it.
    
    Reported-by: Michael Schmidt <michael.schmidt.dangel@gmail.com>

 m4/dpkg-compiler.m4 |   11 +++++++----
 m4/dpkg-funcs.m4    |   13 +++++++------
 m4/dpkg-linker.m4   |   13 ++++++++-----
 3 files changed, 22 insertions(+), 15 deletions(-)

commit d20d82f99479fd50eda013bcb790ca06acb9a25b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 31 03:24:03 2010 +0100

    build: Add missing m4 quotes around AM_CONDITIONAL argument

 m4/dpkg-coverage.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 495dfd0389fc48fe8723d424952340530577b8f3
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 30 09:00:24 2010 +0200

    build: Add missing m4 quotes to sed regex
    
    This was making the regex non-functional, as the square brackets
    were being removed when generating the output file, thus making the
    --disable-compiler-optimisations and --disable-linker-optimisations
    non-functional.

 m4/dpkg-compiler.m4 |    2 +-
 m4/dpkg-linker.m4   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit e338748e9ff28ab7921a110fd71ec71882bbc3dd
Author: Cyril Brulebois <kibi@debian.org>
Date:   Sat Oct 23 10:00:46 2010 +0200

    build: Break if ncurses is requested but unavailable
    
    If building dselect is requested (the default), ncurses is requested
    through DPKG_LIB_CURSES, but if it isn't found, only AC_MSG_WARN is
    used, leading to a successful configure and a failure to build
    dselect/*. Use AC_MSG_ERROR instead to make configure bail out.
    
    Reported-by: Michael Schmidt <michael.schmidt.dangel@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 m4/dpkg-libs.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4f81ba2457638473b2fcabaa5b314ba077df195a
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Oct 26 19:05:49 2010 +0200

    man: Use FHS mount point for /media/cdrom

 man/dpkg.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit ba908783e306ba38457a84fd6d975ca69e351e56
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 04:35:07 2010 +0200

    libdpkg: Always print parse warnings on stderr
    
    Remove now unused warnto from parsedb_stat struct.

 dpkg-deb/build.c     |    2 +-
 dpkg-deb/info.c      |    2 +-
 lib/dpkg/dbmodify.c  |    7 +++----
 lib/dpkg/dpkg-db.h   |    2 +-
 lib/dpkg/parse.c     |    9 +++------
 lib/dpkg/parsedump.h |    1 -
 lib/dpkg/parsehelp.c |    8 +++-----
 src/processarc.c     |    2 +-
 src/update.c         |    4 ++--
 9 files changed, 15 insertions(+), 22 deletions(-)

commit 4afc4d0239d7f4e60bc68a79a07aef576c8a3ebe
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 03:55:58 2010 +0200

    libdpkg: Reorded convert_string arguments

 lib/dpkg/fields.c |   30 ++++++++++++++++--------------
 1 files changed, 16 insertions(+), 14 deletions(-)

commit 28007d02c3f60d762cdb943e8886267333f1c2a1
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 03:49:47 2010 +0200

    Use new namevalue_find_by_name function instead of ad-hoc code

 lib/dpkg/fields.c |   12 ++++--------
 src/select.c      |    6 ++++--
 2 files changed, 8 insertions(+), 10 deletions(-)

commit e66836854ef51b5b5ce0b95a61adbf13f8dcd660
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 03:49:22 2010 +0200

    libdpkg: Add new namevalue_find_by_name function

 lib/dpkg/Makefile.am                  |    1 +
 lib/dpkg/libdpkg.Versions             |    3 +++
 lib/dpkg/{namevalue.h => namevalue.c} |   32 +++++++++++++++-----------------
 lib/dpkg/namevalue.h                  |    5 ++++-
 4 files changed, 23 insertions(+), 18 deletions(-)

commit 8c234c5698645a759f6153fd1be4d7b90059bb88
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 03:28:55 2010 +0200

    libdpkg: Move namevalue declarations to its own header file

 lib/dpkg/Makefile.am |    1 +
 lib/dpkg/dpkg-db.h   |    5 +----
 lib/dpkg/namevalue.h |   40 ++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/parsehelp.c |    3 ---
 4 files changed, 42 insertions(+), 7 deletions(-)

commit b89373e169cf0d90c3143eeac0bded1a5d9e9c5c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 03:17:38 2010 +0200

    libdpkg: Rename package blank functions to pkg_blank and pkg_perfile_blank

 lib/dpkg/database.c         |   14 +++++++++-----
 lib/dpkg/dpkg-db.h          |    4 ++--
 lib/dpkg/libdpkg.Versions   |    4 ++--
 lib/dpkg/parse.c            |    2 +-
 lib/dpkg/test/t-pkg-queue.c |    2 +-
 lib/dpkg/test/t-pkginfo.c   |    4 ++--
 src/cleanup.c               |    2 +-
 src/processarc.c            |    2 +-
 src/remove.c                |    2 +-
 9 files changed, 20 insertions(+), 16 deletions(-)

commit a3dd7c610183c6f5515d69178b8a848ea1d82b87
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 03:16:00 2010 +0200

    libdpkg: Rename informative to pkg_is_informative

 dselect/pkgdepcon.cc      |   12 +++++++-----
 lib/dpkg/database.c       |    2 +-
 lib/dpkg/dpkg-db.h        |    2 +-
 lib/dpkg/dump.c           |    3 ++-
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/test/t-pkginfo.c |    6 +++---
 src/querycmd.c            |    4 ++--
 7 files changed, 17 insertions(+), 14 deletions(-)

commit f74dfc666ea193a85de5e5f26b079506b289843f
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 03:13:58 2010 +0200

    libdpkg: Rename illegal_packagename to pkg_name_is_illegal

 lib/dpkg/dpkg-db.h        |    2 +-
 lib/dpkg/fields.c         |    8 +++++---
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/parsehelp.c      |    4 +++-
 lib/dpkg/triglib.c        |    9 ++++++---
 src/main.c                |    2 +-
 src/select.c              |    2 +-
 src/trigcmd.c             |    2 +-
 8 files changed, 19 insertions(+), 12 deletions(-)

commit a6066a13aa23b28036b692b570f280a70efcf971
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 02:55:55 2010 +0200

    libdpkg: Rename illegal_triggername to trig_name_is_illegal

 lib/dpkg/fields.c         |    2 +-
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/triglib.c        |    4 ++--
 lib/dpkg/triglib.h        |    2 +-
 src/trigcmd.c             |    3 ++-
 5 files changed, 7 insertions(+), 6 deletions(-)

commit cc49169cdc596e33f036e9d9300e915a74e8baf0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 24 02:53:27 2010 +0200

    dpkg-trigger: Remove duplicate command name from error messages

 src/trigcmd.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 9db4a822bb62b739e71c0a59c5ba46a27d121e32
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 23 05:37:33 2010 +0200

    libdpkg: Namespace package database functions with pkg_db_ prefix

 TODO                      |    1 -
 dselect/main.cc           |    2 +-
 dselect/pkglist.cc        |    9 +++++----
 lib/dpkg/database.c       |   24 ++++++++++++++++++------
 lib/dpkg/dpkg-db.h        |   13 +++++++------
 lib/dpkg/dump.c           |    6 +++---
 lib/dpkg/fields.c         |   10 ++++------
 lib/dpkg/libdpkg.Versions |   12 ++++++------
 lib/dpkg/parse.c          |    4 ++--
 lib/dpkg/pkg-array.c      |    8 ++++----
 lib/dpkg/triglib.c        |    8 ++++----
 src/depcon.c              |    6 +++---
 src/divertcmd.c           |    4 ++--
 src/divertdb.c            |    2 +-
 src/enquiry.c             |   32 ++++++++++++++++----------------
 src/filesdb.c             |    2 +-
 src/help.c                |    6 +++---
 src/main.c                |    2 +-
 src/packages.c            |    8 ++++----
 src/processarc.c          |    6 +++---
 src/querycmd.c            |    4 ++--
 src/select.c              |    8 ++++----
 src/trigproc.c            |   14 +++++++-------
 23 files changed, 101 insertions(+), 90 deletions(-)

commit 6ad315a1eeb8f3a597dee9a5d602013dd2d2b9d2
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 23 05:19:43 2010 +0200

    libdpkg: Use push_error_context_jump() instead of push_error_handler()
    
    Remove obsolete and now unused push_error_handler compatibility macro.

 lib/dpkg/ehandle.h |    2 --
 src/archives.c     |    3 ++-
 src/packages.c     |    3 ++-
 src/trigproc.c     |    3 ++-
 4 files changed, 6 insertions(+), 5 deletions(-)

commit 2a92bb81186b6098ec2a6b77242690d11402faad
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 23 05:16:46 2010 +0200

    libdpkg: Rename error_unwind() to pop_error_context()

 lib/dpkg/dpkg.h           |    2 +-
 lib/dpkg/ehandle.c        |   13 +++++++++----
 lib/dpkg/ehandle.h        |    2 +-
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/test.h           |    3 +--
 src/archives.c            |    4 ++--
 src/main.c                |    2 +-
 src/packages.c            |    5 +++--
 src/trigproc.c            |    4 ++--
 9 files changed, 21 insertions(+), 16 deletions(-)

commit 051423d23c9d5580aaecf0a7c41c854566d40d76
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 17 05:57:45 2010 +0200

    dselect: Use a function instead of a jump error handler

 dselect/main.cc |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

commit b94d25d09f8bf55a68e17379581fb2ba71ae26aa
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 17 05:50:02 2010 +0200

    Use push_error_context() instead of ad-hoc code

 TODO              |    1 -
 dpkg-deb/main.c   |    3 +--
 dpkg-split/main.c |    3 +--
 lib/dpkg/dpkg.h   |    7 ++-----
 lib/dpkg/test.h   |    8 +-------
 src/divertcmd.c   |    3 +--
 src/main.c        |   11 +++--------
 src/querycmd.c    |    3 +--
 src/statcmd.c     |    3 +--
 src/trigcmd.c     |    3 +--
 10 files changed, 12 insertions(+), 33 deletions(-)

commit 841f42173e5d0a97bbc9f184d781d2b2e6f9f974
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 17 05:47:34 2010 +0200

    libdpkg: Add new push_error_context() function
    
    This new function pushes a default error context.

 lib/dpkg/ehandle.c        |    6 ++++++
 lib/dpkg/ehandle.h        |    1 +
 lib/dpkg/libdpkg.Versions |    1 +
 3 files changed, 8 insertions(+), 0 deletions(-)

commit de42418d9c0a255cec4440b5f99e764654440159
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 20:59:07 2010 +0200

    libdpkg: Remove set_error_display()
    
    If the code needs to set a different error printer then it should push
    a new error context instead.

 lib/dpkg/ehandle.c        |   10 ----------
 lib/dpkg/ehandle.h        |    1 -
 lib/dpkg/libdpkg.Versions |    1 -
 3 files changed, 0 insertions(+), 12 deletions(-)

commit 29f4ab41c95abf9639b81918d9b7aa1ca8edbe81
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 19:16:50 2010 +0200

    libdpkg: Create a new error context in subproc_fork
    
    Instead of changing the current error display handler and pushing a
    cleanup handler that exits immediately to avoid calling previously
    set cleanup handlers, just push a new error context which will work
    as a cleanup barrier. This also is a more natural way of using the
    current interface.

 lib/dpkg/subproc.c |   13 +++----------
 1 files changed, 3 insertions(+), 10 deletions(-)

commit 2272d4116924caad96816871040a8c1ae16f87e9
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 19:10:42 2010 +0200

    Move error context display handler reset to error_unwind()
    
    Never print an error message when doing normal cleanup, as this is
    something we always want to do.

 lib/dpkg/dpkg.h    |    1 -
 lib/dpkg/ehandle.c |    4 ++++
 lib/dpkg/test.h    |    1 -
 src/archives.c     |    2 +-
 src/main.c         |    2 +-
 src/packages.c     |    2 +-
 src/trigproc.c     |    1 -
 7 files changed, 7 insertions(+), 6 deletions(-)

commit bf1455085899a5203373eff34741cd7ea3d64774
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 19:04:13 2010 +0200

    libdpkg: Add error context function handler support
    
    This allows the code to use a function instead of a jump buffer to
    handle the errors, which happen to be possible for the general case,
    when it does not need to continue processing in an upper stack frame.
    Thus reducing the preceived complexity of simple code, and avoids
    exposing setjmp machinery to the casual user.

 lib/dpkg/ehandle.c        |   53 +++++++++++++++++++++++++++++++++++++++-----
 lib/dpkg/ehandle.h        |    9 ++++++-
 lib/dpkg/libdpkg.Versions |    3 +-
 3 files changed, 56 insertions(+), 9 deletions(-)

commit e07774f1b528754ec5161af245d801158f0d4dd2
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 16 22:14:18 2010 +0100

    dpkg-query: Fix --search not found string to be more meaningful

 src/querycmd.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit fd84ba8969bf305d97c225b44858965e53a0cb66
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 07:35:27 2010 +0200

    Use thisname variable instead of hard-coded 'dpkg' string
    
    This corrects the current program name printed by other tools.

 lib/dpkg/ehandle.c |    3 ++-
 src/errors.c       |    8 +++++---
 src/querycmd.c     |    2 +-
 src/trigproc.c     |    2 +-
 4 files changed, 9 insertions(+), 6 deletions(-)

commit dc98261980767f258046f8a4c2e020fcdc92c8b6
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Oct 12 21:16:33 2010 +0200

    dpkg-divert: Use DPKG_MAINTSCRIPT_PACKAGE environment variable
    
    Use it as package name on when no --package or --local options have
    been specified.

 debian/changelog  |    2 ++
 man/dpkg-divert.8 |    8 +++++++-
 src/divertcmd.c   |    5 +++++
 3 files changed, 14 insertions(+), 1 deletions(-)

commit efefc09d914ecedfdad02fd07d4eb5f1c2268542
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 11 20:32:50 2010 +0200

    Use setaction() instead of directly assigning to cipaction

 src/divertcmd.c |    2 +-
 src/main.c      |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 521f32450d91fabaa81725b1ad89f9fafb8c82e3
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 06:03:12 2010 +0200

    libdpkg: Use ohshite in error_context_new instead of ad-hoc code

 lib/dpkg/ehandle.c |   11 ++---------
 1 files changed, 2 insertions(+), 9 deletions(-)

commit 43789e59f08dae79b07feb004c0fa1b5d357b47d
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 05:55:33 2010 +0200

    libdpkg: Make run_error_handler cope with NULL econtext gracefully
    
    This could happen if the context has not been initialized, or if it has
    been unwinded more than necessary.

 lib/dpkg/ehandle.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit b571373cd2e62782c3bb2b8e0bef585c4215b967
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 20:47:20 2010 +0200

    libdpkg: Refactor error display setter into a static function
    
    Create a new function that takes an error context argument and sets
    the error printer function. This allows using the new setter for
    other error_context than econtext.

 lib/dpkg/ehandle.c |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

commit 5dd05803b51dc2a0aae9b8ad52cd58fff5e52c88
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 11 20:27:53 2010 +0200

    libdpkg: Refactor error_context creation into a new function

 lib/dpkg/ehandle.c |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

commit adf5d4a1a23fc631525c7a31bec11773d57c95ef
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 06:54:52 2010 +0200

    libdpkg: Rename struct errorcontext to error_context

 lib/dpkg/ehandle.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

commit 160be818013039931cc06443c523fc57a7779937
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 16 06:52:02 2010 +0200

    libdpkg: Rename struct cleanupentry to cleanup_entry

 lib/dpkg/ehandle.c |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

commit 7ae5af538e0d7b72f1b181922a1401bc16dc44be
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 11 19:28:34 2010 +0200

    libdpkg: Rename jmp_buf variables to jump

 lib/dpkg/ehandle.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

commit 8164af77ee71e29fdd5d90157e2d0c3e52841595
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 21:12:08 2010 +0100

    libdpkg: Rename print_error_forked() to print_subproc_error()

 lib/dpkg/subproc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e1b2a73e7723126e0cf2109c9e44a793e39ac243
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 20:40:13 2010 +0100

    libdpkg: Rename print_error_cleanup() to print_cleanup_error()

 lib/dpkg/ehandle.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit ec53fd98f3d10274e2da5722c63fd7f6588b3eaf
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 20:39:08 2010 +0100

    libdpkg: Rename print_error_fatal() to print_fatal_error()

 dselect/main.cc           |    2 +-
 lib/dpkg/dpkg.h           |    2 +-
 lib/dpkg/ehandle.c        |    4 +++-
 lib/dpkg/ehandle.h        |    2 +-
 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/test.h           |    2 +-
 src/main.c                |    2 +-
 7 files changed, 9 insertions(+), 7 deletions(-)

commit c1f899c832f5c676a8f3b36366605da1599760f6
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 10 12:04:20 2010 +0200

    libdpkg: Refactor default error handler into new catch_fatal_error()

 dselect/main.cc           |    2 +-
 lib/dpkg/dpkg.h           |    2 +-
 lib/dpkg/ehandle.c        |   13 +++++++++++++
 lib/dpkg/ehandle.h        |    1 +
 lib/dpkg/libdpkg.Versions |    1 +
 lib/dpkg/test.h           |    3 +--
 src/main.c                |    2 +-
 7 files changed, 19 insertions(+), 5 deletions(-)

commit 90ef059f7155bfc7fb45505c21030e2cc9791ce3
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Oct 8 11:48:36 2010 +0200

    Add a comment for translators to 'dpkg-query -l' header string
    
    Reported-by: Ask Hjorth Larsen <asklarsen@gmail.com>

 src/querycmd.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 9d6a9e43756d2256473935429d9c2f00ad20fb0e
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 7 10:16:16 2010 +0200

    Do not make function typedefs pointers

 lib/dpkg/myopt.h |    6 +++---
 lib/dpkg/tarfn.h |   16 ++++++++--------
 src/main.c       |    2 +-
 3 files changed, 12 insertions(+), 12 deletions(-)

commit 7129d9473993da5e27a6d4eb73a6e900960d337f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 7 10:13:13 2010 +0200

    libdpkg: Rename voidfnp to void_func

 lib/dpkg/myopt.h |    6 +++---
 src/main.c       |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit ca92c5d2bf45984c11cf2b5f355b5cad48bf7259
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 7 09:58:18 2010 +0200

    libdpkg: Rename function argument to func in ACTION macro

 lib/dpkg/myopt.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit c9b7af92e5de0cc9ea40fad53c0e5aa5c93690cd
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 7 09:49:26 2010 +0200

    Move action and obsolete related functionality to the myopt module
    
    Reduce repeated code, and localize it where it belongs.

 TODO                      |    1 -
 dpkg-deb/dpkg-deb.h       |    1 -
 dpkg-deb/main.c           |   12 ------------
 dpkg-split/dpkg-split.h   |    1 -
 dpkg-split/main.c         |   13 -------------
 lib/dpkg/libdpkg.Versions |    3 +++
 lib/dpkg/myopt.c          |   25 +++++++++++++++++++++++++
 lib/dpkg/myopt.h          |   13 +++++++++++++
 src/divertcmd.c           |   20 --------------------
 src/main.c                |   16 ----------------
 src/main.h                |    1 -
 src/querycmd.c            |   14 --------------
 src/statcmd.c             |   14 --------------
 13 files changed, 41 insertions(+), 93 deletions(-)

commit a67107c05153db3fde51301450439761e1916a80
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 6 20:10:47 2010 +0200

    Use ACTION macros instead of ad-hoc action function handling
    
    This makes the code uniform with the rest of the code base, removes
    the possibility of mismatched entries from cmdinfos and dofunctions
    arrays, and reduces the scope of the action pointer to main().

 dpkg-deb/dpkg-deb.h     |    1 -
 dpkg-deb/main.c         |   40 ++++++++++++++--------------------------
 dpkg-split/dpkg-split.h |    1 -
 dpkg-split/main.c       |   31 +++++++++++--------------------
 4 files changed, 25 insertions(+), 48 deletions(-)

commit e8079c0ee34d4b3309ffbbd500b16525e9ec1b22
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 08:16:56 2010 +0100

    libdpkg: Switch test.h from including dpkg/dpkg.h to dpkg/ehandle.h
    
    This reduces the exposed declarations for each test program.

 lib/dpkg/test.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6e5d5c1f05edbe0ce2213a6658b438668fe48cba
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 6 11:53:36 2010 +0200

    libdpkg: Move ehandle declarations to its own header file

 lib/dpkg/dpkg.h    |   33 +----------------------
 lib/dpkg/ehandle.c |    2 +-
 lib/dpkg/ehandle.h |   73 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 75 insertions(+), 33 deletions(-)

commit 7c03c1012aaf9cce798b650ac01ac1e561c0c2f9
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 08:15:00 2010 +0100

    libdpkg: Include dpkg/dpkg.h in t-buffer for MD5HASHLEN

 lib/dpkg/test/t-buffer.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 4afef203d5ae2eb54d6c8f4bd5ff016a98bf7ffc
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 6 11:36:04 2010 +0200

    libdpkg: Do not use m_malloc in push_checkpoint
    
    This avoids a cyclic dependency between ehandle.c and m_lib.c.

 lib/dpkg/ehandle.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit 3ce8687ba6a738ac9b7195060948512fa7560ada
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 6 11:30:14 2010 +0200

    libdpkg: Properly restore errno in push_cleanup
    
    The code was saving errno for latter use, but stomping on the saved
    value by assigning again errno to it. Invert the assignment so that
    we restore errno instead of losing it.

 lib/dpkg/ehandle.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 4546c3b92d4d7d57ee9f7580d87270b791441f97
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 00:53:35 2010 +0100

    libdpkg: Remove stream I/O support from the buffer API

 lib/dpkg/buffer.c |   15 ---------------
 lib/dpkg/buffer.h |   13 -------------
 2 files changed, 0 insertions(+), 28 deletions(-)

commit 2a71e444e863a4bf28b7dd39e621c44ab771db99
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 11 06:21:36 2010 +0200

    dpkg-deb: Remove unused safe_fflush function
    
    This function was used to fix a problem with undefined behaviour on
    input streams, which does not apply anymore as it's not used.

 dpkg-deb/extract.c |   18 ------------------
 1 files changed, 0 insertions(+), 18 deletions(-)

commit 2d420ee1d05033d237462a0075facfe406b08043
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 4 00:51:13 2010 +0100

    dpkg-deb: Use fd instead of stream based buffered I/O
    
    Behaviour of fflush() on input streams is undefined per POSIX, avoid
    mixing stream and file descriptor based I/O, and only use the latter
    instead.

 dpkg-deb/extract.c |   87 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 62 insertions(+), 25 deletions(-)

commit ceb07b08dad4d5eead630064f45c7e7ded00a341
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 16 19:52:41 2010 +0200

    Refactor file_stat code
    
    Create a new file_stat struct, and use it instead of the
    filestatoverride one.

 lib/dpkg/file.h  |   11 ++++++++-
 lib/dpkg/tarfn.c |   14 ++++++------
 lib/dpkg/tarfn.h |    9 ++++---
 src/archives.c   |   63 ++++++++++++++++++++++++-----------------------------
 src/filesdb.h    |   24 +++++++++-----------
 src/statcmd.c    |   14 ++++++------
 src/statdb.c     |    5 ++-
 7 files changed, 72 insertions(+), 68 deletions(-)

commit 0cb6f131d85f48f0dc8a90ca1329af84c6f6ebc1
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 12 07:22:21 2010 +0200

    libdpkg: Refactor file locking error message handling
    
    Pass only the description of the resource being locked, and move generic
    error strings inside the file lock funtions. Instead of changing locking
    behaviour depending on the error strings passed, pass an explicit enum to
    select it.

 lib/dpkg/dbmodify.c     |    4 +---
 lib/dpkg/file.c         |   24 ++++++++++++++++--------
 lib/dpkg/file.h         |    9 +++++++--
 lib/dpkg/trigdeferred.l |    3 +--
 4 files changed, 25 insertions(+), 15 deletions(-)

commit 4ff39dabad2cd8e384f26f3212a55b5adbeb71d9
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 11 06:20:37 2010 +0200

    Update TODO list

 TODO |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

commit 9d834b3f654f771ab5ae8790cfc83086288fca07
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Nov 9 19:59:35 2010 +0100

    Fix translation of "however" in Italian. Thanks to Pietro Battiston Closes: #602518

 debian/changelog |    2 ++
 po/it.po         |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 6a7e76a292d865e3abeff4fdd086780dda3f49d8
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 11 06:19:17 2010 +0200

    libdpkg: Remove unused stream_md5 macro

 lib/dpkg/buffer.h |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 6dc69c63307f28eb49a130b8635dbc6353eb4f4e
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 2 07:44:05 2010 +0100

    dpkg-deb: Coalesce similar strings
    
    Those include the ones involving control and data members, change of
    directory and temporary directory creation.

 dpkg-deb/build.c |   39 ++++++++++++++++++++++++---------------
 dpkg-deb/info.c  |    4 ++--
 2 files changed, 26 insertions(+), 17 deletions(-)

commit e547cbf6aaa2e34359d5a042298bf3b0db73a2fc
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 23:00:19 2010 +0100

    Unify execution error strings

 dpkg-deb/build.c               |    6 +++---
 dpkg-deb/extract.c             |    7 ++++---
 dpkg-deb/info.c                |    4 ++--
 dpkg-split/split.c             |    7 ++++---
 scripts/Dpkg/IPC.pm            |    2 +-
 scripts/Dpkg/Shlibs/Cppfilt.pm |    3 ++-
 scripts/dpkg-gencontrol.pl     |    2 +-
 scripts/dpkg-shlibdeps.pl      |    2 +-
 src/configure.c                |   10 ++++++----
 src/help.c                     |    2 +-
 src/processarc.c               |   12 ++++++++----
 11 files changed, 33 insertions(+), 24 deletions(-)

commit ec5ad1fb6ead0e4a4833cc4b54efad92538d4757
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 11 06:12:49 2010 +0200

    Clarify several archive member strings
    
    This will make translators and users life easier, as the new strings
    are less ambiguous, and try to avoid second meanings.

 dpkg-deb/extract.c |   27 ++++++++++++++++-----------
 dpkg-split/info.c  |   25 +++++++++++++------------
 2 files changed, 29 insertions(+), 23 deletions(-)

commit 1dddc6d46dbf6f3611cf0979e27547d06f9549c3
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 8 03:57:10 2010 +0200

    dpkg: Rename unlinkorrmdir() to secure_remove()
    
    Maps better to the system remove(2) function name.

 src/archives.c |   11 +++++++----
 src/archives.h |    3 ++-
 src/cleanup.c  |    6 +++---
 3 files changed, 12 insertions(+), 8 deletions(-)

commit fb82caee40a3b71d5a37735561398a086cc47fdf
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 31 11:09:37 2010 +0100

    dpkg-source: fail properly when debian/source/format is empty
    
    Reported-by: Eduard Bloch <blade@debian.org>

 debian/changelog       |    3 +++
 scripts/dpkg-source.pl |    4 +++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit 4c90c631bdb176452152ecde5903802cad699317
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 31 10:35:55 2010 +0100

    Dpkg::Compression: fix typo in documentation.

 scripts/Dpkg/Compression.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e12fa2ffc6c2df7446c7957a7875c13f79ff0dfa
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sat Oct 30 23:14:27 2010 +0200

    Some fixes to dpkg-gensymbols manpage, helped by Raphaël's eyes

 man/po/fr.po |   37 +++++++++++++++++--------------------
 1 files changed, 17 insertions(+), 20 deletions(-)

commit 25afe6a37eace19f85ad742ed6fdc65242e0f109
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sat Oct 30 16:07:50 2010 +0200

    French (Christian Perrier). Including a typo fix and a typographical change reported by Vincent Danjean Closes: #601852

 debian/changelog |    4 +++-
 man/po/fr.po     |    6 +++---
 2 files changed, 6 insertions(+), 4 deletions(-)

commit 129c6000089f0ec204d26674e201207d1b3f6098
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Oct 25 11:18:22 2010 +0200

    Use impersonal language in German dselect translation

 debian/changelog |    1 +
 dselect/po/de.po |   79 +++++++++++++++++++++++------------------------------
 2 files changed, 35 insertions(+), 45 deletions(-)

commit 8e2addc9b3995f2996d5b1552697e4eb27e6e06f
Author: Jordi Mallach <jordi@debian.org>
Date:   Sun Oct 24 18:13:58 2010 +0200

    Catalan updates for dpkg-dev and dselect.

 debian/changelog |    4 +
 dselect/po/ca.po |  243 ++++++++---------
 scripts/po/ca.po |  834 ++++++++++++++++++++++++++----------------------------
 3 files changed, 522 insertions(+), 559 deletions(-)

commit 586140a367a8347c8636b95da37d78d1153f8a4b
Author: Jordi Mallach <jordi@debian.org>
Date:   Sun Oct 24 16:24:32 2010 +0200

    Catalan (Jordi Mallach).

 debian/changelog |    1 +
 po/ca.po         | 1304 +++++++++++++++++++++--------------------------------
 2 files changed, 518 insertions(+), 787 deletions(-)

commit b9b4607bba0b1eddc2d911e4341f6c867b3754d6
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Oct 19 21:06:57 2010 +0200

    Fix several clumsy wordings in German dpkg translation

 po/de.po |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit a7d320a091c12ac25bc95e1230a96deca9699e8c
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sat Oct 16 20:54:13 2010 +0200

    Fix typo in German scripts translation

 debian/changelog |    3 +++
 scripts/po/de.po |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 1ed0e8019cc7837d6921537ba8f21e0ce5004b09
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sat Oct 16 21:01:56 2010 +0200

    Add Holger Wansing to THANKS
    
    He has contributed considerably to the German translation of both dpkg
    and the scripts in dpkg-dev.

 THANKS |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 4fb1422779fb3eddd12e74221387536538007f3b
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Oct 15 13:57:45 2010 +0200

    Use impersonal language in German dpkg translation
    
    Many thanks to Holger Wansing for his initial patch.

 debian/changelog |    2 +-
 po/de.po         |  829 ++++++++++++++++++++++++++----------------------------
 2 files changed, 394 insertions(+), 437 deletions(-)

commit dd5c0b54eabfd0dc3037cb21628e8877f6981b4c
Author: Ask Hjorth Larsen <asklarsen@gmail.com>
Date:   Fri Oct 15 07:35:35 2010 +0200

    Updated Danish translation

 debian/changelog |    1 +
 po/da.po         | 3267 ++++++++++++++++++++++-------------------------------
 2 files changed, 1357 insertions(+), 1911 deletions(-)

commit 38ce2434797f726cfa28c53b12d64f3721749329
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Oct 13 20:59:56 2010 +0200

    Basque (Iñaki Larrañaga Murgoitio). Closes: #599923

 debian/changelog |    1 +
 po/eu.po         | 2923 ++++++++++++++++++++++--------------------------------
 2 files changed, 1169 insertions(+), 1755 deletions(-)

commit 4070ac0e4e2c6d325f792f9e08d9199a0b0ab689
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Oct 3 13:23:19 2010 +0200

    Fix Clytie's name in debian/changelog

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4fa01b70df1dc4458daee306cfa1f987b69da58c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 3 09:36:48 2010 +0200

    dpkg-source: correctly create .pc/.quilt_series with alternate series files
    
    If you have debian/patches/ubuntu.series and you were unpacking the source
    package on ubuntu, quilt was still directed to debian/patches/series
    instead of debian/patches/ubuntu.series.

 debian/changelog                        |    3 +++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    4 +++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit b85cfa6a0481c3937219f8739a83954d034c35b0
Author: James Vega <jamessan@debian.org>
Date:   Tue Sep 21 15:58:11 2010 -0400

    Add non-regression test for Dpkg::Version ensuring -0.6.5 << 0.9.1
    
    dpkg treats "-0.6.5" as a version with only a revision component, so it
    compares less than any version with a version component > 0.
    
    Signed-off-by: James Vega <jamessan@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/t/100_Dpkg_Version.t |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit f97da90b79717f8382ab20183b304a9be3f56c9f
Author: James Vega <jamessan@debian.org>
Date:   Tue Sep 21 16:47:04 2010 -0400

    Dpkg::Version: Handle versions without a version component like dpkg.
    
    Signed-off-by: James Vega <jamessan@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 THANKS                  |    1 +
 debian/changelog        |    3 +++
 scripts/Dpkg/Version.pm |    2 +-
 3 files changed, 5 insertions(+), 1 deletions(-)

commit 5e7cc75fd242351a4df7c6c8c56e1e9337cfdb35
Author: Clytie Siddall <clytie@riverland.net.au>
Date:   Wed Sep 29 21:57:03 2010 +0200

    Vietnamese translation update

 debian/changelog |    1 +
 po/vi.po         | 2751 +++++++++++++++++-------------------------------------
 2 files changed, 870 insertions(+), 1882 deletions(-)

commit b1beab8611fb617aca0066d1db8214710554bf8d
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Sep 20 07:11:39 2010 +0200

    Re-add originally omitted mention of version 2.0 as mentioning it is not a bug in the original version of manpages

 man/po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit cb79fe7b831de839a85c435b1a282f1d6377a70b
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Wed Sep 29 12:24:58 2010 +0200

    Fix two format strings in German dpkg translation

 debian/changelog |    3 ++-
 po/de.po         |    8 ++++----
 2 files changed, 6 insertions(+), 5 deletions(-)

commit 80939d833b4dc1d33f091a59bde82f5b78d86168
Merge: 7dcf45e f3a8a02
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 19 18:24:49 2010 +0200

    Merge commit '1.15.8.5'

commit c63ef5f286ed3cbb456a099d12c056774e1af791
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 19 13:44:34 2010 +0200

    Fix invalid markup in French man pages translation

 man/po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 67462a968d2dc3a8fe75b47ce2875d28d05cf2a3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 19 11:53:43 2010 +0200

    dpkg-source: properly exclude debian/source/local-options in source format 1.0
    
    commit 2290a1248af081c6df98805295d921e919624356 introduced a regression
    for V1 native packages since they were no longer excluding
    debian/source/local-options.

 scripts/Dpkg/Source/Package/V1.pm |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f9710dd96182c6da2e7a310ac9293e7d8983cc30
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sun Sep 19 13:01:18 2010 +0200

    French translation completed (yesssss): 1937t

 man/po/fr.po |  133 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 79 insertions(+), 54 deletions(-)

commit c781df2c886c4ca40a47b0609aa8ad87ce2f98ef
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sun Sep 19 12:48:24 2010 +0200

    Replace jargonic 'diff' in French translation

 scripts/po/fr.po |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

commit 2290a1248af081c6df98805295d921e919624356
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 18 22:40:00 2010 +0200

    dpkg-source: ensure debian/source/local-options is always excluded
    
    It should be excluded even if the user provides -I or -i options to
    override the lists of files to ignore.
    
    Reported-by: Robert Luberda <robert@debian.org>

 debian/changelog               |    5 +++++
 scripts/Dpkg/Source/Package.pm |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit c30b08b89e0eee39147c5b10fb8c48ad37522115
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sat Sep 18 15:27:02 2010 +0200

    French translation update: 1894t15f28u

 man/po/fr.po |  191 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 96 insertions(+), 95 deletions(-)

commit f363698d3be17cb9dca6441d2d28cf7d1a3e92a7
Author: Christian PERRIER <bubulle@debian.org>
Date:   Fri Sep 17 19:39:14 2010 +0200

    French translation update: 1844t37f56u

 man/po/fr.po |   51 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 16 deletions(-)

commit e4c8520a9170c3de82ba81da5ad55ed3bf6d69fc
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Sep 15 20:00:53 2010 +0200

    French translation update: 1827t43f67u

 man/po/fr.po |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

commit a002efe31657717a3d494eb36720fc4ed37a3d64
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Sep 15 14:00:38 2010 +0200

    Fix changelog entry for Spanish man page translation

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b944ba77a64bc6541469624cadbebb3771c81cdb
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Tue Sep 14 20:30:06 2010 +0200

    Spanish manpages translation: 1937t

 debian/changelog |    1 +
 man/po/es.po     |  142 +++++++++++++++++++++++++-----------------------------
 2 files changed, 67 insertions(+), 76 deletions(-)

commit ebe90372984fa3327b5dec3532a17ce5f69db0d3
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Sep 14 20:28:41 2010 +0200

    Revert "Portuguese programs translation: 985t"
    
    This reverts commit 8c1d74494cf2572905d54dbd7dbc6357b2d53986.

 debian/changelog |    1 -
 man/po/es.po     |  142 +++++++++++++++++++++++++++++-------------------------
 2 files changed, 76 insertions(+), 67 deletions(-)

commit 8c1d74494cf2572905d54dbd7dbc6357b2d53986
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Tue Sep 14 20:28:14 2010 +0200

    Portuguese programs translation: 985t

 debian/changelog |    1 +
 man/po/es.po     |  142 +++++++++++++++++++++++++-----------------------------
 2 files changed, 67 insertions(+), 76 deletions(-)

commit 155b82af3826882f889575632c97f4f4e34c154a
Author: Miguel Figueiredo <elmig@debianpt.org>
Date:   Tue Sep 14 20:24:59 2010 +0200

    Portuguese programs translation: 985t

 debian/changelog |    1 +
 po/pt.po         | 1597 ++++++++++++++++++++++++------------------------------
 2 files changed, 705 insertions(+), 893 deletions(-)

commit 1e0ebe98db83e59cc67cdfe446d4b4d8bb94212d
Author: Yuri Kozlov <yuray@komyakino.ru>
Date:   Tue Sep 14 20:21:05 2010 +0200

    russian programs translation: 985t

 debian/changelog |    3 +
 po/ru.po         | 1305 ++++++++++++++++++++++++------------------------------
 2 files changed, 588 insertions(+), 720 deletions(-)

commit 0ca8a4c9edfa48ca2161548288ced374044bc51a
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Sep 14 20:18:37 2010 +0200

    Changelog for french translation update of manpages

 debian/changelog |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit f4b87357b968b08d664c0c4e2356d5613a840394
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Sep 14 20:17:37 2010 +0200

    French manpages translation update. dpkg-gensymbols completed: 1819t43f75u

 man/po/fr.po |  356 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 160 insertions(+), 196 deletions(-)

commit f3a8a022f1a2edc5ff8d0e92ffc3e48e84be8b39
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 14 01:26:55 2010 +0200

    Release 1.15.8.5

 debian/changelog |   27 ++++++++++++---------------
 1 files changed, 12 insertions(+), 15 deletions(-)

commit 6e68e34aa82b89c646c787b33c886ded353fe2b0
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 14 01:14:26 2010 +0200

    Update .po files from .pot files

 man/po/fr.po     |  861 +++++++++++++++++++++++++++++++++---------------------
 po/fr.po         |   13 +-
 po/sv.po         |    3 +-
 scripts/po/de.po |    8 +-
 scripts/po/fr.po |   30 +-
 5 files changed, 548 insertions(+), 367 deletions(-)

commit 4e91f3b1f1ad036e0f1e4b9f09c0b2fb787865fd
Author: Arief S Fitrianto <arief@gurame.fisika.ui.ac.id>
Date:   Mon Sep 13 18:25:38 2010 +0200

    Updated Indonesian translation:985t

 debian/changelog |    1 +
 po/id.po         | 3352 +++++++++++++++++++++---------------------------------
 2 files changed, 1301 insertions(+), 2052 deletions(-)

commit ec2984de3e0df21bc13cf29427ac3f096f5baee9
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Sep 13 07:54:12 2010 +0200

    Updated French translation: 1765t57f115u and an aspirin

 man/po/fr.po |   65 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 56 insertions(+), 9 deletions(-)

commit c6389ad4e1763e0a1d4fa6573f8b24480ac95f11
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Sep 13 12:16:29 2010 +0200

    Fix typo in French manpages translation
    
    It caused a build failure.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e5fc68ee96fe17bb7fbe5d2fe4742bb87843dacd
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sun Sep 12 13:40:39 2010 +0200

    Spanish translation for scripts

 debian/changelog |    1 +
 scripts/po/es.po |  164 +++++++++++++++--------------------------------------
 2 files changed, 48 insertions(+), 117 deletions(-)

commit 4d6c43090715ea4ed74b376bdc7bff73faaa569a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 11 10:13:53 2010 +0200

    Update dpkg's Breaks dependency to include dpkg-dev (<< 1.15.8)
    
    It ensures that older versions of dpkg-dev that did not depend on
    libdpkg-perl must be upgraded together with dpkg.
    
    Reported-by: Lionel Elie Mamane <lionel@mamane.lu>

 debian/changelog |    3 +++
 debian/control   |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 0f3e3a0fba6d7d1613c88158daf9dec2545f58cd
Author: Christian PERRIER <bubulle@debian.org>
Date:   Fri Sep 10 18:29:45 2010 +0200

    French translation update: 1742t58f137u

 man/po/fr.po |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

commit 2cd3908475ec426938f7bc2fe672cd4a585d8c20
Author: Christian PERRIER <bubulle@debian.org>
Date:   Fri Sep 10 18:09:08 2010 +0200

    More occurrences of the same translation

 scripts/po/fr.po |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

commit ac9c5cec1039cd3d4b9ba86d23e35faeaa3f963a
Author: Christian PERRIER <bubulle@debian.org>
Date:   Fri Sep 10 18:03:38 2010 +0200

    Fix to French translation for #596333

 debian/changelog |    3 ++-
 scripts/po/fr.po |    4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

commit 1028f4974031505522e122650cded3cefc2209d5
Author: Christian PERRIER <bubulle@debian.org>
Date:   Thu Sep 9 20:45:37 2010 +0200

    French translation update of manpages: 1733t61f143u

 man/po/fr.po |   59 +++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 50 insertions(+), 9 deletions(-)

commit 51c03b35f3471579d38af78b9ea7f6d5ba20114b
Author: Christian PERRIER <bubulle@debian.org>
Date:   Thu Sep 9 20:45:06 2010 +0200

    French translation update of programs: 985t

 po/fr.po |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 9334122903e67a6054423109ea9a5c7d73c2381c
Author: Felipe E. F. de Castro <fefcas@gmail.com>
Date:   Thu Sep 9 07:18:10 2010 +0200

    Esperanto programs translation update (985t)

 debian/changelog |    1 +
 po/eo.po         | 1538 ++++++++++++++++--------------------------------------
 2 files changed, 462 insertions(+), 1077 deletions(-)

commit afa06d045f42754eeb2e547653c6e0fefc692603
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Sep 8 07:14:22 2010 +0200

    French translation update: 985t

 po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit bcb2da3d33f7bf8c036938b49e7dac9545650f20
Author: Ivan Masár <helix84@centrum.sk>
Date:   Wed Sep 8 07:12:51 2010 +0200

    Slovak translation update: 985t

 debian/changelog |    1 +
 po/sk.po         | 1473 +++++++++++-------------------------------------------
 2 files changed, 285 insertions(+), 1189 deletions(-)

commit da1e9ff3db86102756145763fc0a76cdc99df9bd
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Sep 7 10:54:53 2010 +0200

    Fix two singular forms in German dpkg translation

 po/de.po |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit c827666cf066f9faf885e69130ffec71801f060e
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Sep 6 20:49:41 2010 +0200

    French manpages translation update: 1714t63f160u

 man/po/fr.po |  233 +++++++++++++++++++++++++++------------------------------
 1 files changed, 110 insertions(+), 123 deletions(-)

commit a9c7e8795faef90f8068edbaa286bfb622f19d67
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Sep 6 07:48:50 2010 +0200

    French translation update: 1633t104f200u

 man/po/fr.po |   55 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 32 insertions(+), 23 deletions(-)

commit 21f25047bfd3a95152e8607252f8b07fc2a339f6
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sun Sep 5 19:45:43 2010 +0200

    French manpages translation update: 1614t108f215u

 man/po/fr.po |   57 +++++++++++++++++++++++++++------------------------------
 1 files changed, 27 insertions(+), 30 deletions(-)

commit 84579a6c0dedfce3e27da411f7a05f920382ffc1
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Sun Sep 5 15:18:23 2010 +0200

    Updated Italian translation (985t)

 debian/changelog |    1 +
 po/it.po         |   60 ++++++++++++++++++++---------------------------------
 2 files changed, 24 insertions(+), 37 deletions(-)

commit aeb5b66efd7a08b54f6e68092d2e2d7a4c54b840
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 5 16:57:28 2010 +0200

    Fix encoding of German addendum. Closes: #595643.

 debian/changelog |    3 +++
 man/po/po4a.cfg  |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 4d2b04f3e62d02a223e12eea1947fde1e3695334
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 5 09:43:32 2010 +0200

    dpkg-source: drop -k parameter from the tar command line used to extract tarballs
    
    dpkg-source only extracts tarballs in directories that it has created
    itself, there's no risk of overwriting any user files. Furthermore in
    the few cases where we do extract a tarball on a non-empty directory,
    we really want to be able to overwrite files already present. That's the
    case with a debian.tar.gz file.
    
    Reported-by: James Westby <james.westby@linaro.org>

 debian/changelog               |    4 ++++
 scripts/Dpkg/Source/Archive.pm |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 5a8212b7b0862e26ec94cbeb78d73411831bde15
Author: Changwoo Ryu <cwryu@debian.org>
Date:   Sun Sep 5 08:00:03 2010 +0200

    Korean translation update: 985t

 debian/changelog |    1 +
 po/ko.po         | 2287 ++++++++++++++++--------------------------------------
 2 files changed, 664 insertions(+), 1624 deletions(-)

commit 91d6d911a81b5be64aa823c71efa0acaedb6bf9d
Author: Kenshi Muto <kmuto@debian.org>
Date:   Sun Sep 5 07:58:31 2010 +0200

    Japanese translation update: 985t

 debian/changelog |    1 +
 po/ja.po         | 2326 ++++++++++++++++--------------------------------------
 2 files changed, 688 insertions(+), 1639 deletions(-)

commit d15c4e1c1edfb3a5610680992a3beb134e62fe0b
Author: Hans F. Nordhaug <Hans.F.Nordhaug@hiMolde.no>
Date:   Fri Sep 3 08:38:30 2010 +0200

    Norwegian Bokmål translation update for dselect: 277t

 debian/changelog |    1 +
 dselect/po/nb.po |   30 ++++++++++++++----------------
 2 files changed, 15 insertions(+), 16 deletions(-)

commit 7dcf45e32f62859cbea8337c46ce7fc6b6349b56
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Sep 2 15:38:49 2010 +0200

    Revert "Russian translation update of scripts: 511f2u"
    
    This reverts commit 2d7029e9e045e9ac3c740251ae52c98bddbf8b35.

 debian/changelog |    1 -
 scripts/po/ru.po |  385 ++++++++++++++++++++++++++++++++----------------------
 2 files changed, 226 insertions(+), 160 deletions(-)

commit 34b3faea11302ad27f99f2136136b54af35e6f39
Author: Hans F. Nordhaug <Hans.F.Nordhaug@hiMolde.no>
Date:   Thu Sep 2 06:20:32 2010 +0200

    Norwegian Bokmål translation update: 985

 debian/changelog |    1 +
 po/nb.po         | 1393 +++++++++++++++++++++++-------------------------------
 2 files changed, 593 insertions(+), 801 deletions(-)

commit 0c657927fd0e2592f48559e3abc54b5ca6ef20fe
Author: Yuri Kozlov <yuray@komyakino.ru>
Date:   Thu Sep 2 06:18:58 2010 +0200

    Russian translation update: 513t

 debian/changelog |    1 +
 scripts/po/ru.po |  391 +++++++++++++++++++++--------------------------------
 2 files changed, 156 insertions(+), 236 deletions(-)

commit 2d7029e9e045e9ac3c740251ae52c98bddbf8b35
Author: Yuri Kozlov <yuray@komyakino.ru>
Date:   Wed Sep 1 22:10:39 2010 +0200

    Russian translation update of scripts: 511f2u

 debian/changelog |    1 +
 scripts/po/ru.po |  385 ++++++++++++++++++++++--------------------------------
 2 files changed, 160 insertions(+), 226 deletions(-)

commit d9eb4619108bf6f3006da189eebcf2846529915a
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Sep 1 21:52:56 2010 +0200

    French translation update: 118f219u

 man/po/fr.po |  223 ++++++++++++++++++++-------------------------------------
 1 files changed, 78 insertions(+), 145 deletions(-)

commit a272d4387c066ed347d6debb0e2ea3786b68bef5
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Sep 1 07:53:30 2010 +0200

    French translation update

 scripts/po/fr.po |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 99128995b4b0973f0bfa8d971fa784ec8ebdfc4b
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Sep 1 07:51:59 2010 +0200

    French translation update

 po/fr.po |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

commit 0cfc1f07759be5597e2f4bcbc4cca9180929c7e8
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Sep 1 21:24:19 2010 +0200

    Update German scripts translation
    
    Update to 513t

 scripts/po/de.po |   17 ++++++-----------
 1 files changed, 6 insertions(+), 11 deletions(-)

commit 309d92878a7572032ea3f97f0bc3e1971f8db18d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 1 09:43:30 2010 +0200

    libdpkg: Clarify fd_fd_copy error string in dpkg_ar_member_put_header
    
    This makes the error string clearer, and as a side effect removes a
    bogus warning due to the non literal format string, which is perfectly
    fine here as it's under complete control from the programmer.
    
    Reported-by: Sandro Cazzaniga <cazzaniga.sandro@gmail.com>

 lib/dpkg/ar.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fd194e479228a39fe614eb771503d6f1abe9204a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 1 09:39:56 2010 +0200

    Bump version to 1.16.0

 TODO             |    5 +----
 debian/changelog |    2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

commit 5a80ec6ce8e598aad378a71c29d699a27ea8691f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 20:26:53 2010 +0200

    libcompat: On successful realloc assign the newlist to list

 debian/changelog     |    3 +++
 lib/compat/scandir.c |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

commit fb0c2d9c5c285c2b1d74fb3ece60af5b76a7591d
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Wed Sep 1 09:09:27 2010 +0200

    German dpkg translation update
    
    Update to 985t.

 debian/changelog |    9 +++--
 po/de.po         |   82 +++++++++++++++++++++--------------------------------
 2 files changed, 38 insertions(+), 53 deletions(-)

commit dbbd15fe8d972b4f8f3a4d94934a99c507cf0596
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 1 08:15:38 2010 +0200

    u-a: Fix possible segfault if master_file contains a format specifier
    
    The input does not get sanitized, and as such the user could end up
    registering a file containing format string specifiers, which would
    make the pr() call most probably segfault trying to access an invalid
    pointer.
    
    Reported-by: Sandro Cazzaniga <cazzaniga.sandro@gmail.com>

 debian/changelog            |    3 +++
 utils/update-alternatives.c |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit bd4e6a31a2ee08eecaada32965bcc8391c3f8931
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Aug 31 20:35:03 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 985t0f0u.
    scripts/po/sv.po: 513t0f0u.

 po/sv.po         |   56 ++++++++++++++++++-----------------------------------
 scripts/po/sv.po |   19 ++++++-----------
 2 files changed, 26 insertions(+), 49 deletions(-)

commit ecb1383297b204f19f58434656fa61a0079d3137
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 31 21:12:56 2010 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |    2 +-
 dselect/po/ca.po        |    2 +-
 dselect/po/cs.po        |    2 +-
 dselect/po/da.po        |    2 +-
 dselect/po/de.po        |    2 +-
 dselect/po/dselect.pot  |    4 +-
 dselect/po/el.po        |    2 +-
 dselect/po/es.po        |    2 +-
 dselect/po/et.po        |    2 +-
 dselect/po/eu.po        |    2 +-
 dselect/po/fr.po        |    2 +-
 dselect/po/gl.po        |    2 +-
 dselect/po/hu.po        |    2 +-
 dselect/po/id.po        |    2 +-
 dselect/po/it.po        |    2 +-
 dselect/po/ja.po        |    2 +-
 dselect/po/ko.po        |    2 +-
 dselect/po/nb.po        |    2 +-
 dselect/po/nl.po        |    2 +-
 dselect/po/nn.po        |    2 +-
 dselect/po/pl.po        |    2 +-
 dselect/po/pt.po        |    2 +-
 dselect/po/pt_BR.po     |    2 +-
 dselect/po/ro.po        |    2 +-
 dselect/po/ru.po        |    2 +-
 dselect/po/sk.po        |    2 +-
 dselect/po/sv.po        |    2 +-
 dselect/po/tl.po        |    2 +-
 dselect/po/vi.po        |    2 +-
 dselect/po/zh_CN.po     |    2 +-
 dselect/po/zh_TW.po     |    2 +-
 man/po/dpkg-man.pot     |    5 +-
 man/po/fr.po            |  336 ++++++++++++++------------
 man/po/sv.po            |   28 +--
 po/ast.po               |  371 +++++++++++++++-------------
 po/bs.po                |  350 ++++++++++++++-------------
 po/ca.po                |  375 ++++++++++++++++-------------
 po/cs.po                |  374 ++++++++++++++++--------------
 po/da.po                |  367 +++++++++++++++-------------
 po/de.po                |  384 ++++++++++++++++--------------
 po/dpkg.pot             |  353 ++++++++++++++-------------
 po/dz.po                |  367 +++++++++++++++-------------
 po/el.po                |  368 +++++++++++++++-------------
 po/eo.po                |  371 +++++++++++++++-------------
 po/es.po                |  370 +++++++++++++++-------------
 po/et.po                |  359 +++++++++++++++-------------
 po/eu.po                |  371 +++++++++++++++-------------
 po/fr.po                |  610 +++++++++++++++++------------------------------
 po/gl.po                |  367 +++++++++++++++-------------
 po/hu.po                |  357 ++++++++++++++-------------
 po/id.po                |  357 ++++++++++++++-------------
 po/it.po                |  383 ++++++++++++++++--------------
 po/ja.po                |  368 +++++++++++++++-------------
 po/km.po                |  367 +++++++++++++++-------------
 po/ko.po                |  368 +++++++++++++++-------------
 po/ku.po                |  353 ++++++++++++++-------------
 po/lt.po                |  362 +++++++++++++++-------------
 po/mr.po                |  369 +++++++++++++++-------------
 po/nb.po                |  367 +++++++++++++++-------------
 po/ne.po                |  367 +++++++++++++++-------------
 po/nl.po                |  369 +++++++++++++++-------------
 po/nn.po                |  367 +++++++++++++++-------------
 po/pa.po                |  353 ++++++++++++++-------------
 po/pl.po                |  385 ++++++++++++++++--------------
 po/pt.po                |  369 +++++++++++++++-------------
 po/pt_BR.po             |  368 +++++++++++++++-------------
 po/ro.po                |  382 ++++++++++++++++-------------
 po/ru.po                |  393 +++++++++++++++++--------------
 po/sk.po                |  385 ++++++++++++++++--------------
 po/sv.po                |  384 ++++++++++++++++--------------
 po/th.po                |  403 ++++++++++++++++---------------
 po/tl.po                |  369 +++++++++++++++-------------
 po/vi.po                |  357 ++++++++++++++-------------
 po/zh_CN.po             |  382 ++++++++++++++++--------------
 po/zh_TW.po             |  367 +++++++++++++++-------------
 scripts/po/ca.po        |   79 ++++---
 scripts/po/de.po        |   92 +++++---
 scripts/po/dpkg-dev.pot |   81 ++++---
 scripts/po/es.po        |   92 +++++---
 scripts/po/fr.po        |  172 +++++---------
 scripts/po/pl.po        |   97 +++++---
 scripts/po/ru.po        |   98 +++++---
 scripts/po/sv.po        |   91 ++++---
 83 files changed, 8755 insertions(+), 7888 deletions(-)

commit ceea74fa7d3545bdeeae30ac6e4ce592703675bd
Author: Theppitak Karoonboonyanan <thep@debian.org>
Date:   Tue Aug 31 21:09:47 2010 +0200

    Update Thai program translation
    
    Closes: #594011

 debian/changelog |    1 +
 po/th.po         | 1383 +++++++++++++++++++++++-------------------------------
 2 files changed, 593 insertions(+), 791 deletions(-)

commit 8292cbac06d3c335bcde52542db20384c8fedd5d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Aug 31 17:17:00 2010 +0200

    Add missing bug closure.

 debian/changelog |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 70c35e6a3a8dca72d34bfcfb3c9d7c31adbc2ed4
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Aug 29 14:51:25 2010 +0200

    Update German translation of manual pages
    
    Update to 1937t.

 man/po/de.po |   36 ++++++++++++++----------------------
 1 files changed, 14 insertions(+), 22 deletions(-)

commit 7cdec6d35cf9f98b698ab486e66c2db9d0726404
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Aug 29 14:51:25 2010 +0200

    Update German translation of manual pages
    
    Update to 1937t.

 man/po/de.po |   36 ++++++++++++++----------------------
 1 files changed, 14 insertions(+), 22 deletions(-)

commit fae8a2bd6e28818623f55e650825226a03a88961
Author: Aron Xu <happyaron.xu@gmail.com>
Date:   Sat Aug 28 14:33:14 2010 +0200

    Simplified Chinese translation update

 debian/changelog |    1 +
 po/zh_CN.po      |  708 +++++++++++++++++++-----------------------------------
 2 files changed, 249 insertions(+), 460 deletions(-)

commit cac9ac66948552462ffb94f106b9cb7550525de3
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 25 08:15:40 2010 +0200

    Add gettext messages for plural forms
    
    Some of the singular forms are not currently used, but we keep them for
    consistency, and to avoid confusing translators.
    
    Closes: #594218

 debian/changelog                  |    1 +
 dpkg-deb/build.c                  |    5 ++++-
 dpkg-deb/info.c                   |    7 +++----
 dpkg-split/join.c                 |    4 +++-
 scripts/Dpkg/Source/Package/V2.pm |    9 ++++++---
 scripts/dpkg-shlibdeps.pl         |    6 ++++--
 src/enquiry.c                     |    4 +++-
 src/filesdb.c                     |    4 +++-
 src/help.c                        |   11 +++++++----
 src/update.c                      |    3 ++-
 utils/update-alternatives.c       |    9 ++++++---
 11 files changed, 42 insertions(+), 21 deletions(-)

commit 4509efdc143c85b77df68b7a3b0728e66580701d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 25 08:12:53 2010 +0200

    Add gettext plurals infrastructure support

 debian/changelog        |    1 +
 lib/dpkg/i18n.h         |    3 ++-
 po/Makevars             |    2 +-
 scripts/Dpkg/Gettext.pm |    8 +++++++-
 scripts/po/Makevars     |    2 +-
 5 files changed, 12 insertions(+), 4 deletions(-)

commit 9226ef57a108f76c0f22f8c933d5902350c34858
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 26 04:01:04 2010 +0200

    build: Remove xgettext _g keyword for the dpkg domain
    
    The dpkg domain consists only of C sources, so there's no need anymore
    for the Perl specific _g keyword.

 po/Makevars |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e068a6b1b1821cc57582edaacf1e0ecda8e9291a
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Aug 25 08:19:19 2010 +0200

    Review by Florentin Duneau

 scripts/po/fr.po |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit 62a7593aca5ad7e893ac5234b2e1cc5e7f72c048
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Aug 24 18:26:22 2010 +0200

    French scripts translation update

 debian/changelog |    1 +
 scripts/po/fr.po |   81 ++++++++++++++++++++++++++++-------------------------
 2 files changed, 44 insertions(+), 38 deletions(-)

commit df30246836cfd1dd2bce018cb64d8ae040a11d4c
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Aug 24 18:25:56 2010 +0200

    French manpages translation update

 debian/changelog |    1 +
 man/po/fr.po     |  299 +++++++++++++++++++-----------------------------------
 2 files changed, 106 insertions(+), 194 deletions(-)

commit 91837cdaa79e97de24491758aa6788de5bc2682c
Author: Christian PERRIER <bubulle@debian.org>
Date:   Tue Aug 24 18:25:21 2010 +0200

    French programs translation update

 debian/changelog |    1 +
 po/fr.po         |  348 +++++++++++++++++++++++++++--------------------------
 2 files changed, 178 insertions(+), 171 deletions(-)

commit f4750a695507330a1094ca8caa440f67c5b64f6d
Author: Peter Krefting <peterk@debian.org>
Date:   Sat Aug 21 22:19:43 2010 +0100

    Update Swedish translation.
    
    man/po/sv.po: 1937t0f0u.

 man/po/sv.po |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

commit e3bb3c8c811ed403ae1b01be35421b15fa127ccd
Author: Peter Krefting <peterk@debian.org>
Date:   Sat Aug 21 22:11:04 2010 +0100

    Add missing changelog entries for recent translation updates.

 debian/changelog |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit 1e1d6fcb2cd4cf163650891324d84572bb35b1eb
Merge: e966388 9047649
Author: Peter Krefting <peterk@debian.org>
Date:   Sat Aug 21 22:05:55 2010 +0100

    Merge branch 'cherry-pick-german' to avoid breakage when merging PO files.
    
    The German translation was updated on master, before it was announced that
    they should be committed to the sid branch. To avoid further breakage when
    merging the files, the changes from master has been cherry-picked over to
    sid via a topic branch. This merges the same branch over to master to
    make sure the branches agree to the file contents.

commit 40e116717a654a9eacd797d9fd70b802d97103ee
Merge: 5e625be 9047649
Author: Peter Krefting <peterk@debian.org>
Date:   Sat Aug 21 22:02:19 2010 +0100

    Merge branch 'cherry-pick-german' into sid
    
    The German translation was updated on master, before it was announced that
    they should be committed to the sid branch. To avoid further breakage when
    merging the files, the changes from master has been cherry-picked over to
    sid via a topic branch.

commit 9047649a06f0fb599734986c5dd13990a0190fe4
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jul 29 19:29:03 2010 +0200

    Update German translation of manual pages
    
    Update to 1936t.

 man/po/de.po |   33 ++++++++++-----------------------
 1 files changed, 10 insertions(+), 23 deletions(-)

commit 009788d301298cf6df95e83431c0e49e94259c3b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jul 29 18:50:57 2010 +0200

    Update German scripts translation
    
    Update to 513t

 scripts/po/de.po |   59 ++---------------------------------------------------
 1 files changed, 3 insertions(+), 56 deletions(-)

commit 5c1181e0e4a8d4520408a9f70bba8b3a3403ac95
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Aug 21 20:19:15 2010 +0200

    Regenerate .pot files and merge .po files with them
    
    Picked the de.po changes specifically to make it possible to cherry-pick the
    German translation changes from master over to sid without causing
    conflicts.

 dselect/po/de.po |    2 +-
 man/po/de.po     |  565 +++++++++++++++++++++++++++++-------------------------
 po/de.po         |   18 +-
 scripts/po/de.po |   66 ++++----
 4 files changed, 344 insertions(+), 307 deletions(-)

commit 5e625be2fcc1cf92745d43ca333fc1997d31c217
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Aug 21 20:19:15 2010 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |    2 +-
 dselect/po/ca.po        |    2 +-
 dselect/po/cs.po        |    2 +-
 dselect/po/da.po        |    2 +-
 dselect/po/de.po        |    2 +-
 dselect/po/dselect.pot  |    4 +-
 dselect/po/el.po        |    2 +-
 dselect/po/es.po        |    2 +-
 dselect/po/et.po        |    2 +-
 dselect/po/eu.po        |    2 +-
 dselect/po/fr.po        |    2 +-
 dselect/po/gl.po        |    2 +-
 dselect/po/hu.po        |    2 +-
 dselect/po/id.po        |    2 +-
 dselect/po/it.po        |    2 +-
 dselect/po/ja.po        |    2 +-
 dselect/po/ko.po        |    2 +-
 dselect/po/nb.po        |    2 +-
 dselect/po/nl.po        |    2 +-
 dselect/po/nn.po        |    2 +-
 dselect/po/pl.po        |    2 +-
 dselect/po/pt.po        |    2 +-
 dselect/po/pt_BR.po     |    2 +-
 dselect/po/ro.po        |    2 +-
 dselect/po/ru.po        |    2 +-
 dselect/po/sk.po        |    2 +-
 dselect/po/sv.po        |    2 +-
 dselect/po/tl.po        |    2 +-
 dselect/po/vi.po        |    2 +-
 dselect/po/zh_CN.po     |    2 +-
 dselect/po/zh_TW.po     |    2 +-
 man/po/de.po            |  565 ++++++++++++++++++++++-------------------
 man/po/dpkg-man.pot     |  527 ++++++++++++++++++++-------------------
 man/po/es.po            |  551 +++++++++++++++++++++-------------------
 man/po/fr.po            |  551 +++++++++++++++++++++-------------------
 man/po/hu.po            |  533 ++++++++++++++++++++-------------------
 man/po/ja.po            |  537 ++++++++++++++++++++-------------------
 man/po/pl.po            |  551 +++++++++++++++++++++-------------------
 man/po/pt_BR.po         |  533 ++++++++++++++++++++-------------------
 man/po/ru.po            |  537 ++++++++++++++++++++-------------------
 man/po/sv.po            |  638 ++++++++++++++++++++++++-----------------------
 po/ast.po               |   18 +-
 po/bs.po                |   18 +-
 po/ca.po                |   18 +-
 po/cs.po                |   18 +-
 po/da.po                |   18 +-
 po/de.po                |   18 +-
 po/dpkg.pot             |   20 +-
 po/dz.po                |   18 +-
 po/el.po                |   18 +-
 po/eo.po                |   18 +-
 po/es.po                |   18 +-
 po/et.po                |   18 +-
 po/eu.po                |   18 +-
 po/fr.po                |   18 +-
 po/gl.po                |   18 +-
 po/hu.po                |   18 +-
 po/id.po                |   18 +-
 po/it.po                |   47 ++--
 po/ja.po                |   18 +-
 po/km.po                |   18 +-
 po/ko.po                |   18 +-
 po/ku.po                |   18 +-
 po/lt.po                |   18 +-
 po/mr.po                |   18 +-
 po/nb.po                |   18 +-
 po/ne.po                |   18 +-
 po/nl.po                |   18 +-
 po/nn.po                |   18 +-
 po/pa.po                |   18 +-
 po/pl.po                |   18 +-
 po/pt.po                |   18 +-
 po/pt_BR.po             |   18 +-
 po/ro.po                |   18 +-
 po/ru.po                |   18 +-
 po/sk.po                |   18 +-
 po/sv.po                |   23 +-
 po/th.po                |   18 +-
 po/tl.po                |   18 +-
 po/vi.po                |   18 +-
 po/zh_CN.po             |   18 +-
 po/zh_TW.po             |   18 +-
 scripts/po/ca.po        |   66 +++---
 scripts/po/de.po        |   66 +++---
 scripts/po/dpkg-dev.pot |   68 +++---
 scripts/po/es.po        |   66 +++---
 scripts/po/fr.po        |   66 +++---
 scripts/po/pl.po        |   66 +++---
 scripts/po/ru.po        |   66 +++---
 scripts/po/sv.po        |  120 +++-------
 90 files changed, 3543 insertions(+), 3402 deletions(-)

commit f42344b5fb3fda487eb1b7583bd1bd2ec84f2334
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Aug 21 16:28:03 2010 +0200

    dpkg-genchanges: correctly truncate descriptions with multibyte characters
    
    Ensure the scalar used to truncate the description is character-based
    and not byte-based. But switch it back to a byte-based scalar afterwards
    to avoid bad-conversion to latin1 when output in a filehandle without
    any explicit encodind.
    
    This should really be fixed in Dpkg::Control but that would be an invasive
    change at this point of the squeeze release.
    
    Reported-by: Colin Watson <cjwatson@ubuntu.com>

 debian/changelog           |    4 ++++
 scripts/dpkg-genchanges.pl |    3 ++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit bbc30fb513d891a6de77e15ef8d6ffb187c6bc5a
Author: The Fungi <fungi@yuggoth.org>
Date:   Thu Aug 19 17:42:07 2010 +0000

    dpkg(1): Clarify effect of --purge on files in homedirs
    
    Closes: #593628
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    2 ++
 man/dpkg.1       |    8 +++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

commit 44650b3c8e96a69021510b8b40248c5b42e7de0b
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Sat Aug 21 09:53:28 2010 +0200

    Update Italian program translation
    
    Closes: #592953
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    4 +
 po/it.po         |  962 ++++++++++++++++++------------------------------------
 2 files changed, 317 insertions(+), 649 deletions(-)

commit 16e3b71283d53f56774e1aaceb567f898dc1389c
Author: Joey Hess <joeyh@debian.org>
Date:   Tue Aug 17 17:00:44 2010 -0400

    dpkg-source(1): Improve git format documentation
    
    Based-on-patch-by: Tanguy Ortolo
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog  |    2 ++
 man/dpkg-source.1 |   12 +++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

commit 672b0664cbb8fd7fd5eea7ab10af1bbf6871833f
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 21 08:12:37 2010 +0200

    libdpkg: Do not print bogus warnings when parsing status files
    
    When reaching the half-installed state during the unpacking of a
    package which was previously in not-installed state, the current code
    was producing bogus warnings when parsing the status or status log
    files on missing Description and Maintainer fields, given that those
    are not yet in place.
    
    This bug was uncovered when enabling parser warnings for everything in
    commit 30bd7ddbffe3ad4b5d5dc78c5dd1b0f5b07ccfd6.

 debian/changelog |    8 ++++++++
 lib/dpkg/parse.c |   13 +++++++++----
 2 files changed, 17 insertions(+), 4 deletions(-)

commit e9663886652c8bee2dc032c260db4f9f4b40313d
Merge: c338845 4e5abfd
Author: Peter Krefting <peterk@debian.org>
Date:   Wed Aug 18 08:14:36 2010 +0100

    Merge branch 'sid' to avoid breakage when merging PO files.
    
    I updated the Swedish PO files on the master branch before reading that
    I should update them on the sid branch. Merge the cherry-picked commit
    from sid that contains the same changes I committed to master, to make
    sure a future merge from sid does not cause conflicts here.
    
    Sorry for the noise.

commit 4e5abfdc44d79e22bdc27c0a3432408683089923
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Aug 17 19:54:56 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 986t0f0u.
    man/po/sv.po: 1936t0f0u.
    scripts/po/sv.po: 513t0f0u.

 man/po/sv.po     |   85 ++++++++++++++++++++++++++++++++++-------------------
 po/sv.po         |   22 +++++++-------
 scripts/po/sv.po |    5 ++-
 3 files changed, 68 insertions(+), 44 deletions(-)

commit c338845c05de19992b9f307d259923a94348a534
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Aug 17 19:54:56 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 986t0f0u.
    man/po/sv.po: 1936t0f0u.
    scripts/po/sv.po: 513t0f0u.

 debian/changelog |    5 +++
 man/po/sv.po     |   85 ++++++++++++++++++++++++++++++++++-------------------
 po/sv.po         |   22 +++++++-------
 scripts/po/sv.po |    5 ++-
 4 files changed, 73 insertions(+), 44 deletions(-)

commit b4513f1449ef7e28e254115b34f5d1ef8c3d94d0
Merge: ae947e1 2499850
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 13 06:46:03 2010 +0200

    Merge branch 'sid' (through tag '1.15.8.4')
    
    Conflicts:
    	debian/changelog
    	scripts/po/de.po

commit 2499850fd03395b37ce77cc84976656767056674
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 13 05:21:31 2010 +0200

    Release 1.15.8.4

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f54bb4f2cbeb64c3fcddb2f70ad12eb4b3ef5608
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 13 06:16:29 2010 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |    2 +-
 dselect/po/ca.po        |    2 +-
 dselect/po/cs.po        |    2 +-
 dselect/po/da.po        |    2 +-
 dselect/po/de.po        |    2 +-
 dselect/po/dselect.pot  |    4 +-
 dselect/po/el.po        |    2 +-
 dselect/po/es.po        |    2 +-
 dselect/po/et.po        |    2 +-
 dselect/po/eu.po        |    2 +-
 dselect/po/fr.po        |    2 +-
 dselect/po/gl.po        |    2 +-
 dselect/po/hu.po        |    2 +-
 dselect/po/id.po        |    2 +-
 dselect/po/it.po        |    2 +-
 dselect/po/ja.po        |    2 +-
 dselect/po/ko.po        |    2 +-
 dselect/po/nb.po        |    2 +-
 dselect/po/nl.po        |    2 +-
 dselect/po/nn.po        |    2 +-
 dselect/po/pl.po        |    2 +-
 dselect/po/pt.po        |    2 +-
 dselect/po/pt_BR.po     |    2 +-
 dselect/po/ro.po        |    2 +-
 dselect/po/ru.po        |    2 +-
 dselect/po/sk.po        |    2 +-
 dselect/po/sv.po        |    2 +-
 dselect/po/tl.po        |    2 +-
 dselect/po/vi.po        |    2 +-
 dselect/po/zh_CN.po     |    2 +-
 dselect/po/zh_TW.po     |    2 +-
 po/ast.po               |  435 ++++++++++++++++++++++++-----------------------
 po/bs.po                |  422 +++++++++++++++++++++++----------------------
 po/ca.po                |  432 ++++++++++++++++++++++++-----------------------
 po/cs.po                |  435 ++++++++++++++++++++++++-----------------------
 po/da.po                |  432 ++++++++++++++++++++++++-----------------------
 po/de.po                |  435 ++++++++++++++++++++++++-----------------------
 po/dpkg.pot             |  424 +++++++++++++++++++++++----------------------
 po/dz.po                |  432 ++++++++++++++++++++++++-----------------------
 po/el.po                |  432 ++++++++++++++++++++++++-----------------------
 po/eo.po                |  435 ++++++++++++++++++++++++-----------------------
 po/es.po                |  432 ++++++++++++++++++++++++-----------------------
 po/et.po                |  431 ++++++++++++++++++++++++----------------------
 po/eu.po                |  435 ++++++++++++++++++++++++-----------------------
 po/fr.po                |  435 ++++++++++++++++++++++++-----------------------
 po/gl.po                |  432 ++++++++++++++++++++++++-----------------------
 po/hu.po                |  432 ++++++++++++++++++++++++-----------------------
 po/id.po                |  432 ++++++++++++++++++++++++-----------------------
 po/it.po                |  435 ++++++++++++++++++++++++-----------------------
 po/ja.po                |  432 ++++++++++++++++++++++++-----------------------
 po/km.po                |  432 ++++++++++++++++++++++++-----------------------
 po/ko.po                |  432 ++++++++++++++++++++++++-----------------------
 po/ku.po                |  435 ++++++++++++++++++++++++-----------------------
 po/lt.po                |  432 ++++++++++++++++++++++++-----------------------
 po/mr.po                |  432 ++++++++++++++++++++++++-----------------------
 po/nb.po                |  432 ++++++++++++++++++++++++-----------------------
 po/ne.po                |  432 ++++++++++++++++++++++++-----------------------
 po/nl.po                |  432 ++++++++++++++++++++++++-----------------------
 po/nn.po                |  432 ++++++++++++++++++++++++-----------------------
 po/pa.po                |  431 ++++++++++++++++++++++++-----------------------
 po/pl.po                |  435 ++++++++++++++++++++++++-----------------------
 po/pt.po                |  432 ++++++++++++++++++++++++-----------------------
 po/pt_BR.po             |  432 ++++++++++++++++++++++++-----------------------
 po/ro.po                |  432 ++++++++++++++++++++++++-----------------------
 po/ru.po                |  435 ++++++++++++++++++++++++-----------------------
 po/sk.po                |  435 ++++++++++++++++++++++++-----------------------
 po/sv.po                |  435 ++++++++++++++++++++++++-----------------------
 po/th.po                |  432 ++++++++++++++++++++++++-----------------------
 po/tl.po                |  432 ++++++++++++++++++++++++-----------------------
 po/vi.po                |  432 ++++++++++++++++++++++++-----------------------
 po/zh_CN.po             |  435 ++++++++++++++++++++++++-----------------------
 po/zh_TW.po             |  432 ++++++++++++++++++++++++-----------------------
 scripts/po/ca.po        |   11 +-
 scripts/po/de.po        |   11 +-
 scripts/po/dpkg-dev.pot |   13 +-
 scripts/po/es.po        |   11 +-
 scripts/po/fr.po        |   11 +-
 scripts/po/pl.po        |   11 +-
 scripts/po/ru.po        |   11 +-
 scripts/po/sv.po        |   11 +-
 80 files changed, 9225 insertions(+), 8660 deletions(-)

commit 6598274e9b04ff7940c1d0201b66c87c79604f56
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Aug 13 05:55:02 2010 +0200

    Remove spurious leftover .dpkg-tmp files after unpacking failure
    
    Renaming the backup copy to the old name is a no-op if these are
    hard links to the same file. So we need to remove the backup copy
    afterwards to make sure it is gone.
    
    Closes: #591993
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    5 +++++
 src/cleanup.c    |    4 ++++
 2 files changed, 9 insertions(+), 0 deletions(-)

commit 55ed7ef4ac47abec9055e78bf9b5ff8c1b6006ad
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Fri Aug 13 04:43:03 2010 +0200

    u-a: Include <limits.h> for _POSIX_MAX_PATH
    
    Needed on at least Solaris and Darwin, and as defined per POSIX.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog            |    1 +
 utils/update-alternatives.c |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit a9809fc49c633a80bb8e13485a1bfb1cbf62d522
Author: Fabian Groffen <grobian@gentoo.org>
Date:   Fri Aug 13 04:41:13 2010 +0200

    build: Link u-a against libintl if libc does not have i18n support
    
    This happens on at least Solaris and Darwin.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog  |    4 ++++
 utils/Makefile.am |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 50a9519397b6662dd5376faaaa495bf04bafc4f5
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 11 16:12:30 2010 +0200

    dpkg-statoverride: Fix typos

 src/statcmd.c |    4 ++--
 src/statdb.c  |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 357ab385750c1cb657ff95c0b34ad0a6bf6d2cdf
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 11 15:16:04 2010 +0200

    libdpkg: When parsing database files only warn on bogus versions
    
    Those versions, although bogus, were previously accepted, so to avoid
    breaking systems by making dpkg refuse to parse the status and available
    files, we just make it warn for now, and will make it error out on
    status file parsing later on.
    
    We keep producing errors on the rest of version parsing to avoid newly
    introduced bogosity and so that packages get fixed, while not making the
    system unusable anymore.
    
    Closes: #590885, #590896, #591692, #591885

 debian/changelog     |    3 ++
 lib/dpkg/dbmodify.c  |    8 +++--
 lib/dpkg/dpkg-db.h   |    5 ++-
 lib/dpkg/fields.c    |   27 +++++------------
 lib/dpkg/parsedump.h |    4 ++
 lib/dpkg/parsehelp.c |   78 ++++++++++++++++++++++++++++++++++++++++++++++++-
 src/update.c         |    3 +-
 7 files changed, 102 insertions(+), 26 deletions(-)

commit 30bd7ddbffe3ad4b5d5dc78c5dd1b0f5b07ccfd6
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 11 15:51:56 2010 +0200

    libdpkg: Always print a massage on warning when parsing control files
    
    The warnings were only being issues on dpkg-deb parsing, which greatly
    defeats their purpose, as using dpkg-deb is not truly needed to
    generate '.deb' packages. So printing always will give them wider
    exposure.
    
    The parse_warn() function is not using warning() though, which makes
    the output miss the program name, but the changes needed for this are
    too intrusive at this time, and it's only a cosmetic issue afterall, so
    we'll leave this for later.

 debian/changelog |    1 +
 lib/dpkg/parse.c |    5 ++++-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit e27c50f24d959e0ddf3ac8b163f235c10cd56615
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 13 06:23:10 2010 +0200

    build: Fix uninstall target in man/Makefile.am
    
    Missed in commit 4be28d99de2c8fe27c6c16bc9c114f7cef550f79.

 man/Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit d9af5690390429e6c5bc9c8a2c46ba19cedf21bc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Aug 11 22:17:39 2010 +0200

    Dpkg::Shlibs::Objdump::get_format() fallback to host objdump if cross one failed
    
    In many cases the cross objdump is not able to analyze the binaries from
    the build host and yet dpkg-shlibdeps need to be able to verify that
    the various binaries use the same ELF format. To achieve this get_format()
    is enhanced to fallback on the objdump command when the cross one failed.

 debian/changelog               |    2 ++
 scripts/Dpkg/Shlibs/Objdump.pm |   25 +++++++++++++++++++------
 2 files changed, 21 insertions(+), 6 deletions(-)

commit 4be28d99de2c8fe27c6c16bc9c114f7cef550f79
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Aug 11 15:50:56 2010 +0200

    Fix install target in man/Makefile.am
    
    Commit 39c6dab89bbea9fe336f869b65e33102ba238205 introduced a regression:
    make install during a package build in a tree generated by make dist would
    no longer install the manual page... because they are already built and
    available in $(srcdir) while $(CURDIR) was ok for the case where the
    manual pages are not pre-built.
    
    No we try both paths and pick the first one that exists.

 debian/changelog |    5 +++++
 man/Makefile.am  |    2 ++
 2 files changed, 7 insertions(+), 0 deletions(-)

commit 58c7cd30d692652b1d533a809c1aea397d35eacf
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 5 18:29:39 2010 +0200

    u-a: Add non-regression test for --remove-all

 utils/t/100_update_alternatives.t |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

commit 9b494da45eb2883a1b397a42aac4adc1f7899b6b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 5 17:48:45 2010 +0200

    u-a: Fix use after free causing segfaults on --remove-all
    
    Refactor alternative_choices_free function and use it from
    alternative_reset() and for --remove-all. This was causing segfaults
    or bogus operation by not removing all choices.
    
    Closes: #591653, #591654

 debian/changelog            |    7 +++++++
 utils/update-alternatives.c |   27 +++++++++++++++++----------
 2 files changed, 24 insertions(+), 10 deletions(-)

commit ae947e1d0380470924c99385951f86b936492bc7
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 3 03:17:48 2010 +0200

    libdpkg: Add missing symbols to Versions script

 lib/dpkg/libdpkg.Versions |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 499088b2a6e94991d516cb7ee851698ccea5192b
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 3 03:10:01 2010 +0200

    Move glob module to libdpkg

 lib/dpkg/Makefile.am      |    2 ++
 {src => lib/dpkg}/glob.c  |    3 +--
 {src => lib/dpkg}/glob.h  |    6 +++---
 lib/dpkg/libdpkg.Versions |    3 +++
 po/POTFILES.in            |    1 +
 src/Makefile.am           |    2 --
 src/divertcmd.c           |    2 +-
 src/statcmd.c             |    2 +-
 8 files changed, 12 insertions(+), 9 deletions(-)

commit f56c9fc6a07f609a122696c463c25caf4ebd36ff
Merge: 03b4300 624aa0f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Aug 2 10:53:35 2010 +0200

    Merge branch 'sid' (through tag '1.15.8.3')
    
    Conflicts:
    	debian/changelog

commit 624aa0fadb9daf2757563197fa376b8223d11f2d
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Aug 2 10:38:28 2010 +0200

    Release 1.15.8.3

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f4e116b3a2afdbf2ee9fc2556782fa7cd773165c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Aug 2 10:21:06 2010 +0200

    libdpkg: Fix buffer overflow in dpkg_ar_member_put_header
    
    It was causing it to write the header to fd 0 (instead of ar_fd)
    depending on the stack layout, affecting armel which was generating
    empty packages.
    
    Closes: #591312
    
    Reported-by: Philipp Kern <pkern@debian.org>
    Based-on-patch-by: Reinhard Tartler <siretart@tauware.de>

 debian/changelog |    7 +++++++
 lib/dpkg/ar.c    |   11 +++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

commit 9036687a8cbd87ce319df56dd362bb2adae96fc4
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sun Aug 1 08:59:47 2010 +0200

    Fix dpkg-divert test suite to cope with + in the build directory name
    
    The directory name was not properly escaped in regular expressions
    and lead to test failures when it contained + or other characters with
    special meanings in regular expressions.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog        |    8 ++++++++
 src/t/100_dpkg_divert.t |   10 +++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

commit 03b4300e51cec35e49e38aef14d72acb6adea6bb
Merge: 7444c87 4aed1d7
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 31 04:39:19 2010 +0200

    Merge branch 'sid' (through tag '1.15.8.2')
    
    Conflicts:
    	debian/changelog

commit 4aed1d728958584769d469540e9ae6103e13d424
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 31 04:20:18 2010 +0200

    Release 1.15.8.2

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit c0f7fae149878000f75fa384fab4b9a600bb143a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 31 04:09:38 2010 +0200

    dpkg-buildpackage: Allow specifying absolute and relative paths on -r
    
    Rregression introduced in 7106a2d148ace7ea1e786e41e11f84081b47fec8.
    
    Closes: #591010

 debian/changelog     |    2 ++
 scripts/Dpkg/Path.pm |   12 +++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

commit 0e25e3a913000692c97fb50b34d3b11f0c92ea9f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 30 04:40:16 2010 +0200

    Bump libdpkg-perl Depends on dpkg to 1.15.8
    
    It will break dpkg versions before that when installing and removing
    libdpkg-perl, because older update-alternatives and dpkg-divert require
    Dpkg.pm and Dpkg/Gettext.pm which will disappear due to the Replaces.
    
    Closes: #590867
    
    Analysis-by: Sven Joachim <svenjoac@gmx.de>

 debian/changelog |   10 ++++++++++
 debian/control   |    2 +-
 2 files changed, 11 insertions(+), 1 deletions(-)

commit 7444c878aa6a0adabec28800f5015a33239e45a5
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 21:38:54 2010 +0200

    Add missing space in changelog

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9ba415de26ee6d92d84782de6843f4e8ea38570a
Merge: 5a580e2 44c36ad
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 29 21:35:36 2010 +0200

    Merge branch 'sid'

commit 5a580e28ba68f1482291ad86d823b487f74bcd70
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 20:26:53 2010 +0200

    libcompat: On successful realloc assign the newlist to list

 debian/changelog     |    3 +++
 lib/compat/scandir.c |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 44c36ad22adc8234a15bbfcf68a7bedf959443e5
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 29 21:18:39 2010 +0200

    Release 1.15.8.1

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5174ba18f14b60b01749fc0c8a415acbf62254a6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 29 21:07:18 2010 +0200

    Add u-a non-regression test to ensure the sorting of choices/slaves is ok

 utils/t/100_update_alternatives.t |   54 +++++++++++++++++++++++++++++++++++-
 1 files changed, 52 insertions(+), 2 deletions(-)

commit 867edc4d1736e0052143d1cd28b7dda3fd71ba45
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 29 20:36:09 2010 +0200

    update-alternatives: fix off-by-one errors
    
    alternative_sort_choices() and alternative_sort_slaves() were affected
    by an off-by-one error that could result in linked lists looping over
    themselves since the last element was not properly put back in the list.

 debian/changelog            |    7 +++++++
 utils/update-alternatives.c |    6 ++----
 2 files changed, 9 insertions(+), 4 deletions(-)

commit 1f2f5296c6a9437e71ad01ebe2f6ce5730de6558
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jul 29 19:29:03 2010 +0200

    Update German translation of manual pages
    
    Update to 1936t.

 debian/changelog |    5 ++++-
 man/po/de.po     |   33 ++++++++++-----------------------
 2 files changed, 14 insertions(+), 24 deletions(-)

commit 20332acd87e0417590dcd4d19916d6b1c6f93472
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jul 29 18:50:57 2010 +0200

    Update German scripts translation
    
    Update to 513t

 debian/changelog |    3 +-
 scripts/po/de.po |   61 +++--------------------------------------------------
 2 files changed, 6 insertions(+), 58 deletions(-)

commit caba9f9cf57e74fc8560d05a5764d0bcf2034a0e
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 11:00:28 2010 +0200

    Bump version to 1.15.9

 debian/changelog |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 189dcd07b4cd62159fb0a28db79249d86c91fb1b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 09:39:30 2010 +0200

    Release 1.15.8

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 1c8aaa94ea11a5a88f348a6ea46197b3b1cf6d0d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 09:36:45 2010 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |    2 +-
 dselect/po/ca.po        |    2 +-
 dselect/po/cs.po        |    2 +-
 dselect/po/da.po        |    2 +-
 dselect/po/de.po        |    2 +-
 dselect/po/dselect.pot  |    4 +-
 dselect/po/el.po        |    2 +-
 dselect/po/es.po        |    2 +-
 dselect/po/et.po        |    2 +-
 dselect/po/eu.po        |    2 +-
 dselect/po/fr.po        |    2 +-
 dselect/po/gl.po        |    2 +-
 dselect/po/hu.po        |    2 +-
 dselect/po/id.po        |    2 +-
 dselect/po/it.po        |    2 +-
 dselect/po/ja.po        |    2 +-
 dselect/po/ko.po        |    2 +-
 dselect/po/nb.po        |    2 +-
 dselect/po/nl.po        |    2 +-
 dselect/po/nn.po        |    2 +-
 dselect/po/pl.po        |    2 +-
 dselect/po/pt.po        |    2 +-
 dselect/po/pt_BR.po     |    2 +-
 dselect/po/ro.po        |    2 +-
 dselect/po/ru.po        |    2 +-
 dselect/po/sk.po        |    2 +-
 dselect/po/sv.po        |    2 +-
 dselect/po/tl.po        |    2 +-
 dselect/po/vi.po        |    2 +-
 dselect/po/zh_CN.po     |    2 +-
 dselect/po/zh_TW.po     |    2 +-
 man/po/de.po            |  254 ++++---
 man/po/dpkg-man.pot     |  697 +++++++++++---------
 man/po/es.po            |  797 +++++++++++++---------
 man/po/fr.po            |  800 +++++++++++++---------
 man/po/hu.po            |  737 ++++++++++++---------
 man/po/ja.po            |  748 ++++++++++++---------
 man/po/pl.po            |  799 +++++++++++++---------
 man/po/pt_BR.po         |  734 +++++++++++---------
 man/po/ru.po            |  748 ++++++++++++---------
 man/po/sv.po            | 1078 +++++++++++++++---------------
 po/ast.po               | 1698 +++++++++++++++++++++++++---------------------
 po/bs.po                | 1480 ++++++++++++++++++++--------------------
 po/ca.po                | 1676 ++++++++++++++++++++++++---------------------
 po/cs.po                | 1697 +++++++++++++++++++++++++---------------------
 po/da.po                | 1622 +++++++++++++++++++++++---------------------
 po/de.po                |  278 ++++----
 po/dpkg.pot             | 1470 ++++++++++++++++++++--------------------
 po/dz.po                | 1623 +++++++++++++++++++++++---------------------
 po/el.po                | 1674 ++++++++++++++++++++++++---------------------
 po/eo.po                | 1693 +++++++++++++++++++++++++--------------------
 po/es.po                | 1678 ++++++++++++++++++++++++---------------------
 po/et.po                | 1533 +++++++++++++++++++++--------------------
 po/eu.po                | 1699 +++++++++++++++++++++++++---------------------
 po/fr.po                | 1749 ++++++++++++++++++++++++++---------------------
 po/gl.po                | 1664 ++++++++++++++++++++++++--------------------
 po/hu.po                | 1585 +++++++++++++++++++++++--------------------
 po/id.po                | 1549 ++++++++++++++++++++++--------------------
 po/it.po                | 1705 +++++++++++++++++++++++++---------------------
 po/ja.po                | 1668 ++++++++++++++++++++++++---------------------
 po/km.po                | 1617 +++++++++++++++++++++++--------------------
 po/ko.po                | 1660 ++++++++++++++++++++++++--------------------
 po/ku.po                | 1477 ++++++++++++++++++++--------------------
 po/lt.po                | 1518 +++++++++++++++++++++--------------------
 po/mr.po                | 1615 +++++++++++++++++++++++--------------------
 po/nb.po                | 1665 ++++++++++++++++++++++++---------------------
 po/ne.po                | 1618 +++++++++++++++++++++++---------------------
 po/nl.po                | 1629 +++++++++++++++++++++++---------------------
 po/nn.po                | 1548 ++++++++++++++++++++++--------------------
 po/pa.po                | 1557 ++++++++++++++++++++++--------------------
 po/pl.po                | 1699 +++++++++++++++++++++++++--------------------
 po/pt.po                | 1671 ++++++++++++++++++++++++---------------------
 po/pt_BR.po             | 1673 ++++++++++++++++++++++++---------------------
 po/ro.po                | 1687 +++++++++++++++++++++++++---------------------
 po/ru.po                | 1700 +++++++++++++++++++++++++--------------------
 po/sk.po                | 1699 +++++++++++++++++++++++++---------------------
 po/sv.po                |  261 ++++----
 po/th.po                | 1658 ++++++++++++++++++++++++--------------------
 po/tl.po                | 1558 ++++++++++++++++++++++--------------------
 po/vi.po                | 1703 +++++++++++++++++++++++++---------------------
 po/zh_CN.po             | 1691 +++++++++++++++++++++++++--------------------
 po/zh_TW.po             | 1658 ++++++++++++++++++++++++--------------------
 scripts/po/ca.po        |  215 +++---
 scripts/po/de.po        |  142 +++--
 scripts/po/dpkg-dev.pot |  216 +++---
 scripts/po/es.po        |  323 ++++++---
 scripts/po/fr.po        |  323 ++++++---
 scripts/po/pl.po        |  254 ++++---
 scripts/po/ru.po        |  323 ++++++---
 scripts/po/sv.po        |  158 +++--
 90 files changed, 39942 insertions(+), 33771 deletions(-)

commit 8b511ee6e78ed105558f5becfe117fe8cb887f9a
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 06:13:37 2010 +0200

    dpkg-buildflags(1): Fix typo

 man/dpkg-buildflags.1 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 6d181ade5c67db8328289c6cadfb6b96f3dc89d2
Author: Osamu Aoki <osamu@debian.org>
Date:   Thu Jul 29 06:07:11 2010 +0200

    deb-control(5): Add missing mentions of the Breaks field
    
    Alongside the other fields sharing the same syntax.
    
    Closes: #590472

 debian/changelog  |    3 +++
 man/deb-control.5 |    8 ++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

commit 3b0d38c02236140b0422c4f45fdd0015b6240209
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 05:47:05 2010 +0200

    dpkg-buildpackage: Add new -F option for full build
    
    This enables to explicitly specify a normal full build and combine it
    with -nc.
    
    Closes: #547993

 debian/changelog             |    2 ++
 man/dpkg-buildpackage.1      |    6 +++++-
 scripts/dpkg-buildpackage.pl |    7 ++++++-
 3 files changed, 13 insertions(+), 2 deletions(-)

commit 68a4a0b3ca958c0bd47abac27219666d2f7264e8
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 05:02:09 2010 +0200

    dpkg-buildpackage: Switch build option tracking to a bitmask variable

 scripts/dpkg-buildpackage.pl |   50 +++++++++++++++++++++++++++++------------
 1 files changed, 35 insertions(+), 15 deletions(-)

commit d25407536dbed4cad2943187b36fbb6c92a6b5ab
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 15:06:19 2010 +0200

    dpkg: Assign correct SE Linux label to non-regular files
    
    The call to matchpathcon() was getting passed only the permission bits
    of the mode argument, instead of the format type. Map the tar filetype
    to the Unix mode and OR that information into the tar_entry mode member.
    
    Closes: #587949
    
    Based-on-patch-by: Russell Coker <russell@coker.com.au>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    2 ++
 lib/dpkg/tarfn.c |   43 ++++++++++++++++++++++++++++++++++++++++++-
 src/archives.c   |   10 ++++++----
 3 files changed, 50 insertions(+), 5 deletions(-)

commit 6c370bda300fca1c0e4e7ff99c22052a8d440142
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 29 06:48:10 2010 +0200

    libdpkg: Move code handling tar uid/gid together
    
    This avoids unneeded conversions and assignments when we have valid
    username and groupname.

 lib/dpkg/tarfn.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

commit ccb9d03ffd24c0e7319872bf190ce99dbb37b18e
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 20:11:58 2010 +0200

    libdpkg: Rename TarInfo to tar_entry

 lib/dpkg/tarfn.c |    8 ++++----
 lib/dpkg/tarfn.h |    4 ++--
 src/archives.c   |   17 +++++++++++------
 src/archives.h   |    2 +-
 src/filters.c    |    2 +-
 src/filters.h    |    2 +-
 6 files changed, 20 insertions(+), 15 deletions(-)

commit 15cf1342b886f548e8845dd042a72b028efc5d3d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 17:48:01 2010 +0200

    libdpkg: Rename TarExtractor to tar_extractor

 lib/dpkg/libdpkg.Versions |    2 +-
 lib/dpkg/tarfn.c          |    2 +-
 lib/dpkg/tarfn.h          |    2 +-
 src/archives.c            |    2 +-
 src/processarc.c          |    2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

commit f8a9cacf8ada2dc14dcf86f34969f2f5b678bdee
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 16:03:02 2010 +0200

    libdpkg: Rename and lower-case TarInfo members

 lib/dpkg/tarfn.c |   78 ++++++++++++++++----------------
 lib/dpkg/tarfn.h |   20 ++++----
 src/archives.c   |  132 +++++++++++++++++++++++++++++-------------------------
 src/filters.c    |   18 ++++----
 4 files changed, 129 insertions(+), 119 deletions(-)

commit 646892a232557410f8036b9d06a2babcbb44456d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 01:06:04 2010 +0200

    libdpkg: Normalize tar_filetype_file0 to tar_filetype_file on decode

 lib/dpkg/tarfn.c |    3 ++-
 src/archives.c   |    7 ++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

commit e6b62bd49fe7a089dc5f294090130051e7de54fe
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 01:00:59 2010 +0200

    libdpkg: When decoding the tar header assign the TarInfo Type first

 lib/dpkg/tarfn.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit d87b7d37ac9f6ce5b91599a09781d8d79ac00143
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 00:58:03 2010 +0200

    libdpkg: Rename and namespace TarFileType to tar_filetype

 lib/dpkg/tarfn.c |   27 ++++++++++++++-------------
 lib/dpkg/tarfn.h |   24 ++++++++++++------------
 src/archives.c   |   54 +++++++++++++++++++++++++++++-------------------------
 src/filters.c    |    3 ++-
 4 files changed, 57 insertions(+), 51 deletions(-)

commit 67d524ea0b9fe7b2a19c2f81c848a8523508a538
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 28 16:32:48 2010 +0200

    Pass tar context pointer as an argument instead of a struct member
    
    The context does not have anything to do with the TarInfo struct,
    so pass it as a function argument either as 'void *' or as
    'struct tarcontext *' if the type is known.

 lib/dpkg/tarfn.c |   17 ++++++++---------
 lib/dpkg/tarfn.h |    7 +++----
 src/archives.c   |   19 +++++++++----------
 src/archives.h   |    2 +-
 4 files changed, 21 insertions(+), 24 deletions(-)

commit c5dc9008a7dc26964f2925adc364597f7d4cb5d5
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Jul 27 08:53:29 2010 +0100

    Update Swedish translation:
    
    scripts/po/sv.po: 513t0f0u.

 scripts/po/sv.po |  176 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 101 insertions(+), 75 deletions(-)

commit 205ac41b166c9fd494cb61999dc3bfbc0315fea1
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Jul 26 18:45:48 2010 +0200

    Update German translation of manual pages
    
    Update to 1935t.

 man/po/de.po |  394 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 249 insertions(+), 145 deletions(-)

commit f3ee10f101c6431d3827bf1e92fbd4ded3014723
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Jul 26 18:14:15 2010 +0200

    Update German scripts translation
    
    Update to 513t

 scripts/po/de.po |  161 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 93 insertions(+), 68 deletions(-)

commit 8f49b73704935989988e71c7bf5caad755931c2d
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Jul 26 17:42:02 2010 +0200

    German dpkg translation update
    
    Update to 984t.

 po/de.po | 1487 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 776 insertions(+), 711 deletions(-)

commit 1b9c0f6d82cd64a3aafcdc474a2aeeefd3bd41a3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jul 26 08:57:50 2010 +0200

    dpkg-source: drop upstream debian directory before copying the debian one in place
    
    In source formats "2.0" and "3.0 (quilt)", make sure to remove the
    upstream-provided debian directory before copying the debian-provided
    version of that directory in place. Closes: #590297

 debian/changelog                  |    3 +++
 scripts/Dpkg/Source/Package/V2.pm |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 23a78ee22e185a709fed901a8743836cdd954ae1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jul 26 08:35:50 2010 +0200

    Bump Standards-Version to 3.9.1
    
    No change needed.

 debian/changelog |    2 +-
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c54889184636f451950b927823f899a62843019e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 26 04:24:55 2010 +0200

    libdpkg: Add additional branches to informative() test-case

 lib/dpkg/test/t-pkginfo.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 4cb6ae5d9e239c42c123910aa8407fbfed266ebf
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 25 19:43:30 2010 +0200

    libdpkg: Add test case for command_exec

 lib/dpkg/test/t-command.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

commit c1615da1a2cc409bccbf89b4203b82c68041a6cb
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 25 19:23:07 2010 +0200

    libdpkg: Complete test cases for the path module

 lib/dpkg/test/t-path.c |   92 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 90 insertions(+), 2 deletions(-)

commit 10211292855ac5548ef4a56df7a9dd6d3081da41
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 25 18:50:18 2010 +0200

    libdpkg: Fix buffer size limit handling in path_quote_filename
    
    Fix an off-by-one error on size limit NUL termination outside the loop,
    and thus make sure then that size is always > 0 so that we don't write
    outside the bounds. Check there's enough room when quoting '\\', and
    terminate the string and return otherwise. Remove XXX comments now that
    the code works fine.

 lib/dpkg/path.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

commit 8e5c0399910509951c7a5cf9380fe41d3b3083a9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 25 17:07:33 2010 +0200

    libdpkg: Fix bogus handling of '\\' in path_quote_filename
    
    When quoting backslash, the code was not advancing the source, so the
    destination was getting repeated backslashes until the buffer was full.

 lib/dpkg/path.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit e759410b2e9eb1c48bb344d2ad17bfc420ddf57a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 25 14:51:11 2010 +0200

    libdpkg: Fix buffer overflow in path_quote_filename
    
    When the string was longer than the size limit, the loop would continue
    as the unsigned size would wrap around 0 to SIZE_MAX, and subsequently
    segfault on the out-of-bounds access. Use ssize_t for the size variable.
    
    Regression introduced in f35d66dbc228bc8ad2c5255dee1bf4ecf9ee6e06.

 lib/dpkg/path.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit e62eaa93a1eb43c00aa5b9d58ca4ab975dcd53a5
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 17 19:12:24 2010 +0200

    Use varbuf_trunc instead of directly assigning to member 'used'

 src/archives.c   |    9 +++++----
 src/configure.c  |    4 ++--
 src/processarc.c |    8 ++++----
 src/querycmd.c   |    5 +++--
 src/remove.c     |   14 ++++++++------
 5 files changed, 22 insertions(+), 18 deletions(-)

commit 1433317d2fe83290ef02dbf54a6e4e650cb691d6
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 17 19:12:01 2010 +0200

    libdpkg: Add new varbuf_trunc() function

 lib/dpkg/libdpkg.Versions |    1 +
 lib/dpkg/test/t-varbuf.c  |   21 +++++++++++++++++++++
 lib/dpkg/varbuf.c         |   10 ++++++++++
 lib/dpkg/varbuf.h         |    1 +
 4 files changed, 33 insertions(+), 0 deletions(-)

commit b3db5f47c08016aa36fd0733341a033d9600a0c7
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Jul 25 23:34:03 2010 +0200

    build: Fix “make distcheck” errors
    
    Ship the doc/lcov-{epi,pro}log files created in commit
    0581dda824f26e9eec996ebf4de5f6474336bec2 in the distribution tarball,
    as well as the dpkg-divert test that moved in commit
    577ab5dd513beb641f1d635d8ead681065254233.

 Makefile.am     |    2 ++
 src/Makefile.am |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit c4eadd0e0f2aca06aa477eab62cbcc3028dcf2e8
Author: Joey Hess <joeyh@debian.org>
Date:   Sun Jul 25 14:20:41 2010 -0400

    dpkg-source: fix path to gitshallow file in source format "3.0 (git)"
    
    It was looking in the current directory, which works most of the time,
    but not always.

 scripts/Dpkg/Source/Package/V3/git.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 80bf68bd3af6bf4b4bffe12ea26eb53cba296283
Author: Joey Hess <joeyh@debian.org>
Date:   Sun Jul 25 14:17:46 2010 -0400

    dpkg-source(1): add missing paragraph break to man page

 man/dpkg-source.1 |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 2d75127b6fce8ef37b0fa670ee6d660d91bf0c9f
Author: Peter Krefting <peterk@debian.org>
Date:   Sun Jul 25 18:53:19 2010 +0100

    Correct typo in dpkg-maintscript-helper.1

 man/dpkg-maintscript-helper.1 |    2 +-
 man/po/de.po                  |    2 +-
 man/po/dpkg-man.pot           |    2 +-
 man/po/es.po                  |    2 +-
 man/po/fr.po                  |    2 +-
 man/po/hu.po                  |    2 +-
 man/po/ja.po                  |    2 +-
 man/po/pl.po                  |    2 +-
 man/po/pt_BR.po               |    2 +-
 man/po/ru.po                  |    2 +-
 man/po/sv.po                  |    2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

commit 14d7d133356f3ae951d24678450cbf479a72cd84
Author: Peter Krefting <peterk@debian.org>
Date:   Sun Jul 25 18:51:37 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 984t0f0u.
    man/po/sv.po: 1925t0f0u.
    scripts/po/sv.po: 511t0f0u.

 man/po/sv.po     |  237 +++++---
 po/sv.po         | 1665 +++++++++++++++++++++++++++---------------------------
 scripts/po/sv.po |   55 +-
 3 files changed, 1001 insertions(+), 956 deletions(-)

commit c9dc82a6789caf8c45cf494745dfd4d4fc882c5f
Author: Peter Krefting <peterk@debian.org>
Date:   Sun Jul 25 16:43:00 2010 +0100

    Update POTFILES.in for changes in source files.
    
    pkg-show.c (92838b1a97e20b70c3a450578d2b4271143fd561)
    querycmd.c (1dc3c58b4cad6338c8b02d106292b392e741f9e0)

 po/POTFILES.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit daf14faa1e7dc44ef1bd8ac71c621f1b24ca7350
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jul 25 18:15:29 2010 +0200

    Add missing bug closure

 debian/changelog |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit a2e3d77e982e343d09231921287bda89aff592b2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jul 25 17:25:56 2010 +0200

    dpkg-source: replace tar ignore pattern *~ with */*~
    
    With this change, it can't match the top-level directory anymore
    and the source package directory can again end with a tilde without
    creating problems.

 debian/changelog               |    2 ++
 scripts/Dpkg/Source/Package.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit eadd7d2376ef54b30cce26b336092c85ca406b3b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jul 25 17:12:50 2010 +0200

    Dpkg::Compression: add --no-name and --rsyncable options to the gzip call
    
    Pass --no-name option to gzip to avoid encoding the timestamp in the file
    so that the result is more predictable. Also pass --rsyncable to make
    source packages more rsync friendly.

 debian/changelog            |    3 +++
 scripts/Dpkg/Compression.pm |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 4f0baea1440ecb85a67b944ac0add2562682c207
Author: Joey Hess <joey@kitenet.net>
Date:   Tue Jun 1 16:01:35 2010 -0400

    dpkg-source: modify source format "3.0 (git)" to use git bundle
    
    Much better than the old approach of a tarball of the .git repository,
    the git bundle format is simple to understand and work with, and
    doesn't need to be sanitized for security. Much code went away.
    
    Supports limiting history depth by creating a shallow clone.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog                      |    2 +
 man/dpkg-source.1                     |   44 +++++-
 scripts/Dpkg/Source/Package/V3/git.pm |  304 +++++++++++----------------------
 3 files changed, 144 insertions(+), 206 deletions(-)

commit 408541a3980ee505e2064bb5c8ee844b4baf3a2b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jul 25 16:19:40 2010 +0200

    dpkg-buildflags: new --export command
    
    This action outputs shell code (or a makefile snippet) that exports all
    the compilations flags in the environment.
    
    For instance, the following command can be used a shell script:
     eval $(dpkg-buildflags --export=sh)

 debian/changelog           |    1 +
 man/dpkg-buildflags.1      |    8 ++++++++
 scripts/dpkg-buildflags.pl |   33 +++++++++++++++++++++++++++------
 3 files changed, 36 insertions(+), 6 deletions(-)

commit 37fe6b4a5ccf58ed553fe24ba19535b6d1bf92ba
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jul 23 08:06:36 2010 +0200

    update-alternatives: avoid segfault when the only slave is disappearing
    
    When an alternative with a single slave is removed, and when the
    remaining alternatives have no slaves, u-a was segfaulting while trying
    to remove the slave alternative from the structure.
    
    Reported-by: Jonathan Nieder <jrnieder@gmail.com>
    Reported-by: Cyril Brulebois <kibi@debian.org>

 utils/update-alternatives.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 611e3235622c2b6940df5c961faf148e4528b4b1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jul 22 22:19:31 2010 +0200

    Check the stat structure only if it has been initialized
    
    For non-existing files the stat structure is not initialized and S_ISDIR would
    randomly return true leading to the "Cannot divert directories" error
    message.
    
    This fixes the test-suite on i386.

 src/divertcmd.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit c24925105318dfa5a8ce19b54be80be69876094d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 22 18:27:16 2010 +0200

    dpkg-deb: Parse control file into available structure
    
    This unconfuses the code to make it clear we are not dealing with
    installed package information. It's also needed as part of the
    infrastructure changes for multiarch support.

 dpkg-deb/info.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 4e3e048dcef6714c295eae21f240ccd7ab634b8f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 22 18:25:48 2010 +0200

    build: Set LC_ALL=C for check-local
    
    This guarantees a reproducible environment for the test-suite.

 Makecheck.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit a58303f0294dfd9c93dfa4f49f572f1711f947cf
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 21 16:24:15 2010 +0200

    build: Add missing TEST_ENV_VARS to check-local target
    
    Missed in commit 939778ab9b4147d42b7250fdb1be9c5fe79392b7.

 Makecheck.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 1a6633e2d9b8d66eed60a45bfdd86552bf6107e4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 18 11:44:35 2010 +0200

    dpkg: Stop exporting DPKG_LIBDIR to maintainer scripts
    
    Now that the maintainer scripts helper program is under PATH, there's
    no need anymore to export the internal dpkg library directory.

 debian/changelog |    1 +
 lib/dpkg/dpkg.h  |    1 -
 man/dpkg.1       |    4 ----
 src/Makefile.am  |    1 -
 src/help.c       |    1 -
 5 files changed, 1 insertions(+), 7 deletions(-)

commit fad96a45552d4c0cca3ae141f385536048d9a75c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 17 18:30:41 2010 +0200

    libdpkg: Make pkginfo argument const in pkg_summary()

 lib/dpkg/pkg-show.c |    2 +-
 lib/dpkg/pkg-show.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 0f1bf462adbe67938f2c05712b2f53dc82f0994f
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 17 18:29:38 2010 +0200

    Do not include two unused <assert.h>

 dpkg-deb/build.c |    1 -
 src/remove.c     |    1 -
 2 files changed, 0 insertions(+), 2 deletions(-)

commit f4b2c176d93a8e66bbc56a59f210412b4b904123
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jul 17 10:12:46 2010 +0200

    Update German scripts translation
    
    Update to 511t

 scripts/po/de.po |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 6b62761d7c3f0db09371a24e8d32a2600cc91c5a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 20:31:54 2010 +0200

    Use earlier/later instead of smaller/bigger for comparison relationships
    
    Closes: #587641

 debian/changelog              |    2 ++
 lib/dpkg/pkg.c                |    4 ++--
 scripts/Dpkg/Changelog.pm     |   16 ++++++++--------
 scripts/Dpkg/Shlibs/Symbol.pm |    2 +-
 scripts/Dpkg/Version.pm       |   12 ++++++------
 scripts/dpkg-genchanges.pl    |    2 +-
 6 files changed, 20 insertions(+), 18 deletions(-)

commit 4b3828ba87359a3a0171a95479834983224b2f73
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 17:06:23 2010 +0200

    build: Add -Wshadow to default warnings

 m4/dpkg-compiler.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1dc3c58b4cad6338c8b02d106292b392e741f9e0
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 16:51:36 2010 +0200

    dpkg-query: Rename query.c to querycmd.c
    
    This makes it obvious the file contains the main() function for
    dpkg-query in line with the rest of the tools.

 src/Makefile.am             |    2 +-
 src/{query.c => querycmd.c} |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit e93fdb82239a07d52a377e5f4158e0ca0c58af7c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 16:49:38 2010 +0200

    Fix file names in comment header

 dselect/basecmds.cc  |    2 +-
 dselect/basetop.cc   |    2 +-
 lib/dpkg/parsedump.h |    2 +-
 lib/dpkg/pkg.c       |    2 +-
 lib/dpkg/progress.h  |    2 +-
 src/errors.c         |    2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

commit bac27aba18dc8eff6124741f7554ccf75b09ceee
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 16:38:37 2010 +0200

    dpkg-query: Do not incorrectly trim package summary on --list
    
    When computing the longest package description, the code was using
    always the first package passed to list1package. Which made it trim to
    an incorrect size.

 debian/changelog |    2 ++
 src/query.c      |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 4def4665267a8249ae2de2594422c18f7a84bc8b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 16:35:03 2010 +0200

    dpkg-query: Use pkg_summary in list1package instead of ad-hoc code

 src/query.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

commit f45885e71425f23a707250a87e0672ec96d82cf7
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 16:28:39 2010 +0200

    libdpkg: Make pkg_summary() return the summary instead of void
    
    Change from returning through a pointer argument to returning it from
    the function return value.

 lib/dpkg/pkg-show.c |    7 ++++---
 lib/dpkg/pkg-show.h |    2 +-
 src/enquiry.c       |    2 +-
 src/query.c         |    2 +-
 4 files changed, 7 insertions(+), 6 deletions(-)

commit 92838b1a97e20b70c3a450578d2b4271143fd561
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 14:19:15 2010 +0200

    Move pkg-show module to libdpkg

 lib/dpkg/Makefile.am                  |    2 ++
 {src => lib/dpkg}/pkg-show.c          |    5 ++---
 src/pkg-show.c => lib/dpkg/pkg-show.h |   33 ++++++++-------------------------
 src/Makefile.am                       |    2 --
 src/enquiry.c                         |    1 +
 src/main.h                            |    2 --
 src/query.c                           |    1 +
 7 files changed, 14 insertions(+), 32 deletions(-)

commit b4efb601b445580a3a46ce873eec3a80893dd08f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 16 14:03:41 2010 +0200

    Convert limiteddescription() to pkg_summary()
    
    Move clamping of summary size to callers. This makes the function more
    generic so that it can be reused in other contexts.

 src/enquiry.c  |    5 ++++-
 src/main.h     |    3 +--
 src/pkg-show.c |   15 ++++++++-------
 src/query.c    |    4 +++-
 4 files changed, 16 insertions(+), 11 deletions(-)

commit c5309f8009d14dc6ce05a783ab89acf0c5e2a3ed
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 14 15:23:46 2010 +0200

    Switch variables from int to bool where appropriate

 dpkg-deb/build.c      |    7 ++++---
 lib/dpkg/pkg-format.c |   10 +++++-----
 src/errors.c          |    4 ++--
 src/main.c            |   11 ++++++-----
 src/packages.c        |   16 +++++++++-------
 5 files changed, 26 insertions(+), 22 deletions(-)

commit 51be5fbb426c0d46aa38dcd1289852b60a252a6c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 19:57:07 2010 +0200

    u-a: Rename variable a to a_new to not shadow outter scope variable

 utils/update-alternatives.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit 0ffb2352819de51884f80c380819a33cce9333a7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 19:56:05 2010 +0200

    u-a: Rename altlnk to sl_altlnk to not shadow altlnk from outter scope

 utils/update-alternatives.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit fa610b5f505c38fad4c7c8d9b86262988a2d793d
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 19:48:22 2010 +0200

    u-a: Rename link variable to linkname to not shadow link(2)

 utils/update-alternatives.c |   51 ++++++++++++++++++++++---------------------
 1 files changed, 26 insertions(+), 25 deletions(-)

commit a9746761e3237e4cee5c5c7f5851b62b4de8ed37
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 19:00:56 2010 +0200

    u-a: Rename variable index to idx to not shadow index(3)

 utils/update-alternatives.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit f530505861321e8d8a9e70cf5fd86278778b58d1
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 18:51:32 2010 +0200

    u-a: Remove unneeded const from fileset_add_slave string arguments
    
    The arguments were later on cast to remove the constness, so just fix
    the prototype of the function.

 utils/update-alternatives.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 20a523e176f4c3c81cdade68ba71c45c421dfadc
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 19:42:02 2010 +0200

    dpkg: Rename symlink variable to target to not shadow symlink(2)

 src/configure.c |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)

commit 7562f4ce74a04167ef2e9927304b15ae4b8cb6e9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 15:50:29 2010 +0200

    dpkg: Rename the remove variable to skip to not shadow remove(3)

 src/filters.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit d647c878fb04db22dd0cfa7a57bee8f1d3caeac8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 15:49:27 2010 +0200

    dpkg-split: Namespace global option variables to not shadow local ones

 dpkg-split/dpkg-split.h |    9 ++++++---
 dpkg-split/join.c       |    6 +++---
 dpkg-split/main.c       |   29 ++++++++++++++++-------------
 dpkg-split/queue.c      |   26 ++++++++++++++------------
 dpkg-split/split.c      |    4 ++--
 5 files changed, 41 insertions(+), 33 deletions(-)

commit 0581dda824f26e9eec996ebf4de5f6474336bec2
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 11:44:41 2010 +0200

    build: Add optional code coverage support
    
    Enable code coverage support with 'configure --enable-coverage'. Use
    gcov and lcov for C code coverage, and Devel::Cover and cover for Perl
    code coverage.

 .gitignore          |    4 ++++
 Makecheck.am        |    2 ++
 Makefile.am         |   44 +++++++++++++++++++++++++++++++++++++++++++-
 configure.ac        |    1 +
 doc/.gitignore      |    1 +
 doc/lcov-epilog     |    8 ++++++++
 doc/lcov-prolog     |    8 ++++++++
 m4/dpkg-coverage.m4 |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 scripts/.gitignore  |    1 +
 scripts/Makefile.am |    9 ++++++++-
 10 files changed, 127 insertions(+), 2 deletions(-)

commit 577ab5dd513beb641f1d635d8ead681065254233
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 10 13:54:28 2010 +0200

    build: Move dpkg_divert test case from scripts to src

 scripts/Makefile.am                                |    3 +--
 src/.gitignore                                     |    1 +
 src/Makefile.am                                    |   11 +++++++++++
 .../t/950_dpkg_divert.t => src/t/100_dpkg_divert.t |    0
 4 files changed, 13 insertions(+), 2 deletions(-)

commit 939778ab9b4147d42b7250fdb1be9c5fe79392b7
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 10 13:21:02 2010 +0200

    build: Refactor perl test-suite support into a new Makecheck.am file

 Makecheck.am        |   21 +++++++++++++++++++++
 scripts/Makefile.am |   22 ++++++++--------------
 utils/Makefile.am   |   14 ++++----------
 3 files changed, 33 insertions(+), 24 deletions(-)

commit 81839b6215eebaef7eac25c9b3811a057c8f41a8
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 10 10:07:05 2010 +0200

    build: Fix 'make check' when libdpkg has not been built yet
    
    Force the subdirectory build order, so that lib/dpkg gets built before
    lib/dpkg/test, making the former always available for the latter.

 lib/dpkg/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 20f0d638fee7d1c383ee9e1a83e2a7ddabc065b5
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 10 09:13:50 2010 +0200

    build: Rename overriding check targets to check-local
    
    This allows to have the local targets and be able to use the native
    automake targets in the future.

 scripts/Makefile.am |    2 +-
 utils/Makefile.am   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 0535fac53f385a866946e978fd35a10185d162fc
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 10 09:12:39 2010 +0200

    build: Skip all dpkg-divert tests if the binary is not available

 scripts/t/950_dpkg_divert.t |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 1ccdb04d4b3d732c01e73607fc237aa0d46237e3
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 11 11:26:20 2010 +0200

    libdpkg: Fix command_add_argv doxygen comment to match param name

 lib/dpkg/command.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fc6fef6d8369fa682f5980fece9f0e481f3c2e15
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 8 07:48:31 2010 +0200

    dpkg-divert: Refactor writable directory check into a new function

 src/divertcmd.c |   40 ++++++++++++++++++----------------------
 1 files changed, 18 insertions(+), 22 deletions(-)

commit dcfb989852466575299e6f6ac505cab8c6476699
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 8 07:29:16 2010 +0200

    dpkg-divert: Disable renaming of the source file does not exist
    
    This makes it consistent with the general dpkg behaviour of honouring
    file removals by the administrator.
    
    Closes: #550252
    
    As a side effect, this avoids useless errors when the destination
    directory is not existent or writable.
    
    Closes: #581544

 debian/changelog |    4 ++++
 src/divertcmd.c  |   13 ++++++-------
 2 files changed, 10 insertions(+), 7 deletions(-)

commit 5cc86959a4719f2426480ccdae2a2b9d72a754e3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 6 08:58:04 2010 +0200

    dpkg-deb: Reduce scope of several variables in extracthalf()

 dpkg-deb/extract.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

commit bc68b3461b939c4104d790ec3246a976fe4d52b3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 6 08:49:09 2010 +0200

    dpkg-deb: Remove redundant readfromfd variable
    
    This variable always gets assigned the same fd, so there's no point in
    keeping it around.

 dpkg-deb/extract.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit df863c9b8ddf377b6cb89ac9079770356bd69c65
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 6 08:42:13 2010 +0200

    dpkg-deb: Do not use EOF on file descriptor calls
    
    The code was working because EOF is usually -1, but that's not
    guaranteed by any standard. It's also conceptually wrong to mix this
    definition from stream based I/O on file dscriptor based I/O.
    
    For the close() call, just check that the return value is not 0.
    
    Regression introduced in f4f4a1aa8dec678b6f34abcbcb8efd5b75966028.

 dpkg-deb/extract.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 66c6a8b54f40cedbd754dd9865fd64a0275e7b72
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 6 08:30:13 2010 +0200

    dpkg-deb: Do not special case old format control member
    
    Initialize memberlen and skip the control member if the filesystem
    member was requested, so that the same generic code that feeds the
    member to the decompressor can be used for all cases.

 dpkg-deb/extract.c |   62 ++++++++++++++++------------------------------------
 1 files changed, 19 insertions(+), 43 deletions(-)

commit ee512e837ea7a1753155fc6c5addb06ba0feefc7
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Sat Jul 3 17:22:49 2010 +0200

    Update Spanish translation of manual pages
    
    Update to 1925t and fix "typo" in debian/changelog.

 debian/changelog |    2 +-
 man/po/es.po     |   72 +++++++++++++++++++++++++++++++++++++++---------------
 2 files changed, 53 insertions(+), 21 deletions(-)

commit 763aa476f71411f71b131e778ce4ab8b31f29041
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jul 3 14:46:59 2010 +0200

    Update German translation of manual pages
    
    Update to 1926t.

 man/po/de.po |  283 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 149 insertions(+), 134 deletions(-)

commit e142aa1f4cfd4332cdba7d78c23618be2e3dbfeb
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Sat Jul 3 13:18:18 2010 +0200

    Initial Spanish scripts translation

 debian/changelog   |    3 +
 scripts/po/LINGUAS |    3 +
 scripts/po/es.po   | 3579 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 3585 insertions(+), 0 deletions(-)

commit 3a544f8c59b3f9e46f9cfc624edbaaaa5b81d92a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jul 3 09:38:48 2010 +0200

    man: Clarify --force-confask description
    
    Mention any of the other --force-conf options can be given, not just
    one. And that --force-confmiss can also be used with --force-confask.

 man/dpkg.1 |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit bd0ae9a42b06f09223383e67edb262041e2bd98d
Author: Henning Makholm <henning@makholm.net>
Date:   Sat Jul 3 04:30:04 2010 +0200

    Add new dpkg --force-confask option
    
    The option forces a conffile prompt when the conffile from the new
    package does not differ from the previous one version.
    
    Closes: #102609
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    3 +++
 man/dpkg.1       |    7 +++++++
 src/configure.c  |    7 ++++++-
 src/main.c       |    3 +++
 src/main.h       |    1 +
 5 files changed, 20 insertions(+), 1 deletions(-)

commit c3d9eea8d03d93eed6e2d87a97acfca5562b2b32
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 13:13:01 2010 +0200

    dpkg: Detect locked databases on --audit
    
    Detect when another process has locked the database, and mention that
    problematic dpkg --audit results might be due to ongoing operations.
    
    Closes: #80252

 debian/changelog    |    3 +++
 lib/dpkg/dbmodify.c |   32 +++++++++++++++++++++++++++++++-
 lib/dpkg/dpkg-db.h  |    1 +
 lib/dpkg/file.c     |   22 ++++++++++++++++++++++
 lib/dpkg/file.h     |    3 +++
 src/enquiry.c       |    8 ++++++++
 6 files changed, 68 insertions(+), 1 deletions(-)

commit 0238821c66112e5403dd8abbf6eca0962866d944
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 13:03:44 2010 +0200

    libdpkg: Refactor file lock setup into file_lock_setup()

 lib/dpkg/file.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

commit 0309242811c39aedda81521019ece0b3ffa16cc7
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 12:36:06 2010 +0200

    Bump Standards-Version to 3.9.0

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 2a2c2ef9188d718c914000fc6ab48f33acc54ddb
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 11:56:47 2010 +0200

    Move Dpkg.pm and Dpkg/Gettext.pm from dpkg to libdpkg-perl

 debian/changelog            |    1 +
 debian/control              |    5 +++--
 debian/dpkg.install         |    2 --
 debian/libdpkg-perl.install |    2 +-
 debian/rules                |    2 +-
 scripts/Dpkg.pm             |    6 ------
 6 files changed, 6 insertions(+), 12 deletions(-)

commit bd7a8ab1d03d2cfb7a7ad4ea21e26edaca53dd39
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 12:26:48 2010 +0200

    Use Breaks instead of Conflicts in dpkg, dpkg-dev and libdpkg-perl
    
    All instances were due to files taken over, or functionality broken
    due to interface changes.

 debian/changelog |    2 ++
 debian/control   |    8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

commit 3b8074a91047c3308309f93f1bf344c339044e98
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 06:14:04 2010 +0200

    Use linux-any wildcard for libselinux1-dev Build-Depends
    
    Instead of using a list of negated architectures. This will make the job
    easier for new ports. And it's just more correct.

 debian/changelog |    2 ++
 debian/control   |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 02b12d75f1eff7c184fafb5a663a0421e9a645ea
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 05:57:29 2010 +0100

    dpkg-divert: Rewrite in C

 debian/changelog            |    1 +
 po/POTFILES.in              |    3 +-
 scripts/.gitignore          |    1 -
 scripts/Makefile.am         |    2 -
 scripts/dpkg-divert.pl      |  369 ---------------------
 scripts/t/950_dpkg_divert.t |    2 +-
 src/.gitignore              |    1 +
 src/Makefile.am             |   12 +
 src/divertcmd.c             |  757 +++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 773 insertions(+), 375 deletions(-)

commit b7b59ee6ff98188627346998829f1df51a9bbb12
Author: Mikhail Gusarov <dottedmag@dottedmag.net>
Date:   Wed Oct 14 02:36:44 2009 +0700

    dpkg-divert: Add new test-case
    
    Devel::Cover reports 97% coverage. Remaining branches are hard-to-test
    without root privilege error handling.
    
    [guillem@debian.org:
     - Add new test into test_cases.
     - Run program from builddir.
     - Do not check for usage output on badusage.
     - Use note() instead of diag().
     - Sort database and list output.
     - Skip some tests when under fakeroot. ]
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 scripts/Makefile.am         |    3 +-
 scripts/t/950_dpkg_divert.t |  555 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 557 insertions(+), 1 deletions(-)

commit 1fc9a0364a1954389036d18385b9b4432374fc49
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 29 07:12:39 2010 +0200

    dpkg-split: Fix indentation for the rest of split.c

 dpkg-split/split.c |   50 ++++++++++++++++++++++++++------------------------
 1 files changed, 26 insertions(+), 24 deletions(-)

commit f2115151c19ff37b305296c23225807b0832086b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 06:15:26 2010 +0200

    dpkg-split: Rewrite mksplit in C

 debian/changelog       |    1 +
 debian/dpkg.install    |    1 -
 dpkg-split/.gitignore  |    1 -
 dpkg-split/Makefile.am |   15 ---
 dpkg-split/mksplit.pl  |   89 -------------------
 dpkg-split/split.c     |  225 ++++++++++++++++++++++++++++++++++++++++++++----
 6 files changed, 210 insertions(+), 122 deletions(-)

commit 28ca2d0e5c8d47abf2907b697a7711e6a7689293
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 2 06:07:41 2010 +0200

    dpkg-deb: Use new dpkg_ar library functions instead of ad-hoc code

 dpkg-deb/build.c |   52 +++++++++++++++-------------------------------------
 1 files changed, 15 insertions(+), 37 deletions(-)

commit 9200eb93dfc61363336d7a29f6ba7a35bb2ac174
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 1 12:25:44 2010 +0200

    libdpkg: Add new dpkg ar support functions

 lib/dpkg/ar.c             |   63 +++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/ar.h             |    8 +++++
 lib/dpkg/libdpkg.Versions |    6 ++++
 3 files changed, 77 insertions(+), 0 deletions(-)

commit c81a1475db83f6fbd33a104085434f71d9761c74
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 1 12:05:09 2010 +0200

    Use new DPKG_AR_MAGIC macro instead of literal string

 dpkg-deb/build.c   |    3 ++-
 dpkg-deb/extract.c |    2 +-
 dpkg-split/info.c  |   13 +++++++------
 lib/dpkg/ar.h      |    2 ++
 4 files changed, 12 insertions(+), 8 deletions(-)

commit 84182faf902d1b7ba0ed13554e42d5ca40763bd2
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Jun 28 21:38:06 2010 +0200

    Update German translation of manual pages
    
    Update to 1925t.

 man/po/de.po |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

commit 2d7f7493c581f413a0586ba5a790f2306bcd655d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jun 28 08:45:01 2010 +0200

    Dpkg::Changelog: fixed to cope properly with an entry of version "0"
    
    The change of the boolean evaluation of Dpkg::Version introduced in
    5b9f353b2940de751df47036608afbe71992d622 broke Dpkg::Changelog's ability
    to correctly export an entry with a version of "0".
    
    Add a non-regression test for this.

 debian/changelog                         |    2 ++
 scripts/Dpkg/Changelog.pm                |    6 ++++--
 scripts/t/600_Dpkg_Changelog.t           |    5 +++++
 scripts/t/600_Dpkg_Changelog/regressions |    3 ++-
 4 files changed, 13 insertions(+), 3 deletions(-)

commit 8f576412d15d80e34859c254aa748d6acc606749
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Jun 27 18:02:00 2010 +0200

    German dpkg translation update
    
    Update to 984t.

 po/de.po |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)

commit ad9b46bf8194a68291224d8a7f93af30d74982c9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 27 10:48:03 2010 +0200

    Update Catalan translation

 debian/changelog |    1 +
 po/ca.po         |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 5aadeeacaa4f5e072b42d032360c1d3406e70b40
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 27 10:41:56 2010 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |   58 +-
 dselect/po/ca.po        |   58 +-
 dselect/po/cs.po        |   58 +-
 dselect/po/da.po        |   58 +-
 dselect/po/de.po        |   58 +-
 dselect/po/dselect.pot  |   60 +-
 dselect/po/el.po        |   58 +-
 dselect/po/es.po        |   58 +-
 dselect/po/et.po        |   58 +-
 dselect/po/eu.po        |   58 +-
 dselect/po/fr.po        |   58 +-
 dselect/po/gl.po        |   58 +-
 dselect/po/hu.po        |   58 +-
 dselect/po/id.po        |   58 +-
 dselect/po/it.po        |   58 +-
 dselect/po/ja.po        |   58 +-
 dselect/po/ko.po        |   58 +-
 dselect/po/nb.po        |   58 +-
 dselect/po/nl.po        |   58 +-
 dselect/po/nn.po        |   58 +-
 dselect/po/pl.po        |   58 +-
 dselect/po/pt.po        |   58 +-
 dselect/po/pt_BR.po     |   58 +-
 dselect/po/ro.po        |   58 +-
 dselect/po/ru.po        |   58 +-
 dselect/po/sk.po        |   58 +-
 dselect/po/sv.po        |   58 +-
 dselect/po/tl.po        |   58 +-
 dselect/po/vi.po        |   58 +-
 dselect/po/zh_CN.po     |   58 +-
 dselect/po/zh_TW.po     |   58 +-
 man/po/de.po            |   20 +-
 man/po/dpkg-man.pot     |  489 +++++++----
 man/po/es.po            | 1335 ++++++++++++++++-------------
 man/po/fr.po            |  525 +++++++-----
 man/po/hu.po            |  501 +++++++-----
 man/po/ja.po            |  505 +++++++-----
 man/po/pl.po            |  524 +++++++-----
 man/po/pt_BR.po         |  502 +++++++-----
 man/po/ru.po            |  503 +++++++-----
 man/po/sv.po            |  514 +++++++-----
 po/ast.po               | 2187 ++++++++++++++++++++++++----------------------
 po/bs.po                | 1741 +++++++++++++++++++------------------
 po/ca.po                | 2182 ++++++++++++++++++++++++----------------------
 po/cs.po                | 2166 ++++++++++++++++++++++++----------------------
 po/da.po                | 2056 +++++++++++++++++++++++---------------------
 po/de.po                |  824 +++++++++---------
 po/dpkg.pot             | 1733 +++++++++++++++++++------------------
 po/dz.po                | 2066 +++++++++++++++++++++++---------------------
 po/el.po                | 2187 ++++++++++++++++++++++++----------------------
 po/eo.po                | 2053 +++++++++++++++++++++++---------------------
 po/es.po                | 2195 ++++++++++++++++++++++++----------------------
 po/et.po                | 1896 +++++++++++++++++++++--------------------
 po/eu.po                | 2055 +++++++++++++++++++++++---------------------
 po/fr.po                | 2177 ++++++++++++++++++++++++----------------------
 po/gl.po                | 2159 ++++++++++++++++++++++++----------------------
 po/hu.po                | 1960 ++++++++++++++++++++++--------------------
 po/id.po                | 1895 +++++++++++++++++++++--------------------
 po/it.po                | 2062 +++++++++++++++++++++++---------------------
 po/ja.po                | 2171 ++++++++++++++++++++++++----------------------
 po/km.po                | 2031 ++++++++++++++++++++++---------------------
 po/ko.po                | 2159 ++++++++++++++++++++++++----------------------
 po/ku.po                | 1781 ++++++++++++++++++++-------------------
 po/lt.po                | 1811 ++++++++++++++++++++-------------------
 po/mr.po                | 2027 ++++++++++++++++++++++---------------------
 po/nb.po                | 2158 ++++++++++++++++++++++++----------------------
 po/ne.po                | 2059 +++++++++++++++++++++++---------------------
 po/nl.po                | 2067 +++++++++++++++++++++++---------------------
 po/nn.po                | 1897 +++++++++++++++++++++--------------------
 po/pa.po                | 1928 +++++++++++++++++++++--------------------
 po/pl.po                | 2048 +++++++++++++++++++++++---------------------
 po/pt.po                | 2178 ++++++++++++++++++++++++----------------------
 po/pt_BR.po             | 2164 ++++++++++++++++++++++++----------------------
 po/ro.po                | 2182 ++++++++++++++++++++++++----------------------
 po/ru.po                | 2045 +++++++++++++++++++++++---------------------
 po/sk.po                | 2175 ++++++++++++++++++++++++----------------------
 po/sv.po                | 2157 ++++++++++++++++++++++++----------------------
 po/th.po                | 2141 ++++++++++++++++++++++++----------------------
 po/tl.po                | 1903 +++++++++++++++++++++--------------------
 po/vi.po                | 2199 ++++++++++++++++++++++++-----------------------
 po/zh_CN.po             | 2162 ++++++++++++++++++++++++----------------------
 po/zh_TW.po             | 2141 ++++++++++++++++++++++++----------------------
 scripts/po/ca.po        |  233 +++---
 scripts/po/de.po        |    2 +-
 scripts/po/dpkg-dev.pot |  234 +++---
 scripts/po/fr.po        |  233 +++---
 scripts/po/pl.po        |  233 +++---
 scripts/po/ru.po        |  233 +++---
 scripts/po/sv.po        |  233 +++---
 89 files changed, 48093 insertions(+), 43704 deletions(-)

commit 1079ed11dcbf3d9b20e841fb22fd501740e746b0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 27 10:27:10 2010 +0200

    build: Add a top-level update-po target
    
    This will ease maintainers and translators job when wanting to update
    the po files.

 Makefile.am |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit b8799d9f107b23d8640ae7db852499f399792083
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 13:16:17 2010 +0200

    Use consistent naming for linked lists members
    
    Use next/prev instead of next/back (which would complement forward).
    Also move next to the end of member names and seprate it with an
    underscore, to simulate it being a sub struct member.

 TODO                  |    1 -
 dselect/method.h      |    2 +-
 dselect/methparse.cc  |    5 +++--
 dselect/pkgdepcon.cc  |   12 ++++++------
 dselect/pkgsublist.cc |    2 +-
 lib/dpkg/dlist.h      |   18 +++++++++---------
 lib/dpkg/dpkg-db.h    |    6 +++---
 lib/dpkg/fields.c     |   17 ++++++++++-------
 lib/dpkg/parse.c      |   18 +++++++++---------
 lib/dpkg/triglib.c    |    4 ++--
 lib/dpkg/triglib.h    |    2 +-
 src/archives.c        |    4 ++--
 src/depcon.c          |   20 ++++++++++----------
 src/packages.c        |    4 ++--
 src/processarc.c      |   10 +++++-----
 src/remove.c          |    2 +-
 16 files changed, 65 insertions(+), 62 deletions(-)

commit c69901cdda6500450f026d02b439b941e7cb147a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 12:38:27 2010 +0200

    Remove 'vsnprintf return value check' item from TODO after code review
    
    The few places where the vsnprintf callers are not checking the return
    value, are about to ohshit anyway so there's no real damage by not
    doing the check, the rest are harmless.

 TODO |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit c838e48663200b40ad13eec3ac5a40d3b12bff2c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 12:23:09 2010 +0200

    libdpkg: Check in test-case that : is an illegal character in revision

 lib/dpkg/test/t-version.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 662d97913fe8d9f4aa784ca7595c415c65202148
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 12:17:20 2010 +0200

    libdpkg: Check version syntax when parsing
    
    Remove the incomplete checkversion() from dpkg-deb as it's now unneeded.
    Enable test-cases for invalid characters in version and revision parts.
    
    Closes: #574704

 debian/changelog          |    2 ++
 dpkg-deb/build.c          |   22 ++--------------------
 lib/dpkg/parsehelp.c      |   13 ++++++++++++-
 lib/dpkg/test/t-version.c |    3 ---
 4 files changed, 16 insertions(+), 24 deletions(-)

commit 0a85d64a50ebb3bb2d5f06f368e68b6f902533fa
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 07:26:25 2010 +0200

    dpkg: Place deferred extract rename debug message closer to the action

 src/archives.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 2b87ec98e266e6dcab59eacc4ea2b2e227960133
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 04:42:31 2010 +0200

    dpkg-query: Change actionfunction to return int instead of void
    
    This avoids a global exit code variable.

 src/query.c |   36 +++++++++++++++++++++++++-----------
 1 files changed, 25 insertions(+), 11 deletions(-)

commit edd58fd64fb2f60ab5a2b933c7a9875db0725378
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 03:10:38 2010 +0200

    libdpkg: Add missing word in comment to make it grammatical

 lib/dpkg/triglib.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 346e694287e999e23e6885e9511bd8503ede1b93
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 26 03:08:15 2010 +0200

    libdpkg: Remove obsolete internal status aliases
    
    The strings are “postinst-failed” for stat_halfconfigured and
    “removal-failed” for stat_halfinstalled.
    
    These were used for backward compatibility during upgrades from ancient
    dpkg versions. As they should not appear in newer status files, it's
    really safe to remove them now.

 debian/changelog     |    2 ++
 lib/dpkg/parsehelp.c |    5 -----
 2 files changed, 2 insertions(+), 5 deletions(-)

commit 254b3752d36376de47c2f04fbeb8cd439527c6a0
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 25 19:16:52 2010 +0200

    libdpkg: Remove unused nfields variable

 lib/dpkg/parse.c     |    2 --
 lib/dpkg/parsedump.h |    1 -
 2 files changed, 0 insertions(+), 3 deletions(-)

commit c88029bab1e02b866848736bf85b1a08ec419d2a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 25 18:37:42 2010 +0200

    dpkg: Do not use abbreviations for 'distributed'

 src/configure.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 50391de87ac2b0269ef3e2f64fb41e913baff415
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 25 18:20:26 2010 +0200

    libdpkg: Remove 'valid' member from struct pkginfoperfile
    
    The two struct pkginfoperfile inside struct pkginfo are always valid,
    as blankpackage does a blankpackageperfile on each. So there's no
    actual need for the boolean member, neither for validity checks all
    over the place and possible subsequent redundant initializations.
    
    This is due to commit 5f100a01af636c14a600bf53b22e2ca3f2fcc546.

 dpkg-deb/build.c      |    1 -
 dselect/pkgdepcon.cc  |   82 ++++++++++++++++++++++--------------------------
 dselect/pkglist.cc    |    3 --
 dselect/pkgsublist.cc |    2 +-
 lib/dpkg/database.c   |    5 ---
 lib/dpkg/dpkg-db.h    |    1 -
 lib/dpkg/dump.c       |   23 ++++++-------
 lib/dpkg/parse.c      |    5 +--
 lib/dpkg/pkg-format.c |    6 +---
 src/enquiry.c         |    4 +-
 src/packages.c        |   25 +++++++--------
 src/pkg-show.c        |    2 +-
 src/processarc.c      |   16 +++------
 src/query.c           |    4 +-
 src/remove.c          |    1 -
 15 files changed, 75 insertions(+), 105 deletions(-)

commit acf7fe58c95c2ba4300ec4b60d614012483f4771
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 25 08:46:23 2010 +0200

    dpkg: Mark hook command error string for translation

 src/main.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 88b5c91de144e1faace4f9777aba1b5da27a7bcd
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 25 08:12:01 2010 +0200

    dpkg: Remove redundant trailing newlines from debug output
    
    debug() already prints a trailing newline, so there's no point in
    including it in the string to be printed.

 src/depcon.c     |    2 +-
 src/processarc.c |    4 ++--
 src/remove.c     |    4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 4eab697e64024d034220cc6366c80a5f090ff687
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jun 24 21:22:32 2010 +0200

    libdpkg: Remove outdated comment with test dataset package names

 lib/dpkg/database.c |   20 --------------------
 1 files changed, 0 insertions(+), 20 deletions(-)

commit 45816c76839b9b4a50b048420d7ff4812eaf4277
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jun 24 04:05:09 2010 +0200

    libdpkg: Add new version symbol script
    
    It's not used yet, but it's useful to keep track of the exported API,
    and what needs to be removed, renamed, etc, in just one place.

 lib/dpkg/Makefile.am      |    1 +
 lib/dpkg/libdpkg.Versions |  228 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 229 insertions(+), 0 deletions(-)

commit 1f6b854a2d8319f8b90cb3964117aaf95e10e0a8
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jun 24 04:04:08 2010 +0200

    libdpkg: Rename trigdef_yylex() to trigdef_parse()

 lib/dpkg/trigdeferred.h |    2 +-
 lib/dpkg/trigdeferred.l |    1 +
 lib/dpkg/triglib.c      |    2 +-
 src/trigcmd.c           |    2 +-
 4 files changed, 4 insertions(+), 3 deletions(-)

commit 24bd7ac063a234b3c63df79ad599f39fed728ad5
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 22 11:08:27 2010 +0200

    dpkg-trigger: Mark do_check with DPKG_ATTR_NORET

 src/trigcmd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c43931e799d36275cf6d44be94c63512b94b1c9e
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 22 10:57:47 2010 +0200

    dpkg: Use iterators instead of exposing packageslump directly

 TODO             |    1 -
 src/archives.c   |  216 +++++++++++++++++++++++++++---------------------------
 src/filesdb.c    |   56 ++++++++++++++
 src/filesdb.h    |   13 +--
 src/help.c       |   23 +++---
 src/processarc.c |   88 +++++++++++-----------
 src/query.c      |   22 +++---
 7 files changed, 237 insertions(+), 182 deletions(-)

commit 632e855a51070ca42532341e9f8f0f0006f1a23d
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 21 20:09:40 2010 +0200

    man: Update u-a log file reference
    
    update-alternatives has now its independent log file, reflect that in
    the man page.

 man/update-alternatives.8 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 21bae07787b41706d5afbefb470b1ee84e3382b6
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 21 19:57:51 2010 +0200

    dpkg: Mark the summarize_filename() ellipsed string for translation
    
    Coallesce the ellipsed string with the format string so that it makes a
    bit more sense for translators. This will allow translators to use for
    example the UTF-8 ellipsis character.

 src/processarc.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 3a517daa138719192aee819a6fa221231f252ffd
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 19 06:38:04 2010 +0200

    dpkg: Switch existingdirectory and keepexisting from int to bool

 src/archives.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit ff008d67767538266655f524761bdd3a08769375
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 19 06:51:24 2010 +0200

    dpkg: Remove filtered existing directories on upgrade
    
    Move the return point in tarobject() for the existing directories
    check after the path filter one. This makes sure the latter takes
    precedence over the former, and existing directories get properly
    filtered and removed on upgrades.
    
    Reported-by: Martin Pitt <martin.pitt@ubuntu.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/archives.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 58b91fbb00fca2dd0bbb429b28887d6ebc04abea
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 15 20:08:54 2010 +0200

    dpkg: Remove filtered files on upgrade
    
    Because the filtered file is left in the new file list, the code that
    verifies if the old file is present (maybe with a different name) in
    the new list matches the stat information. So we mark and treat filtered
    files as if they were already not present on the file system.
    
    Reported-by: Martin Pitt <martin.pitt@ubuntu.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/archives.c   |    1 +
 src/filesdb.h    |    1 +
 src/processarc.c |    4 ++++
 3 files changed, 6 insertions(+), 0 deletions(-)

commit e3668035f51081b8afbde6040a9f096bf9a4e941
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 18 20:57:15 2010 +0200

    build: Remove redundant test_case assignment in utils/

 utils/Makefile.am |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 0e8a57c3af2d017b290af9b553c58300b464c96f
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Jun 15 20:25:47 2010 +0200

    German dpkg translation update
    
    Update to 984t.

 debian/changelog |    1 +
 po/de.po         | 1399 +++++++++++++++++++++++++++++-------------------------
 2 files changed, 741 insertions(+), 659 deletions(-)

commit 6f398047c2fd6b04e4f1ff8dea5530a3bec4a2db
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Jun 14 23:08:10 2010 +0200

    Fix ”make distcheck“ errors
    
    Reflect the rewrite of update-alternatives in commit
    cab5af04fadcd939a7becd5fcb25dcfb7bc121dd and the addition of
    scripts/t/origin in commit 2d4fd627d4286dc42006fb486040209d4e021b9f.

 po/POTFILES.in      |    2 +-
 scripts/Makefile.am |    6 ++++--
 utils/Makefile.am   |    7 +++++++
 3 files changed, 12 insertions(+), 3 deletions(-)

commit f05cefbba005c10b1513cfd65efc024fdc895427
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Jun 11 19:06:34 2010 +0200

    Update German translation of manual pages
    
    Update to 1925t.

 man/po/de.po |  240 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 136 insertions(+), 104 deletions(-)

commit 0d59a745b72d98fb25c02dc80f1b7de116211f19
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Jun 11 17:28:01 2010 +0200

    Update German scripts translation
    
    Update to 511t

 scripts/po/de.po |  164 +++++++++++++++++++++++++++--------------------------
 1 files changed, 84 insertions(+), 80 deletions(-)

commit 17f00407a80f7da3eef6491dc7105d992fccf98c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jun 11 09:35:30 2010 +0200

    Dpkg::Source::Patch: capture output of patch and print it on error
    
    patch is now run without its -s flag and thus outputs the usual messages
    about which file it's patching and gives more verbose error messages.
    Those messages are captured and only displayed to the user when the
    patch application failed.

 debian/changelog                        |    2 ++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    4 ++--
 scripts/Dpkg/Source/Patch.pm            |   12 +++++++++++-
 3 files changed, 15 insertions(+), 3 deletions(-)

commit f86ff41434db0a663179cce1703dd1bc2269d094
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jun 10 20:28:16 2010 +0200

    dpkg-source: new option --abort-on-upstream-changes
    
    This option can be used with source formats 1.0, 2.0 and 3.0 (quilt). It
    aborts every time that you try to build a source package which
    contains (unmanaged) changes to the upstream source code.

 debian/changelog                  |    4 ++++
 man/dpkg-source.1                 |   14 ++++++++++++++
 scripts/Dpkg/Source/Package/V1.pm |    6 ++++++
 scripts/Dpkg/Source/Package/V2.pm |    8 ++++++++
 scripts/dpkg-source.pl            |    2 +-
 5 files changed, 33 insertions(+), 1 deletions(-)

commit 9eac8e3c4360c2f57f86336e2ec947e39d760ac1
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jun 10 20:29:39 2010 +0200

    Update German translation of manual pages
    
    Update to 1922t.

 man/po/de.po |  153 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 89 insertions(+), 64 deletions(-)

commit 57c6b2d74b47c0d1f8907559383a307fb484f50e
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jun 10 20:08:46 2010 +0200

    Update German scripts translation
    
    Update to 510t

 scripts/po/de.po |  142 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 74 insertions(+), 68 deletions(-)

commit 2b204533b8a2a95ca0d3796978368f9fd3d82b9c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jun 10 16:20:41 2010 +0200

    dpkg-source: new --unapply-patches option
    
    This option is used by source formats 2.0 and 3.0 (quilt) to unapply
    patches after a successful build. It's useful for people who manage their
    packages in a VCS repository and prefer to have patches unapplied, even
    after a package build.
    
    Given that this option is a matter of personal taste, do not allow it
    in debian/source/options so that the resulting source package cannot
    have this behaviour by default and so that all source packages behave
    in a consistent way: patches applied by default is a major feature
    of the new formats.

 debian/changelog                        |    4 ++++
 man/dpkg-source.1                       |    9 +++++++++
 scripts/Dpkg/Source/Package/V2.pm       |   27 +++++++++++++++++++++++++++
 scripts/Dpkg/Source/Package/V3/quilt.pm |   23 +++++++++++++++++++++++
 scripts/dpkg-source.pl                  |   14 ++++++++++----
 5 files changed, 73 insertions(+), 4 deletions(-)

commit 9278ba135233d63d7f0869cbd6ea8df0800987f3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jun 10 17:08:38 2010 +0200

    Dpkg::Conf: add new filter method
    
    This method can be used to select a subset of options either
    by exclusion or by inclusion.

 scripts/Dpkg/Conf.pm |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

commit cab5af04fadcd939a7becd5fcb25dcfb7bc121dd
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Feb 18 19:40:51 2010 +0100

    update-alternatives: rewritten in C
    
    update-alternative has been rewritten as a mostly standalone C program.
    It has thus been moved to utils/ instead of scripts/ together with its
    README and its test suite.
    
    This rewrite is based on some initial conversion work done by Guillem
    Jover <guillem@debian.org>.
    
    The program now logs to /var/log/alternatives.log instead of dpkg.log.
    The logrotate file has been updated to deal with that file too.

 debian/changelog                                   |    3 +
 debian/dpkg.logrotate                              |    9 +
 scripts/.gitignore                                 |    1 -
 scripts/Makefile.am                                |   12 -
 scripts/update-alternatives.pl                     | 1139 ---------
 utils/.gitignore                                   |    2 +
 utils/Makefile.am                                  |   40 +
 {scripts => utils}/README.alternatives             |    0
 .../t/100_update_alternatives.t                    |   39 +-
 utils/update-alternatives.c                        | 2441 ++++++++++++++++++++
 10 files changed, 2521 insertions(+), 1165 deletions(-)

commit a9bdb8f80f6c9aabfe63032940b523ec0513698d
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Jun 8 18:55:12 2010 +0200

    Update German translation of manual pages
    
    Update to 1920t.

 man/po/de.po |  347 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 222 insertions(+), 125 deletions(-)

commit fb39a80932a61736f0ee6e9416c38817817a3952
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jun 7 22:20:44 2010 +0200

    dpkg-shlibdeps(1): fix typo libssl.so.9.8 -> libssl.so.0.9.8
    
    Also fix it in translations to avoid fuzzy strings.

 man/dpkg-shlibdeps.1 |    2 +-
 man/po/de.po         |    4 ++--
 man/po/es.po         |    4 ++--
 man/po/fr.po         |    4 ++--
 man/po/hu.po         |    2 +-
 man/po/ja.po         |    2 +-
 man/po/pl.po         |    4 ++--
 man/po/pt_BR.po      |    2 +-
 man/po/ru.po         |    2 +-
 man/po/sv.po         |    2 +-
 10 files changed, 14 insertions(+), 14 deletions(-)

commit 4694cd64089bc72975d8ba6fbe51339023eb2e8c
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 12:41:28 2010 +0200

    dpkg: Add two new dpkg options --path-exclude and --path-include
    
    This provides support for filtering paths on package installation. This
    allows embedded systems to skip /usr/share/doc, manpages, etc.
    
    dpkg does not lose track of excluded paths during filtering, and they
    get checked for file conflicts as usual, so filters are not a way to
    avoid file conflict situations.
    
    Closes: #68788, #68861, #497304, #525567, #583902
    
    Based-on-patch-by: Tollef Fog Heen <tfheen@err.no>
    Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    4 ++
 man/dpkg.1       |   37 +++++++++++++++-
 src/Makefile.am  |    1 +
 src/archives.c   |    8 +++
 src/filters.c    |  128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/filters.h    |   37 ++++++++++++++++
 src/main.c       |   15 ++++++-
 7 files changed, 228 insertions(+), 2 deletions(-)

commit 0969a91ef9e645700556947b3a2afd2237e4a26a
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 7 03:48:49 2010 +0200

    libdpkg: Remove second va_copy in varbufvprintf
    
    We can directly use args in the second vsnprintf as we are about to
    return.

 lib/dpkg/varbuf.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

commit 97bc3081d2f0d1c82f7b783ced2cca42f4621984
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 7 03:45:36 2010 +0200

    Unify naming of va_list variables to args or args_copy

 lib/compat/snprintf.c  |    8 +++---
 lib/compat/vsnprintf.c |    4 +-
 lib/dpkg/buffer.c      |    8 +++---
 lib/dpkg/command.c     |   20 +++++++++---------
 lib/dpkg/command.h     |    2 +-
 lib/dpkg/compress.c    |   24 ++++++++++----------
 lib/dpkg/dpkg.h        |    3 +-
 lib/dpkg/ehandle.c     |   53 ++++++++++++++++++++++++++---------------------
 lib/dpkg/log.c         |   16 +++++++-------
 lib/dpkg/myopt.c       |   16 +++++++-------
 lib/dpkg/parsehelp.c   |   14 ++++++------
 lib/dpkg/varbuf.c      |   26 ++++++++++++----------
 m4/dpkg-funcs.m4       |    8 +++---
 src/errors.c           |   11 +++++----
 src/help.c             |   37 +++++++++++++++++----------------
 15 files changed, 130 insertions(+), 120 deletions(-)

commit 36ed6fe6eb76110aceae51c4ef40c14df7027924
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 7 02:24:38 2010 +0200

    build: Enable additional warnings by default
    
    The set of default warnings is quite safe, and should point out real
    problems or stylistic ones. It's easy to forget, so let's enable them by
    default. This will also not interfere with user settings as those will
    override the defaults.

 m4/dpkg-compiler.m4 |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

commit a484f009a05f8a43a76e644e1ce97e1c2d1543b7
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 7 01:31:45 2010 +0200

    build: Allow changing default logdir

 configure.ac |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

commit 9bc511c4a0ed86e63963616dc1f224e6d8fcb615
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 7 01:12:26 2010 +0200

    build: Change default admindir to LOCALSTATEDIR/lib/dpkg
    
    The old LOCALSTATEDIR/dpkg admindir default forced to set localstatedir
    to /var/lib, which is not correct. We can now set it to the correct /var.

 configure.ac     |    4 ++--
 debian/changelog |    2 ++
 debian/rules     |    2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

commit ab91f0385020700e65951516a835b14b7668ac9b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 6 21:08:20 2010 +0200

    libcompat: Add declarations in compat.h for snprintf functions

 lib/compat/compat.h |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 0dc899648b1e907a745dbeedc5be46b3ddaabf8d
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 6 21:06:34 2010 +0200

    libcompat: Add support for asprintf and vasprintf
    
    Provide compatibility code whenever the system does not.

 configure.ac           |    2 +-
 lib/compat/Makefile.am |    4 +++
 lib/compat/asprintf.c  |   38 ++++++++++++++++++++++++++++++
 lib/compat/compat.h    |    7 +++++
 lib/compat/vasprintf.c |   59 ++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 109 insertions(+), 1 deletions(-)

commit 85c60fecfe245b542ceea503994fef0347f2e51b
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Sat Jun 5 17:50:12 2010 +0200

    Fix quotes (grmpf)
    
    I noticed an Oops.
    opt_es:"-L ISO-8859-1"    -A utf-8       \
    it's outside quotes. Doesn't throw any error, just doesn't do its job.

 man/po/po4a.cfg |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4a9722f5a066d4bffa58fd626470c21ddde7111c
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Sat Jun 5 17:16:48 2010 +0200

    Fix enconding of addendum
    
    There is a problem with the addendum output, which does show wrong
    characters.  I don't know if that problem was there before (broken
    addenda are usual). I set opt_es:"-L ISO-8859-1 -A utf-8" to make it
    work. Sometimes I go crazy with encodings (the terminal, vim, etc)

 man/po/po4a.cfg |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 40489dcdae74ee7cc18bea1010df40354690fe39
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Sat Jun 5 17:13:04 2010 +0200

    Revert 9434cb7d5e91718888489f8c08bfce7b768a7f1d
    
    No need for that and it messes stuff. That refers to the localized document
    charset, not the po.

 man/po/po4a.cfg |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9434cb7d5e91718888489f8c08bfce7b768a7f1d
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Sat Jun 5 14:50:12 2010 +0200

    Update Spanish translation of manual pages
    
    Update to 1910t.

 debian/changelog |    1 +
 man/po/es.add    |    4 +-
 man/po/es.po     |10005 +++++++++++++++++++++++++++---------------------------
 man/po/po4a.cfg  |    2 +-
 4 files changed, 5037 insertions(+), 4975 deletions(-)

commit eef3b6eb7dbe749a747f2a609d16d4e90ff802be
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jun 2 23:01:13 2010 +0200

    dpkg-gensymbols: fix handling of tags
    
    A bad check resulted in some tags being considered different when they
    were really equal.
    
    Reported-by: Michael Tautschnig <mt@debian.org>

 debian/changelog              |    2 ++
 scripts/Dpkg/Shlibs/Symbol.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 7983e949f7a627db3951f3f1068bdf86c671f348
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jun 2 01:56:04 2010 +0200

    dpkg: Refactor file list removal into new remove_file_from_list function
    
    This detangles the two independent actions, removing from the list and
    skiping the file from the tarball.

 src/archives.c |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

commit c9fd580a2e32608172c8a86d00a8dfc7713f8178
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 24 20:16:34 2010 +0100

    Refactor glob functions into its own module

 src/Makefile.am |    1 +
 src/glob.c      |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/glob.h      |   38 ++++++++++++++++++++++++++++++++++++++
 src/statcmd.c   |   29 +----------------------------
 4 files changed, 91 insertions(+), 28 deletions(-)

commit 77daf2187b0a0c44cf40b93a3886ddcd00a8190d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 1 04:29:25 2010 +0200

    build: Do not fallback to use chown instead of lchown if not available
    
    When creating symlinks on extraction, dpkg needs to set its owner, if
    we fallback to use chown in place of lchown we might get to a situation
    where the dereferenced symlink does not yet exist, which would cause an
    unwanted error.
    
    On some older and buggy systems, chown does not actually dereference
    symlinks, so it could be safely used although it would need to be
    detected at runtime, as the kernel could be switched under our feet,
    but given that lchown is already specified by UNIX98, there's not much
    sense in not assuming it's present and working at this point in time.

 configure.ac        |    2 +-
 lib/compat/compat.h |    4 ----
 2 files changed, 1 insertions(+), 5 deletions(-)

commit 20652a829be8e81bc8858fdeac262de7801ef141
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 1 03:40:01 2010 +0200

    build: Use DPKG_CHECK_DECL instead of DPKG_CHECK_DEFINE for TIOCNOTTY
    
    DPKG_CHECK_DEFINE defines the HAVE_symbol to 1 if found, and to 0
    otherwise. But the only current user is doing “#ifdef TIOCNOTTY”, which
    defeats the test as it's always going to be true, regardless of the
    value. Switch to the simplified DPKG_CHECK_DECL, which does not define
    the symbol if not found, and remove now unused DPKG_CHECK_DEFINE.

 configure.ac     |    2 +-
 m4/dpkg-types.m4 |   16 ----------------
 2 files changed, 1 insertions(+), 17 deletions(-)

commit 3706d6214a86593e72bc9514f08f3c4e0fd0a92c
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 1 02:53:52 2010 +0200

    s-s-d: Fix abort when opening /dev/tty with --background
    
    Commit 2e2cab1228a6efdee57d165c508c2e05c8520f43, introducing error
    checks, revealed that the TIOCNOTTY ioctl() was being issued after
    having called setsid(), which already detaches the current controlling
    tty, making the subsequent detach fail, and s-s-d abort.
    
    TIOCNOTTY should only be used if setsid() is not available. In addition,
    if open("/dev/tty") fails, that means there's no controlling tty, so we
    should skip detaching it.
    
    This problem got introduced in 3d6f3a9e54c437d62c58eaab4eeb9f02eb9059e6,
    when enabling setsid() as a replacement for setpgid(), but not disabling
    TIOCNOTTY.
    
    Reported-by: Raphaël Hertzog <hertzog@debian.org>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 utils/start-stop-daemon.c |   37 +++++++++++++++++++++++--------------
 1 files changed, 23 insertions(+), 14 deletions(-)

commit e844672595246c81f4a8e45ca842dc6aa3a4dbc8
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 26 02:37:42 2010 +0200

    build: Only use mmap in parser if explicitly requested
    
    The current mmap code is not reliable, as it does not handle SIGBUS,
    which can happen on I/O errors (among others). Switch the code to
    check for USE_MMAP instead of HAVE_MMAP so that it can be explicitly
    enabled on build, to produce consistent results by making sure it does
    not get reactivated accidentally. Disable it by default due to the
    above, in addition to not having been used by released tarballs since
    1.14.15.

 configure.ac     |    2 ++
 lib/dpkg/parse.c |    6 +++---
 m4/dpkg-funcs.m4 |   16 ++++++++++++++++
 3 files changed, 21 insertions(+), 3 deletions(-)

commit e1ce8e5e0027333a0f3071b9d8bd81b53cbb1011
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 20 04:16:55 2010 +0200

    dpkg: Reduce scope of variables in audit()

 src/enquiry.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 972aba5d253e3848d471f635bbb574fadf50b825
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue May 25 15:37:45 2010 +0200

    Update German translation of manual pages
    
    Update to 1910t.

 man/po/de.po |   91 ++++++++++++---------------------------------------------
 1 files changed, 19 insertions(+), 72 deletions(-)

commit 85b61adabf75f11e519df869e7357ac9f11c8de2
Author: Bill Allombert <ballombe@debian.org>
Date:   Tue May 25 01:30:29 2010 +0200

    libdpkg: in parsedb() finish the rename of stat -> st
    
    This was forgotten in commit 5cf023f2d5bf609b6aba20aa5b5e285a91fbbbce.

 lib/dpkg/parse.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d6b4474a007188c4e3aa7da8029e780006600eff
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 24 21:05:00 2010 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |  153 ++--
 dselect/po/ca.po        |  168 ++--
 dselect/po/cs.po        |  153 ++--
 dselect/po/da.po        |  153 ++--
 dselect/po/de.po        |  166 ++--
 dselect/po/dselect.pot  |  155 ++--
 dselect/po/el.po        |  153 ++--
 dselect/po/es.po        |  153 ++--
 dselect/po/et.po        |  153 ++--
 dselect/po/eu.po        |  153 ++--
 dselect/po/fr.po        |  170 ++--
 dselect/po/gl.po        |  153 ++--
 dselect/po/hu.po        |  153 ++--
 dselect/po/id.po        |  153 ++--
 dselect/po/it.po        |  157 ++--
 dselect/po/ja.po        |  153 ++--
 dselect/po/ko.po        |  153 ++--
 dselect/po/nb.po        |  175 ++--
 dselect/po/nl.po        |  153 ++--
 dselect/po/nn.po        |  163 ++--
 dselect/po/pl.po        |  157 ++--
 dselect/po/pt.po        |  153 ++--
 dselect/po/pt_BR.po     |  153 ++--
 dselect/po/ro.po        |  157 ++--
 dselect/po/ru.po        |  157 ++--
 dselect/po/sk.po        |  153 ++--
 dselect/po/sv.po        |  153 ++--
 dselect/po/tl.po        |  153 ++--
 dselect/po/vi.po        |  156 ++--
 dselect/po/zh_CN.po     |  153 ++--
 dselect/po/zh_TW.po     |  153 ++--
 man/po/de.po            |  160 +++-
 man/po/dpkg-man.pot     | 1796 +++++++++++++++++++----------------
 man/po/es.po            | 1937 +++++++++++++++++++++------------------
 man/po/fr.po            | 2198 ++++++++++++++++++++++++--------------------
 man/po/hu.po            | 1916 ++++++++++++++++++++------------------
 man/po/ja.po            | 1954 +++++++++++++++++++++------------------
 man/po/pl.po            | 1992 ++++++++++++++++++++++------------------
 man/po/pt_BR.po         | 1918 ++++++++++++++++++++------------------
 man/po/ru.po            | 1916 ++++++++++++++++++++------------------
 man/po/sv.po            | 2389 ++++++++++++++++++++++++++---------------------
 po/ast.po               |  790 +++++++++-------
 po/bs.po                |  624 +++++++------
 po/ca.po                |  860 ++++++++++--------
 po/cs.po                |  796 +++++++++-------
 po/da.po                |  760 ++++++++-------
 po/de.po                |  679 ++++++++------
 po/dpkg.pot             |  626 +++++++------
 po/dz.po                |  757 ++++++++-------
 po/el.po                |  826 +++++++++-------
 po/eo.po                |  637 ++++++++------
 po/es.po                |  809 +++++++++-------
 po/et.po                |  636 ++++++++------
 po/eu.po                |  638 ++++++++------
 po/fr.po                |  877 ++++++++++--------
 po/gl.po                |  801 +++++++++-------
 po/hu.po                |  644 ++++++++------
 po/id.po                |  642 ++++++++------
 po/it.po                |  661 ++++++++------
 po/ja.po                |  791 +++++++++-------
 po/km.po                |  734 ++++++++-------
 po/ko.po                |  784 +++++++++-------
 po/ku.po                |  624 +++++++------
 po/lt.po                |  625 +++++++------
 po/mr.po                |  750 ++++++++-------
 po/nb.po                |  812 +++++++++-------
 po/ne.po                |  746 ++++++++-------
 po/nl.po                |  771 ++++++++-------
 po/nn.po                |  675 ++++++++------
 po/pa.po                |  750 ++++++++-------
 po/pl.po                |  645 ++++++++------
 po/pt.po                |  807 +++++++++-------
 po/pt_BR.po             |  802 +++++++++-------
 po/ro.po                |  834 +++++++++--------
 po/ru.po                |  646 ++++++++------
 po/sk.po                |  786 +++++++++-------
 po/sv.po                |  785 +++++++++-------
 po/th.po                |  776 +++++++++-------
 po/tl.po                |  642 ++++++++------
 po/vi.po                |  913 ++++++++++--------
 po/zh_CN.po             |  788 +++++++++-------
 po/zh_TW.po             |  774 +++++++++-------
 scripts/po/ca.po        |  256 +++---
 scripts/po/de.po        |   94 +-
 scripts/po/dpkg-dev.pot |  260 +++---
 scripts/po/fr.po        |  392 +++++----
 scripts/po/pl.po        |  274 +++---
 scripts/po/ru.po        |  283 +++---
 scripts/po/sv.po        |  289 +++---
 89 files changed, 30367 insertions(+), 24821 deletions(-)

commit a44861007be95639148689aab508b339356cc071
Author: Omar Campagne <ocampagne@gmail.com>
Date:   Mon May 24 20:56:32 2010 +0200

    Fix typos in multiple manual pages

 man/dpkg-gensymbols.1   |    2 +-
 man/dpkg-scanpackages.1 |    4 ++--
 man/dpkg.1              |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

commit 174ea65d4c48c894662579465118b93fa7799271
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 24 19:00:16 2010 +0200

    dpkg-maintscript-helper: make <lastversion> optional in rm_conffile and mv_conffile
    
    Enhance dpkg-maintscript-helper rm_conffile and mv_conffile to work
    properly when <lastversion> is not given (or is empty). This should
    try the operation on every upgrade but do something only when the file to
    act upon really exists.
    
    Document this behaviour.

 debian/changelog                   |    2 ++
 man/dpkg-maintscript-helper.1      |   24 ++++++++++++++----------
 scripts/dpkg-maintscript-helper.sh |   36 +++++++++++++++++++++++++-----------
 3 files changed, 41 insertions(+), 21 deletions(-)

commit 9b027d8e4e9e6ba00f69c52180bfa643eaa61b67
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 24 17:15:15 2010 +0200

    dpkg-maintscript-helper: fix function called by mv_conffile in postrm
    
    Simple copy-paste error, it worked despite the mistake due to the similarity of
    abort_mv_conffile and abort_rm_conffile.

 scripts/dpkg-maintscript-helper.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bdb1192d752a744e08624766f0fa55a22ff37e2b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 24 17:01:20 2010 +0200

    dpkg-maintscript-helper: clarify meaning of lastversion for rm_conffile
    
    Clarify that dpkg-maintscript-helper rm_conffile needs the last version of
    the package that did not remove the obsolete conffile if this was not
    implemented at the time the file became obsolete.

 debian/changelog              |    3 +++
 man/dpkg-maintscript-helper.1 |    4 +++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit a0b267ec591f1b00156b17f9ceb9a85a24ff5431
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 24 15:56:57 2010 +0200

    dpkg-maintscript-helper: handle missing parameters properly

 debian/changelog                   |    2 ++
 scripts/dpkg-maintscript-helper.sh |   12 ++++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

commit 7106a2d148ace7ea1e786e41e11f84081b47fec8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri May 21 18:00:01 2010 +0200

    dpkg-buildpackage: use Dpkg::Path::find_command instead of custom testcommand

 scripts/dpkg-buildpackage.pl |   15 ++++-----------
 1 files changed, 4 insertions(+), 11 deletions(-)

commit 452eb2fba819c22764ab12c850deeeb0d3ca8d9a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri May 21 16:30:51 2010 +0200

    Dpkg::Shlibs::Objdump: use the cross objdump when cross compiling
    
    When <cross-prefix>-objdump is available and when we're cross-compiling
    let's use the cross objdump in preference over the standard objdump.
    
    Based-on-patch-by: Loïc Minier <lool@debian.org>

 debian/changelog               |    2 ++
 scripts/Dpkg/Shlibs/Objdump.pm |   28 +++++++++++++++++++---------
 2 files changed, 21 insertions(+), 9 deletions(-)

commit 12c8bc2c1db85fb6cf23200b66798e2fd80ce219
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri May 21 16:08:01 2010 +0200

    Dpkg::Path: new function find_command() that finds a command on the PATH

 scripts/Dpkg/Path.pm |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

commit 0d8ca10504eadc3ed130645edfec67f9ab635e63
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri May 21 10:55:34 2010 +0200

    Update German translation of manual pages
    
    Update to 1910t.

 man/po/de.po |  523 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 284 insertions(+), 239 deletions(-)

commit 912eeea3fc61ec15554e93651b897ba811a56bea
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri May 21 10:35:43 2010 +0200

    Update German scripts translation
    
    Update to 510t

 scripts/po/de.po |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

commit db0b70bc26ec6f81242e4c34ae30cae81af8d3d1
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Thu May 20 15:38:41 2010 +0100

    lib/dpkg/test/t-ar.c: fix buffer overflow in ar test
    
    t-ar overflows arh.ar_name by two bytes: one because the string it uses
    is 17 bytes long rather than 16, and one because it uses strcpy which
    writes a trailing \0.  When compiling with -D_FORTIFY_SOURCE=2, as
    Ubuntu does by default, this crashes.  Fix the string length and stop
    null-terminating it.

 debian/changelog     |    3 +++
 lib/dpkg/test/t-ar.c |    4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

commit c298a638f9dab87d59a94e4397266c701457047c
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Thu May 20 16:39:12 2010 +0100

    dpkg(1): clarify scope of --configure
    
    Robert Persson pointed out in
    https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/77287 that
    describing --configure as "Reconfigure an unpacked package" is simply
    wrong.  This patch clarifies its behaviour, and adds a helpful pointer
    to dpkg-reconfigure(8) (there's already one in the SEE ALSO section) for
    those who really want that instead.

 debian/changelog |    3 +++
 man/dpkg.1       |   10 +++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

commit 395c8a0acc90c8df10eb2de0b7d6db13f64ffb8a
Author: Ian Fleming <iflema@yahoo.com.au>
Date:   Thu May 20 16:16:04 2010 +0100

    dpkg-architecture(1): Fix typos
    
    DEB_HOST_ARCH_BITS was listed as DEB_BUILD_ARCH_BITS;
    DEB_HOST_ARCH_ENDIAN was listed as DEB_BUILD_ARCH_ENDIAN.  In the
    process, adjust the ordering to match dpkg-architecture's output.
    Originally reported as
    https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/564308.

 debian/changelog        |    3 +++
 man/dpkg-architecture.1 |   14 +++++++-------
 2 files changed, 10 insertions(+), 7 deletions(-)

commit ff75458da0141bb08a5e928037d3e78d3e3382d7
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Thu May 20 14:18:14 2010 +0100

    Dpkg::Vendor::Ubuntu: Handle hardening in DEB_BUILD_OPTIONS
    
    Handle hardening-wrapper options via DEB_BUILD_OPTIONS.  Originally
    contributed by Kees Cook.  This is Ubuntu-specific for now, pending
    agreement on a better interface; see #489771 for background.

 scripts/Dpkg/Vendor/Ubuntu.pm |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

commit a69db9e0fb18fe30b5c7910047cacee555345fde
Author: Colin Watson <cjwatson@debian.org>
Date:   Thu May 20 14:17:39 2010 +0100

    dpkg-buildpackage: Export all build flags
    
    Export all flags set in Dpkg::BuildFlags to the environment, so that
    vendors can usefully define additional variables.

 scripts/dpkg-buildpackage.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6ed8497c2e3833de826786fe1ab0e052f2a335b6
Author: Colin Watson <cjwatson@debian.org>
Date:   Thu May 20 14:17:19 2010 +0100

    Dpkg::BuildFlags: simplify update-buildflags hook
    
    Pass the entire Dpkg::BuildFlags object to update-buildflags, so that
    hooks can use its set() method rather than setting hash elements
    directly.

 scripts/Dpkg/BuildFlags.pm     |    2 +-
 scripts/Dpkg/Vendor/Default.pm |    8 ++++----
 scripts/Dpkg/Vendor/Ubuntu.pm  |    3 +--
 3 files changed, 6 insertions(+), 7 deletions(-)

commit 2d4fd627d4286dc42006fb486040209d4e021b9f
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Thu May 20 13:49:06 2010 +0100

    Add tests for Ubuntu changelog parsing
    
    Ubuntu's changelog parsing is nearly identical to Debian's, but may emit
    an additional Launchpad-Bugs-Fixed header. Test that changelogs
    matching the appropriate regex are parsed correctly both for Debian and
    Ubuntu.
    
    To do this, we take copies of the standard origin files and add an
    internal mechanism allowing Dpkg::Vendor to be pointed at them; and we
    run 600_Dpkg_Changelog.t a second time with DEB_VENDOR set, to avoid
    duplicating lots of code. See the discussion in #536066 for background.

 debian/changelog                      |    2 ++
 scripts/Dpkg/Vendor.pm                |    5 ++++-
 scripts/Makefile.am                   |    2 ++
 scripts/t/600_Dpkg_Changelog.t        |   18 +++++++++++++++---
 scripts/t/600_Dpkg_Changelog/fields   |    2 ++
 scripts/t/600_Dpkg_Changelog_Ubuntu.t |   21 +++++++++++++++++++++
 scripts/t/origins/debian              |    3 +++
 scripts/t/origins/default             |    1 +
 scripts/t/origins/ubuntu              |    4 ++++
 9 files changed, 54 insertions(+), 4 deletions(-)

commit d02ed9451e83309dcc795370661c910e0bd75e8e
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu May 20 12:05:44 2010 +0200

    Update German translation of manual pages
    
    Update to 1901t0f6u.

 man/po/de.po | 4860 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 2478 insertions(+), 2382 deletions(-)

commit baf331a73bfeb229f9717233c47a3cff6282f2d7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu May 20 11:38:55 2010 +0200

    Update German scripts translation
    
    Update to 508t

 scripts/po/de.po |  254 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 136 insertions(+), 118 deletions(-)

commit 5e9ddfc44109464cd0deefd69eb7375a66ed03d3
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Thu May 20 00:54:08 2010 -0500

    dpkg-source: do not ensure prerequisites are met for --before-build/--after-build
    
    It is perfectly reasonable to use the before_build and after_build
    hooks in situations where the source package is missing.
    
    Without this change, attempts to build a package of format 3.0 (quilt)
    with the upstream tarball missing result in errors.
    
     $ dpkg-buildpackage -b
     [...]
      dpkg-source -I -i --before-build csound
     dpkg-buildpackage: host architecture i386
     dpkg-source: error: can't build with source format '3.0 (quilt)': no orig.tar file found
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/dpkg-source.pl |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

commit e6f6bb08f15b507ba1ae34ad274e6db76f13614d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed May 19 22:12:20 2010 +0200

    libdpkg: update w_booleandefno() to cope with the changed type of booleans
    
    Boolean fields are now stored in "bool" variables and no longer in integers.
    The former is 1-byte long and doesn't match the length of an int, so the
    cast done in PKGPFIELD was reading too much data after the offset where
    the boolean field is stored.
    
    This update was missed in commit 7eb30624a0b7955924bafd9466d226f70e5cf48f.

 lib/dpkg/dump.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 19014dddde0eb86721bc656c801600f612d5c7c2
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 05:57:45 2010 +0200

    dselect: Fix variable usage after delete when using --debug

 debian/changelog      |    1 +
 dselect/pkgsublist.cc |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 5abafe0fe645fc2fed5c7e36ebb5fdc2e059cdb4
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 06:05:01 2010 +0200

    dselect: Fix memory leak on inexistent method directory

 dselect/methparse.cc |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 28caaffea717f5f827972c0d6d54f1750118bd82
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 06:04:12 2010 +0200

    dpkg-deb, dpkg-split: Fix few resource leaks

 dpkg-deb/extract.c |    4 ++++
 dpkg-split/join.c  |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 4815b6041d826f605275d81206195e20bc9ced80
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 05:26:39 2010 +0200

    dpkg-deb: Reduce scope of infobuf variable in extracthalf

 dpkg-deb/extract.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit e911889c9f4004d9d43032933a90500cb655fe9c
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 05:24:31 2010 +0200

    dpkg-deb: Fix leak on non-symlink paths when building the package
    
    If it's a symlink it gets inserted into to the symlist, which gets freed
    at the end. If it's not we have to free ourselves, which was not being
    done.

 dpkg-deb/build.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit cb98e2038e195dd0ed29274738135da4b1709afb
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 05:21:47 2010 +0200

    dpkg-deb: Refactor file_info freeing into a new file_info_free function

 dpkg-deb/build.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit 51e84d96dbec856301802952d937710ccc90b2f3
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 05:59:09 2010 +0200

    dpkg-deb: Check for error on lstat

 dpkg-deb/build.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 2e2cab1228a6efdee57d165c508c2e05c8520f43
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 06:00:00 2010 +0200

    s-s-d: Check for error on open an ioctl calls

 utils/start-stop-daemon.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit b28bda38587833a486fb10566890f70269f5b48d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 18 23:14:03 2010 +0200

    build: Pass --previous to msgmerge with the new MSGMERGE_OPTIONS variable
    
    This new options got introduced in gettext 0.18, and helps significantly
    translators' work.

 dselect/po/Makevars |    2 ++
 po/Makevars         |    2 ++
 scripts/po/Makevars |    2 ++
 3 files changed, 6 insertions(+), 0 deletions(-)

commit bdc238da1b1e48b66c0f4003520c3231addc742c
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 18 21:58:24 2010 +0200

    build: Require gettext 0.18
    
    Remove embedded gettext files from the repository, now properly
    installed by autopoint for all po/ directories. Add versioned
    Build-Depends.

 configure.ac                   |    2 +-
 debian/changelog               |    6 +
 debian/control                 |    3 +-
 dselect/po/.gitignore          |    1 +
 dselect/po/Makefile.in.in      |  403 ----------------------------------------
 dselect/po/remove-potcdate.sin |   19 --
 scripts/po/.gitignore          |    1 +
 scripts/po/Makefile.in.in      |  403 ----------------------------------------
 scripts/po/remove-potcdate.sin |   19 --
 9 files changed, 11 insertions(+), 846 deletions(-)

commit 071188cbe9ede3bb7798fb12eb522fb9e5fd16d5
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 18 21:45:04 2010 +0200

    Ignore all foreign m4 files
    
    Now that the dpkg m4 files are namespaced, we can ignore all foreign
    ones safely.

 m4/.gitignore |   35 ++---------------------------------
 1 files changed, 2 insertions(+), 33 deletions(-)

commit 7eb30624a0b7955924bafd9466d226f70e5cf48f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 17 15:04:49 2010 +0200

    Use bool instead of int wherever appropriate

 dpkg-deb/extract.c        |   12 +++++++-----
 dpkg-deb/info.c           |   24 ++++++++++++++++++------
 dpkg-split/queue.c        |   26 +++++++++++++++++++-------
 dselect/basecmds.cc       |   16 ++++++++++------
 dselect/bindings.cc       |   13 +++++++++----
 dselect/bindings.h        |    5 +++--
 dselect/dselect.h         |    4 ++--
 dselect/pkgcmds.cc        |   15 +++++++++------
 dselect/pkgdepcon.cc      |   26 ++++++++++++++++----------
 dselect/pkglist.cc        |   28 +++++++++++++++++-----------
 dselect/pkglist.h         |   14 +++++++-------
 dselect/pkgsublist.cc     |   18 ++++++++++++------
 lib/dpkg/database.c       |    8 ++++----
 lib/dpkg/dpkg-db.h        |   14 +++++++-------
 lib/dpkg/dump.c           |    4 +++-
 lib/dpkg/fields.c         |    6 +++---
 lib/dpkg/nfmalloc.c       |    6 +++---
 lib/dpkg/parse.c          |    3 ++-
 lib/dpkg/parsehelp.c      |    8 +++++---
 lib/dpkg/pkg-format.c     |   10 +++++-----
 lib/dpkg/progress.h       |    4 +++-
 lib/dpkg/triglib.c        |   24 ++++++++++++------------
 lib/dpkg/triglib.h        |    8 ++++----
 src/archives.c            |   19 +++++++++++--------
 src/depcon.c              |    6 +++---
 src/enquiry.c             |   10 +++++-----
 src/errors.c              |    2 +-
 src/filesdb.c             |   22 +++++++++++++---------
 src/filesdb.h             |    3 ++-
 src/main.c                |    9 +++++----
 src/main.h                |    9 +++++----
 src/processarc.c          |   10 +++++-----
 src/query.c               |    9 +++++----
 src/remove.c              |   19 ++++++++++++-------
 src/trigcmd.c             |    4 ++--
 src/trigproc.c            |    6 +++---
 utils/start-stop-daemon.c |    9 +++++----
 37 files changed, 257 insertions(+), 176 deletions(-)

commit 07adb5686f5fec694e6bfea82b8b5ad2fcdf416c
Merge: 510cad0 24f375f
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 08:25:44 2010 +0200

    Merge branch 'sid' (through tag '1.15.7.1')
    
    Conflicts:
    	debian/changelog

commit 24f375fd275e29209d94fcd3f2485443d71428e5
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 06:31:31 2010 +0200

    Release 1.15.7.2

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit dee300ba2de69bf10a5e828217e873e83db36a77
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 06:37:25 2010 +0200

    Ignore files for all autopoint managed po directories
    
    Starting with autopoint 0.18, it's able to find all po directories, and
    install missing templates. Ignore those newly appeared files.

 dselect/po/.gitignore |    4 ++++
 scripts/po/.gitignore |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

commit 0909b6369eb0bd37ca815a138ab0f957af92eb03
Author: Guillem Jover <guillem@debian.org>
Date:   Wed May 19 07:55:27 2010 +0200

    Revert "Update Swedish translation by running msgmerge with master branch."
    
    This reverts commit e99605b5b21574e57be6e3138cba0da9034c626e.
    
    Translations should not be comitted to the sid branch, otherwise it
    causes major conflicts when merging it into master, when the same change
    has been committed there.

 debian/changelog |    9 -
 man/po/sv.po     |  464 ++++++++++++++++++++++--------------------------------
 po/sv.po         |   18 +-
 scripts/po/sv.po |   52 +++----
 4 files changed, 222 insertions(+), 321 deletions(-)

commit e99605b5b21574e57be6e3138cba0da9034c626e
Author: Peter Krefting <peter@softwolves.pp.se>
Date:   Mon May 17 21:07:21 2010 +0100

    Update Swedish translation by running msgmerge with master branch.
    
    man/po/sv.po: 1893t1f0u.
    po/sv.po: 968t0f0u.
    scripts/po/sv.po: 507t0f0u.

 debian/changelog |    9 +
 man/po/sv.po     |  464 ++++++++++++++++++++++++++++++++----------------------
 po/sv.po         |   18 +-
 scripts/po/sv.po |   52 ++++---
 4 files changed, 321 insertions(+), 222 deletions(-)

commit 510cad04bfe5bbfe4c43d96ec1d431a3f28a0e39
Author: Peter Krefting <peterk@debian.org>
Date:   Mon May 17 20:58:47 2010 +0100

    Update Swedish translation.
    
    man/po/sv.po: 1894t0f0u.
    scripts/po/sv.po: 507t0f0u.

 debian/changelog |    2 +
 man/po/sv.po     |  394 +++++++++++++++++++++++++++++++++++++-----------------
 scripts/po/sv.po |   52 ++++----
 3 files changed, 301 insertions(+), 147 deletions(-)

commit dcccf15449feea2f71f45b363929342fa3f0f593
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 17 21:30:41 2010 +0200

    Makefile.am: fix do_shell_subst to update a shell variable instead of a perl variable
    
    The copy & paste was too quick, I forgot to update the sed expression.

 scripts/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0ff43ca667f05cf299364e5b9cff8abe4e05a903
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 11 09:38:04 2010 +0200

    dpkg: On Linux use sync() instead of an fsync() per file
    
    Due to the performance degradation on ext4 file systems, as a
    workaround on Linux, we use sync() which is synchronous, before
    rename() to make sure it's truly atomic.
    
    Closes: #578635

 configure.ac     |    1 +
 debian/changelog |    2 ++
 m4/dpkg-funcs.m4 |   16 ++++++++++++++++
 src/archives.c   |    7 +++++++
 4 files changed, 26 insertions(+), 0 deletions(-)

commit 60a060e6f58e3daab648df554b249d17aba80247
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 17 18:06:36 2010 +0200

    dpkg-maintscript-helper: add "supports" command
    
    With this command a maintainer script can verify whether a given command
    is supported by dpkg-maintscript-helper before calling it. Thanks to this
    he can avoid a pre-dependency on dpkg.
    
    Also improve the error message output when the command is unknown to
    suggest upgrading dpkg as a possible way to fix the problem encountered.

 debian/changelog                   |    2 ++
 man/dpkg-maintscript-helper.1      |   19 +++++++++++++++++++
 scripts/dpkg-maintscript-helper.sh |   34 +++++++++++++++++++++++++++++++++-
 3 files changed, 54 insertions(+), 1 deletions(-)

commit 4f069c7b992becf2316fb578b64161521275e739
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 17 18:35:49 2010 +0200

    dpkg-maintscript-helper: add --version option

 scripts/dpkg-maintscript-helper.sh |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

commit aa26f83c4b1a0f85d65dc0b6a5f642c3e609c42c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 17 16:46:08 2010 +0200

    Rename /usr/lib/dpkg/maintscript-helper in /usr/bin/dpkg-maintscript-helper
    
    It is a public interface even if working around known limitations.

 debian/changelog                                   |    3 ++
 debian/dpkg.install                                |    4 +-
 man/Makefile.am                                    |    4 +-
 ...ntscript-helper.1 => dpkg-maintscript-helper.1} |   23 ++++++++-----------
 man/po/po4a.cfg                                    |   10 ++++----
 scripts/.gitignore                                 |    1 +
 scripts/Makefile.am                                |   11 +++++++-
 ...intscript-helper => dpkg-maintscript-helper.sh} |    2 +-
 8 files changed, 33 insertions(+), 25 deletions(-)

commit 85a55d82432b8e035a7175f33b6e8c27366b9983
Author: Gerfried Fuchs <rhonda@debian.at>
Date:   Mon May 17 13:56:47 2010 +0200

    dpkg-name: fix syntax error
    
    There was a missing closing bracket.
    
    Regression introduced in 716362c59e531883304a211afa61660608c214b3.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 debian/changelog     |    3 +++
 scripts/dpkg-name.pl |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 294770c805f1491d722579958c133a8319c5f8a1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri May 14 15:13:56 2010 +0200

    dpkg-buildpackage(1): drop mention of PKG_CONFIG_LIBDIR
    
    The feature has been removed in dpkg 1.15.6.

 debian/changelog        |    2 ++
 man/dpkg-buildpackage.1 |    6 ------
 2 files changed, 2 insertions(+), 6 deletions(-)

commit c0effa5a17e7c5170864ee8f9a227d0d46d4eae6
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed May 12 21:15:19 2010 +0200

    Add missing changelog entry for commit ce33efa7b93bc98635667f597c7487631af3459a

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ce33efa7b93bc98635667f597c7487631af3459a
Author: Holger Wansing <linux@wansing-online.de>
Date:   Tue May 11 20:55:27 2010 +0200

    Use impersonal messages in German dpkg scripts translation

 scripts/po/de.po |  883 +++++++++++++++++++++++++++---------------------------
 1 files changed, 440 insertions(+), 443 deletions(-)

commit 67dc78b406c1b1e62a34bbef090b280b5c900b34
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 10 18:27:02 2010 +0200

    dpkg: Fix --root by properly stripping root from maintainer script path
    
    The cmd->filename variable was getting the full path to the maintainer
    script inside the chroot, and once dpkg had changed root, the path was
    not valid anymore.
    
    Regression introduced in 5050748f1a6bb0c0728f8c07f9058d545c80d7e0.
    
    Closes: #580984

 debian/changelog |    2 ++
 src/help.c       |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit b010b55f0e4387c507b3c31ef470fe9485ce037c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon May 10 11:48:55 2010 +0200

    Update coding-style.txt to also cover the Perl code

 doc/coding-style.txt |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

commit ad555da6f1f5d9b7294dd854c21b7631dce02a7f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 8 21:45:24 2010 +0200

    dpkg-trigger(1), deb-triggers(5): update reference to triggers.txt.gz
    
    The file has been moved in dpkg-dev, fix the location.

 debian/changelog   |    2 ++
 man/deb-triggers.5 |    2 +-
 man/dpkg-trigger.1 |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

commit ffb3249344264cc9275f806e210d6b0da17a3af6
Author: Peter Krefting <peterk@debian.org>
Date:   Thu May 6 12:57:30 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 968t0f0u.

 debian/changelog |    1 +
 po/sv.po         |   18 +++++++++---------
 2 files changed, 10 insertions(+), 9 deletions(-)

commit f8e3226252398df9a813b7be343246cb855c0224
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon May 3 22:16:26 2010 +0200

    Update German translation of manual pages
    
    Update to 1898t.

 man/po/de.po |  311 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 207 insertions(+), 104 deletions(-)

commit 74b6e85448941db4e643df887ae39607d6370109
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon May 3 21:43:27 2010 +0200

    Update German scripts translation
    
    Update to 508t

 scripts/po/de.po |   67 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 36 insertions(+), 31 deletions(-)

commit 702f546b2c6d4229ad81a29024ae32fdd7c796b3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun May 2 22:06:21 2010 +0200

    deb-override(5): updated to match current situation
    
    Remove references to usage of sections to place the packages on the
    mirrors (they are all in the pool nowadays and no longer in
    dists/<codename>/<component>/binary-<arch>/<section>/). Indicate that the
    Debian policy offers a list of allowed values for section and priority.

 debian/changelog   |    4 ++++
 man/deb-override.5 |   15 ++++++---------
 2 files changed, 10 insertions(+), 9 deletions(-)

commit 9bbdfecf723a3da416e671dcbf1af9cc4b37a541
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun May 2 21:34:35 2010 +0200

    dpkg-buildpackage: add calls to dpkg-source --before-build and --after-build

 debian/changelog             |    7 +++++++
 man/dpkg-buildpackage.1      |   11 ++++++-----
 scripts/dpkg-buildpackage.pl |    9 +++++++++
 3 files changed, 22 insertions(+), 5 deletions(-)

commit 8c1fc347f7d50b64f3693ba1d7e064bf9ccbae8c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Apr 28 22:27:08 2010 +0200

    dpkg-source: implement --before-build and --after-build command
    
    Those commands are really hooks that source formats can use and that
    will be called by dpkg-buildpackage before and after the actual build.
    
    Source formats "2.0" and "3.0 (quilt)" use this hook to ensure patches
    are applied before the build.

 man/dpkg-source.1                 |   20 +++++++++++++++++++-
 scripts/Dpkg/Source/Package.pm    |    8 ++++++++
 scripts/Dpkg/Source/Package/V2.pm |    5 +++++
 scripts/dpkg-source.pl            |   22 +++++++++++++++++-----
 4 files changed, 49 insertions(+), 6 deletions(-)

commit 39c6dab89bbea9fe336f869b65e33102ba238205
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 1 17:44:28 2010 +0200

    Fix build system to correctly install translated manual pages
    
    Up to now it was only working in a directory obtained by make dist and
    not when building the debian package directly from the git repository.

 man/Makefile.am |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit bc348c88cba668935253d213620bdda8bfd5dbd2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 1 17:29:27 2010 +0200

    dpkg-shlibdeps(1): avoid triggering a lintian warning on translations
    
    Translations of the manual pages end up with "\-" instead of "-" that
    is in the original manual page and as such man is not allowed to break
    the long path name there.
    
    Avoid all the problems by using a shorter path in the example so that the
    path doesn't end up alone on its line without any possibility to adjust on
    the right.
    
    Update the translations at the same time to avoid some fuzzy strings.

 man/dpkg-shlibdeps.1 |    2 +-
 man/po/de.po         |    4 ++--
 man/po/dpkg-man.pot  |    2 +-
 man/po/fr.po         |    4 ++--
 man/po/pl.po         |    4 ++--
 man/po/sv.po         |    6 +++---
 6 files changed, 11 insertions(+), 11 deletions(-)

commit 564ea47f30cc129ae12109593744b4e9ff14cbdb
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat May 1 16:48:57 2010 +0200

    dpkg-source: add Bug-Ubuntu field in DEP-3 template
    
    The DEP-3 template is provided in the automatic header of patches in 3.0
    (quilt) source packages.

 debian/changelog                        |    3 +++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

commit fea5c2d980758c60bb13a85f18738f7e64679d77
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 30 21:03:06 2010 +0200

    dpkg-buildflags: error out when a required parameter is missing

 debian/changelog           |    2 ++
 scripts/dpkg-buildflags.pl |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

commit 5b9f353b2940de751df47036608afbe71992d622
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 30 20:56:14 2010 +0200

    Dpkg::Version: fix boolean evaluation of the object
    
    In a boolean context, the object evaluates like the version string if
    the version is valid, otherwise it evaluates like undef. Document
    this behaviour and add non-regression test to ensure it's kept.
    
    This implicitly fix dpkg-shlibdeps who relies on the boolean evaluation
    of the object to decide whether or not a minimal version specification
    is needed or not.

 debian/changelog             |    5 +++++
 scripts/Dpkg/Version.pm      |   14 +++++++++++---
 scripts/t/100_Dpkg_Version.t |    9 ++++++++-
 3 files changed, 24 insertions(+), 4 deletions(-)

commit feb5792cc9cbf482804c92db33741d0973821373
Author: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Date:   Thu Apr 29 21:47:25 2010 -0400

    Add powerpcspe to ostable and triplettable
    
    The 'powerpcspe' architecture is a binary-incompatible variant of
    PowerPC/POWER designed and supported by FreeScale and IBM. It is also
    known under the trade names "e500"/"MPC8500" and "e200"/"MPC5xx".
    
    Additional information can be found at:
      http://en.wikipedia.org/wiki/PowerPC_e500
      http://en.wikipedia.org/wiki/PowerPC_e200
    
    In particular, the 'powerpcspe' architecture lacks the classic FPU with
    dedicated FPRs found on most other PowerPC systems. It is replaced with
    a set of "SPE" instructions which perform floating-point operations on
    the integer registers.
    
    In an unfortunate choice of architecture design, the instructions used
    for the "SPE" operations overlap with those for the AltiVec unit on most
    other modern PowerPC cores.
    
    The "e500v2"-series chips have 64-bit GPRs, where the high 32-bits are
    accesible only via the special "SPE" instructions, allowing them to make
    efficient use of the "double" datatype.
    
    The relative rare "e500v1"-series chips have only 32-bit GPRs, and
    require software traps and emulation to support native "double".
    
    The "e200z3" and "e200z6" chips have no support for floating point at
    all, but with software traps and emulation are binary-compatible with
    the "e500"-series chips.
    
    The Debian port to this architecture specifically chooses to optimize
    for the higher-end chips (e500v2), as most of the others are targeted
    at automotive applications or no longer in production.
    
    The specific GNU triplet for this arch is "powerpc-linux-gnuspe". As a
    result, we end up adding an extra "ostable" entry instead of one in
    "cputable".
    
    Closes: #568123, #575158
    
    Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
    Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    6 ++++++
 ostable          |    1 +
 triplettable     |    1 +
 3 files changed, 8 insertions(+), 0 deletions(-)

commit 8958324905a2d8575d16c83969b291a0a4697176
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 29 08:19:26 2010 +0200

    deb-substvars(5): codify how variables containing multiple lines must be managed

 debian/changelog    |    2 ++
 man/deb-substvars.5 |   20 ++++++++++++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)

commit 6a606c37571a2aa25dd7d4d46d4ed45206e4dbeb
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Apr 28 22:27:08 2010 +0200

    Russian translation updates

 debian/changelog |    5 +
 dselect/po/ru.po |   34 +--
 po/ru.po         |  814 ++++++++++++++----------------------------------------
 scripts/po/ru.po |  521 +++++++++++++---------------------
 4 files changed, 417 insertions(+), 957 deletions(-)

commit 69e24133f78f34c34d690115551af5acb475a1e9
Author: Christian PERRIER <bubulle@debian.org>
Date:   Mon Apr 26 18:47:03 2010 +0200

    French translation updated to 507t

 scripts/po/fr.po |  141 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 73 insertions(+), 68 deletions(-)

commit 1d84cfe8be512b8786d81a024d3a88007f11584d
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sun Apr 25 18:49:51 2010 +0200

    Update changelog

 debian/changelog |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 84bb9c8f8fb00c0b775c2d207e8e1854ae7f6292
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sun Apr 25 11:37:40 2010 +0200

    A few more strings

 scripts/po/fr.po |  109 ++++++++++++++++++++++++++----------------------------
 1 files changed, 52 insertions(+), 57 deletions(-)

commit 5e716c4f179ac76ed821e8c2a60184940840455d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 23 19:19:37 2010 +0200

    dpkg-buildflags: respect $XDG_CONFIG_HOME and use $XDG_CONFIG_HOME/dpkg/buildflags.conf

 debian/changelog           |    7 +++++++
 man/dpkg-buildflags.1      |    5 +++--
 scripts/Dpkg/BuildFlags.pm |    3 ++-
 3 files changed, 12 insertions(+), 3 deletions(-)

commit e197a7d348447a80166d43324956b4525d6e0bd3
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Apr 23 18:46:55 2010 +0200

    Switch German man page translation to utf-8

 man/po/de.add |    8 +-
 man/po/de.po  | 4246 ++++++++++++++++++++++++++++----------------------------
 2 files changed, 2127 insertions(+), 2127 deletions(-)

commit a86c4f08b77fcc77a6da001ca29bbd28b972d601
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Apr 23 18:44:52 2010 +0200

    Update German scripts translation
    
    Update to 507t

 debian/changelog |    3 +++
 scripts/po/de.po |   19 ++++++++-----------
 2 files changed, 11 insertions(+), 11 deletions(-)

commit 1a1a6ad9301029ba88c258aee4b31a42acd75869
Merge: b3c0a52 d97034a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 22 08:17:36 2010 +0200

    Merge commit '1.15.7.1'

commit d97034aa68097c85cdf85895182614e82f24b97f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 22 08:05:39 2010 +0200

    Release 1.15.7.1

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 021de2418c134b3553befd51261d00276e826643
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 22 08:03:01 2010 +0200

    dpkg-mergechangelogs: add missing call to textdomain()

 debian/changelog                |    2 ++
 scripts/dpkg-mergechangelogs.pl |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 9eb5c777c584ad91b1dae636282f7572d12c2b36
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 22 07:56:54 2010 +0200

    dpkg-mergechangelogs: avoid using UTF-8 on translatable strings

 scripts/dpkg-mergechangelogs.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 28d116f4eadc4cf3a49b974d64df19458f6d34ac
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 22 07:54:30 2010 +0200

    dpkg-source: fix ignore regexp for source format 1.0 when -i is not used
    
    The variable is defined by default but empty and the check was wrong
    leading all files to be ignored.

 debian/changelog                  |    8 ++++++++
 scripts/Dpkg/Source/Package/V1.pm |    2 +-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit b3c0a528fe8ae4fef6ebf610f96ea458e48a9d20
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Apr 21 21:26:51 2010 +0200

    Update German translation of manual pages
    
    Update to 1894t.

 debian/changelog |    3 ++-
 man/po/de.po     |   37 ++++++++++++++++++++++++++++++++++++-
 2 files changed, 38 insertions(+), 2 deletions(-)

commit 2fd9d41f412a8299764852c4b5a0809118884490
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 21 04:42:09 2010 +0200

    Bump version to 1.15.8

 debian/changelog |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit a3a9417a081f19773e9527698e3de73e187d0542
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 21 04:06:35 2010 +0200

    Release 1.15.7

 debian/changelog |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 0a6b6eac552cd8777bda03fa8cb4339e509b9b80
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 21 04:26:33 2010 +0200

    build: Distribute maintscript-helper
    
    By default _SCRIPTS variables do not distribute the files.

 scripts/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ce35feb718b5213ea9fb49065d262ef2c0bd1d95
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 21 04:03:24 2010 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |   16 +-
 dselect/po/ca.po        |   16 +-
 dselect/po/cs.po        |   16 +-
 dselect/po/da.po        |   16 +-
 dselect/po/de.po        |   16 +-
 dselect/po/dselect.pot  |   16 +-
 dselect/po/el.po        |   16 +-
 dselect/po/es.po        |   16 +-
 dselect/po/et.po        |   16 +-
 dselect/po/eu.po        |   16 +-
 dselect/po/fr.po        |   19 +-
 dselect/po/gl.po        |   16 +-
 dselect/po/hu.po        |   16 +-
 dselect/po/id.po        |   16 +-
 dselect/po/it.po        |   16 +-
 dselect/po/ja.po        |   16 +-
 dselect/po/ko.po        |   16 +-
 dselect/po/nb.po        |   16 +-
 dselect/po/nl.po        |   16 +-
 dselect/po/nn.po        |   16 +-
 dselect/po/pl.po        |   16 +-
 dselect/po/pt.po        |   16 +-
 dselect/po/pt_BR.po     |   16 +-
 dselect/po/ro.po        |   16 +-
 dselect/po/ru.po        |   16 +-
 dselect/po/sk.po        |   16 +-
 dselect/po/sv.po        |   16 +-
 dselect/po/tl.po        |   16 +-
 dselect/po/vi.po        |   16 +-
 dselect/po/zh_CN.po     |   16 +-
 dselect/po/zh_TW.po     |   16 +-
 man/po/de.po            |  702 +++++++++-----------
 man/po/dpkg-man.pot     | 1416 ++++++++++++++++++++++++++++-----------
 man/po/es.po            | 1552 ++++++++++++++++++++++++++++++------------
 man/po/fr.po            | 1713 ++++++++++++++++++++++++++++++++++-------------
 man/po/hu.po            | 1487 ++++++++++++++++++++++++++++++-----------
 man/po/ja.po            | 1495 ++++++++++++++++++++++++++++++-----------
 man/po/pl.po            | 1701 ++++++++++++++++++++++++++++++++++-------------
 man/po/pt_BR.po         | 1484 +++++++++++++++++++++++++++++-----------
 man/po/ru.po            | 1491 ++++++++++++++++++++++++++++++-----------
 man/po/sv.po            | 1706 ++++++++++++++++++++++++++++++++++------------
 po/ast.po               |  316 +++++-----
 po/bs.po                |  310 +++++-----
 po/ca.po                |  314 +++++-----
 po/cs.po                |  314 +++++-----
 po/da.po                |  312 +++++-----
 po/de.po                |  314 +++++-----
 po/dpkg.pot             |  310 +++++-----
 po/dz.po                |  314 +++++-----
 po/el.po                |  314 +++++-----
 po/eo.po                |  314 +++++-----
 po/es.po                |  316 +++++-----
 po/et.po                |  310 +++++-----
 po/eu.po                |  312 +++++-----
 po/fr.po                |  382 ++++++-----
 po/gl.po                |  314 +++++-----
 po/hu.po                |  310 +++++-----
 po/id.po                |  314 +++++-----
 po/it.po                |  314 +++++-----
 po/ja.po                |  314 +++++-----
 po/km.po                |  312 +++++-----
 po/ko.po                |  310 +++++-----
 po/ku.po                |  310 +++++-----
 po/lt.po                |  312 +++++-----
 po/mr.po                |  314 +++++-----
 po/nb.po                |  312 +++++-----
 po/ne.po                |  314 +++++-----
 po/nl.po                |  314 +++++-----
 po/nn.po                |  312 +++++-----
 po/pa.po                |  310 +++++-----
 po/pl.po                |  312 +++++-----
 po/pt.po                |  314 +++++-----
 po/pt_BR.po             |  314 +++++-----
 po/ro.po                |  314 +++++-----
 po/ru.po                |  314 +++++-----
 po/sk.po                |  314 +++++-----
 po/sv.po                |  314 +++++-----
 po/th.po                |  310 +++++-----
 po/tl.po                |  314 +++++-----
 po/vi.po                |  314 +++++-----
 po/zh_CN.po             |  312 +++++-----
 po/zh_TW.po             |  310 +++++-----
 scripts/po/ca.po        |  404 +++++++-----
 scripts/po/de.po        | 1315 ++++++++++++++++++------------------
 scripts/po/dpkg-dev.pot |  400 +++++++-----
 scripts/po/fr.po        |  427 +++++++-----
 scripts/po/pl.po        |  426 +++++++-----
 scripts/po/ru.po        |  425 +++++++-----
 scripts/po/sv.po        |  426 +++++++-----
 89 files changed, 19455 insertions(+), 12508 deletions(-)

commit 0958a9f9b28fb818863092346bbecb584655d8aa
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 21 02:36:58 2010 +0200

    Fix installation of disappearing replaced packages in reverse order
    
    This happens when the we install first the replacing then the replaced
    package, for which the replaced package is supposed to get disappeared.
    And fixes it to disappear the correct package and not lose track of the
    ownership of the replaced files, by marking the replaced file as not
    being part of the unpacked archive.

 debian/changelog |    4 ++++
 src/archives.c   |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 418e1fc01d25ff93f6577d783184da673817295e
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 21 01:00:31 2010 +0200

    Fix versioned Replaces to not produce file overwrite errors on downgrades
    
    Change does_replace() to take an additional argument for the old
    ‘struct pkginfoperfile’, instead of hardcoding oldpigp->installed.
    Which we use by passing pkg->available when checking if the current
    package has files replaced by files from an already installed package.
    
    Closes: #568566

 debian/changelog |    2 ++
 src/archives.c   |   16 +++++++++-------
 2 files changed, 11 insertions(+), 7 deletions(-)

commit e4b16b5f5413a44622769ebfd7aafb62d86c4967
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 15 21:10:41 2010 +0200

    dpkg-gencontrol: Do not output the Package-Type field on udeb

 debian/changelog           |    1 +
 scripts/dpkg-gencontrol.pl |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit b0b59cccd2bc8ac1e0d8d157d32fd55f5cd1d04b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Apr 20 22:30:05 2010 +0200

    Update German translation of manual pages
    
    Update to 1907t0f8u.

 man/po/de.po |  224 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 182 insertions(+), 42 deletions(-)

commit 9d8b4f21e1ba75d1e18e52767d1a095bbd997d53
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Apr 20 22:17:55 2010 +0200

    Update German scripts translation
    
    Update to 508t0f1u
    
    The remaining string seems to require a conversion of the po file to
    UTF-8...

 scripts/po/de.po |   66 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 49 insertions(+), 17 deletions(-)

commit 70a1ad8cb672e6e9ef96c694d275ff040fe39ecc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Apr 19 10:52:46 2010 +0200

    dpkg-mergechangelogs: add non-regression tests

 scripts/Makefile.am                               |   12 ++-
 scripts/t/910_merge_changelogs.t                  |   58 +++++++++
 scripts/t/910_merge_changelogs/ch-a               |   92 ++++++++++++++
 scripts/t/910_merge_changelogs/ch-b               |   87 +++++++++++++
 scripts/t/910_merge_changelogs/ch-merged          |  113 +++++++++++++++++
 scripts/t/910_merge_changelogs/ch-merged-basic    |  136 ++++++++++++++++++++
 scripts/t/910_merge_changelogs/ch-merged-pr       |  106 ++++++++++++++++
 scripts/t/910_merge_changelogs/ch-merged-pr-basic |  138 +++++++++++++++++++++
 scripts/t/910_merge_changelogs/ch-old             |   85 +++++++++++++
 9 files changed, 825 insertions(+), 2 deletions(-)

commit 9b98847665d8bdd0bae3c57f289f0e549e9baac4
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 18 12:08:06 2010 +0200

    dpkg-mergechangelogs: new script doing 3-way merge of Debian changelogs

 debian/changelog                |    3 +
 debian/control                  |    2 +-
 debian/dpkg-dev.install         |    2 +
 man/Makefile.am                 |    1 +
 man/dpkg-mergechangelogs.1      |   71 ++++++++++
 man/po/po4a.cfg                 |    5 +
 scripts/.gitignore              |    1 +
 scripts/Makefile.am             |    2 +
 scripts/dpkg-mergechangelogs.pl |  289 +++++++++++++++++++++++++++++++++++++++
 scripts/po/POTFILES.in          |    1 +
 10 files changed, 376 insertions(+), 1 deletions(-)

commit 6d70417edc8da934a14b8ada2eb3f3cffe69ae3b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 18 12:23:09 2010 +0200

    Move maintscript-helper from lib/ to scripts/
    
    The lib/ location was in order when the feature was proposed as a shell
    library, now given it's a shell script it should be in scripts/ with
    all the other scripts.

 lib/Makefile.am                     |    2 --
 scripts/Makefile.am                 |    2 ++
 {lib => scripts}/maintscript-helper |    0
 3 files changed, 2 insertions(+), 2 deletions(-)

commit db987b8486f77489e4e78bdd4eb6f5e6283635e2
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Apr 18 10:42:29 2010 +0200

    Fix typo: s/ugrade/upgrade/

 man/maintscript-helper.1 |    2 +-
 man/po/de.po             |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit c40de20e30792485002864fceac286ae122e6082
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Apr 18 10:39:33 2010 +0200

    Update German translation of manual pages
    
    Update to 1898t.

 man/po/de.po |   99 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 72 insertions(+), 27 deletions(-)

commit 6a8c82075692eb8545dbac4aba0fcace41f4b3d9
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Apr 17 19:46:49 2010 +0200

    dpkg-scansources: call the right function when -e is used

 debian/changelog            |    2 ++
 scripts/dpkg-scansources.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 2aec40974de72158563d93c8a0146c7bad5a7387
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Apr 17 09:36:04 2010 +0200

    Update German translation of manual pages
    
    Update to 1893t0f5u.

 man/po/de.po |  120 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 69 insertions(+), 51 deletions(-)

commit 58d2dc4232d62173beba6b5ebcb5f912330ca989
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Apr 16 21:49:09 2010 +0200

    Update German translation of manual pages
    
    Update to 1887t0f11u.

 man/po/de.po |  360 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 327 insertions(+), 33 deletions(-)

commit 20f33fd89e06a214c861733c2cc28754eda58bfa
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Apr 12 12:32:18 2010 +0200

    maintscript-helper: new program to simplify some maintainer scripts
    
    This program is designed to be run within maintainer scripts to achieve
    some tasks that dpkg can't (yet) handle natively either because of design
    decisions or due to current limitations.
    
    Many of those tasks require coordinated actions from several maintainer
    scripts (preinst, postinst, prerm, postrm). To avoid mistakes the same
    call simply needs to be put in all scripts and the program will automatically
    adapt its behaviour based on the environment variable DPKG_MAINTSCRIPT_NAME
    and on the maintainer scripts arguments that you have to forward after
    a double dash.

 debian/changelog         |    4 +
 debian/dpkg.install      |    2 +
 lib/Makefile.am          |    1 +
 lib/maintscript-helper   |  256 ++++++++++++++++++++++++++++++++++++++++++++++
 man/Makefile.am          |    3 +-
 man/maintscript-helper.1 |  117 +++++++++++++++++++++
 man/po/po4a.cfg          |    5 +
 7 files changed, 387 insertions(+), 1 deletions(-)

commit d5b15f56fbc93983005cf2f9cc1117a3bbb3670c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 16 11:56:17 2010 +0200

    dpkg: export DPKG_LIBDIR to maintainer scripts
    
    It can be used to find out the location of some internal dpkg programs
    that might be called from maintainer scripts. That way we can avoid
    hardcoding /usr/lib/dpkg and maintainer scripts will still work when
    called from a dpkg manually installed in /usr/local for example.

 debian/changelog |    3 +++
 lib/dpkg/dpkg.h  |    1 +
 man/dpkg.1       |    4 ++++
 src/Makefile.am  |    1 +
 src/help.c       |    1 +
 5 files changed, 10 insertions(+), 0 deletions(-)

commit 246cf59f8cb555bdaddd36e01d4b57a5e5ac3c7f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Apr 12 12:06:01 2010 +0200

    dpkg: export DPKG_MAINTSCRIPT_NAME to tell what kind of script we're running
    
    The idea is that specialized hooks can benefit from this information to
    do the right thing. The same call would be put in the various maintainer
    scripts but the actions taken would be different depending on the script
    nevertheless.

 debian/changelog |    3 +++
 lib/dpkg/dpkg.h  |    1 +
 man/dpkg.1       |    4 ++++
 src/help.c       |    4 ++--
 4 files changed, 10 insertions(+), 2 deletions(-)

commit 29fe363219625f2a411c85ce065ad47a67077797
Author: Robert Luberda <robert@debian.org>
Date:   Thu Apr 15 12:10:21 2010 +0200

    dselect: treat unknown packages as known and marked for purge
    
    This is a temporary work-around so that dselect doesn't try to
    reinstall packages of priority > standard that were removed or not
    installed.
    
    The complete solution (tracked in #551638) will involve storing the
    seen/not-seen information somewhere else than in the dpkg status database
    and ideally in a new database shared by all frontends.

 debian/changelog   |    4 ++++
 dselect/pkglist.cc |   10 ++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

commit 8ccebf62ea2940b597e2d66433b1ac00801e1c6b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Apr 15 02:47:26 2010 +0200

    dpkg: Fix hard link extraction for normal files due to deferred rename
    
    When creating hard links on extraction use the .dpkg-new filename
    for source as the normal file is not yet in place due to the rename
    deferral.
    
    We avoid doing this for hard links to special files (which do not
    have the fnnf_deferred_rename flag) because they are already in
    place. Although this should not always pose a problem because not
    all tar creation implementations support hard links for non-normal
    files, but at least FreeBSD libarchive based ones support them for
    fifos, so better be safe than sorry.
    
    Based-on-patch-by: Colin Watson <cjwatson@ubuntu.com>

 debian/changelog |    3 +++
 src/archives.c   |    7 ++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 874877459eb23c11b08f82d9d8968b2ee6bbcd7c
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Apr 14 21:05:13 2010 +0200

    Update German scripts translation
    
    Update to 506t.

 scripts/po/de.po |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

commit 0085bfd1959622b98083b9d128c007f3e157d500
Author: Michael Vogt <michael.vogt@ubuntu.com>
Date:   Wed Apr 14 13:19:25 2010 +0200

    dpkg: Report deferred trigger errors on status-fd
    
    Report these errors directly through status-fd, instead of reporting
    later on errors which are a consequence of those first errors, which
    can be pretty confusing for a front-end.
    
    Closes: #574599
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    4 ++++
 src/trigproc.c   |   11 +++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

commit 0de192cacb4aa17536a65ab0b0a6181a6b3d98e7
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 14 12:52:55 2010 +0200

    Add dpkg-buildflags to .gitignore

 scripts/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 96fee44416027be3b9e60d8ec58fd072c143f83a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Apr 14 13:39:56 2010 +0200

    dpkg: Factor out extension into its own variable in enqueue_specified()

 src/packages.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 9a830e9d5fcb8c48bb84bdebb3f606984ce2ca45
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Wed Apr 14 12:17:29 2010 +0200

    dpkg: Factor out package-listing functions from packages()
    
    Split packages() into bite-sized pieces. No functional change
    intended.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/packages.c |  112 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 64 insertions(+), 48 deletions(-)

commit 8467206b518be8d0ac13af2a75e1e42ca6f3da8c
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Wed Apr 14 11:58:23 2010 +0200

    dpkg: fix deferred rename/fsync processing
    
    It was scanning the old list of files so it would never install
    new files.

 src/archives.c   |    4 ++--
 src/archives.h   |    2 +-
 src/processarc.c |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

commit 7fc590339e07b0b8a782ce8cae4d3be001dce53f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Apr 14 11:39:06 2010 +0200

    debian/control: cleanup old Conflicts/Replaces
    
    Actually most of the changes have already been commited by mistake by
    Helge in f48f5839df913802f7d70e77d66d3348bd90ddb7.

 debian/changelog |    1 +
 debian/control   |    4 +---
 2 files changed, 2 insertions(+), 3 deletions(-)

commit 3927a9d6e64297330b61a38755bee20d45c7b166
Author: Colin Watson <cjwatson@ubuntu.com>
Date:   Wed Apr 14 10:00:18 2010 +0100

    dpkg: fix rename deferral
    
    Modern tar files typically use NormalFile1 rather than NormalFile0 for
    file objects.  A typo meant that the former never triggered rename
    deferral.

 debian/changelog |    5 +++++
 src/archives.c   |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit f48f5839df913802f7d70e77d66d3348bd90ddb7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Apr 13 21:26:58 2010 +0200

    Update German translation of manual pages
    
    Update to 1867t.

 debian/control |    7 ++---
 man/po/de.po   |   62 ++++++++++++++++++++++++++++++++++++-------------------
 2 files changed, 43 insertions(+), 26 deletions(-)

commit 4a3e1d9b5af8be3aafbe747209ae637bc14c5095
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Apr 12 19:53:02 2010 +0200

    Update German translation of manual pages
    
    Update to 1861t0f5u.

 man/po/de.po |  428 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 383 insertions(+), 45 deletions(-)

commit 07460470d2cfae36d0940b433b8e37b7b125e9e7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Apr 12 19:17:39 2010 +0200

    Update German scripts translation
    
    Update to 505t.

 scripts/po/de.po |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 deletions(-)

commit 86adf8bd1e09e6f7000886165d5fa19e88c3a54a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 11 21:20:12 2010 +0200

    Dpkg::Vendor::Default: document the update-buildflags hook

 scripts/Dpkg/Vendor/Default.pm |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit af650f7d42008e2f110d1a237c9a04c6dc1cfff9
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 11 21:14:00 2010 +0200

    Dpkg::BuildFlags: for Ubuntu set LDFLAGS to -Wl,-Bsymbolic-functions
    
    This is according to https://wiki.ubuntu.com/DistCompilerFlags and
    the current patch that they are carrying anyway.

 debian/changelog               |    1 +
 scripts/Dpkg/Vendor/Default.pm |    2 ++
 scripts/Dpkg/Vendor/Ubuntu.pm  |    6 ++++++
 3 files changed, 9 insertions(+), 0 deletions(-)

commit 850645ee948563eeebc6d369145554bc72da5416
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 11 18:37:07 2010 +0200

    dpkg-buildpackage: use Dpkg::BuildFlags to retrieve the compiler flags
    
    Document that debian/rules should not rely on environment variables
    set by dpkg-buildpackage and should instead use
    dpkg-buildflags/dpkg-architecture to retrieve the corresponding values.

 man/dpkg-buildpackage.1      |   78 ++++-------------------------------------
 scripts/dpkg-buildpackage.pl |   27 ++++-----------
 2 files changed, 15 insertions(+), 90 deletions(-)

commit 9dc0466a5e300dde0cf23a77aaa609b05b628242
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 9 17:46:15 2010 +0200

    dpkg-buildflags: new script to retrieve compilation flags during package build
    
    Forcing the value of compilation flags through environment variables set
    by dpkg-buildpackages has not been very successful up to now and suffered
    from the fact that calling debian/rules directly could lead to a different
    build than what dpkg-buildpackage would have done.
    
    This commit is the start of a new solution: dpkg-buildflags is a tool that
    package maintainers are supposed to use in order to retrieve compilation
    flags. It offers a way to control their default values at the distribution
    level while still allowing customizations by users who recompile the
    source packages.

 debian/changelog           |    5 ++
 debian/dpkg-dev.install    |    2 +
 man/Makefile.am            |    1 +
 man/dpkg-buildflags.1      |  116 ++++++++++++++++++++++++++++++++++++++++++++
 man/po/po4a.cfg            |    5 ++
 scripts/Makefile.am        |    2 +
 scripts/dpkg-buildflags.pl |  105 +++++++++++++++++++++++++++++++++++++++
 scripts/po/POTFILES.in     |    1 +
 8 files changed, 237 insertions(+), 0 deletions(-)

commit 4c1743cb6ec8478fc099201a7811caa0d892ebaa
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 11 17:14:34 2010 +0200

    Dpkg::BuildFlags: new module to query/manage build flags

 scripts/Dpkg/BuildFlags.pm |  266 ++++++++++++++++++++++++++++++++++++++++++++
 scripts/Makefile.am        |    1 +
 scripts/po/POTFILES.in     |    1 +
 3 files changed, 268 insertions(+), 0 deletions(-)

commit 352ce52e945820fa9aa182397eb12e7b625c2438
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Apr 11 09:10:17 2010 +0200

    Fix POD in several perl modules to avoid two consecutive lines starting with =item
    
    An empty line is required between the two or pod2man decides that the
    second is the continuation of the former and includes "=item" in the
    generated manual page.

 scripts/Dpkg/Changelog/Entry.pm |    1 +
 scripts/Dpkg/Control/Info.pm    |    1 +
 scripts/Dpkg/Deps.pm            |    1 +
 scripts/Dpkg/Index.pm           |    1 +
 scripts/Dpkg/Version.pm         |    1 +
 5 files changed, 5 insertions(+), 0 deletions(-)

commit 443ed783f7903301827fed7b47b25db590104c7f
Author: Ansgar Burchardt <ansgar@43-1.org>
Date:   Sun Apr 11 08:59:37 2010 +0200

    Dpkg::Version: fix POD to avoid two consecutive lines starting with =item

 scripts/Dpkg/Version.pm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit ff03345b7a8d9dd0950dc581c5263373b2a0b406
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 9 09:36:22 2010 +0200

    dpkg-source: do not allow underscore in component name for supplementary tarballs
    
    According the documentation they were never meant to be allowed
    but usage of perl's \w allowed them nevertheless. [\w-] has now been
    replaced by [[:alnum:]-] everywhere so that the code fits the
    documentation.

 debian/changelog                  |    3 +++
 scripts/Dpkg/Source/Package.pm    |    4 ++--
 scripts/Dpkg/Source/Package/V2.pm |    4 ++--
 3 files changed, 7 insertions(+), 4 deletions(-)

commit 18b12083b5fee4e7e26e1382e50321e7956fcdb9
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 9 08:35:47 2010 +0200

    dpkg: fix metadata installation by not mixing rename() in a readdir() loop
    
    dpkg's process_archive() was doing the improper assumption that a
    readdir() loop would not return the same filename twice even when the
    scanned directory has files renamed into it (coming from tmp.ci).
    
    The net result of having the same filename returned twice is that the
    the second time the updated file to install is no longer there and
    thus dpkg removed the current metadata file believing that it was
    obsolete. btrfs triggers this bug consistently.
    
    All other readdir() occurrences have been reviewed as well for similar
    problems. But they are all safe, they mainly unlink() files rather
    than adding new files into the scanned directory.
    
    Thanks to Carey Underwood and Chris Mason for their help in diagnosing
    this problem.
    
    Acked-by: Guillem Jover <guillem@debian.org>

 debian/changelog |    3 +++
 src/processarc.c |   39 ++++++++++++++++++++++++++++++++-------
 2 files changed, 35 insertions(+), 7 deletions(-)

commit dc8af12e61186e3549a1ed2a41f52054cb39fe7c
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Apr 5 10:40:32 2010 +0200

    Fix inconsistencies and typos in German dpkg translation
    
    Change “brauchen” → “benötigen” throughout. Change “hat” → “erhält” in
    several places.  Reword a few formulations in “--help” output.  Fix
    various typos.
    
    Based-on-patch-by: Holger Wansing <linux@wansing-online.de>

 po/de.po |  243 ++++++++-----------------------------------------------------
 1 files changed, 32 insertions(+), 211 deletions(-)

commit 6b5a7208581774ba23517431b4abc67d30527dd5
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Apr 4 16:51:44 2010 +0200

    Update German translation of manual pages
    
    Update to 1814t.

 man/po/de.po |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

commit e7b1392e467cee3b6d6052cf05710d36d05852ec
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Apr 2 09:16:49 2010 +0200

    dpkg-source: fix initialization of diff-ignore in 1.0 format
    
    Commit 3378e8fa435abe79e9bd3cea07b02f562b906695 broke
    "dpkg-source -i -b" on version 1.0 source packages. This restores it.

 scripts/Dpkg/Source/Package/V1.pm |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit a6cd0c12f3fee71f26374c7f21f7a2e4d1ac9458
Author: Jari Aalto <jari.aalto@cante.net>
Date:   Fri Apr 2 09:15:09 2010 +0200

    dpkg-parsechangelog(1): precise that --all overrides the other options

 debian/changelog          |    2 ++
 man/dpkg-parsechangelog.1 |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit d620ead930238391f7b41fc15385cff36a382299
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Apr 2 07:50:49 2010 +0200

    Update German translation of manual pages
    
    Update to 1814t.

 man/po/de.po |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

commit 3378e8fa435abe79e9bd3cea07b02f562b906695
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Apr 1 21:05:35 2010 +0200

    dpkg-source: support debian/source/local-options
    
    It's like debian/source/options but it's not stored in the generated
    source package. This is ensured by the way of being part of the default
    ignore lists (-i and -I) and being explicitely excluded for the old
    1.0 format that doesn't use the default ignore list.

 debian/changelog                  |    2 ++
 man/dpkg-source.1                 |    5 +++++
 scripts/Dpkg/Source/Package.pm    |    3 +++
 scripts/Dpkg/Source/Package/V1.pm |    1 +
 scripts/dpkg-source.pl            |   25 ++++++++++++++-----------
 5 files changed, 25 insertions(+), 11 deletions(-)

commit 6194f91cf8bd7b851d5b875e81b5e10da584d645
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Wed Mar 31 20:07:52 2010 +0200

    German dpkg translation update
    
    Update to 968t.

 debian/changelog |    3 ++
 po/de.po         |   59 ++++++++++++++++++++++++++---------------------------
 2 files changed, 32 insertions(+), 30 deletions(-)

commit 5f4aabaa53388043e021e8a6e23ba35f141fb619
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Wed Mar 31 19:01:03 2010 +0200

    Fix typo in German dselect translation

 debian/changelog |    3 +++
 dselect/po/de.po |    6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

commit e9c695be22ff3c7d7f008a33033f02f969c97aba
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Mar 29 19:51:01 2010 +0200

    Update German translation of manual pages
    
    Update to 1812t.

 man/po/de.po |  181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 180 insertions(+), 1 deletions(-)

commit a676dbc324dbf266d440b8198ac936421126e449
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Mar 29 18:33:07 2010 +0200

    Update German scripts translation
    
    Update to 499t.

 debian/changelog |    3 +++
 scripts/po/de.po |    7 ++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit c5d44e22a98b09414619a06723a05e85c944ea12
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Mar 29 12:36:20 2010 +0200

    Dpkg::Source::Package: do not overwrite debian/source/format if it already exists

 scripts/Dpkg/Source/Package.pm |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

commit 1cba260ee1e98cc9c160d7487d720ab795ce76c8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 28 18:11:33 2010 +0200

    Add missing changelog entries.

 debian/changelog |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 695a94799dc54f03b2f535b85bb1d60bb3f30f02
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 28 18:04:17 2010 +0200

    dpkg-source(1): document more error messages and warnings

 man/dpkg-source.1 |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

commit ce14c941fa4a02388011a0c7c7e60a86e820aadd
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 28 16:57:18 2010 +0200

    dpkg-source: warn when debian/source/format doesn't exist
    
    Document in dpkg-source(1) the fact that the fallback to "1.0"
    when debian/source/format doesn't exist is deprecated. Explain
    the rationale.
    
    Document the long-term deprecation in README.feature-removal-schedule.

 debian/changelog                    |   12 ++++++++++--
 doc/README.feature-removal-schedule |    9 +++++++++
 man/dpkg-source.1                   |   29 ++++++++++++++++++++++-------
 scripts/dpkg-source.pl              |    2 ++
 4 files changed, 43 insertions(+), 9 deletions(-)

commit 85c68a2de510262ff8e82f9f2948edef0bca8035
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Mar 28 17:38:04 2010 +0200

    Update German translation of manual pages
    
    Update to 1799t.

 debian/changelog |    7 +++++++
 man/po/de.po     |   15 ++++++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)

commit 3779bbcd940e318f0d55ed0584b0ba332800e45c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 28 16:01:19 2010 +0200

    Dpkg::Source::Package: add .gitattributes to dpkg-source ignore lists

 scripts/Dpkg/Source/Package.pm |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit a48c5d14bdc617c8323eddb794f320875cf479d1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Mar 28 12:04:38 2010 +0200

    deb-shlibs(5): use "type" rather than "tag" to be consistent with Debian Policy

 man/deb-shlibs.5 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 48fcb4cea268e2257b9bdd4a89072870f70239bd
Author: Christian PERRIER <bubulle@debian.org>
Date:   Fri Mar 26 07:25:28 2010 +0100

    Updated French translation

 debian/changelog |    1 +
 po/fr.po         |  299 +++++++++++++++++++++++++-----------------------------
 2 files changed, 140 insertions(+), 160 deletions(-)

commit 132372df042576ba92df8fe17db95a12b51c7097
Author: Christian PERRIER <bubulle@debian.org>
Date:   Fri Mar 12 07:17:27 2010 +0100

    Update French dselect translation

 debian/changelog |    1 +
 dselect/po/fr.po |   16 ++++++----------
 2 files changed, 7 insertions(+), 10 deletions(-)

commit a06c587571c1926a6af4176dac9f5066175db45c
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 24 13:56:47 2010 +0100

    Release 1.15.6.1

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 0925bc6e1dd675a53693f9549674b87da172e198
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 24 14:02:25 2010 +0100

    Regenerate .pot files and merge .po files with them

 po/ast.po               |  750 +++++++++++++++++++++++-----------------------
 po/bs.po                |  727 ++++++++++++++++++++++-----------------------
 po/ca.po                |  750 +++++++++++++++++++++++-----------------------
 po/cs.po                |  750 +++++++++++++++++++++++-----------------------
 po/da.po                |  750 +++++++++++++++++++++++-----------------------
 po/de.po                |  750 +++++++++++++++++++++++-----------------------
 po/dpkg.pot             |  727 ++++++++++++++++++++++-----------------------
 po/dz.po                |  750 +++++++++++++++++++++++-----------------------
 po/el.po                |  750 +++++++++++++++++++++++-----------------------
 po/eo.po                |  750 +++++++++++++++++++++++-----------------------
 po/es.po                |  750 +++++++++++++++++++++++-----------------------
 po/et.po                |  750 +++++++++++++++++++++++-----------------------
 po/eu.po                |  750 +++++++++++++++++++++++-----------------------
 po/fr.po                |  750 +++++++++++++++++++++++-----------------------
 po/gl.po                |  750 +++++++++++++++++++++++-----------------------
 po/hu.po                |  744 +++++++++++++++++++++++-----------------------
 po/id.po                |  750 +++++++++++++++++++++++-----------------------
 po/it.po                |  750 +++++++++++++++++++++++-----------------------
 po/ja.po                |  750 +++++++++++++++++++++++-----------------------
 po/km.po                |  750 +++++++++++++++++++++++-----------------------
 po/ko.po                |  750 +++++++++++++++++++++++-----------------------
 po/ku.po                |  727 ++++++++++++++++++++++-----------------------
 po/lt.po                |  750 +++++++++++++++++++++++-----------------------
 po/mr.po                |  750 +++++++++++++++++++++++-----------------------
 po/nb.po                |  750 +++++++++++++++++++++++-----------------------
 po/ne.po                |  750 +++++++++++++++++++++++-----------------------
 po/nl.po                |  750 +++++++++++++++++++++++-----------------------
 po/nn.po                |  750 +++++++++++++++++++++++-----------------------
 po/pa.po                |  734 ++++++++++++++++++++++-----------------------
 po/pl.po                |  750 +++++++++++++++++++++++-----------------------
 po/pt.po                |  750 +++++++++++++++++++++++-----------------------
 po/pt_BR.po             |  750 +++++++++++++++++++++++-----------------------
 po/ro.po                |  750 +++++++++++++++++++++++-----------------------
 po/ru.po                |  754 +++++++++++++++++++++++-----------------------
 po/sk.po                |  750 +++++++++++++++++++++++-----------------------
 po/sv.po                |  750 +++++++++++++++++++++++-----------------------
 po/th.po                |  750 +++++++++++++++++++++++-----------------------
 po/tl.po                |  750 +++++++++++++++++++++++-----------------------
 po/vi.po                |  755 ++++++++++++++++++++++++-----------------------
 po/zh_CN.po             |  750 +++++++++++++++++++++++-----------------------
 po/zh_TW.po             |  750 +++++++++++++++++++++++-----------------------
 scripts/po/ca.po        |   32 +-
 scripts/po/de.po        |   32 +-
 scripts/po/dpkg-dev.pot |   32 +-
 scripts/po/fr.po        |   32 +-
 scripts/po/pl.po        |   32 +-
 scripts/po/ru.po        |   32 +-
 scripts/po/sv.po        |   32 +-
 48 files changed, 15412 insertions(+), 15480 deletions(-)

commit 9cd41fdda1c27169c52d73b3b3ce71991d724994
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 21 09:23:09 2010 +0100

    dpkg: Defer the fsync and rename for normal files in tar extraction
    
    This way it's done in one pass afterwards, to avoid massive I/O
    degradation due to the serialization from each write + fsync. This
    restores extraction times to numbers closer to the ones before the
    fsync patch introduced in 1.15.6.

 debian/changelog |    4 ++
 src/archives.c   |   86 ++++++++++++++++++++++++++++++++++++++++++++++-------
 src/archives.h   |    1 +
 src/filesdb.h    |    2 +
 src/processarc.c |    2 +
 5 files changed, 83 insertions(+), 12 deletions(-)

commit 7e98241b11ce27e8d7fb87f1e64ecd03ec0ea0bf
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 24 12:50:06 2010 +0100

    dselect: Show dependency/conflicts resolution screen again
    
    Fix by switching the C++ code to use STL's min() and max() instead of
    preprocessor macros, to avoid multiple evaluation of arguments.
    
    Regression introduced in commit f426b031ac858fa30ace69959a43b61fb40f4be9.
    
    Closes: #574816
    
    Based-on-patch-by: Robert Luberda <robert@debian.org>

 debian/changelog  |    4 ++++
 dselect/dselect.h |    5 +++++
 lib/dpkg/macros.h |    3 +++
 3 files changed, 12 insertions(+), 0 deletions(-)

commit 0fb104820dca0437cfdc045454010aeb89371754
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 24 12:39:05 2010 +0100

    dpkg-query: Make local functions static

 src/main.h  |    4 ----
 src/query.c |   16 ++++++++++++----
 2 files changed, 12 insertions(+), 8 deletions(-)

commit 994dc30369b1bca2a846409e0aa743096f65671c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 15 09:09:54 2010 +0100

    s-s-d: Fix and unify fatal error strings
    
    Do not use strerror on fatal() calls as it's already doing that
    internally if errno is not 0. Remove redundant new line at end of
    fatal() strings. Decapitalize first word. Clarify some strings to
    make it obvious it's an error message.

 utils/start-stop-daemon.c |   50 +++++++++++++++++++++-----------------------
 1 files changed, 24 insertions(+), 26 deletions(-)

commit 4ecd0ef5d2e2a65402f9a6d45f9d5b96d12516d0
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 15 06:20:14 2010 +0100

    s-s-d: Do not allow a --retry schedule where forever is the last item
    
    The forever item needs something to repeat over, otherwise we just get
    an infinite loop doing nothing.
    
    Closes: #570938

 debian/changelog          |    2 ++
 utils/start-stop-daemon.c |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 4b13dfcdbea654859b7980ea1af33bec0f9a095b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 14 08:13:19 2010 +0100

    dpkg-statoverride: Fix bogus arguments in ACTION macros
    
    Remove bogus short options and use more appropriate act_ values for each
    action.

 src/statcmd.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 230eecd402b7d7252cc958706db8d8350055e560
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 15 07:24:14 2010 +0100

    libdpkg: Remove unused desc argument from buffer_read and buffer_write

 lib/dpkg/buffer.c |   12 +++++-------
 lib/dpkg/buffer.h |    6 ++----
 2 files changed, 7 insertions(+), 11 deletions(-)

commit c1481ac891e430a8e24ebfba5bc9f54b5166b769
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 15 07:21:10 2010 +0100

    libdpkg: Handle I/O errors in buffer_copy()
    
    Make buffer_read and buffer_write behave as normal read/write functions,
    return -1 on error, and let the caller handle the error.
    
    Split the checks in buffer_copy for errors from buffer_read and
    buffer_write to be able to give more accurate error messages.

 lib/dpkg/buffer.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

commit c11588722ac0e195b1f31a4995a854536f331bde
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 13 08:35:43 2010 +0100

    libdpkg: Make statusfile and availablefile variables static

 lib/dpkg/dbmodify.c |    3 +--
 lib/dpkg/dpkg-db.h  |    3 ---
 2 files changed, 1 insertions(+), 5 deletions(-)

commit 2650ab3024fd3c798e17c26d94d76766373a1a02
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 13 08:26:37 2010 +0100

    libdpkg: Move trigdeferred declarations to a new trigdeferred.h

 lib/dpkg/Makefile.am    |    1 +
 lib/dpkg/dpkg-db.h      |   31 ------------------------
 lib/dpkg/trigdeferred.h |   61 +++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/trigdeferred.l |    1 +
 lib/dpkg/triglib.c      |    1 +
 src/trigcmd.c           |    1 +
 6 files changed, 65 insertions(+), 31 deletions(-)

commit 58a93c17fc4246d8f0281b21cd36112562d2c4f4
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 13 08:20:02 2010 +0100

    libdpkg: Move triglib declarations to a new triglib.h

 lib/dpkg/Makefile.am    |    1 +
 lib/dpkg/dbmodify.c     |    1 +
 lib/dpkg/dpkg-db.h      |   70 ---------------------------------
 lib/dpkg/fields.c       |    1 +
 lib/dpkg/trigdeferred.l |    1 +
 lib/dpkg/triglib.c      |    1 +
 lib/dpkg/triglib.h      |   99 +++++++++++++++++++++++++++++++++++++++++++++++
 src/archives.c          |    1 +
 src/configure.c         |    1 +
 src/help.c              |    1 +
 src/processarc.c        |    1 +
 src/remove.c            |    1 +
 src/trigcmd.c           |    1 +
 src/trigproc.c          |    1 +
 14 files changed, 111 insertions(+), 70 deletions(-)

commit 3d2e2cbed0c72f423577dbf4cbefb3d72df3bbfa
Author: Colin Watson <cjwatson@debian.org>
Date:   Tue Mar 16 12:14:16 2010 +0100

    dpkg-source: support unpacking old source packages lacking the Format field
    
    .dsc files haven't always had a Format field. It was introduced in dpkg
    1.6.13, in May 2000. This means that it's still not entirely
    implausible to run across source packages without Format, for example
    when importing the history of a source package into revision control.
    
    Thus, dpkg-source should treat a missing Format field as 1.0, for
    compatibility with these old packages.

 debian/changelog               |    6 ++++++
 scripts/Dpkg/Source/Package.pm |    4 +++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 94a7cf146144945759f608400dc9aa9c674bd1b3
Author: Peter Krefting <peterk@debian.org>
Date:   Mon Mar 15 12:26:51 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 971t0f0u.
    scripts/po/sv.po: 498t0f0u.

 debian/changelog |    6 ++++++
 po/sv.po         |   13 ++++++-------
 scripts/po/sv.po |    8 ++++----
 3 files changed, 16 insertions(+), 11 deletions(-)

commit 28b0443163ac43515197dbef8ff441990be43866
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 13 07:29:23 2010 +0100

    libdpkg: Use __attribute__ keyword depending on compiler support
    
    Check for compiler support from preprocessor macros and selectively
    enable specific __attribute__ specifications. We avoid exposing the
    configure variable HAVE_C_ATTRIBUTE, which was never defined for the
    installed headers. Remove the now unused DPKG_C_ATTRIBUTE autoconf
    macro.

 configure.ac        |    1 -
 debian/changelog    |    2 ++
 lib/dpkg/macros.h   |    8 ++++++--
 m4/dpkg-compiler.m4 |   17 -----------------
 4 files changed, 8 insertions(+), 20 deletions(-)

commit 6fdc75338295a91ceebfddebb1e672fe8f929012
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 13 07:26:45 2010 +0100

    libdpkg: Always use C99 variadic macros
    
    As the build requires them anyway, we avoid exposing the configure
    variable HAVE_C99, which was never defined for the installed headers.

 debian/changelog     |    2 ++
 lib/dpkg/buffer.h    |   37 -------------------------------------
 lib/dpkg/dpkg.h      |    4 ----
 utils/install-info.c |    5 -----
 4 files changed, 2 insertions(+), 46 deletions(-)

commit 7cde255c129784700ba3f08163287002cc58158c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 13 05:28:30 2010 +0100

    Revert "libdpkg: Use varbuf_detach instead of ad-hoc code"
    
    This reverts commit 77cae397a15baeca11c26aeb806b6be516e33d5f.
    
    This change introdcued two points for memory leaks, which could be
    significant, depending on the amount of calls to the functions.

 debian/changelog    |    2 +-
 lib/dpkg/dbmodify.c |    2 +-
 lib/dpkg/fields.c   |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit a6ab75a7802ef1596988b744381b242e82535f0e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Mar 13 05:27:20 2010 +0100

    Bump version to 1.15.6.1

 debian/changelog |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit cba7601879c20e23d2320dfdc7bd71b0a857d3e8
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 12 00:15:54 2010 +0100

    Release 1.15.6

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 966458676627c4def8e5452a9ae5172ce8308871
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 12 00:14:06 2010 +0100

    Regenerate .pot files and merge .po files with them

 dselect/po/es.po        |   10 -
 man/po/dpkg-man.pot     |    2 +-
 man/po/sv.po            |  698 +++++++++++++++++------------------------------
 po/ast.po               |  506 +++++++++++++++++-----------------
 po/bs.po                |  505 +++++++++++++++++-----------------
 po/ca.po                |  502 +++++++++++++++++-----------------
 po/cs.po                |  506 +++++++++++++++++-----------------
 po/da.po                |  506 +++++++++++++++++-----------------
 po/de.po                |  503 +++++++++++++++++-----------------
 po/dpkg.pot             |  467 +++++++++++++++----------------
 po/dz.po                |  504 +++++++++++++++++-----------------
 po/el.po                |  508 +++++++++++++++++-----------------
 po/eo.po                |  506 +++++++++++++++++-----------------
 po/es.po                |  506 +++++++++++++++++-----------------
 po/et.po                |  511 ++++++++++++++++++-----------------
 po/eu.po                |  506 +++++++++++++++++-----------------
 po/fr.po                |  503 +++++++++++++++++-----------------
 po/gl.po                |  508 +++++++++++++++++-----------------
 po/hu.po                |  506 +++++++++++++++++-----------------
 po/id.po                |  510 +++++++++++++++++-----------------
 po/it.po                |  497 +++++++++++++++++-----------------
 po/ja.po                |  508 +++++++++++++++++-----------------
 po/km.po                |  504 +++++++++++++++++-----------------
 po/ko.po                |  504 +++++++++++++++++-----------------
 po/ku.po                |  477 ++++++++++++++++----------------
 po/lt.po                |  479 ++++++++++++++++----------------
 po/mr.po                |  508 +++++++++++++++++-----------------
 po/nb.po                |  506 +++++++++++++++++-----------------
 po/ne.po                |  508 +++++++++++++++++-----------------
 po/nl.po                |  504 +++++++++++++++++-----------------
 po/nn.po                |  508 +++++++++++++++++-----------------
 po/pa.po                |  467 +++++++++++++++----------------
 po/pl.po                |  510 +++++++++++++++++-----------------
 po/pt.po                |  504 +++++++++++++++++-----------------
 po/pt_BR.po             |  510 ++++++++++++++++++-----------------
 po/ro.po                |  504 +++++++++++++++++-----------------
 po/ru.po                |  506 +++++++++++++++++-----------------
 po/sk.po                |  503 +++++++++++++++++-----------------
 po/sv.po                |  499 +++++++++++++++++-----------------
 po/th.po                |  504 +++++++++++++++++-----------------
 po/tl.po                |  510 +++++++++++++++++-----------------
 po/vi.po                |  508 +++++++++++++++++-----------------
 po/zh_CN.po             |  499 +++++++++++++++++-----------------
 po/zh_TW.po             |  504 +++++++++++++++++-----------------
 scripts/po/ca.po        |   91 ++++---
 scripts/po/de.po        |   82 +++---
 scripts/po/dpkg-dev.pot |   93 ++++---
 scripts/po/fr.po        |   93 ++++---
 scripts/po/pl.po        |   93 ++++---
 scripts/po/ru.po        |   93 ++++---
 scripts/po/sv.po        |   93 ++++---
 51 files changed, 10982 insertions(+), 10960 deletions(-)

commit 17bd5d87d5ea4e352794c4f854809cf9822e885b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 12 02:42:44 2010 +0100

    Improve libdpkg-dev package short description
    
    Make it match with the reset of the short descriptions.

 debian/control |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 7dd42b94cfb40f046a8da29142ef5a2a436ca391
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 12 00:31:55 2010 +0100

    build: Replace all / with :: on perl module man pages filenames
    
    The current sed expression was only replacing the first one, which
    didn't take into account nested modules.

 scripts/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2567c926666c9924c87f99d0e4b3389453c4ef25
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Mar 12 00:31:18 2010 +0100

    build: Add missing libdpkg-perl debian packaging files to EXTRA_DIST

 Makefile.am |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit c7dc2bf66393a546e1189e74a65292af336835cb
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 23:43:17 2010 +0100

    build: Allow disabling Unicode support
    
    This affects only dselect ncurses support for now.
    
    Based-on-patch-by: Yuri Vasilevski <yvasilev@gentoo.org>

 debian/changelog   |    2 ++
 m4/dpkg-libs.m4    |   31 +++++++++++++++++++++++--------
 m4/dpkg-unicode.m4 |   21 +++++++++++++++++++++
 3 files changed, 46 insertions(+), 8 deletions(-)

commit 4f4f2cbd86c5b8ee9ee4541ccb387215bece8df3
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 22:09:29 2010 +0100

    man: Honour LINGUAS environment variable when installing translations
    
    Users should be able to choose which locales to install by setting the
    environment variable LINGUAS, or passing it as a make argument. Honour
    the user setting and introduce a new LINGUAS_DIST to avoid undesired
    behaviour on “make dist”.
    
    Reported-by: Yuri Vasilevski <yvasilev@gentoo.org>

 debian/changelog |    1 +
 man/Makefile.am  |    7 +++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 20fdb395cc721a5060c5623eda956d73ea840a21
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 21:35:25 2010 +0100

    Do an fsync on database directories
    
    After creating, renaming or unlinking database files sync its
    containing directory, to guarantee the new file entry is correctly
    listed in the directory.
    
    Closes: #567089
    
    Base-on-patch-by: Jean-Baptiste Lallement <jeanbaptiste.lallement@gmail.com>

 debian/changelog        |    4 ++
 dpkg-split/queue.c      |    2 +
 lib/dpkg/Makefile.am    |    2 +
 lib/dpkg/dbmodify.c     |    8 +++
 lib/dpkg/dir.c          |  124 +++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/dir.h          |   37 ++++++++++++++
 lib/dpkg/dump.c         |    5 ++
 lib/dpkg/trigdeferred.l |    3 +
 lib/dpkg/triglib.c      |    5 ++
 src/filesdb.c           |    3 +
 src/processarc.c        |   17 ++++++
 src/remove.c            |    5 ++
 src/statcmd.c           |    3 +
 13 files changed, 218 insertions(+), 0 deletions(-)

commit ab9482eb45e27a0b0c058a2662b28b7d3642173d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 21:13:25 2010 +0100

    libdpkg: Add a new updatesdir variable in dbmodify
    
    Use it to initialize updatefnbuf, instead of constructing it from
    admindir and UPDATESDIR.

 lib/dpkg/dbmodify.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit a9f8f235b90a586d99a9597fa5e7f2880ec91a98
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 21:08:40 2010 +0100

    libdpkg: Remove unneeded static admindir in dbmodify
    
    Now that pkgadminfile does not use the file global admindir, we can just
    switch the modstatdb_init() argument name from adir to admindir, use
    that instead in the whole function, and remove the file global admindir.

 lib/dpkg/dbmodify.c |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

commit 15daa22fa94d19cc059d2755e5164db1a3a62791
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 21:03:55 2010 +0100

    libdpkg: Create new pkgadmindir() to hide admindir and INFODIR
    
    The callers should not be concerned about where the package info
    directory is located, the new functions encapsulates the knowdlegde
    in the dbmodify module.

 lib/dpkg/dbmodify.c |   11 +++++++++--
 lib/dpkg/dpkg-db.h  |    1 +
 src/filesdb.c       |    3 +--
 src/processarc.c    |    6 ++----
 src/query.c         |    3 +--
 src/remove.c        |    6 ++----
 6 files changed, 16 insertions(+), 14 deletions(-)

commit 4f7898438d28cf3b1d6393a7e9b9135dcc1b1c0d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 19:41:35 2010 +0100

    libdpkg: Simplify triggersdir file path generation
    
    Now that we have generated the triggersdir via trig_get_triggersdir,
    we can reuse it to generate the files inside the triggersdir, instead
    of redoing the same work again.

 lib/dpkg/trigdeferred.l |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

commit a35f0e37a46b2e3721149a25c36f3352c1cdf881
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 19:38:12 2010 +0100

    libdpkg: Encapsulate triggersdir handling in triglib
    
    The only users of triggersdir and related files are the triglib and
    trigdeferred modules, and dbmodify does not have any business in knowing
    where the triggersdir is located (besides for conveninence when creating
    the pathname). Create instead a new function trig_get_triggersdir() to
    generate the triggersdir from an admindir, and use that on each module.

 lib/dpkg/dbmodify.c     |    4 ----
 lib/dpkg/dpkg-db.h      |    3 ++-
 lib/dpkg/trigdeferred.l |    3 +++
 lib/dpkg/triglib.c      |   32 ++++++++++++++++++++++++++++++++
 4 files changed, 37 insertions(+), 5 deletions(-)

commit 9fd4358545c340f3cbdf42246f73305397264a22
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 07:49:58 2010 +0100

    libdpkg: Add “subprocess” to strings to clarify
    
    This makes it more clear what the format argument refers to, and as a
    side effect coalesces two almost identical strings together.

 lib/dpkg/subproc.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 2dc87a2b34d8dd0312a9bfa95d5b6375a4ab39d1
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 10 22:15:03 2010 +0100

    libdpkg-perl: Demote some unstable modules to VERSION 0.01
    
    These modules might still need some cleanup work, so make it explicit
    that the API will change by demoting the VERSION.

 scripts/Dpkg/Arch.pm          |    2 +-
 scripts/Dpkg/ErrorHandling.pm |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 27f6b9bd4e2faa41be6683896285cade125d6fb2
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 08:40:10 2010 +0100

    Update Catalan translations

 debian/changelog |    3 +
 dselect/po/ca.po |   36 +--
 po/ca.po         |  696 ++++++++++++++++++++++++++----------------------------
 scripts/po/ca.po |   21 +-
 4 files changed, 362 insertions(+), 394 deletions(-)

commit eb4155377e4e41a4d420712dfc91c57578d5170f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 08:22:32 2010 +0100

    Use License instead of Licence in strings
    
    This removes almost duplicate strings for translation.

 debian/copyright               |    2 +-
 dselect/po/cs.po               |    2 +-
 dselect/po/el.po               |    2 +-
 dselect/po/hu.po               |    2 +-
 dselect/po/id.po               |    2 +-
 dselect/po/it.po               |    2 +-
 dselect/po/nb.po               |    2 +-
 dselect/po/nl.po               |    2 +-
 dselect/po/nn.po               |    2 +-
 dselect/po/pt.po               |    2 +-
 dselect/po/ro.po               |    2 +-
 dselect/po/sk.po               |    2 +-
 dselect/po/tl.po               |    2 +-
 dselect/po/zh_TW.po            |    2 +-
 scripts/changelog/debian.pl    |    2 +-
 scripts/dpkg-architecture.pl   |    2 +-
 scripts/dpkg-buildpackage.pl   |    2 +-
 scripts/dpkg-distaddfile.pl    |    2 +-
 scripts/dpkg-divert.pl         |    4 ++--
 scripts/dpkg-genchanges.pl     |    2 +-
 scripts/dpkg-gencontrol.pl     |    2 +-
 scripts/dpkg-gensymbols.pl     |    2 +-
 scripts/dpkg-parsechangelog.pl |    2 +-
 scripts/dpkg-shlibdeps.pl      |    2 +-
 scripts/dpkg-source.pl         |    2 +-
 scripts/dpkg-vendor.pl         |    2 +-
 scripts/po/ca.po               |    2 +-
 scripts/po/de.po               |    4 ++--
 scripts/po/dpkg-dev.pot        |    2 +-
 scripts/po/fr.po               |    4 ++--
 scripts/po/pl.po               |    2 +-
 scripts/po/ru.po               |    2 +-
 scripts/po/sv.po               |    2 +-
 scripts/update-alternatives.pl |    4 ++--
 src/statcmd.c                  |    2 +-
 35 files changed, 39 insertions(+), 39 deletions(-)

commit 744f0bd2396bb345e4c975134dac50c1bd8c969c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Mar 11 08:25:30 2010 +0100

    u-a: Mark strings for translation

 scripts/update-alternatives.pl |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5b7ce047b9376613fc6fe6a53890b9a4e0c9b732
Author: Christian PERRIER <bubulle@debian.org>
Date:   Thu Mar 11 23:00:49 2010 +0100

    Spanish dselect translation

 debian/changelog |    1 +
 dselect/po/es.po |  138 +++++++++++++++++++++++++++---------------------------
 2 files changed, 70 insertions(+), 69 deletions(-)

commit 3fe24e0475272eea6b72400571d6df5435d06a5b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Mar 10 23:11:42 2010 +0100

    Update German scripts translation
    
    Update to 498t.

 scripts/po/de.po |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

commit cd715df65ce8f35467197eecf8c63c9d15a272d6
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Mar 10 23:06:46 2010 +0100

    Fix a build error

 man/po/sv.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 1e84a1bd2c7b175cd15934345af61841a7435eda
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Mar 5 22:07:30 2010 +0100

    Dpkg::Source::Package::V3::quilt: sanity check of series file
    
    A series file should only contain path pointing inside debian/patches/
    and thus "../" are forbidden. Given that the path to patches appear
    in the patch command-line with -B .pc/$path, a carefully crafted
    path could lead patch to overwrite an arbitrary file outside of the
    destination directory with a file provided in the source package.

 debian/changelog                        |    3 +++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 2cb3d5d38fbe937280a8875b79a7247ac37a383d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Mar 5 18:19:33 2010 +0100

    Dpkg::Source::Patch: add more sanity checks on patches
    
    patch will happily accept filenames like "../../../../stuff" and modify
    files outside of the expected destination directory. To avoid problems
    we error out when we detect a filename that contains "/../". Any leading
    "../" is not a problem since patches are applied with -p1 and it's
    stripped.
    
    We also verify that the file to be modified is not accessed through a
    symlink as a compromised source package could also provide a symlink in
    the orig.tar.gz that points outside of the destination directory.

 debian/changelog             |    6 ++++++
 scripts/Dpkg/Source/Patch.pm |   17 +++++++++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)

commit f2f4d4f671e9bbc911dfe81d2f22c31950811085
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Mar 9 22:46:18 2010 +0100

    Remove string debugging aid.

 scripts/po/sv.po |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit b606edd00ebd78fb02fb0cf30b1b4346b2bb2d84
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Mar 9 15:29:46 2010 +0100

    Update Swedish translation.
    
    man/po/sv.po: 1799t0f0u.

 man/po/sv.po |  633 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 452 insertions(+), 181 deletions(-)

commit 149872cec4bdd7bb61325f0b716400743cc9f784
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Mar 8 21:39:00 2010 +0100

    Update German translation of manual pages
    
    Update to 1799t.

 man/po/de.po |   46 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 37 insertions(+), 9 deletions(-)

commit c424454b64dc1cfd67f69045720d5d5e4f13f971
Author: Peter Krefting <peterk@debian.org>
Date:   Mon Mar 8 13:40:52 2010 +0100

    Update Swedish translation.
    
    dselect/po/sv.po: 277t0f0u.
    po/sv.po: 973t0f0u.
    scripts/po/sv.po: 496t0f0u.

 debian/changelog |    1 +
 dselect/po/sv.po |   13 +++++--------
 po/sv.po         |   30 +++++++++++++++---------------
 scripts/po/sv.po |    6 +++---
 4 files changed, 24 insertions(+), 26 deletions(-)

commit 245c885e128b78fcf068d3308f107868347953a2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Mar 8 12:19:27 2010 +0100

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |  161 ++--
 dselect/po/ca.po        |  171 ++--
 dselect/po/cs.po        |  171 ++--
 dselect/po/da.po        |  171 ++--
 dselect/po/de.po        |   16 +-
 dselect/po/dselect.pot  |  160 ++--
 dselect/po/el.po        |  169 ++--
 dselect/po/es.po        |  171 ++--
 dselect/po/et.po        |  171 ++--
 dselect/po/eu.po        |  171 ++--
 dselect/po/fr.po        |  171 ++--
 dselect/po/gl.po        |  171 ++--
 dselect/po/hu.po        |  166 ++--
 dselect/po/id.po        |  171 ++--
 dselect/po/it.po        |  171 ++--
 dselect/po/ja.po        |  171 ++--
 dselect/po/ko.po        |  171 ++--
 dselect/po/nb.po        |  171 ++--
 dselect/po/nl.po        |  171 ++--
 dselect/po/nn.po        |  169 ++--
 dselect/po/pl.po        |  171 ++--
 dselect/po/pt.po        |  171 ++--
 dselect/po/pt_BR.po     |  171 ++--
 dselect/po/ro.po        |  173 ++--
 dselect/po/ru.po        |  171 ++--
 dselect/po/sk.po        |  171 ++--
 dselect/po/sv.po        |  171 ++--
 dselect/po/tl.po        |  169 ++--
 dselect/po/vi.po        |  171 ++--
 dselect/po/zh_CN.po     |  171 ++--
 dselect/po/zh_TW.po     |  169 ++--
 man/po/dpkg-man.pot     | 1447 ++++++++++++++++++---------------
 man/po/es.po            | 1650 ++++++++++++++++++++-----------------
 man/po/fr.po            | 1715 ++++++++++++++++++++++----------------
 man/po/hu.po            | 1593 ++++++++++++++++++++----------------
 man/po/ja.po            | 1649 +++++++++++++++++++++----------------
 man/po/pl.po            | 1715 ++++++++++++++++++++++----------------
 man/po/pt_BR.po         | 1633 +++++++++++++++++++++----------------
 man/po/ru.po            | 1627 ++++++++++++++++++++----------------
 man/po/sv.po            | 1840 ++++++++++++++++++++++++------------------
 po/ast.po               | 2034 ++++++++++++++++++++++++---------------------
 po/bs.po                | 1857 +++++++++++++++++++++--------------------
 po/ca.po                | 2028 ++++++++++++++++++++++++---------------------
 po/cs.po                | 2023 ++++++++++++++++++++++++---------------------
 po/da.po                | 2027 ++++++++++++++++++++++++---------------------
 po/de.po                |  481 ++++++-----
 po/dpkg.pot             | 1836 +++++++++++++++++++++--------------------
 po/dz.po                | 2026 ++++++++++++++++++++++++---------------------
 po/el.po                | 2039 ++++++++++++++++++++++++----------------------
 po/eo.po                | 2020 ++++++++++++++++++++++++---------------------
 po/es.po                | 2036 ++++++++++++++++++++++++---------------------
 po/et.po                | 2006 +++++++++++++++++++++++---------------------
 po/eu.po                | 2019 ++++++++++++++++++++++++---------------------
 po/fr.po                | 2106 +++++++++++++++++++++++++----------------------
 po/gl.po                | 2041 ++++++++++++++++++++++++----------------------
 po/hu.po                | 2025 ++++++++++++++++++++++++---------------------
 po/id.po                | 2017 ++++++++++++++++++++++++---------------------
 po/it.po                | 2029 ++++++++++++++++++++++++---------------------
 po/ja.po                | 2025 ++++++++++++++++++++++++---------------------
 po/km.po                | 2021 ++++++++++++++++++++++++---------------------
 po/ko.po                | 2025 ++++++++++++++++++++++++---------------------
 po/ku.po                | 1917 ++++++++++++++++++++++---------------------
 po/lt.po                | 1997 +++++++++++++++++++++++---------------------
 po/mr.po                | 2020 ++++++++++++++++++++++++---------------------
 po/nb.po                | 2028 ++++++++++++++++++++++++---------------------
 po/ne.po                | 2027 ++++++++++++++++++++++++---------------------
 po/nl.po                | 2025 ++++++++++++++++++++++++---------------------
 po/nn.po                | 2022 ++++++++++++++++++++++++---------------------
 po/pa.po                | 1932 ++++++++++++++++++++++---------------------
 po/pl.po                | 2032 ++++++++++++++++++++++++---------------------
 po/pt.po                | 2042 ++++++++++++++++++++++++----------------------
 po/pt_BR.po             | 2043 ++++++++++++++++++++++++----------------------
 po/ro.po                | 2040 ++++++++++++++++++++++++----------------------
 po/ru.po                | 2029 ++++++++++++++++++++++++---------------------
 po/sk.po                | 2035 ++++++++++++++++++++++++---------------------
 po/sv.po                |  494 ++++++-----
 po/th.po                | 2022 ++++++++++++++++++++++++---------------------
 po/tl.po                | 2023 ++++++++++++++++++++++++---------------------
 po/vi.po                | 2041 ++++++++++++++++++++++++----------------------
 po/zh_CN.po             | 2022 ++++++++++++++++++++++++---------------------
 po/zh_TW.po             | 2022 ++++++++++++++++++++++++---------------------
 scripts/po/ca.po        | 1278 +++++++++++++++--------------
 scripts/po/de.po        |    2 +-
 scripts/po/dpkg-dev.pot | 1262 +++++++++++++++--------------
 scripts/po/fr.po        | 1399 +++++++++++++++++--------------
 scripts/po/pl.po        | 1343 ++++++++++++++++--------------
 scripts/po/ru.po        | 1343 ++++++++++++++++--------------
 scripts/po/sv.po        |   96 ++-
 88 files changed, 56459 insertions(+), 49781 deletions(-)

commit c10ff1b95151394363767674faf7c8e400cc47ca
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Mar 8 08:11:59 2010 +0100

    Dpkg::Deps::deps_compare(): fix a warning
    
    Commit 113533 broke it by using constants as keys: the name of the
    constants were used as string literals due to "=>" when we wanted their
    values to be used. Now we use the function notation of constants (since
    that's how they are implemented) to avoid this.
    
    Reported-By: Jonathan Nieder <jrnieder@gmail.com>

 scripts/Dpkg/Deps.pm |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 2cc0673bb09176d75016cd6a7db7dc6e97f4e6ad
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Mar 7 22:40:40 2010 +0100

    Update German translation of manual pages
    
    Update to 1789t0f10u.

 man/po/de.po | 2154 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 1367 insertions(+), 787 deletions(-)

commit 5329030634fc3cb66f05b8d46f33047e7407a6fb
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Mar 7 22:31:08 2010 +0100

    Correct a minor grammar issue

 man/dpkg-gensymbols.1 |    2 +-
 man/po/de.po          |    4 ++--
 man/po/dpkg-man.pot   |    2 +-
 man/po/es.po          |    4 ++--
 man/po/fr.po          |    4 ++--
 man/po/hu.po          |    4 ++--
 man/po/ja.po          |    4 ++--
 man/po/pl.po          |    4 ++--
 man/po/pt_BR.po       |    4 ++--
 man/po/ru.po          |    4 ++--
 man/po/sv.po          |    4 ++--
 11 files changed, 20 insertions(+), 20 deletions(-)

commit 50af2e7a7a3ad6f445df0f16337a546509d5157c
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Mar 7 22:04:47 2010 +0100

    Update German scripts translation
    
    Update to 496t.

 scripts/po/de.po | 1369 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 703 insertions(+), 666 deletions(-)

commit 1b1c9e3decbe67ad7d2c49bde36c686d60dbf256
Author: Peter Krefting <peterk@debian.org>
Date:   Sun Mar 7 14:03:55 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 966t0f0u.
    man/po/sv.po: 1671t42f66u.
    scripts/po/sv.po: 496t0f0u.

 man/po/sv.po     |  101 +++-
 po/sv.po         | 1873 ++++++++++++++++++++++++++++--------------------------
 scripts/po/sv.po | 1355 +++++++++++++++++++++------------------
 3 files changed, 1785 insertions(+), 1544 deletions(-)

commit 690f099bf2d05bf2f02a5952cfc4dd4b6fe66d0a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 7 07:00:12 2010 +0100

    man: Document “dpkg-query -l” abbreviated state information
    
    Closes: #383869
    
    Based-on-patch-by: Marc-Jano Knopp <pub_br_debian.org@marc-jano.de>

 debian/changelog |    3 +++
 man/dpkg-query.1 |   34 ++++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 0 deletions(-)

commit 8e9ad1f1143db9dbbda74d45a4510d91ab039164
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 7 06:31:28 2010 +0100

    man: Document the exit codes for dpkg-query
    
    Closes: #571798

 debian/changelog |    1 +
 man/dpkg-query.1 |    9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 1929eef9d7973dee574314349a648854762b1615
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 7 06:09:08 2010 +0100

    man: Remove "VARIABLES" from "ENVIRONMENT" section name
    
    Unify with the rest of the man pages and use the most commonly used
    section name.

 man/dpkg-buildpackage.1 |    6 +++---
 man/dpkg.1              |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 63b51af546ee55c9b0a1111c8f72a2c97bde45fb
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Mar 7 06:06:20 2010 +0100

    man: Document environment variables affecting dpkg-deb, dpkg and dselect
    
    The missing undocumented variables are TMPDIR for dpkg and dpkg-deb,
    HOME for dselect and dpkg and PAGER for dpkg.
    
    Closes: #572836

 debian/changelog |    2 ++
 man/dpkg-deb.1   |    8 +++++++-
 man/dpkg.1       |   13 ++++++++++++-
 man/dselect.1    |    8 +++++++-
 4 files changed, 28 insertions(+), 3 deletions(-)

commit 62668eb422853854976560949f95a5afcc6a8677
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 27 19:55:25 2010 +0100

    Do an fsync on files written to disk
    
    This guarantees the file contents will be there in case of abrupt
    program termination (due to crashes for example, or user intervention).
    This also guarantees the atomicity of rename(2) calls.
    
    Closes: #430958
    
    Based-on-patch-by: Jean-Baptiste Lallement <jeanbaptiste.lallement@gmail.com>

Notes:
    The crashes and user intervention comment here, refer to abrupt
    termination of the system, and not just the program, due to an overall
    malfunction of the kernel, the hardware or the user pulling the plug,
    for example.

 debian/changelog          |    4 ++++
 dpkg-deb/build.c          |    4 ++++
 dpkg-split/join.c         |    5 +++++
 dpkg-split/queue.c        |    4 ++++
 lib/dpkg/triglib.c        |   12 ++++++++++++
 src/archives.c            |    2 ++
 src/statcmd.c             |    4 ++++
 utils/start-stop-daemon.c |    4 ++++
 8 files changed, 39 insertions(+), 0 deletions(-)

commit 9d81bf92ef791ad4644f36d3b5f7361e883134d6
Author: Stefan Fritsch <sf@sfritsch.de>
Date:   Sat Feb 27 06:31:47 2010 +0100

    dpkg: Use posix_fadvise on non-Linux to speed up .list files loading
    
    When FIEMAP is not available try to use posix_fadvise() to request
    the preloading of the .list files. A search with dpkg-query went
    from 28 to 17 seconds, giving around 40% improvement.
    
    Closes: #557560
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 configure.ac     |    3 ++-
 debian/changelog |    3 +++
 src/filesdb.c    |   22 ++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletions(-)

commit 8e31b0f0fb6b14e605407b824f4e2f1b0c12bab6
Author: Morten Hustveit <morten@debian.org>
Date:   Tue Nov 3 16:11:46 2009 +0100

    dpkg: Use FIEMAP to sort .list files before scanning
    
    When running dpkg from a cold cache on a system where <admindir>/info/
    lies on a hard disk, a lot of time is spent waiting for seeks between
    (typically) thousands of files. This patch changes the behavior of
    ensure_allinstfiles_available(), so that it accesses the packages in
    the order of their .list files' physical locations on the hard disk,
    greatly reducing drive head movements.
    
    The performance improvement is around 70% on my system: reinstalling
    a simple package takes 8 seconds instead of 27 seconds. The caches were
    dropped before each run, and 10 runs were done with consistent results.
    The performance is identical to the previous patch using FIBMAP,
    althought this one has the advantage of not needing root privileges.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 configure.ac     |    2 +-
 debian/changelog |    3 ++
 src/filesdb.c    |   92 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 src/main.h       |    2 +
 4 files changed, 94 insertions(+), 5 deletions(-)

commit b3ffabc01224d0317f774405722f679ee8bf3978
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 1 18:54:39 2010 +0100

    dpkg: Switch SE Linux support to explicitly set path contexts
    
    The current code sets the default context and does not clean it on
    conffile extraction or in case of unpack error, which causes the wrong
    context to be applied to files under <admindir>.
    
    Switch the code to explicitly set the path context for newly extracted
    and created files so that we don't need to care about unpack error
    recovery or conffile extraction to restore the default context.
    
    Refactor the code into a new function and remove an unneeded setting of
    the context just before the rename from <node>.dpkg-new to <node>.
    
    Closes: #498438

 debian/changelog |    3 ++
 src/archives.c   |  101 ++++++++++++++++++++++--------------------------------
 2 files changed, 44 insertions(+), 60 deletions(-)

commit 9114e9d298a84dd7f1b1a27b4a377ddd4e7c2f8b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 23:38:51 2010 +0100

    Use while () instead for () when using package iterators
    
    The code looks more balanced this way.

 dselect/pkglist.cc |    6 +++---
 src/depcon.c       |    3 ++-
 src/enquiry.c      |    6 +++---
 3 files changed, 8 insertions(+), 7 deletions(-)

commit 1d647dd23c14c0c340d36e44c687b2530c04ac97
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 23:34:11 2010 +0100

    Release the package iterators when done
    
    This is a cause of memory leaks, but in these cases the program is about
    to exit anyway, so we do it for correctness.

 dselect/pkglist.cc |    2 ++
 src/enquiry.c      |    2 ++
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 972d84487ace85a7f547c5b9d74be1a4253d1e79
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 26 00:01:28 2010 +0100

    libdpkg: Move generic file locking from lock.c to file.c

 lib/dpkg/Makefile.am    |    1 -
 lib/dpkg/dbmodify.c     |    1 +
 lib/dpkg/dpkg.h         |    6 ---
 lib/dpkg/file.c         |   49 ++++++++++++++++++++++++++++-
 lib/dpkg/file.h         |    4 ++
 lib/dpkg/lock.c         |   81 -----------------------------------------------
 lib/dpkg/trigdeferred.l |    1 +
 po/POTFILES.in          |    1 -
 8 files changed, 54 insertions(+), 90 deletions(-)

commit 2cede33e0736d48fd3a6bc85f59904a2825d7475
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 23:52:24 2010 +0100

    libdpkg: Rename lock functions to have file_ as prefix
    
    Rename lock_file to file_lock, and unlock_file to file_unlock.

 lib/dpkg/dbmodify.c     |    4 ++--
 lib/dpkg/dpkg.h         |    4 ++--
 lib/dpkg/lock.c         |   10 +++++-----
 lib/dpkg/trigdeferred.l |    2 +-
 4 files changed, 10 insertions(+), 10 deletions(-)

commit 8ff7219457b3c6e75006d18d4d1d39e2aa62205b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 27 23:13:45 2010 +0100

    libdpkg: Add new trig_override_hooks to avoid exposing trigh
    
    Make trigh static and create an overrider function for it.

 lib/dpkg/dpkg-db.h |    4 ++--
 lib/dpkg/triglib.c |    9 ++++++++-
 src/trigproc.c     |    2 +-
 3 files changed, 11 insertions(+), 4 deletions(-)

commit 0f96ab4c3465785911cea9ec73c7c3fa9f4467b6
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 27 21:48:24 2010 +0100

    libdpkg: Add new trigdef_update_printf to avoid exposing trig_new_deferred
    
    Make trig_new_deferred static and create a printer function for it.

 lib/dpkg/dpkg-db.h      |    3 +--
 lib/dpkg/trigdeferred.l |   13 +++++++++++--
 src/trigcmd.c           |    9 ++++-----
 3 files changed, 16 insertions(+), 9 deletions(-)

commit 239b48d8a9a244061bc09d446b9ef0c3732342d6
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 27 21:42:40 2010 +0100

    libdpkg: Add new trigdef_set_methods to avoid exposing trigdef
    
    Make trigdef static and create a setter function for it.

 lib/dpkg/dpkg-db.h      |    2 +-
 lib/dpkg/trigdeferred.l |    9 ++++++++-
 lib/dpkg/triglib.c      |    2 +-
 src/trigcmd.c           |    3 ++-
 4 files changed, 12 insertions(+), 4 deletions(-)

commit 76c8c559df929567c2ff9352617e4f116b761629
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 18:50:23 2010 +0100

    libdpkg: Rename database lock functions to use modstatdb_ prefix
    
    Remove now redudant database suffix from the function names.

 lib/dpkg/dbmodify.c |    8 ++++----
 lib/dpkg/dpkg-db.h  |    7 ++-----
 src/update.c        |    4 ++--
 3 files changed, 8 insertions(+), 11 deletions(-)

commit 19f7a159d50b4f8ddadda1ede34c9fb9feed1526
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 18:46:13 2010 +0100

    libdpkg: Move database lock functions to the modstatdb module

 lib/dpkg/dbmodify.c |   35 +++++++++++++++++++++++++++++++++++
 lib/dpkg/lock.c     |   30 ------------------------------
 2 files changed, 35 insertions(+), 30 deletions(-)

commit 6ac32172670d15dba297f941c296576d2a3ca0a6
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 18:39:14 2010 +0100

    libdpkg: Remove unused showcopyright prototype
    
    This was forgotten in commit 06b64be7ba505c51f8673e7ba323629e9c60574d.

 lib/dpkg/myopt.h |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 3c32c3e2c71c21f6d7b0714986b58cb918856701
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 18:02:46 2010 +0100

    libdpkg: Mark (de)compress_xz functions as not returning

 lib/dpkg/compress.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit a727752bf9efeeaf0f06f78371c6d9f4085db4c3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Mar 5 11:04:59 2010 +0100

    dpkg-source: do not fallback to other source formats
    
    When the prerequesites of the current source format are not met,
    simply error out instead of trying to fallback to other source formats.

 debian/changelog       |    2 +
 man/dpkg-source.1      |   12 ++++------
 scripts/dpkg-source.pl |   49 +++++++++++++++++++++++------------------------
 3 files changed, 31 insertions(+), 32 deletions(-)

commit e00c979a835e78b682c1cd1d55f14bbeb5566fdf
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Mar 1 08:34:10 2010 +0100

    Add missing bug closure
    
    The rewrite of Dpkg::Checksums fixed a bug which has just been reported
    as #572030. It was not able to deal with filenames with spaces.

 debian/changelog |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 1ac633351d68c393128fb175ae7b03fd0a33cb5a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 26 11:12:59 2010 +0100

    Drop unused lintian override on dselect

 debian/changelog                 |    2 ++
 debian/dselect.lintian-overrides |    1 -
 2 files changed, 2 insertions(+), 1 deletions(-)

commit bd5c376383a09242f94ec29574072a2a4bc4dc89
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 26 13:53:41 2010 +0100

    Update Standards-Version to 3.8.4 (no changes needed).

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 7fd5e980f780c43e757432c7f0438e23c1e4d4cd
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 26 13:50:42 2010 +0100

    Introduce the libdpkg-perl package
    
    Clarify the status of the API in README.api.

 debian/.gitignore                     |    1 +
 debian/changelog                      |    1 +
 debian/control                        |   39 ++++++++++++++++++++++++++++++--
 debian/dpkg-dev.install               |    4 ---
 debian/libdpkg-perl.docs              |    4 +++
 debian/libdpkg-perl.install           |    4 +++
 debian/libdpkg-perl.lintian-overrides |    2 +
 doc/README.api                        |   18 +++++++++++----
 8 files changed, 61 insertions(+), 12 deletions(-)

commit 0934601905ea4546a874a6558f7a2a2552cd62f1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 26 11:10:08 2010 +0100

    Update POD documentation to indicate that it's using UTF-8 encoding
    
    Also fix many spelling errors spotted by lintian.

 scripts/Dpkg/BuildOptions.pm           |    2 ++
 scripts/Dpkg/Changelog.pm              |    2 ++
 scripts/Dpkg/Changelog/Debian.pm       |    2 ++
 scripts/Dpkg/Changelog/Entry.pm        |    2 ++
 scripts/Dpkg/Changelog/Entry/Debian.pm |    2 ++
 scripts/Dpkg/Changelog/Parse.pm        |    6 ++++--
 scripts/Dpkg/Checksums.pm              |    2 ++
 scripts/Dpkg/Compression.pm            |    2 ++
 scripts/Dpkg/Compression/FileHandle.pm |    4 +++-
 scripts/Dpkg/Compression/Process.pm    |    2 ++
 scripts/Dpkg/Conf.pm                   |    2 ++
 scripts/Dpkg/Control.pm                |    4 +++-
 scripts/Dpkg/Control/Changelog.pm      |    2 ++
 scripts/Dpkg/Control/Fields.pm         |    2 ++
 scripts/Dpkg/Control/Hash.pm           |    6 ++++--
 scripts/Dpkg/Control/Info.pm           |    2 ++
 scripts/Dpkg/Control/Types.pm          |    2 ++
 scripts/Dpkg/Deps.pm                   |    2 ++
 scripts/Dpkg/IPC.pm                    |    4 +++-
 scripts/Dpkg/Index.pm                  |    2 ++
 scripts/Dpkg/Interface/Storable.pm     |    2 ++
 scripts/Dpkg/Path.pm                   |    2 ++
 scripts/Dpkg/Substvars.pm              |    2 ++
 scripts/Dpkg/Vendor.pm                 |    2 ++
 scripts/Dpkg/Vendor/Debian.pm          |    2 ++
 scripts/Dpkg/Vendor/Default.pm         |    2 ++
 scripts/Dpkg/Vendor/Ubuntu.pm          |    2 ++
 scripts/Dpkg/Version.pm                |    2 ++
 28 files changed, 63 insertions(+), 7 deletions(-)

commit 99d10e43d038693d59d455ec3402857fc57da034
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 26 11:00:57 2010 +0100

    Generate manual pages for perl modules with pod2man

 configure.ac            |    1 +
 debian/changelog        |    1 +
 debian/dpkg-dev.install |    1 +
 m4/dpkg-progs.m4        |    7 +++++++
 scripts/Makefile.am     |   25 ++++++++++++++++++++++++-
 5 files changed, 34 insertions(+), 1 deletions(-)

commit 4c933be6a53553a32722803f336ac37eded9fb9b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 26 10:57:18 2010 +0100

    Dpkg::BuildOptions: deal properly with undefined values in merge()

 scripts/Dpkg/BuildOptions.pm |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit d66ba7eb665a471869a31789a80f40510f54ce30
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Feb 25 18:04:10 2010 +0100

    dpkg-genchanges, dpkg-source: only split Binary field when it's too long
    
    Applying the substitution on short lines will split them too even though
    they are not longer than 980 chars.

 scripts/dpkg-genchanges.pl |    6 ++++--
 scripts/dpkg-source.pl     |    6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

commit 08094e069d2ae05b50dc31ba64e3f3b865e4a8e0
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Feb 25 17:47:14 2010 +0100

    Dpkg::Checksums: rewrite to provide an object-oriented API
    
    Many other modules and scripts are also updated to cope with the new API.
    The API of the module should be stable from now on, hence increased
    $VERSION to "1.00".

 debian/changelog               |    1 +
 scripts/Dpkg/Checksums.pm      |  376 +++++++++++++++++++++++++++++++++-------
 scripts/Dpkg/Control/Fields.pm |    8 +-
 scripts/Dpkg/Control/Hash.pm   |    4 +-
 scripts/Dpkg/Source/Package.pm |   55 ++-----
 scripts/dpkg-genchanges.pl     |   54 ++----
 scripts/dpkg-scanpackages.pl   |   13 +-
 scripts/dpkg-scansources.pl    |   28 +--
 8 files changed, 365 insertions(+), 174 deletions(-)

commit af71e3484e0959d45dea24e254ab1d58010e8009
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Feb 25 11:31:43 2010 +0100

    German dselect translation update
    
    Update to 277t.

 dselect/po/de.po |  161 ++++++++++++++++++++++++++----------------------------
 1 files changed, 77 insertions(+), 84 deletions(-)

commit ac92038c7b29807cb81fd2cf7206117df2f00a3b
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Feb 25 11:21:46 2010 +0100

    German dpkg translation update
    
    Update to 966t.

 po/de.po |  897 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 453 insertions(+), 444 deletions(-)

commit 6d76c37aaa30f319b366e8b711558a9f8f2e7504
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Feb 25 10:33:44 2010 +0100

    Makefile.am: Fix EXTRA_DIST target
    
    Reflect rename of source.lintian-overrides in commit
    d2b11fc77ab5e2d0208f7a60a21984726c481fe7.

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d2b11fc77ab5e2d0208f7a60a21984726c481fe7
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 09:04:15 2010 +0100

    Move source.lintian-overrides to debian/source/lintian-overrides

 debian/changelog                                   |    1 +
 .../lintian-overrides}                             |    0
 2 files changed, 1 insertions(+), 0 deletions(-)

commit 096167f3a0d86c11a04954ec14a05b91802cf7ab
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 09:02:59 2010 +0100

    Reorganize the doc contents that goes into each package
    
    README.multicd only in dselect.
    README.api only in development packages, dpkg-dev and libdpkg-dev.
    triggers.txt only in dpkg-dev.

 debian/changelog     |    4 ++++
 debian/dpkg-dev.docs |    7 ++++++-
 debian/dpkg.docs     |    3 ---
 debian/dselect.docs  |    6 +++++-
 4 files changed, 15 insertions(+), 5 deletions(-)

commit 9cdcabb0a7f7a38b8cd2292a48a98eb4eb5e458d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 07:04:53 2010 +0100

    Add a new libdpkg-dev package with the headers and the static library
    
    The API should be considered volatile. Although this will help somewhat
    people that are currently using the static library anyway, but have to
    resort to building dpkg from source and using the headers and the static
    library from the source tree.

 Makefile.am                          |    3 +
 configure.ac                         |    1 +
 debian/.gitignore                    |    1 +
 debian/changelog                     |    2 +
 debian/control                       |   12 ++++++
 debian/libdpkg-dev.docs              |    5 ++
 debian/libdpkg-dev.install           |    3 +
 debian/libdpkg-dev.lintian-overrides |    2 +
 lib/dpkg/.gitignore                  |    1 +
 lib/dpkg/Makefile.am                 |   69 +++++++++++++++++++++++-----------
 lib/dpkg/libdpkg.pc.in               |   12 ++++++
 11 files changed, 89 insertions(+), 22 deletions(-)

commit c406ca71c4fa7b8b49a240f33a36b69decfcc3c9
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 30 20:57:00 2010 +0100

    libdpkg: Require users to define LIBDPKG_VOLATILE_API
    
    The exposed API is not yet finished, make the users explicitly
    acknowledge this fact by requiring them to define this preprocessor
    symbol.

 configure.ac      |    1 +
 debian/changelog  |    2 ++
 doc/README.api    |   11 +++++++++++
 lib/dpkg/macros.h |    4 ++++
 4 files changed, 18 insertions(+), 0 deletions(-)

commit fd8fb6f415a1fdf7ffff6f5ad26048be8ce28412
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 08:50:49 2010 +0100

    libdpkg: Add missing DPKG_ATTR_VPRINTF when !HAVE_C_ATTRIBUTE

 lib/dpkg/macros.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 8cf1ec6108d944eaecbdca7a9b52f92ee0db6a8b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 07:02:41 2009 +0200

    Dynamically link against all external libraries
    
    This includes libbz2 and zlib for dpkg-deb and and libselinux for
    dpkg on GNU/Linux.

 debian/changelog              |    2 ++
 debian/dpkg.lintian-overrides |    2 --
 debian/rules                  |    6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

commit fc39dea9ec2ed9528f39eb288e94932913f70bf8
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 05:58:01 2010 +0100

    dpkg-buildpackage: Do not set PKG_CONFIG_LIBDIR when cross-building
    
    The proper solution to this is to let the build system choose the
    appropriate pkg-config binary for the build or host system in the
    same way pkg.m4 is handling it now.
    
    Closes: #551118

 debian/changelog             |    4 ++++
 scripts/dpkg-buildpackage.pl |   11 -----------
 2 files changed, 4 insertions(+), 11 deletions(-)

commit 54be54799fd73850a6e869e3a8e270b35a9f7384
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 05:09:25 2010 +0100

    Use xz-utils instead of lzma for the lzma compression format
    
    We avoid unneeded dependencies on lzma in dpkg and dpk-dev.

 debian/changelog            |    2 ++
 debian/control              |    4 ++--
 lib/dpkg/compress.c         |    4 ++--
 lib/dpkg/compress.h         |    1 -
 scripts/Dpkg/Compression.pm |    4 ++--
 5 files changed, 8 insertions(+), 7 deletions(-)

commit 9bb208a8338253a1c9e1d0642cf1ef039a335951
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 1 05:16:33 2010 +0100

    Add support for xz compressed data.tar member of binary packages
    
    Use the xz command from xz-utils to support xz-compressed binary
    packages. Add xz-utils to dpkg's Pre-Depends.
    
    The xz format is very similar to the lzma format, but it fixes
    some omissions in the latter, most notably a magic number for
    identification by file(1).
    
    Closes: #542160
    
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>

 debian/changelog    |    3 +++
 debian/control      |    2 +-
 dpkg-deb/main.c     |    2 +-
 lib/dpkg/compress.c |   28 ++++++++++++++++++++++++++++
 lib/dpkg/compress.h |    2 ++
 man/deb.5           |    1 +
 man/dpkg-deb.1      |    4 ++--
 7 files changed, 38 insertions(+), 4 deletions(-)

commit 8394c68c543ca4efc309f5c0917cc1d3998d5a79
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 04:35:48 2010 +0100

    libdpkg: Change default lzma compression level from 9 to 6
    
    Set the default compression level low enough to produce packages
    that require no more than 10 MiB of memory to decompress, by
    lowering it to 6 from 9 (this matches xz internal default compression
    level).
    
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>

 debian/changelog    |    2 ++
 lib/dpkg/compress.c |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 6b5c4f96c0b1f1df0d4de71b13cf1a201fb52331
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 30 02:17:22 2010 +0100

    libdpkg-perl: Make comp_prog and decomp_prog %COMP properties arrays
    
    This will allow storing arguments alongside the command names
    themselves.

 scripts/Dpkg/Compression.pm         |   16 ++++++++--------
 scripts/Dpkg/Compression/Process.pm |    4 ++--
 2 files changed, 10 insertions(+), 10 deletions(-)

commit 7738fe5398d6610723c3def2ddc50eea1a73c327
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Feb 25 04:13:02 2010 +0100

    Securely remove newly installed files when rolling-back a failed unpack
    
    When an error occurs during unpack the code is not securely removing
    the newly installed files that might be still laying around, which
    gives attackers a small window were they could hard link a file with
    set id bits. This situation is pretty contrived as the attacked would
    need to control the failing of the package during unpack.

 debian/changelog |    1 +
 src/archives.c   |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 716362c59e531883304a211afa61660608c214b3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Feb 23 09:49:12 2010 +0100

    dpkg-name: Mark missing strings for translation

 scripts/dpkg-name.pl |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

commit 06b64be7ba505c51f8673e7ba323629e9c60574d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Feb 23 00:08:12 2010 +0100

    Remove --license and --licence options from tools
    
    The options are pretty useless and non-standard. The user can surely
    cat a file from the installed package. In addition this option has not
    worked ever on non-Debian systems as it's relying on the GPL-2 file
    from the base-files Debian package. So remove it, and we get some code
    reduction as a nice side-effect.

 debian/changelog      |    1 +
 dpkg-deb/main.c       |    8 +-------
 dpkg-split/main.c     |    6 +-----
 dselect/main.cc       |    6 +-----
 lib/dpkg/Makefile.am  |    2 --
 lib/dpkg/myopt-util.c |   44 --------------------------------------------
 man/dpkg-deb.1        |    3 ---
 man/dpkg-name.1       |    3 ---
 man/dpkg-query.1      |    3 ---
 man/dpkg-split.1      |    3 ---
 man/dpkg-trigger.1    |    3 ---
 man/dpkg.1            |    3 ---
 man/dselect.1         |    7 +------
 po/POTFILES.in        |    1 -
 src/main.c            |    9 +--------
 src/query.c           |   12 ++----------
 src/statcmd.c         |    8 +-------
 src/trigcmd.c         |    8 +-------
 18 files changed, 10 insertions(+), 120 deletions(-)

commit 0b134aa7f39aebf07d94735d657b856089ab1074
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 19:09:51 2010 +0100

    libdpkg: Do not include unused <sys/cdefs.h>

 lib/dpkg/dpkg.h |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 3516d105a427ad95c4d6bacb96030e4267c842fd
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 19:07:50 2010 +0100

    libdpkg: Always include <stddef.h>
    
    We need the definitions from the header, so conditionally including it
    will only cause problems, we are also unconditionally including it in
    other parts of the code, so it's safe to assume it's always available.

 lib/dpkg/dpkg.h |    2 --
 lib/dpkg/path.h |    2 --
 2 files changed, 0 insertions(+), 4 deletions(-)

commit 5d1099ae03048739add513ceb52c1773bb9e0e7e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 19:03:38 2010 +0100

    Header files should not include <config.h> and <compat.h>
    
    Those files are internal to the build, and should not be exposed, as
    this will cause problems once we ship a libdpkg-dev, it also helps
    having them explicitly in the .c and .cc files to avoid accidents like
    the one fixed by commit 0043d020cf7aafe3e253c6d5c9afb93521971e60.

 lib/dpkg/ar.h               |    3 ---
 lib/dpkg/pkg-array.h        |    3 ---
 lib/dpkg/pkg-list.h         |    3 ---
 lib/dpkg/test.h             |    3 ---
 lib/dpkg/test/t-ar.c        |    3 +++
 lib/dpkg/test/t-buffer.c    |    3 +++
 lib/dpkg/test/t-command.c   |    3 +++
 lib/dpkg/test/t-macros.c    |    3 +++
 lib/dpkg/test/t-path.c      |    3 +++
 lib/dpkg/test/t-pkg-list.c  |    3 +++
 lib/dpkg/test/t-pkg-queue.c |    3 +++
 lib/dpkg/test/t-pkginfo.c   |    3 +++
 lib/dpkg/test/t-string.c    |    3 +++
 lib/dpkg/test/t-test.c      |    3 +++
 lib/dpkg/test/t-varbuf.c    |    3 +++
 lib/dpkg/test/t-version.c   |    3 +++
 lib/dpkg/trigdeferred.l     |    1 +
 utils/install-info.c        |    1 +
 utils/start-stop-daemon.c   |    1 +
 19 files changed, 39 insertions(+), 12 deletions(-)

commit c7ade13aa8ad04788efb9d8775f2f5ac6d484e98
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 05:11:29 2010 +0100

    dpkg-deb: Change temporary directory suffix to dpkg-deb
    
    Makes it more obvious who created the directory.

 dpkg-deb/build.c |    4 ++--
 dpkg-deb/info.c  |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit bb6c5961bdf2b72b08bce367004dd1a65e71a725
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 05:09:47 2010 +0100

    dpkg-deb: Make cu_info_prepare use ohshite instead of perror
    
    Make the other error paths call ohshite instead of just perror and
    returning or exiting manually.

 dpkg-deb/info.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 3f355904aa56fcb6c782d951d75bf136c3b8b81d
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 05:08:00 2010 +0100

    dpkg-deb: Use subproc functions instead of ad-hoc code
    
    This makes cu_info_prepare call ohshite in case of error, but that's
    fine as the normal unwinding will happen in that case.

 dpkg-deb/info.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit ffccc65580189420a0a64736bba0fb661de56dcb
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 05:04:54 2010 +0100

    Use mkdtemp and path_make_temp_template instead of tempnam and tmpnam
    
    Those two functions are deprecated, produce warnings at link time,
    and should not be used as they are cause of possible race conditions.
    
    As a side effect we don't need to ensure the path is not existing as
    mkdtemp has done that for us, which slightly simplifies the code.

 debian/changelog |    3 +++
 dpkg-deb/info.c  |   15 +++++----------
 src/processarc.c |   24 +++++++++++++++---------
 3 files changed, 23 insertions(+), 19 deletions(-)

commit 4c9d2d0eeed8b077a19da5bac5f2e8183e27e850
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 22 03:59:28 2010 +0100

    libdpkg: Add new tempfile template generator function
    
    Use it instead of ad-hoc code in dpkg-deb.

 dpkg-deb/build.c |   18 +++++-------------
 lib/dpkg/path.c  |   31 ++++++++++++++++++++++++++++++-
 lib/dpkg/path.h  |    4 +++-
 3 files changed, 38 insertions(+), 15 deletions(-)

commit eb3cd7ba0b09fde59f8c0d0beca85293d4cc8617
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 21 05:55:17 2010 +0100

    dpkg: Switch code to use “struct pkg_queue” instead of “struct pkgqueue”
    
    The semantics of the pkq-queue module are more clear, so it makes the
    code slightly easier to handle.

 src/main.h     |   10 ----------
 src/packages.c |   45 ++++++---------------------------------------
 src/trigproc.c |   16 ++++++++--------
 3 files changed, 14 insertions(+), 57 deletions(-)

commit 2e9ea71aeff38e53b56348b6b89b00a1fe0cb9e9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 21 05:52:10 2010 +0100

    libdpkg: Add a new pkg-queue module

 lib/dpkg/Makefile.am        |    1 +
 lib/dpkg/pkg-queue.c        |   90 +++++++++++++++++++++++++++++++++
 lib/dpkg/pkg-queue.h        |   47 +++++++++++++++++
 lib/dpkg/test/.gitignore    |    1 +
 lib/dpkg/test/Makefile.am   |    4 +-
 lib/dpkg/test/t-pkg-queue.c |  115 +++++++++++++++++++++++++++++++++++++++++++
 po/POTFILES.in              |    1 +
 7 files changed, 258 insertions(+), 1 deletions(-)

commit fcf328f4d1cbe613b6c9c57b33dabbffb28cbdf0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 21 06:13:30 2010 +0100

    libdpkg: Add unit test for pkg-list module

 lib/dpkg/test/.gitignore   |    1 +
 lib/dpkg/test/Makefile.am  |    4 ++-
 lib/dpkg/test/t-pkg-list.c |   87 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 91 insertions(+), 1 deletions(-)

commit 5d159b6b926c920026e29d010e40b5d5fa27d7b7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 21 04:58:25 2010 +0100

    libcompat: Update gettext.h from gettext 0.17
    
    This changes its license from LGPL2+ to GPL2+.

 lib/compat/gettext.h |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

commit c3bafdbbd4cffd4569c000dbe2f35fe062d66b14
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 24 21:07:47 2010 +0100

    Use Debian instead of Debian GNU/Linux when referring to the distribution

 debian/changelog                       |    2 ++
 debian/copyright                       |    6 +++---
 dselect/methods/ftp/README.mirrors.txt |    2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

commit 14c7890f05e1d591050b80246ae6f296462c4fac
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 21 00:53:44 2010 +0100

    Update copyright statements
    
    Sort them by initial year. Add new holders, but for now only those which
    do not need clarification, the rest will be added later.

 debian/changelog |    1 +
 debian/copyright |   25 +++++++++++++++----------
 2 files changed, 16 insertions(+), 10 deletions(-)

commit 0a3fa9ced661545f7269f9061b8e24beeda5a0e8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 21 00:32:49 2010 +0100

    Add accent on Raphaël's name in several files

 ChangeLog.old                          |  366 ++++++++++++++++----------------
 THANKS                                 |    2 +-
 debian/changelog                       |   66 +++---
 debian/copyright                       |    2 +-
 man/deb-symbols.5                      |    2 +-
 man/dpkg-gensymbols.1                  |    2 +-
 man/dpkg-source.1                      |    2 +-
 man/po/ChangeLog.old                   |   12 +-
 po/ChangeLog.old                       |    2 +-
 scripts/Dpkg/Changelog.pm              |    2 +-
 scripts/Dpkg/Changelog/Entry/Debian.pm |    2 +-
 scripts/Dpkg/Control/Changelog.pm      |    2 +-
 scripts/Dpkg/Control/Info.pm           |    2 +-
 scripts/Dpkg/Path.pm                   |    2 +-
 scripts/Dpkg/Substvars.pm              |    2 +-
 scripts/po/ChangeLog.old               |    4 +-
 scripts/t/600_Dpkg_Changelog.t         |    4 +-
 scripts/t/600_Dpkg_Changelog/fields    |    4 +-
 18 files changed, 240 insertions(+), 240 deletions(-)

commit ae4505efeccdb5bce465c4c9fa4aeabf0f22cf3c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 19:01:08 2010 +0100

    build: Fix alignment of start-stop-daemon automake rules

 utils/Makefile.am |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 2bae29f6c86c54eb3c91c524b995651313a3ca3c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 18:55:11 2010 +0100

    build: Add new --without-install-info
    
    Other distributions already ship the GNU reimplementation of install-info
    which is slated to completely replace the Debian one in the near future,
    additionally the current install-info in dpkg is just a wrapper, so we
    allow them to disable it at configure time.

 configure.ac      |    9 +++++++++
 debian/changelog  |    2 ++
 utils/Makefile.am |    4 ++++
 3 files changed, 15 insertions(+), 0 deletions(-)

commit 6985e4e0a8166a46804e2fd89021def7186b3a26
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 07:55:14 2010 +0100

    build: Add new --without-update-alternatives
    
    Some distributions already ship their own reimplementation of
    update-alternatives, so we allow them to disable our own.

 configure.ac        |    9 +++++++++
 debian/changelog    |    2 ++
 man/Makefile.am     |    8 ++++++--
 scripts/Makefile.am |    9 +++++++--
 4 files changed, 24 insertions(+), 4 deletions(-)

commit 0e6bd5764027d36f1605f141ae306a1221a6c7dd
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 19:11:24 2010 +0100

    build: Move <sbindir>/install-info uninstallation to utils/
    
    Put it where install-info is being handled.

 scripts/Makefile.am |    1 -
 utils/Makefile.am   |    3 +++
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 7467cc776b0f9f402d9e73b69cc601f41332491a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 07:53:17 2010 +0100

    build: Move <admindir>/alternatives directory creation to scripts/
    
    Put it close to the other alternatives file and directory handling.

 scripts/Makefile.am |    1 +
 src/Makefile.am     |    1 -
 2 files changed, 1 insertions(+), 1 deletions(-)

commit 4da6f227798069945000aadf01c5eecc42f7f52e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 07:29:06 2010 +0100

    dpkg: Set interesting environment variables on conffile shell spawn
    
    Set DPKG_SHELL_REASON, DPKG_CONFFILE_OLD and DPKG_CONFFILE_NEW
    environment variables when spawning a shell for conffile
    examination, so that the user can easily use them for scripting, or
    as easy mnemonics.
    
    Suggested-by: Daniel Martin <Daniel.Martin@jhu.edu>
    
    Closes: #60329

 debian/changelog |    3 +++
 man/dpkg.1       |   12 ++++++++++++
 src/configure.c  |   12 ++++++++++--
 3 files changed, 25 insertions(+), 2 deletions(-)

commit 6f037003e8b96878b485efb7cbd1f846e3bf4e97
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 06:29:48 2010 +0100

    dpkg: Always spawn a new shell on conffile prompt
    
    Stop supporting self backgrounding, remove DPKG_NO_TSTP environment
    variable support, as we always spawn a shell now.
    
    This will allow setting useful environment variables for the user to use
    with other tools. And is less confusing, as the action to go back to
    dpkg does not depend on how dpkg was run.
    
    Closes: #38334

 TODO                                |    2 -
 debian/changelog                    |    3 ++
 doc/README.feature-removal-schedule |    7 +++++
 lib/dpkg/dpkg.h                     |    1 -
 man/dpkg.1                          |    6 +---
 src/configure.c                     |   50 +++++++++++++---------------------
 6 files changed, 30 insertions(+), 39 deletions(-)

commit ecf0b87226f0db54551e2d34fca6fa45542f52a2
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 06:16:11 2010 +0100

    dselect: Use m_strdup instead of unchecked malloc + strcpy
    
    This would cause a segfault in an OOM situation.

 dselect/main.cc |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 3e9f202bc125eeaf291c47613f5e42493077fd42
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 04:40:47 2010 +0100

    libdpkg: Unify and namespace pkg-format functions and types
    
    Renames:
    
      struct lstitem → struct pkg_format_node
      itemtype_t → enum pkg_format_type
      alloclstitem() → pkg_format_node_new()
      parseformat() → pkg_format_parse()
      freeformat() → pkg_format_free()
      show1package() → pkg_format_show()

 dpkg-deb/info.c       |    4 ++--
 lib/dpkg/pkg-format.c |   48 ++++++++++++++++++++++++------------------------
 lib/dpkg/pkg-format.h |   10 +++++-----
 src/query.c           |    8 ++++----
 4 files changed, 35 insertions(+), 35 deletions(-)

commit 6ada98fe522ddfb197292e8d5fe8249eab320594
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 04:29:15 2010 +0100

    libdpkg: Move package formatting support to a new pkg-format module
    
    Move declarations from dpkg-db.h to a new pkg-format.h, and rename
    showpkg.c to pkg-format.c.

 dpkg-deb/info.c                      |    1 +
 lib/dpkg/Makefile.am                 |    2 +-
 lib/dpkg/dpkg-db.h                   |    9 --------
 lib/dpkg/{showpkg.c => pkg-format.c} |    3 +-
 lib/dpkg/pkg-format.h                |   38 ++++++++++++++++++++++++++++++++++
 po/POTFILES.in                       |    2 +-
 src/query.c                          |    1 +
 7 files changed, 44 insertions(+), 12 deletions(-)

commit 51323231082c34fe87771502593aae50e601ea04
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 19:20:11 2010 +0100

    libdpkg: Revert license change to GPL2+
    
    The file lib/dpkg/showpkg.c used to be GPL-2+ with all commits with
    copyright by Wichert Akkerman, until commit 6e1eb71ebffbbaca2e4bc when
    it got changed to GPL-2 only.
    
    Changes afterwards by:
    
      Wichert Akkerman (trivial change):
    
        commit d5e656d9: Removal of an include.
    
      Adam Heath (trivial changes):
    
        commit dbcb7449: Reorder an include;
        commit a1d9dc46: Add a missing “void”;
                         Macroify the unused dumpchain to avoid a warning,
                         code entirely removed in commit 07162068.
    
      Frank Lichtenheld (several changes)
    
      Pierre Habouzit (trivial change):
    
        commit 8ad47fe5: Add a 'z' to a format string.
    
      Guillem Jover (several changes)
    
    So with approval from Frank and myself, let's revert the license change
    in 6e1eb71ebffbbaca2e4bc.
    
    Signed-off-by: Frank Lichtenheld <djpig@debian.org>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/showpkg.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 53171636dce1634f9dd3c96602e4fcafee025847
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 15:33:43 2010 +0100

    libdpkg-perl: Fix Canonical copyright statement
    
    The work Colin did was under Canonical's time.
    
    Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 scripts/Dpkg/Vendor/Ubuntu.pm |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 18169a3ecac3c47d1c0cde2eaa93bce198d26421
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Feb 24 19:59:29 2010 +0100

    dpkg-source, dpkg-genchanges: split Binary lines at less than 980 chars
    
    Splitting on the first space after 980 characters was not enough as
    package names can be quite long and the real limit is not 1024 chars
    but rather 992 chars for email exchange.
    
    Example of problematic changes:
    http://lists.debian.org/debian-devel-changes/2010/02/msg01090.html
    
    We now split on the last space before the 980 chars limit.

 scripts/dpkg-genchanges.pl |    2 +-
 scripts/dpkg-source.pl     |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit d33fa8f197221c8422ee14dc36955e58febfa3d4
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Feb 24 17:26:36 2010 +0100

    Dpkg::BuildOptions: provide an object oriented interface
    
    Also update the test-suite and dpkg-buildpackage to match the new API.
    Increase $VERSION to 1.00 since it's supposed to be a stable API now.

 debian/changelog                  |    1 +
 scripts/Dpkg/BuildOptions.pm      |  179 ++++++++++++++++++++++++++++++------
 scripts/dpkg-buildpackage.pl      |   10 +-
 scripts/t/300_Dpkg_BuildOptions.t |   62 +++++++------
 4 files changed, 187 insertions(+), 65 deletions(-)

commit 7fe00a9043f3f70c983c525d86007e36301cf08b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Feb 23 17:44:16 2010 +0100

    Update Dpkg::Conf to use Dpkg::Interface::Storable
    
    And complete documentation. Fix dpkg-source to still display options
    on a single line.

 scripts/Dpkg/Conf.pm   |   69 ++++++++++++++++++++++++++++++++++++-----------
 scripts/dpkg-source.pl |    2 +-
 2 files changed, 54 insertions(+), 17 deletions(-)

commit bb70204c9816479ae56e3bb087f14d89bc05e466
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Feb 23 16:50:17 2010 +0100

    dpkg-source: new options --extend-diff-ignore, --diff-ignore, --tar-ignore
    
    --extend-diff-ignore is a truly new option while the others are long names
    for the existing -i and -I options.

 debian/changelog       |    3 +++
 man/dpkg-source.1      |   11 +++++++++--
 scripts/dpkg-source.pl |    8 +++++---
 3 files changed, 17 insertions(+), 5 deletions(-)

commit 07522de7d6957ba02ae195cf180141d93dccf60d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Feb 22 15:45:12 2010 +0100

    Enhance dpkg's error message about programs missing from the PATH
    
    Triggered by https://bugs.maemo.org/show_bug.cgi?id=4103

 src/help.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 302d1f1dcaa96fbfbfc8b5fe29babdd342a77f54
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Feb 21 22:54:43 2010 +0100

    Update German scripts translation
    
    Update to 499t.

 scripts/po/de.po |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit 61ab00f675dff4837c386075a0b835de263702fd
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 11:58:40 2010 +0100

    dpkg-source: new option --create-empty-orig in formats "2.0" and "3.0 (quilt)"
    
    With this option, dpkg-source will auto-create the main original tarball
    when it's missing and when there are supplementary tarballs. This makes it
    easier to bundle multiple software together.
    
    dpkg-source needs to be modified since the options have to be parsed
    before can_build() is called.

 debian/changelog                  |    4 ++++
 man/dpkg-source.1                 |    6 ++++++
 scripts/Dpkg/Source/Package.pm    |   15 ++++++++++-----
 scripts/Dpkg/Source/Package/V2.pm |   21 ++++++++++++++++++---
 scripts/dpkg-source.pl            |    7 +++----
 5 files changed, 41 insertions(+), 12 deletions(-)

commit a17570383cdac5d13cff4c0e0469f22a8594ee23
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 11:04:02 2010 +0100

    dpkg-gencontrol, dpkg-genchanges, dpkg-source: support multiple -T options
    
    It allows to read substitution variables from multiple files.

 debian/changelog           |    3 +++
 man/dpkg-genchanges.1      |    4 +++-
 man/dpkg-gencontrol.1      |    2 ++
 man/dpkg-source.1          |    3 ++-
 scripts/dpkg-genchanges.pl |    7 ++++---
 scripts/dpkg-gencontrol.pl |    9 +++++----
 scripts/dpkg-source.pl     |    4 +---
 7 files changed, 20 insertions(+), 12 deletions(-)

commit 647dee469b94fac69cf98cc8bc36390df294137d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 10:33:25 2010 +0100

    dpkg-buildpackage: support passing arbitrary options to dpkg-source/dpkg-genchanges

 debian/changelog             |    3 ++
 man/dpkg-buildpackage.1      |    6 ++++
 scripts/dpkg-buildpackage.pl |   65 +++++++++++++++++++----------------------
 3 files changed, 39 insertions(+), 35 deletions(-)

commit 1ef2128855ddd6d454b0a122b6ebc602df2df433
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Feb 21 13:28:54 2010 +0100

    Update German translation of manual pages
    
    Update to 1699t4f76u.

 man/po/de.po |  118 ++++++++++++++++++++-------------------------------------
 1 files changed, 42 insertions(+), 76 deletions(-)

commit 2c3a53b1ce74adddb713e9d6d4e5e6005ef2aba8
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Feb 21 13:18:17 2010 +0100

    Add dpkg-gensymbols.1 to the translatable man page set
    
    and update all po files accordingly.

 debian/changelog    |    3 +
 man/po/de.po        | 2001 ++++++++++++++++++++++--------
 man/po/dpkg-man.pot | 1688 ++++++++++++++++++++------
 man/po/es.po        | 1828 ++++++++++++++++++++++------
 man/po/fr.po        | 3400 +++++++++++++++++++++++++++++++++++----------------
 man/po/hu.po        | 1839 ++++++++++++++++++++++------
 man/po/ja.po        | 1842 ++++++++++++++++++++++------
 man/po/pl.po        | 1911 +++++++++++++++++++++++------
 man/po/po4a.cfg     |    5 +
 man/po/pt_BR.po     | 1841 ++++++++++++++++++++++------
 man/po/ru.po        | 1843 ++++++++++++++++++++++------
 man/po/sv.po        | 1983 +++++++++++++++++++++++-------
 12 files changed, 15465 insertions(+), 4719 deletions(-)

commit 164510479abf3dd0ccdee57adb647589a12733a9
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Feb 21 10:00:40 2010 +0100

    Update German scripts translation
    
    Update to 499t.

 scripts/po/de.po |   60 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 9 deletions(-)

commit c9ccd372fb9655493cd527c37e51a7bd035370cc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 02:39:44 2010 +0100

    dpkg-gencontrol: now indicates which package is concerned by the substvars warnings
    
    Enhance Dpkg::Substvarst to be able to display a prefix before its
    warnings and errors and make use of that facility in dpkg-gencontrol to be
    explicit about where the substitution is done.

 debian/changelog             |    2 ++
 scripts/Dpkg/Control/Hash.pm |    4 ++--
 scripts/Dpkg/Substvars.pm    |   28 +++++++++++++++++++++++-----
 scripts/dpkg-gencontrol.pl   |    6 ++++--
 4 files changed, 31 insertions(+), 9 deletions(-)

commit 51741049b5d8df648e6a08f663bf87c4b5f00529
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 02:04:13 2010 +0100

    dpkg-gencontrol: no longer warns if a substvar provided by -V is not used
    
    The warning is meant to catch unused substitutions coming from the file
    and the file is package specific with debhelper.

 debian/changelog           |    3 +++
 scripts/dpkg-gencontrol.pl |    1 +
 2 files changed, 4 insertions(+), 0 deletions(-)

commit 063f0565dcdf069b7f9624c237ed7fce10571887
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 01:34:00 2010 +0100

    dpkg-gencontrol: don't accept arch-specific dependencies in arch: all packages
    
    Since an architecture all package is shared on all architectures, its
    dependency lines can't be simplified with the knowledge of the current host
    architecture.

 debian/changelog           |    2 ++
 scripts/Dpkg/Deps.pm       |   25 +++++++++++++++++++++++++
 scripts/dpkg-gencontrol.pl |   10 ++++++++--
 3 files changed, 35 insertions(+), 2 deletions(-)

commit 278a12b941d8001edf66d61ea2fe7ee0eff9a4a8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 01:12:52 2010 +0100

    Fix typo overriden -> overridden in multiple places

 man/deb-extra-override.5 |    4 ++--
 man/dpkg-architecture.1  |    2 +-
 man/dpkg-buildpackage.1  |    4 ++--
 man/po/de.po             |   10 +++++-----
 man/po/dpkg-man.pot      |   10 +++++-----
 man/po/es.po             |   10 +++++-----
 man/po/fr.po             |   10 +++++-----
 man/po/hu.po             |   10 +++++-----
 man/po/ja.po             |   10 +++++-----
 man/po/pl.po             |   10 +++++-----
 man/po/pt_BR.po          |   10 +++++-----
 man/po/ru.po             |   10 +++++-----
 man/po/sv.po             |   10 +++++-----
 13 files changed, 55 insertions(+), 55 deletions(-)

commit 0898ea0048fd94349f4bcf0068b22104d97217e3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 01:04:02 2010 +0100

    Dpkg::Source: fix parsing of diff's output to be POSIX-compliant
    
    While parsing diff's output, accept any sentence that contains the word
    differ (as specified by POSIX) to identify that binary files could
    not be compared.

 debian/changelog                 |    3 +++
 scripts/Dpkg/Source/Functions.pm |    5 ++++-
 scripts/Dpkg/Source/Patch.pm     |    2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

commit 1669e148b8568810b7dcfc2b3d94517c0aa6f4af
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 20 07:06:27 2010 +0100

    po: Add missing files to POTFILES

 po/POTFILES.in         |    1 +
 scripts/po/POTFILES.in |    7 +++++++
 2 files changed, 8 insertions(+), 0 deletions(-)

commit b066610b394bfe06b8af5efb0a34c2b56c865705
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Feb 21 01:27:55 2010 +0100

    dpkg-deb: Fix double free in --info
    
    Change the code to not increase cdlist, and instead index it, so that
    we can free it at the end.
    
    Regression introduced in commit c264dd83d33250927fe165de5336145afdf99610.

 dpkg-deb/info.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 1d22992583f0010007da14ce385e72ee13a9a84f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Feb 21 00:45:00 2010 +0100

    Add $VERSION numbers to all perl modules
    
    Modules whose API should be stable have a version 1.00.
    The modules with version 0.01 are expected to have further API
    changes in the (near) future or are deemed to be useful mostly
    for dpkg-dev's internal usage.

 debian/changelog                         |    2 ++
 scripts/Dpkg.pm                          |    2 ++
 scripts/Dpkg/Arch.pm                     |    2 ++
 scripts/Dpkg/BuildOptions.pm             |    2 ++
 scripts/Dpkg/Changelog.pm                |    2 ++
 scripts/Dpkg/Changelog/Debian.pm         |    2 ++
 scripts/Dpkg/Changelog/Entry.pm          |    2 ++
 scripts/Dpkg/Changelog/Entry/Debian.pm   |    2 ++
 scripts/Dpkg/Changelog/Parse.pm          |    2 ++
 scripts/Dpkg/Checksums.pm                |    2 ++
 scripts/Dpkg/Compression.pm              |    3 +++
 scripts/Dpkg/Compression/FileHandle.pm   |    2 ++
 scripts/Dpkg/Compression/Process.pm      |    2 ++
 scripts/Dpkg/Conf.pm                     |    2 ++
 scripts/Dpkg/Control.pm                  |    2 ++
 scripts/Dpkg/Control/Changelog.pm        |    2 ++
 scripts/Dpkg/Control/Fields.pm           |    2 ++
 scripts/Dpkg/Control/Hash.pm             |    2 ++
 scripts/Dpkg/Control/Info.pm             |    2 ++
 scripts/Dpkg/Deps.pm                     |    2 ++
 scripts/Dpkg/ErrorHandling.pm            |    5 +++++
 scripts/Dpkg/Exit.pm                     |    2 ++
 scripts/Dpkg/Gettext.pm                  |    2 ++
 scripts/Dpkg/IPC.pm                      |    2 ++
 scripts/Dpkg/Index.pm                    |    2 ++
 scripts/Dpkg/Interface/Storable.pm       |    2 ++
 scripts/Dpkg/Path.pm                     |    2 ++
 scripts/Dpkg/Shlibs.pm                   |    2 ++
 scripts/Dpkg/Shlibs/Cppfilt.pm           |    3 +++
 scripts/Dpkg/Shlibs/Objdump.pm           |    2 ++
 scripts/Dpkg/Shlibs/Symbol.pm            |    3 +++
 scripts/Dpkg/Shlibs/SymbolFile.pm        |    3 +++
 scripts/Dpkg/Source/Archive.pm           |    2 ++
 scripts/Dpkg/Source/Functions.pm         |    2 ++
 scripts/Dpkg/Source/Package.pm           |    2 ++
 scripts/Dpkg/Source/Package/V1.pm        |    2 ++
 scripts/Dpkg/Source/Package/V2.pm        |    2 ++
 scripts/Dpkg/Source/Package/V3/bzr.pm    |    2 ++
 scripts/Dpkg/Source/Package/V3/custom.pm |    2 ++
 scripts/Dpkg/Source/Package/V3/git.pm    |    2 ++
 scripts/Dpkg/Source/Package/V3/native.pm |    2 ++
 scripts/Dpkg/Source/Package/V3/quilt.pm  |    2 ++
 scripts/Dpkg/Source/Patch.pm             |    2 ++
 scripts/Dpkg/Substvars.pm                |    2 ++
 scripts/Dpkg/Vars.pm                     |    2 ++
 scripts/Dpkg/Vendor.pm                   |    2 ++
 scripts/Dpkg/Vendor/Debian.pm            |    2 ++
 scripts/Dpkg/Vendor/Default.pm           |    2 ++
 scripts/Dpkg/Vendor/Ubuntu.pm            |    2 ++
 scripts/Dpkg/Version.pm                  |    2 ++
 50 files changed, 107 insertions(+), 0 deletions(-)

commit 5d1795408484778f7978062bb472c97b45a5cd10
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Feb 20 23:50:06 2010 +0100

    Dpkg::Interface::Storable: load() and save() accept "-" for standard input/output
    
    Simplify code in Dpkg::Control::Info thanks to this.

 scripts/Dpkg/Control/Info.pm       |    9 ++-----
 scripts/Dpkg/Interface/Storable.pm |   37 ++++++++++++++++++++++++++---------
 2 files changed, 30 insertions(+), 16 deletions(-)

commit 513baa2c1e20036528fd8fb986ef407d4aa8d415
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Feb 20 23:39:15 2010 +0100

    Dpkg::Control::Info: provide an array representation of the object
    
    Add non-regression test for this interface.

 scripts/Dpkg/Control/Info.pm |   16 +++++++++++++++-
 scripts/t/700_Dpkg_Control.t |    4 +++-
 2 files changed, 18 insertions(+), 2 deletions(-)

commit d13625a19aa5e49e71ea1c08317198c0094a0047
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Feb 20 22:39:33 2010 +0100

    Add accent on my name in AUTHORS

 AUTHORS |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 80c53458c34feb6db52fd1d11d53702b0a1e968f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Feb 20 22:37:08 2010 +0100

    Add Jonathan Nieder and Modestas Vainius to THANKS

 THANKS |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit cceb8fd624b534b9ed044f79976e86b0958608b4
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Feb 20 22:36:42 2010 +0100

    Changelog entry for Dpkg::Interface::Storable introduction

 debian/changelog |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit cdf4e5b5324b1196355542f30228c9ca26e5a7ad
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Feb 20 22:19:57 2010 +0100

    Dpkg::Shlibs::*: rename parse() functions
    
    To avoid confusion with the parse() function expected by objects
    inheriting from Dpkg::Interface::Storable (which is supposed to restore
    the object from its serialized data), the various parse() functions
    have been renamed into something more explicit like analyze() for
    Dpkg::Shlibs::Objdump or parse_symbolspec() for Dpkg::Shlibs::Symbol.

 scripts/Dpkg/Shlibs/Objdump.pm    |   10 +++++-----
 scripts/Dpkg/Shlibs/Symbol.pm     |    2 +-
 scripts/Dpkg/Shlibs/SymbolFile.pm |    4 ++--
 scripts/dpkg-gensymbols.pl        |    2 +-
 scripts/t/200_Dpkg_Shlibs.t       |   16 ++++++++--------
 5 files changed, 17 insertions(+), 17 deletions(-)

commit 1d70649516259db6bcfc468299c35f3113115fce
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Feb 20 21:53:15 2010 +0100

    Update Dpkg::Shlibs::SymbolFile to use Dpkg::Interface::Storable
    
    In the process dump() is renamed output() and save() is dropped in favor
    of the version provided by Dpkg::Interface::Storable. load() is
    transformed in parse().

 scripts/Dpkg/Shlibs/SymbolFile.pm |   45 +++++++++++++++---------------------
 scripts/dpkg-gensymbols.pl        |   12 +++++-----
 scripts/t/200_Dpkg_Shlibs.t       |    6 ++--
 3 files changed, 28 insertions(+), 35 deletions(-)

commit aba76e6de21438ada3d6df542021d341fb499dcc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 19 19:45:40 2010 +0100

    Update Dpkg::Substvars to use Dpkg::Interface::Storable
    
    The parse() function is replaced by load() for most users.

 scripts/Dpkg/Substvars.pm      |   67 +++++++++++++++++++++++++++++-----------
 scripts/dpkg-genchanges.pl     |    2 +-
 scripts/dpkg-gencontrol.pl     |    2 +-
 scripts/dpkg-source.pl         |    2 +-
 scripts/t/750_Dpkg_Substvars.t |    2 +-
 5 files changed, 53 insertions(+), 22 deletions(-)

commit 93f179a39dfd081e2a50dd258a322025004f6023
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 19 19:32:33 2010 +0100

    Dpkg::Compression::FileHandle: fix behaviour when the file is not open
    
    The syscall-like interface should not error out when the file has not been
    opened, it must simply return failure codes.

 scripts/Dpkg/Compression/FileHandle.pm |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

commit 6c8369aee32b5c99f45e60f62e6e07d26b2b42b8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Feb 18 23:57:01 2010 +0100

    Update Dpkg::Control::* to use Dpkg::Interface::Storable
    
    This implies renaming parse_fh() into parse() and parse() into load().
    Update all scripts and modules using those methods.

 scripts/Dpkg/Changelog/Parse.pm |    2 +-
 scripts/Dpkg/Control/Hash.pm    |   27 ++++++++++-------------
 scripts/Dpkg/Control/Info.pm    |   43 +++++++++++++++++---------------------
 scripts/Dpkg/Index.pm           |    2 +-
 scripts/Dpkg/Source/Package.pm  |    4 +--
 scripts/Dpkg/Vendor.pm          |    4 +--
 scripts/dpkg-genchanges.pl      |    4 +--
 scripts/dpkg-name.pl            |    2 +-
 scripts/dpkg-scanpackages.pl    |    2 +-
 scripts/dpkg-scansources.pl     |    2 +-
 scripts/t/700_Dpkg_Control.t    |    2 +-
 11 files changed, 40 insertions(+), 54 deletions(-)

commit 9e7dfecce74f4d58de5be46b387b899489869876
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Feb 18 23:32:25 2010 +0100

    Update Dpkg::Deps to make use of Dpkg::Interface::Storable
    
    Parsing part is only partially supported currently.

 scripts/Dpkg/Deps.pm |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit 69e9305c848fb5f8d10a65be412cab26b9ed47ee
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Feb 18 23:19:41 2010 +0100

    Update Dpkg::Changelog and Dpkg::Index to use Dpkg::Interface::Storable

 scripts/Dpkg/Changelog.pm |   15 ++++++---------
 scripts/Dpkg/Index.pm     |   22 ++--------------------
 2 files changed, 8 insertions(+), 29 deletions(-)

commit 88b0ac732e075f487e7cfa0999326d2105f2ecbc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Feb 18 22:26:32 2010 +0100

    Dpkg::Interface::Storable: common convenience methods for serialization of objects

 scripts/Dpkg/Interface/Storable.pm |  124 ++++++++++++++++++++++++++++++++++++
 scripts/Makefile.am                |    1 +
 scripts/po/POTFILES.in             |    1 +
 3 files changed, 126 insertions(+), 0 deletions(-)

commit dc0c710c11fd13de98d8a0226a24f6ac8410c852
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sat Feb 20 18:30:41 2010 +0100

    German dpkg translation update
    
    Update to 969t.

 po/de.po |  405 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 203 insertions(+), 202 deletions(-)

commit d391f1d219dd2f521c7dc9b4fe92be1cbca5b1c6
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Feb 19 18:13:19 2010 +0100

    Update German scripts translation
    
    Update to 492t.

 scripts/po/de.po |   73 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 insertions(+), 1 deletions(-)

commit 59c1513f8d83446e57dfc5e047840778601a8c60
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Feb 19 11:11:18 2010 +0100

    Dpkg::Shlibs::Symbol::equals(): be explicit about default values of options

 scripts/Dpkg/Shlibs/Symbol.pm |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit ee7dc84822d1bb2d84f8bfebafd233f62a8ee4f2
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Tue Feb 16 01:09:02 2010 +0200

    Add -q option to dpkg-gensymbols, -c0 never fails AND shows a diff.
    
    The rationale behind this change that there should be a way to prevent
    dpkg-gensymbols from failing if there are lost symbols but still show a diff at
    the same time (which -c0 would not without this patch).
    
    Imagine a source package which builds multiple library binary packages that are
    prone to arch-specific failures (quite typical for C++). Then dh_makeshlibs would
    stop at the first dpkg-gensymbols failure giving only one diff. So it should be
    possible to get diffs for all libraries in the single buildd run regardless of
    check failures (using -c0). The fact that dpkg-gensymbols will never fail is
    not that important if maintainer is pretty sure that symbols might be lost only
    due to e.g. unmarked optional symbols or different mangling on other arches.
    When updating to a new upstream, maintainer can set
    DPKG_GENSYMBOLS_CHECK_LEVEL=1 in the environment to temporary restore checks.

 debian/changelog           |    3 +++
 man/dpkg-gensymbols.1      |   19 ++++++++++++-------
 scripts/dpkg-gensymbols.pl |   37 ++++++++++++++++++++++++-------------
 3 files changed, 39 insertions(+), 20 deletions(-)

commit 8bec4de4df57cf814169ece1ab555ac2b44ab983
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Wed Feb 3 04:36:03 2010 +0200

    Dpkg::Shlibs:* add more abstract methods and clean up API.
    
    * Make SymbolFile::lookup_*(), SymbolFile::find_matching_pattern() accept both
      symbol/pattern objects AND names.
    * Make SymbolFile::lookup_*(), SymbolFile::find_matching_pattern() accept both
      single soname and an array of sonames.
    * Make SymbolFile::lookup_*(), SymbolFile::find_matching_pattern() detect
      context and return either a hash of ( soname => .., symbol => .. ) or just a
      scalar symbol reference. In either case, do NOT clone symbols.
    * SymbolFile::get_{new,lost}_symbols() returns an array of { soname =>
      .., symbol => .. } hashes where 'symbol' is a real reference, not a clone.
    * Add new abstract methods and use them everywhere:
      - SymbolFile::get_arch() - architecture the file is processed under/for.
      - SymbolFile::get_sonames() - names of all sonames.
      - SymbolFile::get_object() - soname object reference by name or object
        reference.
      - SymbolFile::get_symbols($soname) - if $soname is undef, returns ALL
        symbol file symbols.
      - SymbolFile::get_patterns($soname) - if $soname is undef, returns ALL
        symbol file patterns.
      - SymbolFile::get_symbol_object(Ssym, $soname) - a convenience method
        combining both SymbolFile::lookup_{symbol,pattern} methods.
    * Make SymbolFile::create_symbol() more flexible. Now it can parse a dummy spec
      without minver.
    * Remove Symbol::sclone() as no longer used and needed. Rename Symbol::dclone()
      back to Symbol::clone().

 scripts/Dpkg/Shlibs/Symbol.pm     |   20 +--
 scripts/Dpkg/Shlibs/SymbolFile.pm |  260 ++++++++++++++++++++++---------------
 scripts/dpkg-gensymbols.pl        |    2 +-
 scripts/dpkg-shlibdeps.pl         |   23 ++--
 scripts/t/200_Dpkg_Shlibs.t       |  114 +++++++---------
 5 files changed, 222 insertions(+), 197 deletions(-)

commit 7c02a2ed867b18fba61bffaa4402dd2db230c9bc
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Tue Feb 2 23:58:24 2010 +0200

    Dpkg::Shlibs::SymbolFile::add_symbol() reverse $sym, $soname argument order.
    
    This makes order consistent with lookup_{symbol,pattern}.

 scripts/Dpkg/Shlibs/SymbolFile.pm |    7 +++----
 scripts/t/200_Dpkg_Shlibs.t       |    2 +-
 2 files changed, 4 insertions(+), 5 deletions(-)

commit d6778cf96d27b6bde6c76c8bda8f722e665fbcef
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jan 30 00:51:05 2010 +0200

    Dpkg::Shlibs::Cppfilt: add and export cppfilt_demangle_cpp().
    
    This function is needed to unify how demangling of C++ symbols is done in
    dpkg-dev. Passing 'auto' to cppfilt_demangle() each time is not very obvious
    and error prone.

 scripts/Dpkg/Shlibs/Cppfilt.pm      |    8 +++++++-
 scripts/Dpkg/Shlibs/Symbol.pm       |    2 +-
 scripts/t/190_Dpkg_Shlibs_Cppfilt.t |   14 +++++---------
 3 files changed, 13 insertions(+), 11 deletions(-)

commit 6395b7668bdb469efbdb4a54be18f289543779d7
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jan 30 00:39:14 2010 +0200

    Dpkg::Shlibs::Cppfilt: do not pass --no-verbose to c++filt(1).
    
    --no-verbose gives some unexpected results, e.g. C++ substitution in
    _ZNSs9_M_mutateEmmm is not expanded according to the spec (i.e.
    std::basic_string<> gets simplified and replaced by std::string).

 scripts/Dpkg/Shlibs/Cppfilt.pm |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 16e2ac799a696b0027627048f2cd4a05376c4224
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Fri Jan 29 20:06:16 2010 +0200

    Dpkg::Shlibs::SymbolFile: refactor {patterns}{aliases}.
    
    * Get rid of "converter" field, it is hard to manage. Just use the first alias
    instead.
    * Avoid implicit creation of alias type hash in a couple of places.

 scripts/Dpkg/Shlibs/SymbolFile.pm |   24 +++++++++++-------------
 1 files changed, 11 insertions(+), 13 deletions(-)

commit 4a9c97d4d75e045ca3c1dbc5f3b4ce0ea0605cf0
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Fri Jan 29 19:29:17 2010 +0200

    Dpkg::Shlibs::Symbol::equals(): improve, make more general.
    
    Now the function accepts named options and allows to optionally skip
    comparision of versioning info (minver/dep_id) and tags. However,
    by default, it compares all non-internal symbol properties.

 scripts/Dpkg/Shlibs/Symbol.pm     |   31 ++++++++++++++++++++-----------
 scripts/Dpkg/Shlibs/SymbolFile.pm |    2 +-
 2 files changed, 21 insertions(+), 12 deletions(-)

commit 8ee083c253f510fea4dda7999e0792ee82ab128f
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Fri Jan 29 19:27:32 2010 +0200

    Dpkg::Shlibs::Symbol: improve set_symbolname().
    
    Now it allows to set symbol template and autodetects if quotes are needed.

 scripts/Dpkg/Shlibs/Symbol.pm |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit 2294cc63c0cae9fa95a2908b455c770d9c3feb40
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jan 23 18:55:54 2010 +0200

    Dpkg::Shlibs::SymbolFile::get_new_symbols(): add option to return optional symbols.
    
    Also includes a bit of refactoring for relevant Dpkg::Shlibs::Symbol bits.
    is_eligible_as_new() was renamed to is_legitimate() and its usage in
    get_new_symbols() was expanded.

 scripts/Dpkg/Shlibs/Symbol.pm     |    7 +++----
 scripts/Dpkg/Shlibs/SymbolFile.pm |   28 +++++++++++++++-------------
 2 files changed, 18 insertions(+), 17 deletions(-)

commit a87a15ad096884025195698fc76a9ab41a4ac425
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jan 23 18:52:55 2010 +0200

    dpkg-gensymbols: add -a<arch> option.
    
    Use this option to generate a symbol file or diff for any architecture provided
    its binaries are already available.

 debian/changelog           |    1 +
 man/dpkg-gensymbols.1      |    5 +++++
 scripts/dpkg-gensymbols.pl |    4 ++++
 3 files changed, 10 insertions(+), 0 deletions(-)

commit 30e6d305a32cba540efa80dbdb8838a21333e0ed
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jan 23 18:27:21 2010 +0200

    dpkg-gensymbols: add source version to the diff label.
    
    Source version is also useful to have in the output. Also format the string
    according to dpkg-name rules.

 debian/changelog           |    2 ++
 scripts/dpkg-gensymbols.pl |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 64bd8420e602d12009dd045eb980d6ba7324b3e6
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jan 23 18:21:49 2010 +0200

    Dpkg::Shlibs::SymbolFile::new(): do not allow undefined arch option.

 scripts/Dpkg/Shlibs/SymbolFile.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 23cbbfb41d2e13bd602f51274253195fee2a31ac
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jan 23 18:18:40 2010 +0200

    Dpkg::Shlibs::Symbol::parse_tagspec(): allow extra spaces before symbol tag specification.
    
    Make it possible to reparse a symbol specification generated with
    Dpkg::Shlibs::Symbol:get_symbolspec(1).

 scripts/Dpkg/Shlibs/Symbol.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 88aa36dc999ce6397dc9dfa2fc4100a113399d38
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 07:20:07 2010 +0100

    Fix dpkg-query and dpkg-trigger to actually print a version on --version

 debian/changelog |    1 +
 src/query.c      |    3 ++-
 src/trigcmd.c    |    3 ++-
 3 files changed, 5 insertions(+), 2 deletions(-)

commit a7ab968e9e5e30103bdc9439374eb6df794578fd
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 07:07:04 2010 +0100

    dpkg-deb: Unify “failed read” strings by making control an argument

 dpkg-deb/info.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 5e03628e920b726a1fc37df9f37b3dcfb6b3be71
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Fri Feb 19 07:03:58 2010 +0100

    dpkg-deb: Fix resource leak in --info
    
    “dpkg-deb -I foo.deb” leaks the file handle for the package’s
    control file. Check for read errors and close the file before
    it falls out of scope.
    
    Found by cppcheck.
    
    Reported-by: Raphael Geissert <atomo64@gmail.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

 debian/changelog |    4 ++++
 dpkg-deb/info.c  |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

commit fdedcf5168ab8ddb402fbfcb43891897d4adacfd
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 06:58:31 2010 +0100

    Remove done TODO items

 TODO |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit c264dd83d33250927fe165de5336145afdf99610
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 06:56:59 2010 +0100

    Fix small memory leaks related to scandir()
    
    The array of pointers returned by scandir and the pointers in it were
    not being freed.

 debian/changelog |    1 +
 dpkg-deb/info.c  |    3 +++
 lib/dpkg/myopt.c |    1 +
 3 files changed, 5 insertions(+), 0 deletions(-)

commit f0496f91b55081c7990abb88d78299e9cb925ece
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 19 06:54:21 2010 +0100

    dpkg: Fix unaligned bullet point on a comment
    
    This was making it confusing related to the parent bullets.

 src/processarc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e20fb748d3307a58e60ed5ea94d954151232c53d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 28 21:09:41 2010 +0100

    Change dpkg-dev to Depend on perl instead of perl5 and perl-modules

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 167be722b2f01607a498104ad954d1d2d02a70f2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 03:18:44 2010 +0100

    scripts: Unify fork error string

 scripts/Dpkg/Changelog/Parse.pm |    2 +-
 scripts/Dpkg/IPC.pm             |    2 +-
 scripts/dpkg-gencontrol.pl      |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 45dc465f075075f481be7c3dfac38bf041fc9c0e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 03:17:50 2010 +0100

    libdpkg-perl: Rename Dpkg::IPC::fork_and_exec() to Dpkg::IPC::spawn()

 debian/changelog                    |    1 +
 scripts/Dpkg/Compression/Process.pm |    8 ++++----
 scripts/Dpkg/IPC.pm                 |   12 ++++++------
 scripts/Dpkg/Shlibs/Cppfilt.pm      |   10 +++++-----
 scripts/Dpkg/Source/Archive.pm      |   34 +++++++++++++++++-----------------
 scripts/Dpkg/Source/Functions.pm    |    2 +-
 scripts/Dpkg/Source/Package.pm      |    6 +++---
 scripts/Dpkg/Source/Patch.pm        |    6 +++---
 scripts/dpkg-scanpackages.pl        |    4 ++--
 scripts/t/800_Dpkg_IPC.t            |   28 ++++++++++++++--------------
 scripts/t/900_update_alternatives.t |    4 ++--
 11 files changed, 58 insertions(+), 57 deletions(-)

commit bf4c40bc0cebcf937854aa259c6729da9c975768
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 14:56:39 2010 +0100

    scripts/t: Add missing function prototypes

 scripts/t/200_Dpkg_Shlibs/basictags.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 2b6d9bdd3fe969401470bc26f6b30982ac798ec3
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 14:54:45 2010 +0100

    scripts/t: Use void in function arguments to denote no arguments
    
    Fixes warnings due to old style function definition.

 scripts/t/200_Dpkg_Shlibs/basictags.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit e9c9de59b76cbb62aa18d2aad4323d50afb9b6e4
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 14:52:36 2010 +0100

    scripts/t: Make symbol22_i386 function return void instead of void *

 scripts/t/200_Dpkg_Shlibs/basictags.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8d8de3f2b90b5701d5d48dce50f6c344261ab680
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 10 02:21:38 2010 +0100

    dselect: Do not shadow display member in packagelist::deselect_one_of

 dselect/pkgdepcon.cc |    8 +++++---
 dselect/pkglist.h    |    2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

commit d6e92c09b52028007cbdf46177df0c41426a4348
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 10 02:20:24 2010 +0100

    dselect: Remove bogus falliblesubprocess prototype and make it static

 dselect/dselect.h |    3 ---
 dselect/method.cc |    2 +-
 2 files changed, 1 insertions(+), 4 deletions(-)

commit f426b031ac858fa30ace69959a43b61fb40f4be9
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 10 02:13:30 2010 +0100

    dselect: Use max/min instead of lesserint/greaterint

 TODO                 |    1 -
 dselect/basecmds.cc  |    2 +-
 dselect/baselist.cc  |    6 +++---
 dselect/basetop.cc   |   10 ++++------
 dselect/dselect.h    |    3 ---
 dselect/methlist.cc  |    2 +-
 dselect/pkgcmds.cc   |    4 ++--
 dselect/pkgdepcon.cc |    8 ++++----
 dselect/pkgtop.cc    |   10 +++++-----
 9 files changed, 20 insertions(+), 26 deletions(-)

commit 078c24defe2304d7f7a8012c2960b3f06ad0c3b0
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 14:48:49 2010 +0100

    dselect: Do not self shadow bind member

 dselect/bindings.cc |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit 86c90d927b55ca203dc8f666d45d0f941f5f9c90
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 14:47:00 2010 +0100

    dselect: Do not shadow global thisname variable

 dselect/basecmds.cc |   11 ++++++-----
 dselect/pkglist.cc  |    9 +++++----
 2 files changed, 11 insertions(+), 9 deletions(-)

commit 5fef90a2960053e9b24304e2a2663fb1ed7dafb1
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 14:57:31 2010 +0100

    s-s-d: Do not shadow global variables

 utils/start-stop-daemon.c |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

commit b61d3f48bb1d991da4da596c33d8b8b3454401d1
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 15:26:00 2010 +0100

    libdpkg: Do not shadow global compressor variable
    
    Rename compressor to compressor_array, as a side effect it makes the
    variable name more clear.

 lib/dpkg/compress.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

commit c1d7debca62261e31286bb656048dfb6be11ead5
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 12:20:49 2010 +0100

    libdpkg: Do not lose const qualifier on a cast in path_quote_filename

 lib/dpkg/path.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ccd65150bbb0701eb32b27a6e262806c7b393d12
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 12:23:16 2010 +0100

    libdpkg: Remove variable l shadowing a previous definition

 lib/dpkg/myopt.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 5cf023f2d5bf609b6aba20aa5b5e285a91fbbbce
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 01:55:22 2010 +0100

    libdpkg: Rename stat variable to st to avoid shadowing stat(2)

 lib/dpkg/parse.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

commit 044386ffa7fb0c382eafff1a38470bfa549d00d0
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 03:37:55 2010 +0100

    dpkg-deb: Rename compressor to decompressor to avoid shadowing

 dpkg-deb/extract.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit c58fa9fa3353bb9a1807c06898e8f55b98f0a8a1
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 03:20:41 2010 +0100

    dpkg: Reduce scope of status variable to avoid shadowing another one

 src/processarc.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 7b40a7ecfc92fe325d01647c9137e8bd8263ae5c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 03:20:03 2010 +0100

    dpkg: Include main.h to get the limiteddescription prototype

 src/pkg-show.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 91976e8282ec31c132fa612676a4c85559ffa0ae
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 03:19:31 2010 +0100

    dpkg: Make pkg_files_add_file() static

 src/filesdb.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 77cae397a15baeca11c26aeb806b6be516e33d5f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 03:05:28 2010 +0100

    libdpkg: Use varbuf_detach instead of ad-hoc code

 lib/dpkg/dbmodify.c |    2 +-
 lib/dpkg/fields.c   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 70b29e3e9e2def64145c908bce4cb2922ddc8f19
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Feb 6 22:07:20 2010 +0100

    dpkg: Do not print unambiguous epoch on dpkg file overwrite error

 debian/changelog |    1 +
 src/archives.c   |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

commit d756afcce4fa361871d36a469fe9f28f3cb1b10b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 5 20:08:28 2010 +0100

    libdpkg: Use %zu instead of %d in varbuf_grow's internerr call

 lib/dpkg/varbuf.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 812115a0f521f971c6f7ca77a8a8646f4b931435
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Feb 5 19:58:26 2010 +0100

    libdpkg: Add and use new DPKG_ATTR_VPRINTF
    
    This new attribute marks a function that uses format strings with a
    va_list argument.

 lib/dpkg/dpkg.h   |    2 +-
 lib/dpkg/macros.h |    1 +
 lib/dpkg/varbuf.h |    3 ++-
 3 files changed, 4 insertions(+), 2 deletions(-)

commit ab5ba0aba8e7b840b69d4e25ab51616352d659f8
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 20:33:55 2010 +0100

    Mark several functions with DPKG_ATTR_PRINTF

 lib/dpkg/dpkg.h           |    3 ++-
 utils/start-stop-daemon.c |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 496a321cd9db4113087bf32da3c0c098a6e0735c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 20:33:30 2010 +0100

    Mark several functions with DPKG_ATTR_NORET

 dpkg-deb/main.c      |    4 ++--
 dpkg-split/main.c    |    4 ++--
 dselect/main.cc      |    4 ++--
 lib/dpkg/compress.c  |   26 +++++++++++++-------------
 lib/dpkg/compress.h  |    6 ++++--
 lib/dpkg/myopt.c     |    2 +-
 lib/dpkg/parsedump.h |    2 +-
 lib/dpkg/triglib.c   |    2 +-
 src/main.c           |    4 ++--
 src/query.c          |    4 ++--
 src/statcmd.c        |    4 ++--
 src/trigcmd.c        |    4 ++--
 12 files changed, 34 insertions(+), 32 deletions(-)

commit 88e63fbdaa6d85b698eac06cfa209fa7908c7796
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 19:04:39 2010 +0100

    Move DPKG_ATTR annotations from static declaration to the definition

 dpkg-deb/extract.c        |    5 +++--
 dselect/methparse.cc      |    9 +++++----
 lib/dpkg/compress.c       |    5 +----
 lib/dpkg/ehandle.c        |    4 +---
 lib/dpkg/myopt.c          |    5 +----
 lib/dpkg/subproc.c        |    4 +---
 utils/start-stop-daemon.c |    9 ++-------
 7 files changed, 14 insertions(+), 27 deletions(-)

commit b4284af48ce78dbfa34b20004b9e1ab268063188
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Feb 8 18:45:12 2010 +0100

    build: Add more warnings to --enable-compiler-warnings

 m4/dpkg-compiler.m4 |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit 2e2f13d83ff3058ba31614148b2ce437cd1a44be
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Feb 16 13:51:54 2010 +0100

    Move Frank to former maintainers

 AUTHORS |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 58a94c85e41edf97e8ae8a93effca19639bc007b
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Feb 16 13:48:07 2010 +0100

    Ship deb-split man page in dpkg-dev package

 debian/dpkg-dev.install |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 5332e0f654fc5e4c5608cb64b4a2af314371f010
Author: Brian Murray <brian@ubuntu.com>
Date:   Sat Feb 13 09:42:35 2010 +0100

    Dpkg::Vendor::Ubuntu::find_launchpad_closes(): don't return duplicate bug numbers
    
    Ensure we don't return the same bug multiple times even if
    it's closed multiple times.

 debian/changelog              |    3 +++
 scripts/Dpkg/Vendor/Ubuntu.pm |    6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

commit c1da9a4635aa1328d8a348fa8e0de24d36b8f5ef
Author: Peter Krefting <peterk@debian.org>
Date:   Sun Jan 31 20:05:22 2010 +0100

    Update Swedish translation.
    
    po/sv.po: 965t0f0u.
    man/po/sv.po: 1656t0f0u.
    scripts/po/sv.po: 485t0f0u.

 debian/changelog |    1 +
 man/po/sv.po     |    9 ++++-----
 po/sv.po         |   10 +++++-----
 scripts/po/sv.po |   12 ++++++------
 4 files changed, 16 insertions(+), 16 deletions(-)

commit 0494f95b4798fb1bc43d295a5b58321c46145a2b
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sat Jan 30 10:36:29 2010 +0100

    German dpkg translation update
    
    Update to 970t.

 po/de.po | 1150 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 601 insertions(+), 549 deletions(-)

commit 688155550152f585dc11a1e2f2ae5d82bf4127f4
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sat Jan 30 10:34:11 2010 +0100

    po/Makevars: Add ”--from-code=UTF-8“ to XGETTEXT_OPTIONS
    
    Otherwise xgettext will fail when it stumbles upon non-ASCII
    characters in update-alternatives.pl, even if those are only
    used in comments.

 po/Makevars |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3101899ce2ae65a60d212ba74eeb8cb5a6a76a69
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sat Jan 30 09:57:54 2010 +0100

    Fix po/POTFILES.in
    
    Reflect rename of compression.c to compress.c in commit
    b645c397239cd637883122af4106f6d7de4c9729.

 po/POTFILES.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6978d2e1d798e78a2d94e2b11b60c3c2210ae529
Author: Christian PERRIER <bubulle@debian.org>
Date:   Sat Jan 30 09:14:01 2010 +0100

    French  manpages translation update

 man/po/fr.po |  316 ++++++++++++++++++++++++----------------------------------
 1 files changed, 131 insertions(+), 185 deletions(-)

commit b2e8423c9ebf500a16b2f86fc11e4ac1571a1fa0
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Sat Jan 30 08:22:46 2010 +0100

    Italian translation update

 debian/changelog |    1 +
 po/it.po         |   92 +++---------------------------------------------------
 2 files changed, 6 insertions(+), 87 deletions(-)

commit cca8a30648658e43a4dab95e6643032e388a5372
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jan 28 21:51:36 2010 +0100

    Update German translation of manual pages
    
    Update to 1682t.

 man/po/de.po |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

commit 94917bfa77ac0295089f4f6c8437a83dec4f6c1c
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 27 20:04:14 2010 +0100

    dpkg-deb: Close file descriptors in info_spew()

 dpkg-deb/info.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 20493d176dd177ae97ad5985e3b9d7ba10e197af
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 27 17:30:21 2010 +0100

    dpkg-deb: Use fd_fd_copy instead of stream_fd_copy
    
    Avoid a usage of stdio based buffer I/O, to try to get rid of it at some
    point in the future.

 dpkg-deb/info.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

commit f291751922c0457b936fc693ba1b5ea4d737737d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 27 19:35:49 2010 +0100

    libdpkg: Let backends decide default compression level
    
    When compressing packages with gzip or bzip2, the tradeoff is
    clear: a better compression ratio for a distributed package is
    generally worth spending some extra time at build time. Since
    better compressed packages are not much more inconvenient to
    decompress at all, dpkg defaults to the maximum compression level
    and developers rarely need to override that default.
    
    On the other hand, LZ77-based decompressors use more memory at
    decompression time for more tightly compressed packages, so the
    maximum compression level of ‘9’ (which uses more than 32 MiB
    of memory to decompress) can be too high.
    
    With this patch, instead of defaulting to ‘9’, the compress_filter()
    function sets the level to the backend default stored in the compressor
    structure if the level is ‘-1’. All backends currently default to ‘9’
    for now; no change in behavior is intended.
    
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>

 lib/dpkg/compress.c |    6 +++++-
 lib/dpkg/compress.h |    1 +
 2 files changed, 6 insertions(+), 1 deletions(-)

commit 95b61194f3e3b737c67d91083d1d51bd421a42e8
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 27 18:59:22 2010 +0100

    libdpkg: Centralize compressor knowledge into the compress module
    
    Create a new structure to hold the name, extension, and compress and
    decompress methods for each compressor. Add new functions to find
    the correct compressor by name and extension. This way we have the
    information localized in a single place.

 dpkg-deb/build.c    |   25 +++----------
 dpkg-deb/dpkg-deb.h |    5 +--
 dpkg-deb/extract.c  |   27 +++++---------
 dpkg-deb/main.c     |   13 ++-----
 lib/dpkg/compress.c |  101 +++++++++++++++++++++++++++++++++++++--------------
 lib/dpkg/compress.h |   22 ++++++++----
 6 files changed, 109 insertions(+), 84 deletions(-)

commit 6a52f13b5ad0b3058eeb46383aeecee38ebc664f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 28 17:10:12 2010 +0100

    Add changelog entry for compression code rework

 debian/changelog |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 8b75347a0a86edf105fd0f0ba61cc56639879601
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 22:25:53 2010 +0100

    libdpkg: Check for errors from compression opening functions
    
    Those functions might fail mostly due to insufficient memory, let's
    catch those and bail out, instead of segfaulting on the NULL streams.

 lib/dpkg/compress.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit fe783c5410d9e63957a796ad1e0d923e9969f2db
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 18:53:15 2010 +0100

    libdpkg: Check for output errors when closing files on (de)compression
    
    A gzclose call has the same potential for errors as a write,
    since the compressor needs to flush its buffers before closing
    its output file. The same applies to BZ2_bzclose, but
    unfortunately libbz2's gzio-style API does not expose the error
    code, but we can use the native-style close function which does
    return the error code.
    
    Similarly, explicitly closing a file descriptor can reveal errors
    writing out buffered data.
    
    Closing input handles, on the other hand, would be a waste of
    time: all it would accomplish is to free some resources held by a
    process that is about to exit anyway.
    
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>

 lib/dpkg/compress.c |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 deletions(-)

commit a49c77b5f90c440d62df0865689ac211a4afb410
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 13:58:42 2010 +0100

    libdpkg: Give compress description variables more meaningful names
    
    Rename desc to desc_fmt and v to desc.

 lib/dpkg/compress.c |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

commit c423af068b17a2025ec1333f62928d27e2f75b8b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 13:52:58 2010 +0100

    libdpkg: Fix indentation in compress.c

 lib/dpkg/compress.c |   92 +++++++++++++++++++++++++-------------------------
 1 files changed, 46 insertions(+), 46 deletions(-)

commit 5175e3882d2608781adaba833b5adbb932a230b2
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 21 16:41:24 2010 +0100

    libdpkg: Refactor (de)compression code into individual functions
    
    Move compress and decompress code from compress_cat and decompress_cat
    to new functions for each compressor. And define them to use either the
    command or the library (if available) to hide the implementation from
    the callers and to make the code easier to read.
    
    Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>

 lib/dpkg/compress.c |  348 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 219 insertions(+), 129 deletions(-)

commit feb248df15c99f09bc208f1c9adace0e84dbcb06
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 27 18:26:47 2010 +0100

    libdpkg: Handle compression level as an integer
    
    Change compress_filter() to take an int for compress_level, and add
    a new function in dpkg-deb to parse and validate the argument option
    to not accept bogus values.

 debian/changelog    |    1 +
 dpkg-deb/build.c    |    4 ++--
 dpkg-deb/dpkg-deb.h |    2 +-
 dpkg-deb/main.c     |   20 ++++++++++++++++++--
 lib/dpkg/compress.c |   17 +++++++++--------
 lib/dpkg/compress.h |    2 +-
 6 files changed, 32 insertions(+), 14 deletions(-)

commit 4d89c0703ac4295fcd3a134a529d87a1960685d5
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 23:14:21 2010 +0100

    libdpkg: Rename (de)compress_cat funtions to (de)compress_filter

 dpkg-deb/build.c    |    4 ++--
 dpkg-deb/extract.c  |    2 +-
 lib/dpkg/compress.c |    8 ++++----
 lib/dpkg/compress.h |   11 ++++++-----
 4 files changed, 13 insertions(+), 12 deletions(-)

commit ad010e125f0d6bf963075add53571c38851152bc
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 23:14:04 2010 +0100

    libdpkg: Rename compress_type_cat to compress_type_none

 dpkg-deb/build.c    |    2 +-
 dpkg-deb/extract.c  |    2 +-
 dpkg-deb/main.c     |    2 +-
 lib/dpkg/compress.c |    6 +++---
 lib/dpkg/compress.h |    2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

commit 3ad109046c075d0878902d472215b4ac55401e15
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 23:12:25 2010 +0100

    dpkg-deb: Rename DATAMEMBER_CAT to DATAMEMBER

 dpkg-deb/build.c    |    2 +-
 dpkg-deb/dpkg-deb.h |    2 +-
 dpkg-deb/extract.c  |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit c2b6dbb013c836a70fa62ce85bd0e862b24a2944
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 13:18:41 2010 +0100

    libdpkg: Use snprintf to generate the compression argument

 lib/dpkg/compress.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

commit 24b728b32e69d9398ec03ed8a62512912aa65a75
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 01:10:17 2010 +0100

    libdpkg: Switch fd_fd_filter() to use the command module
    
    This allows the code to pass arbitrary arguments, and makes it easier to
    extend in the future.

 lib/dpkg/compress.c |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

commit 5050748f1a6bb0c0728f8c07f9058d545c80d7e0
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 8 18:02:09 2010 +0100

    Use new command module instead of ad-hoc code

 dselect/method.cc |   67 ++++++++++++++-------------
 lib/dpkg/dpkg.h   |    1 -
 src/archives.c    |   33 ++++++--------
 src/help.c        |  128 ++++++++++++++++++++++++----------------------------
 src/main.c        |   50 ++++++---------------
 5 files changed, 122 insertions(+), 157 deletions(-)

commit 08c0dd25295038894d74f9a0ce52fe06727c1332
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 8 16:48:17 2010 +0100

    libdpkg: New command module
    
    This should ease refactoring some of the duplicate code dealing with
    command execution. It will also make the code clearer.

 lib/dpkg/Makefile.am      |    1 +
 lib/dpkg/command.c        |  184 +++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/command.h        |   54 +++++++++++++
 lib/dpkg/test/.gitignore  |    1 +
 lib/dpkg/test/Makefile.am |    2 +
 lib/dpkg/test/t-command.c |  140 ++++++++++++++++++++++++++++++++++
 po/POTFILES.in            |    1 +
 7 files changed, 383 insertions(+), 0 deletions(-)

commit 2dca970eab6f6a1761f4a3dc2de7e016a75e33f8
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Thu Jan 7 00:47:28 2010 +0100

    libdpkg: Reorder fd_fd_filter() function arguments
    
    Put the compression options string last so it can be replaced with
    variable arguments for the command to execute.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/compress.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

commit 13f718edd32d454127786efdaf512a4ccfdf0c58
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 28 16:30:12 2010 +0100

    dpkg: Use a literal string for the archive file pattern
    
    Remove now unused macro.

 lib/dpkg/dpkg.h |    2 --
 src/archives.c  |    2 +-
 2 files changed, 1 insertions(+), 3 deletions(-)

commit f096d6220a4ee006e605e706bc4cdd73724b96df
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 8 17:58:52 2010 +0100

    dpkg: Remove scriptname argument from do_script()

 src/help.c |   13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

commit 04b8371625cee9f6bd2ae5fef1a5f51dd6845c17
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 7 22:54:16 2010 +0100

    dpkg: Move exec error string from do_script argument to ohshite call

 src/help.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit c482ae4999b24202cc1efac9dce4ada8716586c0
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Wed Jan 6 14:21:32 2010 +0100

    libdpkg: Check for write errors during decompression
    
    An unnoticed write error is unlikely to cause major problems,
    since the process on the other end still has a chance to notice
    the mangled stream. But it is worth fixing, especially because
    the writing end can give a better error message.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/compress.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

commit c9d8174c1b78db5ada2d77e85212736034a20768
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Wed Jan 6 14:05:34 2010 +0100

    libdpkg: Do not handle EINTR in compression code
    
    The current callers for the compression code do not install signal
    handlers, so there is no occasion to test the EINTR handling.
    Perhaps for this reason, since commit 7bf6e0 (add support for using
    libz, 2000-12-09) when the current compression/decompression code
    was introduced, the EINTR handling has been broken in a number of
    ways:
    
     * Interrupted reads were treated as end of file until very recently.
     * Interrupted writes during decompression cause portions of the
       output to be discarded.
     * Interrupted writes during compression are treated as errors,
       unless the interruption happens before any data from the output
       buffer can be consumed.
    
    Since zlib at least cannot recover from an interrupted write anyway,
    it seems better to always treat EINTR like any other error. For now
    callers should specify the SA_RESTART flag when installing signal
    handlers for correct behavior on System V style operating systems
    (such as Solaris).
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/compress.c |   28 +++++++++-------------------
 1 files changed, 9 insertions(+), 19 deletions(-)

commit 5e682abe5e9cb1added43d34a0865c000b5701aa
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jan 20 16:57:06 2010 +0100

    libdpkg: Move read calls inside (de)compression loops

 lib/dpkg/compress.c |   40 ++++++++++++++++++++++++++++++++--------
 1 files changed, 32 insertions(+), 8 deletions(-)

commit 5169de76c4a78b3fe694ea452b3f34a19ea5b637
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sun Jan 17 16:32:56 2010 +0100

    libdpkg: Properly handle read errors on (de)compression
    
    Instead of using the error handling code, failed reads are being
    treated as end of file. This applies only when using zlib and libbz2.
    In practice it probably has not caused problems because I/O errors
    are rare, and often the program at the other end of the pipe can
    notice the pipe unexpectedly closing.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/compress.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit fcf68d7115580a4af7087c24a0963d72f81a3c22
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Tue Jan 5 16:49:39 2010 +0100

    libdpkg: Fix redundant compression error messages
    
    Avoid ohshite() except where errno is useful. This should avoid
    confusing error messages like:
    
            data: internal gzip error: read: stream error: Success
    
    While we're at it, drop the number of bytes read and written from
    the read() != write() error message and output the error message
    from the compression library instead.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/compress.c |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

commit ade1c27e5c618ca72c6168d79c8da1a78fd0859c
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sun Jan 3 18:56:51 2010 +0100

    libdpkg: Fix compress_cat to read/write to arbitrary fds
    
    The compress_cat() code had a hidden assumption that fd_in is 0
    and fd_out is 1. This is a bug waiting to happen. But luckily
    all callers do use those values, so it is harmless.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/compress.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit e5c584abd37b59ba4d7cda44f7bad7c98dbd075b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 01:44:27 2010 +0100

    Normalize ar member names when reading
    
    This removes all trailing spaces and the optional trailing slash on
    GNU-style ar format, making it easier to parse and avoiding having to
    compare against the compat strings.

 debian/changelog        |    2 ++
 dpkg-deb/dpkg-deb.h     |   17 ++++++-----------
 dpkg-deb/extract.c      |   27 ++++++++++++++-------------
 dpkg-split/dpkg-split.h |    2 +-
 dpkg-split/info.c       |    9 ++++++++-
 man/deb-split.5         |    3 ++-
 6 files changed, 33 insertions(+), 27 deletions(-)

commit 889375f0857697c362c2ec924a3f9b6f5110747d
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 01:07:24 2010 +0100

    libdpkg: Add a new ar module
    
    For now include a dpkg_ar_normalize_name() function to fix up the
    ar_name member in an ar_hdr structure.

 lib/dpkg/Makefile.am      |    1 +
 lib/dpkg/ar.c             |   39 +++++++++++++++++++++++++++++++++++++++
 lib/dpkg/ar.h             |   37 +++++++++++++++++++++++++++++++++++++
 lib/dpkg/test/.gitignore  |    1 +
 lib/dpkg/test/Makefile.am |    2 ++
 lib/dpkg/test/t-ar.c      |   42 ++++++++++++++++++++++++++++++++++++++++++
 po/POTFILES.in            |    1 +
 7 files changed, 123 insertions(+), 0 deletions(-)

commit 3fe6efee7d7e385ed6e30223a4f93fadca1ca095
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 01:40:27 2010 +0100

    dpkg-deb: Force the ar member name to 16 space padded chars wide
    
    This makes the code resilient to changes to the member name strings
    and guarantees it will always have the valid length, also makes it
    easier to refactor later on.

 dpkg-deb/build.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit da7c012828b95d3f275afc553f7927b7dfd04ed6
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 01:33:34 2010 +0100

    dpkg-deb: Use DEBMAGIC instead of string literals

 dpkg-deb/build.c   |    2 +-
 dpkg-deb/extract.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 4088b785d8b8df9a6f87fb2dbd6680198e7fb46b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 23 17:00:36 2010 +0100

    Do not include the ar magic in the deb and deb-split magic macros
    
    This allows the code to parse the ar header normally w/o needing to
    seek back.

 dpkg-deb/dpkg-deb.h     |    2 +-
 dpkg-split/dpkg-split.h |    2 +-
 dpkg-split/info.c       |   11 ++++++-----
 3 files changed, 8 insertions(+), 7 deletions(-)

commit 675f12250ede89f5c4fbbae26f5eb48a28bfb491
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 18 14:22:34 2010 +0100

    libdpkg: Rename sizeof_array to array_count
    
    The new name makes more sense, as the former might seem to imply the
    total size of the array and not the amount of elements in it.

 dpkg-deb/main.c           |    2 +-
 dpkg-split/main.c         |    2 +-
 lib/dpkg/ehandle.c        |    2 +-
 lib/dpkg/macros.h         |    4 ++--
 lib/dpkg/parse.c          |    4 ++--
 lib/dpkg/subproc.c        |    6 +++---
 utils/start-stop-daemon.c |    2 +-
 7 files changed, 11 insertions(+), 11 deletions(-)

commit 37732b75526fe95f4bbeb0f344942b55ae7a3485
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 18:51:33 2010 +0100

    libdpkg: Mark config_error and statusfd_send with DPKG_ATTR_PRINTF

 lib/dpkg/dpkg.h  |    2 +-
 lib/dpkg/myopt.c |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 803474755148c97ee16919c2373e605763fea739
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 22 18:50:01 2010 +0100

    libdpkg: Add and use new DPKG_ATTR_SENTINEL

 lib/dpkg/macros.h |    2 ++
 src/main.h        |    7 ++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

commit e10b57f16269e731c7309a9df4797089f83522c8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jan 24 22:11:25 2010 +0100

    libdpkg: Rename varbuffree to varbuf_destroy
    
    The convention is for functions named free to deallocate the contents
    and the given pointer, while this one only deallocates the contents, so
    we rename it to make this distinction clear.

 dpkg-deb/info.c          |    2 +-
 dselect/pkglist.cc       |    2 +-
 lib/dpkg/buffer.c        |    2 +-
 lib/dpkg/dbmodify.c      |    2 +-
 lib/dpkg/dump.c          |    4 ++--
 lib/dpkg/showpkg.c       |    6 +++---
 lib/dpkg/test/t-varbuf.c |   18 +++++++++---------
 lib/dpkg/varbuf.c        |    4 +++-
 lib/dpkg/varbuf.h        |   14 +++++++-------
 src/archives.c           |   12 ++++++------
 src/configure.c          |   10 +++++-----
 src/depcon.c             |    4 ++--
 src/help.c               |    4 ++--
 src/packages.c           |    4 ++--
 src/processarc.c         |    2 +-
 src/query.c              |    4 ++--
 src/remove.c             |    4 ++--
 src/select.c             |    4 ++--
 src/statcmd.c            |    6 +++---
 19 files changed, 55 insertions(+), 53 deletions(-)

commit c6520d670008b8af1e79726e690ec35435e8672c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 23 22:51:47 2010 +0100

    libdpkg: Rename pkg_array_free to pkg_array_destroy
    
    The convention is for functions named _free to deallocate the contents
    and the given pointer, while this one only deallocates the contents, so
    we rename it to make this distinction clear.

 lib/dpkg/pkg-array.c |    8 +++++---
 lib/dpkg/pkg-array.h |    2 +-
 src/query.c          |    4 ++--
 src/select.c         |    2 +-
 4 files changed, 9 insertions(+), 7 deletions(-)

commit 4952b8c30cb7564bbf509a2dd8f8bde052ccc144
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jan 28 03:42:02 2010 +0100

    dpkg-deb: Do not include unneeded <zlib.h>
    
    The zlib functionality is already abstracted throught the libdpkg
    compress module.

 dpkg-deb/build.c   |    3 ---
 dpkg-deb/extract.c |    3 ---
 2 files changed, 0 insertions(+), 6 deletions(-)

commit 9ddef90d43712debf3c64ab8662de2bc1174666e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jan 4 19:07:53 2010 +0100

    Do not include unneeded <signal.h>

 dpkg-deb/build.c    |    1 -
 dpkg-deb/extract.c  |    1 -
 dpkg-deb/info.c     |    1 -
 dpkg-deb/main.c     |    1 -
 lib/dpkg/dbmodify.c |    1 -
 lib/dpkg/mlib.c     |    1 -
 src/configure.c     |    1 -
 src/errors.c        |    1 -
 src/main.c          |    1 -
 src/statcmd.c       |    1 -
 10 files changed, 0 insertions(+), 10 deletions(-)

commit ccd01db5cc410896ed6b8f1d78ff458a4cde2a23
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Jan 27 17:17:53 2010 +0100

    Dpkg::Source::Patch: fix output of patch with an header
    
    The line was misparsed. Use the print method to avoid any ambiguity.

 scripts/Dpkg/Source/Patch.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9b369060cb86bdcd62f0a790436d58ef2edc9aea
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Jan 24 22:13:38 2010 +0100

    update-alternatives: deal with unknown alternatives when fixing a broken link group
    
    Instead of trying to reinstall an alternative that doesn't exist in the
    database, select a new choice and install that one.

 debian/changelog               |    3 +++
 scripts/update-alternatives.pl |    8 ++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

commit bf8ff0cd3dd88a06c2a3cfca8d6439df5fa217cb
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Jan 23 23:25:45 2010 +0100

    dpkg-source: unpacking a 3.0 (quilt) source package configures quilt accordingly
    
    The files .pc/.quilt_patches and .pc/.quilt_series are always created so
    that any quilt invocation will know where to look for (or where to store)
    patches. This will only work with quilt >= 0.48-5.

 debian/changelog                        |    3 +++
 scripts/Dpkg/Source/Package/V3/quilt.pm |   26 ++++++++++++++++++++++----
 2 files changed, 25 insertions(+), 4 deletions(-)

commit 8e00bfcbc75213c00a6b782ffed332ba5b772aef
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jan 23 09:55:58 2010 +0100

    Update German scripts translation
    
    Update to 491t.

 scripts/po/de.po |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit fddb4645a3bc838ba489cc0e66df830d79f71058
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 22 17:58:49 2010 +0100

    Add changelog entry for Dpkg::Compression related changes

 debian/changelog |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 21d29e600d7295b3fd4f79f7cf697493df4b9e7c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 22 17:48:34 2010 +0100

    Dpkg::Compression::Process: add POD documentation

 scripts/Dpkg/Compression/Process.pm |   96 +++++++++++++++++++++++++++++++++--
 1 files changed, 92 insertions(+), 4 deletions(-)

commit d392c99d95a3576180efb651a7f86127a5eaf4e4
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 22 16:38:46 2010 +0100

    Rename Dpkg::Compression::CompressedFile and Dpkg::Compression::Compressor
    
    Dpkg::Compression::CompressedFile -> Dpkg::Compression::FileHandle
    Dpkg::Compression::Compressor     -> Dpkg::Compression::Process
    
    The new names are more expressive and avoid repeating "Compress".
    
    Update all scripts and modules to use the new name.

 .../{CompressedFile.pm => FileHandle.pm}           |   42 ++++++++++----------
 .../Dpkg/Compression/{Compressor.pm => Process.pm} |    6 +-
 scripts/Dpkg/Index.pm                              |    6 +-
 scripts/Dpkg/Source/Archive.pm                     |    2 +-
 scripts/Dpkg/Source/Patch.pm                       |    4 +-
 scripts/Makefile.am                                |    4 +-
 scripts/dpkg-scanpackages.pl                       |    6 +-
 scripts/dpkg-scansources.pl                        |    8 ++--
 scripts/po/POTFILES.in                             |    4 +-
 scripts/t/850_Dpkg_Compression.t                   |   10 ++--
 10 files changed, 45 insertions(+), 47 deletions(-)

commit 57063245562d895f14fc2da47a6cb03be9677d06
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 22 16:09:04 2010 +0100

    Move handling of default compression method/level to Dpkg::Compression
    
    Dpkg::Compression now provides new functions to get/set the default
    compression method and the default compression level. There was no
    good reason to have it in Dpkg::Compression::Compressor in the first
    place.
    
    Factorize some code to verify validity of what should be a compression
    level in new function compression_is_valid_level($level).
    
    dpkg-source has been updated to cope with the changes.

 scripts/Dpkg/Compression.pm            |   71 +++++++++++++++++++++++++++++++-
 scripts/Dpkg/Compression/Compressor.pm |   24 +---------
 scripts/dpkg-source.pl                 |   17 ++++----
 3 files changed, 81 insertions(+), 31 deletions(-)

commit efd281e8723f9e80e65cbdcefb304483c35ad963
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 22 01:46:40 2010 +0100

    Dpkg::Compression: new API based on public functions
    
    This API change requires lots of adjustements through the source code.

 scripts/Dpkg/Compression.pm                |  129 +++++++++++++++++++++++++---
 scripts/Dpkg/Compression/CompressedFile.pm |    7 +-
 scripts/Dpkg/Compression/Compressor.pm     |    8 +-
 scripts/Dpkg/Source/Package.pm             |    5 +-
 scripts/Dpkg/Source/Package/V1.pm          |    2 +-
 scripts/Dpkg/Source/Package/V2.pm          |   15 ++--
 scripts/Dpkg/Source/Package/V3/bzr.pm      |    4 +-
 scripts/Dpkg/Source/Package/V3/git.pm      |    4 +-
 scripts/Dpkg/Source/Package/V3/native.pm   |    4 +-
 scripts/dpkg-buildpackage.pl               |    9 +-
 scripts/dpkg-genchanges.pl                 |    7 +-
 scripts/dpkg-scansources.pl                |    5 +-
 scripts/dpkg-source.pl                     |    9 +-
 13 files changed, 158 insertions(+), 50 deletions(-)

commit c5fea0a576586e993ad8af3c6b2d0897297cd9f7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jan 21 22:34:44 2010 +0100

    Add non-regression tests for Dpkg::Compression::CompressedFile

 scripts/Makefile.am              |    1 +
 scripts/t/850_Dpkg_Compression.t |   99 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+), 0 deletions(-)

commit 11a793f29a1b13065dc146ae203a8184a4bce780
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jan 21 21:08:31 2010 +0100

    Dpkg::Compression::CompressedFile: update API
    
    Change the Dpkg::Compression::CompressedFile API to make it behave like
    a normal filehandle.
    
    Update all users of the object to use the new API.

 scripts/Dpkg/Compression/CompressedFile.pm |  357 +++++++++++++++++++++++++---
 scripts/Dpkg/Index.pm                      |   12 +-
 scripts/Dpkg/Source/Archive.pm             |   45 ++--
 scripts/Dpkg/Source/Patch.pm               |   61 ++---
 scripts/dpkg-scanpackages.pl               |   12 +-
 scripts/dpkg-scansources.pl                |   18 +-
 6 files changed, 384 insertions(+), 121 deletions(-)

commit 31bde76e009e2a18c8813fe61816ee9719f2228d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 1 18:56:08 2009 +0100

    Rename Dpkg::Source::CompressedFile into Dpkg::Compression::CompressedFile

 .../Dpkg/{Source => Compression}/CompressedFile.pm |    2 +-
 scripts/Dpkg/Index.pm                              |    6 +++---
 scripts/Dpkg/Source/Archive.pm                     |    2 +-
 scripts/Dpkg/Source/Patch.pm                       |    4 ++--
 scripts/Makefile.am                                |    2 +-
 scripts/dpkg-scanpackages.pl                       |    6 +++---
 scripts/dpkg-scansources.pl                        |    8 ++++----
 scripts/po/POTFILES.in                             |    2 +-
 8 files changed, 16 insertions(+), 16 deletions(-)

commit 42a195698c55c7382f9b1e07378ad7c8cc00c7d9
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 1 18:47:05 2009 +0100

    Rename Dpkg::Source::Compressor into Dpkg::Compression::Compressor

 scripts/Dpkg/{Source => Compression}/Compressor.pm |    4 ++--
 scripts/Dpkg/Source/CompressedFile.pm              |    4 ++--
 scripts/Dpkg/Source/Patch.pm                       |    2 +-
 scripts/Makefile.am                                |    2 +-
 scripts/dpkg-source.pl                             |   16 ++++++++--------
 scripts/po/POTFILES.in                             |    3 ++-
 6 files changed, 16 insertions(+), 15 deletions(-)

commit 49d9121542f8c3dfa5a84f6ddbca5115c13fa7ad
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jan 21 21:11:44 2010 +0100

    Dpkg::IPC: allow IO::Handle objects in *_pipe parameters

 scripts/Dpkg/IPC.pm |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

commit 4616b554a747a3b3b524ff49a1a077930ba36ab2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 18 11:37:01 2010 +0100

    Dpkg::Shlibs::Objdump: accept filenames with spaces and colons

 debian/changelog               |    3 +++
 scripts/Dpkg/Shlibs/Objdump.pm |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 01a4b244f36239bb6df336e201f51c185b2dd2d2
Author: Nicolas François <nicolas.francois@centraliens.net>
Date:   Thu Jan 14 11:45:45 2010 +0100

    Fix typos in the French manpages.
    
    Fix typo \\<nbsp> should be <nbsp>.
    Also change \\<space> to <nbsp> for consistency.

 man/po/fr.po | 1146 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 573 insertions(+), 573 deletions(-)

commit 3fd9443c00fa404c85d93ab39ed3bdf5b8d5d86d
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Jan 13 16:17:57 2010 +0100

    Update German scripts translation
    
    Update to 490t.

 scripts/po/de.po |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

commit a925797c3deca1d56ce17bc988ded48e6aa8a0dc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Jan 12 12:19:32 2010 +0100

    Add changelog entry for symbol patterns support in dpkg-gensymbols

 debian/changelog |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

commit ca05db4046b13d56e23187ff6c5a8e18221a8952
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 11 19:39:30 2010 +0100

    dpkg-gensymbols(1): document the new -V option

 man/dpkg-gensymbols.1 |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit e0fa13513797ee2e90a27fdf23e51693a7ef2449
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 11 18:45:00 2010 +0100

    Dpkg::Shlibs::Symbol.pm: change handling of old-style wildcards
    
    Really treat "*@version" like "(symver|optional)version" and don't care
    if the diff output might not apply in that specific case. The difference
    are minor anyway when you use that feature to maintain your symbols file.

 scripts/Dpkg/Shlibs/Symbol.pm              |   26 ++++++++++++--------------
 scripts/t/200_Dpkg_Shlibs.t                |   14 ++++++++++----
 scripts/t/200_Dpkg_Shlibs/patterns.symbols |    2 +-
 3 files changed, 23 insertions(+), 19 deletions(-)

commit 3f593b5be3ea692d8e41c76d6768cb77c06eb3f3
Author: Modestas Vainius <modax@debian.org>
Date:   Sun Jan 10 11:46:09 2010 +0200

    Dpkg::Shlibs::Symbol/SymbolFile: introduce symver pattern, deprecate wildcards
    
    Wildcards are still recognized. Their functionality is like of
    (symver|optional). Also underline notations of all basic pattern names
    in the man page.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 man/dpkg-gensymbols.1                      |   58 ++++++++++++----------
 scripts/Dpkg/Shlibs/Symbol.pm              |   76 ++++++++++++++++------------
 scripts/Dpkg/Shlibs/SymbolFile.pm          |    6 +--
 scripts/t/200_Dpkg_Shlibs.t                |   46 +++++++++++++----
 scripts/t/200_Dpkg_Shlibs/patterns.cpp     |   27 +++++++---
 scripts/t/200_Dpkg_Shlibs/patterns.map     |    9 +++-
 scripts/t/200_Dpkg_Shlibs/patterns.symbols |   10 ++--
 7 files changed, 143 insertions(+), 89 deletions(-)

commit 22bf0c7e950e104f4ca7392bd4a5fabe834cc688
Author: Modestas Vainius <modax@debian.org>
Date:   Sun Jan 10 02:36:04 2010 +0200

    Dpkg::Shlibs::Symbol: use 'auto' c++filt format for demangling C++ symbols
    
    'auto' will try to select appropriate C++ demangling type automatically. Please
    note that 'auto' format is limited to C++ symbols as of binutils 2.20.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm       |    2 +-
 scripts/t/190_Dpkg_Shlibs_Cppfilt.t |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 210b816279ff3935aebf469f547f6699501a93af
Author: Modestas Vainius <modax@debian.org>
Date:   Sun Jan 10 02:26:15 2010 +0200

    Dpkg::Shlibs::*: style adjustments.
    
    Use "my ($foo, $bar) = @_" rather than multiple shift()s.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Cppfilt.pm    |   11 +++++------
 scripts/Dpkg/Shlibs/Symbol.pm     |   13 +++++--------
 scripts/Dpkg/Shlibs/SymbolFile.pm |    5 ++---
 scripts/t/200_Dpkg_Shlibs.t       |    5 ++---
 4 files changed, 14 insertions(+), 20 deletions(-)

commit 1580211ef2bfbfe74314c7472f517b5da935dea2
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Update copyright notices of Modestas Vainius
    
    * Include 2010 in copyright years.
    * Use modax@debian.org email address.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm     |    2 +-
 scripts/Dpkg/Shlibs/SymbolFile.pm |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 81f26dad1dca289bd49351abfdda9eac411a000c
Author: Modestas Vainius <modax@debian.org>
Date:   Mon Jan 11 16:22:05 2010 +0100

    dpkg-gensymbols(1): document patterns in the manual page
    
    And small fixups of other parts of the manual page.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 man/dpkg-gensymbols.1 |  166 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 139 insertions(+), 27 deletions(-)

commit da19cee896d19264a1c733a93646a37ffb4d1fd0
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 11 14:46:03 2010 +0100

    scripts/t/200_Dpkg_Shlibs.t: extend test suite to cover symbol patterns functionality
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Makefile.am                        |   14 +++-
 scripts/t/200_Dpkg_Shlibs.t                |  146 +++++++++++++++++++++++++++-
 scripts/t/200_Dpkg_Shlibs/patterns.cpp     |   98 +++++++++++++++++++
 scripts/t/200_Dpkg_Shlibs/patterns.map     |    4 +
 scripts/t/200_Dpkg_Shlibs/patterns.symbols |   45 +++++++++
 5 files changed, 304 insertions(+), 3 deletions(-)

commit fa6739b81239f053243014dbbba18c2328cd388c
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    scripts/t/200_Dpkg_Shlibs.t: cleanup and fix non-regression test
    
    * Rename previous tag tests to 'basictags'. Change the name everywhere and use
      it consistenly throughout the testsuite. No new tests added.
    * Fix 'wildcard symbol' test. It started failing due to changes in the symbol
      data structure.
    * Add a sub for save_load test.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Makefile.am                                |   14 ++--
 scripts/t/200_Dpkg_Shlibs.t                        |  102 ++++++++++---------
 scripts/t/200_Dpkg_Shlibs/basictags.c              |   27 +++++
 .../{symbols.tags.in => basictags.symbols}         |    4 +-
 scripts/t/200_Dpkg_Shlibs/symbols.include-3        |    4 +-
 scripts/t/200_Dpkg_Shlibs/symboltags.c             |   27 -----
 6 files changed, 92 insertions(+), 86 deletions(-)

commit b22337ebf92b5bd68beed3500b7a5c41d8caa51a
Author: Modestas Vainius <modax@debian.org>
Date:   Mon Jan 11 16:14:14 2010 +0100

    Dpkg::Shlibs::SymbolFile::create_symbol(): new function
    
    This new function will be used in non-regression tests, it avoids
    duplicating parse+initialize multiple times.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm     |    2 +-
 scripts/Dpkg/Shlibs/SymbolFile.pm |   16 ++++++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

commit dfacfbd93e00007033f5e500af0459ca4553f70d
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    dpkg-gensymbols: improve output and add a "verbose output" option
    
    * Current version of SymbolFile is capable of printing and detecting missing
      patterns. Therefore, drop special handling of wildcards from dpkg-gensymbols.
      This renders some old wildcard related subroutines in SymbolFile obsolete.
      Drop them as well.
    * Add verbose output (-V) option which in template mode allows to dump symbols
      above the pattern they match (dump() option 'with_pattern_matches').
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/SymbolFile.pm |   18 -------
 scripts/dpkg-gensymbols.pl        |   90 ++++++++++++++++---------------------
 2 files changed, 39 insertions(+), 69 deletions(-)

commit 6dcf3df8208bea8eb3f23280bae938dc997cb5fb
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Dpkg::Shlibs::SymbolFile::dump(): improve output
    
    * In template mode, dump patterns. Then, matching symbols might be
      optionally dumped as comments.
    * In non-template mode, dump raw symbols without patterns.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/SymbolFile.pm |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

commit 428ab764e06fc997ca028e74c0e7899c53fe1186
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Dpkg::Shlibs::SymbolFile::dump(): fix indentation style
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/SymbolFile.pm |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

commit 4d65f96219e45cb80083be47c66085ff85dcca61
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Dpkg::Shlibs::Symbol/SymbolFile: implement pattern matching
    
    Implement pattern matching in SymbolFile::merge_symbols(),
    SymbolFile::get_new_symbols() and other functions which deal with tracking of
    old symbols and discovery of new ones.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm     |   47 ++++++++++-
 scripts/Dpkg/Shlibs/SymbolFile.pm |  164 ++++++++++++++++++++++++++++++++-----
 2 files changed, 187 insertions(+), 24 deletions(-)

commit 2425566eb66ad35a24e7cbf8515a3a2e2fad2357
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Dpkg::Shlibs::SymbolFile::get_new_symbols(): simplify and shorten code
    
    Reduce the code in get_new_symbols() by enumerating symbols, rather than their
    names. Also split off some code to Symbol::is_eligible_as_new() function.
    
    Patch is supposed to result in no behavioral changes.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm     |    9 +++++++++
 scripts/Dpkg/Shlibs/SymbolFile.pm |   15 +++++++--------
 2 files changed, 16 insertions(+), 8 deletions(-)

commit 8ad712068d4b33339fc9e88c0e05f75c3c6bc72d
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Dpkg::Shlibs::SymbolFile::merge_symbols(): factorize some code
    
    Split off some code from SymbolFile::merge_symbols() to
    Symbol::mark_found_in_library() and Symbol::mark_not_found_in_library()
    methods. Methods do sanitizing of the Symbol object when the symbol is / isn't
    found in the library respectively. This simplifies readability of
    merge_symbols() and allows reusability of the code blocks (for the future).
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm     |   42 +++++++++++++++++++++++++++++++++++++
 scripts/Dpkg/Shlibs/SymbolFile.pm |   32 ++-------------------------
 2 files changed, 45 insertions(+), 29 deletions(-)

commit 90dff312c582f1a3ead410769a334b2271ecb72a
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Dpkg::Shlibs::Symbol/SymbolFile: recognize patterns and initialize them properly
    
    Add code for symbol-pattern recognition and initialization. Two groups of
    patterns are supported:
    
    * aliases (wildcards, c++ demangled names). They can be matched by converting
      a raw symbol to the alias and mapping the result to the alias pattern
      specified in symbol file template;
    
    * generic patterns (regular expressions). They must be matched against each
      raw symbol in a sequential order. Therefore, they are rather expensive
      performance-wise.
    
    Rename Symbol::process_tags() to Symbol::initialize() in the process. New name
    suites the purpose of the sub better.
    
    Failure of 'wildcarded symbol' test is expected at this point.
    
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm     |   51 ++++++++++++++++++++++++++++++++++--
 scripts/Dpkg/Shlibs/SymbolFile.pm |   31 ++++++++++++++++++----
 2 files changed, 73 insertions(+), 9 deletions(-)

commit aff221782ed7f1c6ba68ae0642ccf5db85aa414e
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:28 2010 +0200

    Dpkg::Shlibs::Symbol: add pattern related functions
    
    The new functions define a public interface for accessing pattern specific
    data in Symbol objects.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm |   95 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 95 insertions(+), 0 deletions(-)

commit f49ec7762728390cda14a32a1910b60b05ee53ac
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:27 2010 +0200

    Dpkg::Shlibs::Symbol::clone(): replaced by dclone() and sclone().
    
    dclone() - deep cloning of the symbol.
    sclone() - shallow copying of the symbol.
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Symbol.pm     |   20 ++++++++++++++++----
 scripts/Dpkg/Shlibs/SymbolFile.pm |    8 ++++----
 scripts/t/200_Dpkg_Shlibs.t       |   12 +++++++++++-
 3 files changed, 31 insertions(+), 9 deletions(-)

commit 3a4c2b071c845bc6cc539826781c493baca0efa3
Author: Modestas Vainius <modax@debian.org>
Date:   Tue Jan 5 02:03:27 2010 +0200

    Dpkg::Shlibs::Cppfilt: new interface to the c++filt utility.
    
    This new module can be used to do symbol demangling with the c++filt
    utility. For performance reasons, the c++filt program is run
    in the background and used as a daemon: for each line written
    it immediately outputs the demangled line.
    
    The module also takes care of the c++filt process management
    (forking and termination).
    
    Signed-off-by: Modestas Vainius <modax@debian.org>
    Signed-off-by: Raphaël Hertzog <hertzog@debian.org>

 scripts/Dpkg/Shlibs/Cppfilt.pm      |  106 +++++++++++++++++++++++++++++++++++
 scripts/Makefile.am                 |    2 +
 scripts/t/190_Dpkg_Shlibs_Cppfilt.t |   89 +++++++++++++++++++++++++++++
 3 files changed, 197 insertions(+), 0 deletions(-)

commit b432975b209ed2888441dbe40aa3b18669836356
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Jan 11 16:58:06 2010 +0100

    debian/control: drop debian-maintainers from Suggests
    
    The keyring of interest is available in the debian-keyring package.

 debian/changelog |    2 ++
 debian/control   |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit b3ce85b43fca4b75549c2191eed563246dfa191b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jan 10 12:05:13 2010 +0100

    Update German translation of manual pages
    
    Update to 1680t.

 man/po/de.po |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

commit b1acb6690d759fe523bfbed14dd5d1653eaee282
Merge: a9d4a03 d55c5d3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 8 19:23:22 2010 +0100

    Merge branch 'sid'

commit d55c5d39b684c9f08f8f612f5553de5ea409b625
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 8 17:58:11 2010 +0100

    Release 1.15.5.6

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 6dff550cf68846d0bc3a4189d7779d08feed5703
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 8 18:59:59 2010 +0100

    dpkg-shlibdeps(1): fix typo "informations" -> "information"

 man/dpkg-shlibdeps.1 |    2 +-
 man/po/de.po         |    2 +-
 man/po/es.po         |    2 +-
 man/po/fr.po         |    2 +-
 man/po/hu.po         |    2 +-
 man/po/ja.po         |    2 +-
 man/po/pl.po         |    2 +-
 man/po/pt_BR.po      |    2 +-
 man/po/ru.po         |    2 +-
 man/po/sv.po         |    2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

commit a30eab85df6d1c7c7dd07d406c7951c231ccf920
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 8 18:56:14 2010 +0100

    debian/control: add ${misc:Depends} everywhere

 debian/changelog |    1 +
 debian/control   |    6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

commit b50008f973c0856dfa241129f761d6cc312648c8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 8 17:55:30 2010 +0100

    dpkg-source: better explain how --print-format works
    
    In the manual page, mentions that any upstream tarball must be available
    in the current directory and make it obvious when a format is discarded
    (for example due to lack of an upstream tarball) by displaying a message
    on STDERR.

 debian/changelog       |    2 ++
 man/dpkg-source.1      |    3 ++-
 scripts/dpkg-source.pl |    4 ++--
 3 files changed, 6 insertions(+), 3 deletions(-)

commit 5e4c14712a795b1b2da6d0bdb7c130c8a99c1906
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 8 17:17:30 2010 +0100

    dpkg-buildpackage: fix value of "parallel" exported in DEB_BUILD_OPTIONS
    
    When "-j" is given, it used to export "parallel=-1" instead of the more
    logical "parallel=" that gives the desired result with the sample make
    invocation shown in the Debian policy:
      NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
      MAKEFLAGS += -j$(NUMJOBS)

 debian/changelog             |    2 ++
 scripts/dpkg-buildpackage.pl |   10 +++-------
 2 files changed, 5 insertions(+), 7 deletions(-)

commit cfdeb7e01ff702427abadfa14bd2e066b4eec940
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Jan 8 18:46:14 2010 +0100

    Dpkg::BuildOptions: change API so that an empty value can be properly supported
    
    No value results in a hash item with undef value while an empty value
    results in a hash ite with an empty value.
    
    Update the non-regression tests accordingly. Also update dpkg-buildpackage
    that was using defined instead of exists to test the existence of an
    option.

 scripts/Dpkg/BuildOptions.pm      |   13 +++++++------
 scripts/dpkg-buildpackage.pl      |    4 ++--
 scripts/t/300_Dpkg_BuildOptions.t |   17 +++++++++--------
 3 files changed, 18 insertions(+), 16 deletions(-)

commit a77468fa21f5807d89b9813e52cd8a7cefe4efe6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Jan 7 21:21:15 2010 +0100

    Add missing bug closure

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a9d4a03cfb15bac0084821d63a9a01e916c2f81b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jan 3 16:52:15 2010 +0100

    Carry over fix for misspelling from ad3a4ff9fd8ae6ddda77dfb143cc250d65295cd1

 man/po/de.po |    6 +++---
 man/po/fr.po |    6 +++---
 man/po/pl.po |    6 +++---
 man/po/sv.po |    6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)

commit 6782e76a993db059c32c8e45b2b2dcc254e27b96
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jan 3 16:43:59 2010 +0100

    Carry over fix for misspelling from ad3a4ff9fd8ae6ddda77dfb143cc250d65295cd1

 scripts/po/ca.po |    4 ++--
 scripts/po/fr.po |    4 ++--
 scripts/po/pl.po |    4 ++--
 scripts/po/ru.po |    4 ++--
 scripts/po/sv.po |    4 ++--
 5 files changed, 10 insertions(+), 10 deletions(-)

commit bc40cd5494e254f768df5e6779a1c53efc314ef7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jan 3 16:38:18 2010 +0100

    Update German scripts translation
    
    Update to 489t.

 scripts/po/de.po |  200 +++++++++++++++++++++++++++---------------------------
 1 files changed, 100 insertions(+), 100 deletions(-)

commit ad3a4ff9fd8ae6ddda77dfb143cc250d65295cd1
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jan 2 20:46:38 2010 +0100

    Fix misspellings of “explicitly” all over the place

 ChangeLog.old              |    4 ++--
 debian/changelog           |    5 +++--
 man/dpkg-buildpackage.1    |    2 +-
 man/dpkg-trigger.1         |    2 +-
 scripts/dpkg-gensymbols.pl |    4 ++--
 scripts/dpkg-shlibdeps.pl  |    2 +-
 6 files changed, 10 insertions(+), 9 deletions(-)

commit ff159b0d801a89d6d077c663dd82f0bff839320e
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 22:05:14 2010 +0100

    libdpkg: Rename struct TarFunctions and members
    
    Use lower case names, and name members closer to the Unix functions
    doing the same actions.

 lib/dpkg/tarfn.c |   16 ++++++++--------
 lib/dpkg/tarfn.h |   20 ++++++++++----------
 src/processarc.c |   14 +++++++-------
 3 files changed, 25 insertions(+), 25 deletions(-)

commit 3cf8ba3ba62b55e0abe68dd11909e8b20b8a092e
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 18:20:09 2010 +0100

    libdpkg: Do not use typedefs for structs and enums

 lib/dpkg/tarfn.c |   25 ++++++++++++-------------
 lib/dpkg/tarfn.h |    9 +++------
 2 files changed, 15 insertions(+), 19 deletions(-)

commit 68094d5e8c2370bf061a59805dd407e113eedc24
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 18:14:29 2010 +0100

    libdpkg: Unconfuse TarExtractor symlink handling
    
    The code was using confusing variable names to handle the symlink lists.

 lib/dpkg/tarfn.c |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 deletions(-)

commit 97df772d2c076f20cbf625dd14cac2e17cefbc0e
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 18:02:10 2010 +0100

    libdpkg: Use TARBLKSZ instead of integer literal

 lib/dpkg/tarfn.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit 572a8d1dfbe26cd7b71b5d87a0f41fe068053e06
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 18:01:51 2010 +0100

    libdpkg: Move TARBLKSZ macro definition to tarfn.h

 lib/dpkg/dpkg.h  |    2 --
 lib/dpkg/tarfn.h |    2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 21f43b49c95a6041dafa0b1790b1129cc52a234e
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 17:37:19 2010 +0100

    libdpkg: Rename TarExtractor functions argument to ops

 lib/dpkg/tarfn.c |   16 ++++++++--------
 lib/dpkg/tarfn.h |    2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

commit ce11ba170440da612e6efbf595c611fbf4f3623d
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 16:28:52 2010 +0100

    Use pid_t instead of int

 src/configure.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5e252222c5cb220e71cff40365ea72d64294cbfd
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 14:08:34 2010 +0100

    libdpkg: Move compression declarations to a new compress.h

 dpkg-deb/build.c     |    1 +
 dpkg-deb/extract.c   |    1 +
 dpkg-deb/main.c      |    1 +
 lib/dpkg/Makefile.am |    2 +-
 lib/dpkg/compress.c  |    1 +
 lib/dpkg/compress.h  |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/dpkg.h      |   18 ------------------
 7 files changed, 53 insertions(+), 19 deletions(-)

commit b645c397239cd637883122af4106f6d7de4c9729
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 14:06:04 2010 +0100

    libdpkg: Rename compression.c to compress.c

 lib/dpkg/Makefile.am                   |    2 +-
 lib/dpkg/{compression.c => compress.c} |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 6ffd055cf06817d940d5620c0f66ec70fba44bca
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 13:31:58 2010 +0100

    dpkg: Give meaningful names to variables taking environment values

 src/configure.c |   39 +++++++++++++++++++++------------------
 1 files changed, 21 insertions(+), 18 deletions(-)

commit 68d5e05ccfe421bf4d68132f63bd061b63cfb8a4
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jan 1 15:24:37 2010 +0100

    Add missing copyright statements

 lib/dpkg/compression.c         |    4 ++++
 m4/dpkg-arch.m4                |    3 +++
 m4/dpkg-compiler.m4            |    3 ++-
 m4/dpkg-funcs.m4               |    1 +
 m4/dpkg-libs.m4                |    4 ++++
 m4/dpkg-progs.m4               |    4 ++++
 m4/dpkg-types.m4               |    1 +
 scripts/Dpkg/Exit.pm           |    2 ++
 scripts/dpkg-source.pl         |   13 ++++++++++++-
 scripts/update-alternatives.pl |    6 ++++++
 10 files changed, 39 insertions(+), 2 deletions(-)

commit 4409119eaa1fdc7a1b102202396f6395d7de4646
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Jan 1 17:50:06 2010 +0100

    Update German translation of manual pages
    
    Update to 1679t, update copyright year and minor fix.

 man/po/de.add |    2 +-
 man/po/de.po  |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 99 insertions(+), 6 deletions(-)

commit c53fdb8552888696abbd4bc2c19faca84daa8fc0
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 31 19:45:43 2009 +0100

    libdpkg: Change subproc_fork return type to pid_t

 lib/dpkg/subproc.c |    2 +-
 lib/dpkg/subproc.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 0383935a670885a297042152327911e3eab9774a
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 31 19:43:06 2009 +0100

    libdpkg: Rename m_fork to subproc_fork
    
    Also namespace cleanup function to subproc_fork_cleanup.

 dpkg-deb/build.c   |   15 ++++++++++-----
 dpkg-deb/extract.c |   15 ++++++++++-----
 dpkg-deb/info.c    |    3 ++-
 dselect/method.cc  |    3 ++-
 lib/dpkg/subproc.c |    8 ++++----
 lib/dpkg/subproc.h |    2 +-
 src/archives.c     |    3 ++-
 src/configure.c    |    4 ++--
 src/help.c         |    4 ++--
 src/processarc.c   |    8 ++++----
 10 files changed, 39 insertions(+), 26 deletions(-)

commit 692d67e4d03f1ca7716c90ac3196da6276e485cb
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 31 18:08:45 2009 +0100

    libdpkg: Move m_fork and helpers to the subproc module

 lib/dpkg/dpkg.h    |    1 -
 lib/dpkg/mlib.c    |   22 ----------------------
 lib/dpkg/subproc.c |   37 +++++++++++++++++++++++++++++++++++++
 lib/dpkg/subproc.h |    1 +
 4 files changed, 38 insertions(+), 23 deletions(-)

commit 04d8d5f7f50182f610fbaa4686f878bd0aa69244
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 13 05:44:01 2009 +0100

    build: Refactor compression library check m4 macro

 m4/dpkg-libs.m4 |   87 +++++++++++++++++++++++-------------------------------
 1 files changed, 37 insertions(+), 50 deletions(-)

commit a8755804fd225093a3a9360596c074c8e9a9dfae
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 13 05:30:06 2009 +0100

    man: Add new deb-split.5 manual page

 debian/changelog |    1 +
 man/Makefile.am  |    1 +
 man/deb-split.5  |   38 ++++++++++++++++++++++++++++++++++++++
 man/po/po4a.cfg  |    5 +++++
 4 files changed, 45 insertions(+), 0 deletions(-)

commit 1b6f6b3141d4b87a1eb3a044ed84f081738792fe
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Dec 27 00:04:54 2009 +0100

    Use a for instead of a while loop in checkpath path splitting

 src/help.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

commit 491b70bd377f3a552910a0c7253bc04b59263f76
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Dec 27 00:01:52 2009 +0100

    libcompat: Define lchown as chown if the former is not available
    
    Instead of duplicating the code with chown calls when lchown is not
    available, just map it with a macros.

 lib/compat/compat.h |    4 ++++
 src/archives.c      |   12 ------------
 2 files changed, 4 insertions(+), 12 deletions(-)

commit 07d3faf8c7bc338717fa7e1fed3698d316dc5454
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Dec 26 22:05:20 2009 +0100

    install-info: Do not use access() to check for exec permission
    
    Just try to execute the file and deal with the error if any.

 utils/install-info.c |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

commit dde9a226d5f831c773539ee8c58f861148fd7c5e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Dec 26 21:04:23 2009 +0100

    Use stat instead of access to check for file existence

 src/statcmd.c             |    4 +++-
 utils/start-stop-daemon.c |    3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 863943468eb0c3e1431c7223325a469e223dcd72
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Dec 26 15:56:08 2009 +0100

    libdpkg: Add new varbuf_detach function

 lib/dpkg/test/t-varbuf.c |   23 +++++++++++++++++++++++
 lib/dpkg/varbuf.c        |   12 ++++++++++++
 lib/dpkg/varbuf.h        |    1 +
 3 files changed, 36 insertions(+), 0 deletions(-)

commit 185613856ef85fb7f66941f9072ea69951b1a233
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 31 20:46:58 2009 +0100

    libdpkg: Do not include unneeded <dpkg/dpkg-db.h>

 lib/dpkg/ehandle.c |    1 -
 lib/dpkg/mlib.c    |    1 -
 2 files changed, 0 insertions(+), 2 deletions(-)

commit ec7fae0c2462c8cdc51ae441e192020381a4799c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Dec 26 15:43:38 2009 +0100

    libdpkg: Include <dpkg/varbuf.h> instead of <dpkg/dpkg-db.h>

 lib/dpkg/compression.c   |    2 +-
 lib/dpkg/test/t-varbuf.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit e964abe1e43e730d46bd0f4aad084cee2d78b944
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 13 05:28:08 2009 +0100

    Remove unneeded static modifier from function variables
    
    The cleanup functions do not need a static variable when it's a pointer
    and we pass its value to it.

 dpkg-deb/info.c |    2 +-
 src/main.c      |    4 ++--
 src/query.c     |    2 +-
 src/statcmd.c   |    2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit 6731fb6c13fe2470d3420bea5b5d9b2c1d657baa
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 07:01:25 2009 +0200

    Remove linkage against unused libraries
    
    Do not link against selinux on dpkg-deb, and do not link against the
    compression libraries on dpkg.

 dpkg-deb/Makefile.am |    3 +--
 src/Makefile.am      |    2 --
 2 files changed, 1 insertions(+), 4 deletions(-)

commit 75315f6baab0607ff03c578089bf1ca1ad8d6922
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Dec 30 15:25:50 2009 +0100

    Updated scripts French translation

 debian/changelog |    1 +
 scripts/po/fr.po |  213 ++++++++++++++++++++++++++----------------------------
 2 files changed, 102 insertions(+), 112 deletions(-)

commit da24059eaffbd1084ac94a27da5f64692b2e4771
Author: Christian PERRIER <bubulle@debian.org>
Date:   Wed Dec 30 14:47:11 2009 +0100

    Updated dpkg French translation

 debian/changelog |    9 +++----
 po/fr.po         |   63 ++++++++++++++++++-----------------------------------
 2 files changed, 26 insertions(+), 46 deletions(-)

commit 312c68b1423bc008ef577a8a1bfb018448a44950
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Dec 23 17:12:56 2009 +0100

    dpkg-source: ensure quilt's .pc directory is created before writing .pc/applied-patches
    
    The quilt .pc directory was not created when a new automatic patch
    was registered and when no other patches were managed by quilt.
    
    Based-on-patch-by: Tommi Vainikainen <thv+debian@iki.fi>

 debian/changelog                        |    9 +++++++++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    1 +
 2 files changed, 10 insertions(+), 0 deletions(-)

commit 630dc73ddbbdff81fb3a68befd9680894dbfd031
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Dec 18 14:02:24 2009 +0100

    Make show1package() take a struct pkginfoperfile
    
    Instead of hardcoding the usage of the pkginfo installed member,
    pass it as an argument of a pointer to a struct pkginfoperfile, so
    that we can choose what to show.

 dpkg-deb/info.c    |    2 +-
 lib/dpkg/dpkg-db.h |    3 ++-
 lib/dpkg/showpkg.c |   13 +++++++------
 src/query.c        |    4 ++--
 4 files changed, 12 insertions(+), 10 deletions(-)

commit be33d6deea574d4b42ac97954192097376083915
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Dec 14 18:54:37 2009 +0100

    Move color member from struct pkginfo to struct perpackagestate
    
    The only user of this field is in the dependency cycle detection,
    only found under src/. So move it there where it belongs.

 lib/dpkg/database.c |    1 -
 lib/dpkg/dpkg-db.h  |    1 -
 src/depcon.c        |    8 ++++----
 src/filesdb.c       |    1 +
 src/main.h          |    7 +++++++
 5 files changed, 12 insertions(+), 6 deletions(-)

commit 5f5ef320041be2ab0e32768825b899629c59b2f9
Merge: 253fcf6 57636ef
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Dec 22 16:56:11 2009 +0100

    Merge branch 'sid' (through tag '1.15.5.5')
    
    Conflicts:
    	debian/changelog

commit 57636efa71bef220006d8d51f56fb83d5b590f27
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Dec 22 09:50:12 2009 +0100

    Release 1.15.5.5

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d4641b248e41a74976018ff7f638063c3196ef56
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Dec 22 09:39:35 2009 +0100

    Allow back new lines in substvars and maintainer arguments
    
    Regression introdocued in commit d570dcf56c502a36b4747665938025609d5ffe47.

 debian/changelog           |    7 +++++++
 scripts/dpkg-genchanges.pl |    8 ++++----
 scripts/dpkg-source.pl     |    4 ++--
 3 files changed, 13 insertions(+), 6 deletions(-)

commit 253fcf6e0c3afd3a1712efc96948bfb11552bd02
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Dec 15 20:23:55 2009 +0100

    Simplified Chinese translation completed

 po/zh_CN.po |  679 +++++++++++++++++++++++++++--------------------------------
 1 files changed, 311 insertions(+), 368 deletions(-)

commit e9e8b10c3de872ba3c4a1c4453ec8cd62e1c2003
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Dec 11 08:36:07 2009 +0100

    German dselect translation update
    
    Update to 278t.

 debian/changelog |    3 +++
 dselect/po/de.po |   13 ++++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)

commit 61333aa9da36e6280a9377ad72d1c27fb517aedd
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Dec 11 08:26:22 2009 +0100

    German dpkg translation update
    
    Update to 965t.

 debian/changelog |    3 +
 po/de.po         |  470 +++++++++++++++++++++++++++--------------------------
 2 files changed, 242 insertions(+), 231 deletions(-)

commit 0fbb038805b9975dd58e56f5507c2894faf20603
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 12:56:02 2009 +0100

    libdpkg: Swap memset arguments in string test case

 lib/dpkg/test/t-string.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 12416df9a16c70bbbe74f8767b58e7a6028050eb
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 12:52:30 2009 +0100

    libdpkg: Blank the whole MD5 context not just the size of a pointer
    
    The memset was using the size of the context pointer and not the actual
    size of the struct.
    
    Spotted-by: Jochen Voss <voss@seehuhn.de> (on util-linux-ng)

 lib/dpkg/md5.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4a6590edfb2e3e827165011594fae1ac6fdb9e78
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 12:49:45 2009 +0100

    dpkg-query: Do not allow more than two arguments for --control-path
    
    The last increment to argv was not being used, but instead the
    increment, make it useful by checking if there's any additional
    argument after the second, and bail out in that case.
    
    This was spotted by a run with the clang static analyzer.

 src/query.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 683d18a89197cfd824aaf291c008aebd9c6bd0c5
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 12:32:30 2009 +0100

    libdpkg: Properly increment seen fields in a stanza
    
    The current code was not incrementing the contents of the pointed area,
    but the pointer itself, which was making the check for already seen
    (duplicate) fields a no-op, and thus non-fatal, contrary to what was
    intended originally.
    
    This should not be a problem in general as the tools in charge of
    generating binary packages error out in case of duplicate fields, so
    there should not be many broken packages on the wild.
    
    This was spotted by a run with the clang static analyzer.

 debian/changelog |    4 ++++
 lib/dpkg/parse.c |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 892a742c40eaa6d456eb6c47546d44dd3c0202dd
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 12:30:10 2009 +0100

    libdpkg: Preserve error status while reading GNU long tar names
    
    The code was unconditionally setting the status to 0, as that's what the
    rest of the code expects, but it was not preserving the negative value
    that gets set on error.
    
    This was spotted by a run with the clang static analyzer.

 lib/dpkg/tarfn.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 8378ff9e956bb6e4659bb32b1f93a0a69b1351df
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 12:07:34 2009 +0100

    dpkg: Check safe_read return code
    
    The safe_read function protects against interruptions and partial reads,
    but not against other types of errors, for which we need to check the
    return value.
    
    This was spotted by a run with the clang static analyzer.

 src/archives.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit e33cc724cfd190dfe3e93f94f9330c52de99f11c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 07:51:45 2009 +0100

    libdpkg: Forward declare trigkindinfo variables after defining the type
    
    This was spotted by a run with the clang static analyzer.

 lib/dpkg/triglib.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 5862fd919d675fa4d85be312c598b3f03e737005
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 00:36:01 2009 +0100

    dpkg: Remove duplicate oldargs variable
    
    Initialize newargs to NULL now that oldargs is not there for the initial
    value.
    
    This was spotted by a run with the clang static analyzer.

 src/main.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

commit 49453ca0565126dfa0f663f3771d746bedcd1bbe
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 00:22:09 2009 +0100

    dselect: Do not forward declare ‘enum quitaction’
    
    Standard C++ does not allow declaring an incomplete enum type. And the
    enum is already declared in «dselect/dselect.h» which gets included
    first.
    
    This was spotted by a run with the clang static analyzer.

 dselect/bindings.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit a29c9c8700532ae7090cee699487177ed65d9332
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 00:21:22 2009 +0100

    Do not increment variables when the value is not going to be used
    
    This was spotted by a run with the clang static analyzer.

 dpkg-deb/info.c |    4 ++--
 src/archives.c  |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 80647e33d17c4ad298019102a8d28a5b44ed4ef2
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 00:17:35 2009 +0100

    Do not assign to variables when they subsequently get overwritten
    
    This was spotted by a run with the clang static analyzer.

 dpkg-deb/info.c   |    5 ++---
 lib/dpkg/buffer.c |    4 ++--
 lib/dpkg/tarfn.c  |    1 -
 src/archives.c    |    2 +-
 src/main.c        |    2 +-
 5 files changed, 6 insertions(+), 8 deletions(-)

commit 39b0cc3c85a63b7d17636b4d94598a954304e748
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Dec 10 00:10:37 2009 +0100

    dselect: Change keybindings forward declaration to a struct
    
    This matches the type of the declaration in «dselect/bindings.h».
    
    This was spotted by a run with the clang static analyzer.

 dselect/dselect.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fb2bfb6bc294c547995264b91ccdfca7d5fe6442
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 9 14:41:24 2009 +0100

    Fix bug closure
    
    Thinko in commit a3c68a75e0c9ad861666197bca55b900bf75b9e4.
    
    Closes: #560010

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 39c49a58f2594946638542169cc2d9c32d190beb
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 9 14:10:21 2009 +0100

    dpkg-divert: Do not allow diverting a file to itself
    
    This was causing the file to get removed.
    
    Closes: #312206

 debian/changelog       |    2 ++
 scripts/dpkg-divert.pl |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

commit a3c68a75e0c9ad861666197bca55b900bf75b9e4
Author: Aurelien Jarno <aurel32@debian.org>
Date:   Wed Dec 9 13:45:30 2009 +0100

    Add sparc64 to cputable
    
    Closes: #523456

 cputable         |    1 +
 debian/changelog |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

commit ae8b98bc75905042ac36db8c52d2454ea35e06b2
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Dec 8 00:44:31 2009 +0100

    libdpkg: Do not mark database names in writedb for translation
    
    This actually makes life harder for translators, and it collides with
    similar strings from updated-alternatives.
    
    Suggested-by: Sven Joachim <svenjoac@gmx.de>

 lib/dpkg/dump.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 39179db3df57708f49446e9e6821cc343695cb7f
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Dec 2 20:11:41 2009 +0100

    build: Make the Doxyfile a dependency of the doc target

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8bfcbaaa78a75dd10a2e85d39ef70561012348b2
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Dec 7 21:21:59 2009 +0100

    Order translation by alphabet

 debian/changelog |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 47ac9d08f17f88ea22538a14436b2a57ca1f25d7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Dec 7 21:20:42 2009 +0100

    Update German translation of manual pages
    
    Update to 1668t.

 man/po/de.po |  148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 147 insertions(+), 1 deletions(-)

commit 300731b7420d51fe42299f595d77cda5ec6554a0
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Dec 7 18:43:17 2009 +0100

    Update German scripts translation
    
    Update to 490t.

 scripts/po/de.po |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

commit a978569f205b0e6ac510e7e108ebd53e75f290ac
Merge: a1ff6b1 f948144
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Dec 7 09:41:26 2009 +0100

    Merge branch 'sid'

commit f9481448433dbe0e9866586f87bc8bc21e435427
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Dec 7 09:25:21 2009 +0100

    Release 1.15.5.4

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit a1ff6b1c8314048f7707d86e63ffaa9c317cebb7
Author: Ivan Masár <helix84@centrum.sk>
Date:   Thu Dec 3 22:17:28 2009 +0100

    Slovak translation update

 debian/changelog |    1 +
 po/sk.po         |  159 ++++++++++++++++++++++++++----------------------------
 2 files changed, 78 insertions(+), 82 deletions(-)

commit e89348732c1052625fcc39842dce851bde844c01
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Dec 3 12:17:39 2009 +0100

    Dpkg::Changelog::Debian: call $entry->check_trailer() for trailer line
    
    The header line was checked twice, the second check was meant to
    check the trailer line. So change it accordingly.

 debian/changelog                 |    1 +
 scripts/Dpkg/Changelog/Debian.pm |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 59931a5c45326e418354361b4535e98207028ea2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 29 18:03:10 2009 +0100

    dpkg-source: verify version of the quilt metadata before build
    
    Since format "3.0 (quilt)" can now modify the content of the .pc
    directory, ensure it still uses the supported format (currently version
    2). Add an option --allow-version-of-quilt-db=<ver> to be able
    to force creation of a source package despite the unexpected version.

 man/dpkg-source.1                       |    8 ++++++++
 scripts/Dpkg/Source/Package/V3/quilt.pm |   28 ++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 0 deletions(-)

commit 8e64138221bb620ad79ed1e3738f55445271d569
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 29 17:30:30 2009 +0100

    dpkg-source: support debian/source/patch-header
    
    The content of this file is used as header of the automatic patch
    generated in formats "2.0" and "3.0 (quilt)".

 debian/changelog                        |    2 ++
 man/dpkg-source.1                       |   12 +++++++++---
 scripts/Dpkg/Source/Package/V2.pm       |    8 ++++++++
 scripts/Dpkg/Source/Package/V3/quilt.pm |   10 +++++++++-
 4 files changed, 28 insertions(+), 4 deletions(-)

commit 38dd2a45e49e183e5bdbb64faa7353b60faa08c6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 29 16:43:47 2009 +0100

    dpkg-source: support --single-debian-patch for "3.0 (quilt)"
    
    With this option, the automatic patch is named
    debian/patches/debian-changes instead of
    debian/patches/debian-changes-<ver>. With this option, the new format
    is closer to 1.0 with its single diff that is always updated.

 debian/changelog                        |    4 ++++
 man/dpkg-source.1                       |   22 ++++++++++++++++++----
 scripts/Dpkg/Source/Package/V3/quilt.pm |   15 ++++++++++++++-
 3 files changed, 36 insertions(+), 5 deletions(-)

commit d881cdca55e41e1b17d84b935c9a612e08f80f98
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 29 15:27:15 2009 +0100

    Dpkg::Source::Package::V3::quilt: create and use .pc directory
    
    Instead of calling quilt to apply patches, we always apply them
    by hand and we create the .pc directory used by quilt (version 2 in
    .pc/.version). That way we are fully compatible with quilt and we can't
    have differing behaviour whether quilt is installed or not.
    
    Update the documentation accordingly. The option --without-quilt is gone
    as is debian/patches/.dpkg-source-applied (replaced by
    .pc/applied-patches).

 debian/changelog                        |    5 +
 man/dpkg-source.1                       |   17 +--
 scripts/Dpkg/Source/Package/V2.pm       |   21 ++-
 scripts/Dpkg/Source/Package/V3/quilt.pm |  282 ++++++++++++++-----------------
 4 files changed, 145 insertions(+), 180 deletions(-)

commit f23c4acb75a9d21092a69e9780bdf3b5d5e1d02c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Dec 2 21:50:26 2009 +0100

    scripts/t/200_Dpkg_Shlibs.t: fix path of ld.so.conf file to load

 scripts/t/200_Dpkg_Shlibs.t |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 113533916b1bcd300db897575b23c5bb7a14f3c0
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Dec 2 21:28:19 2009 +0100

    Dpkg::Deps: cleanup API
    
    Rename public functions with deps_ prefix. Export them by default.
    
    Update all scripts using Dpkg::Deps accordingly, including the test-suite.

 debian/changelog               |    2 +
 scripts/Dpkg/Deps.pm           |  121 ++++++++++++++++++++--------------------
 scripts/dpkg-checkbuilddeps.pl |    7 +-
 scripts/dpkg-gencontrol.pl     |   11 ++--
 scripts/dpkg-shlibdeps.pl      |    8 +-
 scripts/dpkg-source.pl         |    2 +-
 scripts/t/400_Dpkg_Deps.t      |   28 +++++-----
 7 files changed, 90 insertions(+), 89 deletions(-)

commit b24d1fecdd58637d4bb63799c0c4b719fe9dd4ce
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 30 22:38:05 2009 +0100

    Dpkg::Deps: use "use base" instead of @ISA

 scripts/Dpkg/Deps.pm |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit c090a59a04b20b41093757658c9c73f4d7603e94
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 30 22:34:12 2009 +0100

    Dpkg::Deps: replace dump() method with output([$fh])
    
    Update test suite accordingly as well as all scripts using Dpkg::Deps.
    Also use overload to provide a string representation corresponding to
    what's returned by output().

 debian/changelog               |    3 ++
 scripts/Dpkg/Deps.pm           |   60 +++++++++++++++++++++++++++------------
 scripts/dpkg-checkbuilddeps.pl |    4 +-
 scripts/dpkg-gencontrol.pl     |    2 +-
 scripts/dpkg-shlibdeps.pl      |    2 +-
 scripts/dpkg-source.pl         |    2 +-
 scripts/t/400_Dpkg_Deps.t      |   21 +++++++------
 7 files changed, 60 insertions(+), 34 deletions(-)

commit 8d3f6904f30cf6f38c0357195c93cfacf1191a12
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Dec 1 09:07:20 2009 +0100

    Correct encoding

 po/zh_CN.po | 4313 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 2013 insertions(+), 2300 deletions(-)

commit 61dc4b2344c48a80efb38ef856007833b402ffc2
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Dec 1 07:28:10 2009 +0100

    Updated Simplified Chinese translation

 debian/changelog |    3 +
 po/zh_CN.po      | 4384 +++++++++++++++++++++++++++++-------------------------
 2 files changed, 2358 insertions(+), 2029 deletions(-)

commit d6b7de040f117613704642cb04e01b5f7aeaee15
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Nov 30 18:32:20 2009 +0100

    Update German scripts translation
    
    Update to 488t.

 scripts/po/de.po |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 6f3d7cec57e1f55fc25f9822b3e0344b88734024
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Nov 30 18:28:40 2009 +0100

    Update German translation of manual pages
    
    Update to 1656t.

 man/po/de.po |   15 ++++-----------
 1 files changed, 4 insertions(+), 11 deletions(-)

commit c0129f02141676402101caaa966c2b1d18fd8dc7
Author: Roderich Schupp <roderich.schupp@googlemail.com>
Date:   Sun Nov 29 18:19:27 2009 +0100

    Dpkg::Index: fix get() and remove() methods
    
    They were using non-existing get_by_keys() method instead of get_keys().

 debian/changelog      |    7 +++++++
 scripts/Dpkg/Index.pm |    4 ++--
 2 files changed, 9 insertions(+), 2 deletions(-)

commit 0fc211581b9bfbc2b1575d4bd79fa06fc30d6083
Merge: abf3787 b6a2926
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 29 17:02:08 2009 +0100

    Merge sid branch through commit '1.15.5.3'
    
    Conflicts:
    	man/po/de.po
    	man/po/sv.po
    	scripts/dpkg-scanpackages.pl
    	scripts/po/de.po
    	scripts/po/sv.po

commit abf378780102adedb7d13f4d36a1641d8856499e
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun Nov 29 07:45:26 2009 +0100

    Make the translation of "original" consistent

 debian/changelog |    2 ++
 man/po/fr.po     |   52 ++++++++++++++++++++++++++--------------------------
 2 files changed, 28 insertions(+), 26 deletions(-)

commit b6a2926a1670d28583ad38c43981fb2f425057de
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 27 19:23:48 2009 +0100

    Release 1.15.5.3

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 3488b014fd8d62f6beb6da60f8427599ac02958b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 27 18:52:25 2009 +0100

    Regenerate .pot files and merge .po files with them

 man/po/de.po            |  289 ++++++++++++++++++++++++-----------------------
 man/po/dpkg-man.pot     |  282 +++++++++++++++++++++++-----------------------
 man/po/es.po            |  282 +++++++++++++++++++++++-----------------------
 man/po/fr.po            |  282 +++++++++++++++++++++++-----------------------
 man/po/hu.po            |  282 +++++++++++++++++++++++-----------------------
 man/po/ja.po            |  282 +++++++++++++++++++++++-----------------------
 man/po/pl.po            |  289 ++++++++++++++++++++++++-----------------------
 man/po/pt_BR.po         |  282 +++++++++++++++++++++++-----------------------
 man/po/ru.po            |  282 +++++++++++++++++++++++-----------------------
 man/po/sv.po            |  289 ++++++++++++++++++++++++-----------------------
 po/ast.po               |  111 ++++++++++---------
 po/bs.po                |  111 ++++++++++---------
 po/ca.po                |  111 ++++++++++---------
 po/cs.po                |  111 ++++++++++---------
 po/da.po                |  111 ++++++++++---------
 po/de.po                |  111 ++++++++++---------
 po/dpkg.pot             |  111 ++++++++++---------
 po/dz.po                |  111 ++++++++++---------
 po/el.po                |  111 ++++++++++---------
 po/eo.po                |  111 ++++++++++---------
 po/es.po                |  111 ++++++++++---------
 po/et.po                |  111 ++++++++++---------
 po/eu.po                |  111 ++++++++++---------
 po/fr.po                |  111 ++++++++++---------
 po/gl.po                |  111 ++++++++++---------
 po/hu.po                |  111 ++++++++++---------
 po/id.po                |  111 ++++++++++---------
 po/it.po                |  111 ++++++++++---------
 po/ja.po                |  111 ++++++++++---------
 po/km.po                |  111 ++++++++++---------
 po/ko.po                |  111 ++++++++++---------
 po/ku.po                |  111 ++++++++++---------
 po/lt.po                |  111 ++++++++++---------
 po/mr.po                |  111 ++++++++++---------
 po/nb.po                |  111 ++++++++++---------
 po/ne.po                |  111 ++++++++++---------
 po/nl.po                |  111 ++++++++++---------
 po/nn.po                |  111 ++++++++++---------
 po/pa.po                |  111 ++++++++++---------
 po/pl.po                |  111 ++++++++++---------
 po/pt.po                |  111 ++++++++++---------
 po/pt_BR.po             |  111 ++++++++++---------
 po/ro.po                |  111 ++++++++++---------
 po/ru.po                |  111 ++++++++++---------
 po/sk.po                |  111 ++++++++++---------
 po/sv.po                |  111 ++++++++++---------
 po/th.po                |  111 ++++++++++---------
 po/tl.po                |  111 ++++++++++---------
 po/vi.po                |  111 ++++++++++---------
 po/zh_CN.po             |  111 ++++++++++---------
 po/zh_TW.po             |  111 ++++++++++---------
 scripts/po/ca.po        |  190 ++++++++++++++++---------------
 scripts/po/de.po        |  191 +++++++++++++++++---------------
 scripts/po/dpkg-dev.pot |  186 ++++++++++++++++--------------
 scripts/po/fr.po        |  193 +++++++++++++++++---------------
 scripts/po/pl.po        |  193 +++++++++++++++++---------------
 scripts/po/ru.po        |  193 +++++++++++++++++---------------
 scripts/po/sv.po        |  191 +++++++++++++++++---------------
 58 files changed, 4520 insertions(+), 4209 deletions(-)

commit 327232c0c5ab933ec9ae981550f16f2d3218cdaa
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Nov 27 14:12:24 2009 +0100

    Add missing bug closure

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7169f0d3cf463be84b7b5609859c98e6cbd8ba2c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Nov 26 14:21:13 2009 +0100

    Dpkg::IPC::fork_and_exec(): put modified environment variables in error messages
    
    The descriptive command-line given to wait_child() now also includes the
    environment variables that have been set since they may affect the
    behaviour of the executed command and are likely needed to reproduce the
    problem.
    
    With this change, the quilt failures within dpkg-source are better
    identified: QUILT_PATCHES can be checked to know if it was working
    on the main tree or the temporary one and QUILT_PATCH_OPTS is
    seen by users who can then independently reproduce the failure (and not
    wonder why they can't reproduce it).

 debian/changelog    |    3 +++
 scripts/Dpkg/IPC.pm |    8 +++++++-
 2 files changed, 10 insertions(+), 1 deletions(-)

commit 2b907c90590d417d6590fcc28a6cf5218c2cc986
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 24 22:24:56 2009 +0100

    dpkg-statoverride: Fail on chown or chmod errors when using --update
    
    Fail if it cannot update the mode and owner of the file. This would fail
    later on when dpkg itself applies the overrides, so better to signal
    this as earlier as possible.

 debian/changelog |    3 +++
 src/statcmd.c    |    4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

commit b2361bd91847134984f8ee418d7112530dc55dfe
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 24 18:57:28 2009 +0100

    dpkg-statoverride: Make --quiet actually do something
    
    Quiesce most of the inoquous warning messages.
    
    Closes: #403211

 debian/changelog |    2 ++
 src/statcmd.c    |    9 +++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

commit e7a7e91200af8c57ed803009fd668536358ac6ed
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 24 18:36:06 2009 +0100

    dpkg-statoverride: Move access check outside of statdb_node_apply
    
    Command line options should only be known by the statoverride_*
    functions.

 src/statcmd.c |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

commit 977648880d79f18cfa5fff0201f739622ffe17b7
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 24 18:27:15 2009 +0100

    Use named initializers in structures

 lib/dpkg/buffer.c    |    2 +-
 lib/dpkg/parsehelp.c |   12 ++++++------
 lib/dpkg/triglib.c   |    6 +++---
 src/enquiry.c        |   38 +++++++++++++++++++++++++-------------
 4 files changed, 35 insertions(+), 23 deletions(-)

commit 12b6f988ff2210c7028a9bb782caadf00151035c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 23 04:35:32 2009 +0100

    Use designated initializers for namevalue array elements
    
    This way we ensure the order in the array by the value itself, and make
    the code resilient to possible changes in the sequence of the enums.

 lib/dpkg/parsehelp.c |   75 ++++++++++++++++++++++++++------------------------
 src/help.c           |   16 +++++-----
 2 files changed, 47 insertions(+), 44 deletions(-)

commit 31edd4e2a3e1adf723a1f9caf738be7d73605c83
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 24 03:24:07 2009 +0100

    dpkg: Rename ‘struct badstatinfo’ member val to value

 src/enquiry.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e1b5e94395d10bf533015268beafb6604197632f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Nov 24 01:39:43 2009 +0100

    Dpkg::Source::Package::V3::quilt: check debian/patches{,series} before build
    
    Before accepting to build a 3.0 (quilt) source packages, ensure that
    debian/patches is a directory (or non-existing) and that
    debian/patches/series is a file (or non-existing).

 debian/changelog                        |    3 +++
 scripts/Dpkg/Source/Package/V3/quilt.pm |   18 ++++++++++++++++++
 2 files changed, 21 insertions(+), 0 deletions(-)

commit 6dbf501ff1c09aa3ef2ea09259b23322fa5bea02
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Nov 24 00:51:59 2009 +0100

    Dpkg::Source::Package::V3::quilt: set QUILT_PATCH_OPTS to mimick D::S::Patch
    
    When building "3.0 (quilt)" source packages, use QUILT_PATCH_OPTS="-t -F 0
    -N -u -V never -g0" so that quilt is as strict as dpkg-source's internal
    implementation of quilt that relies on Dpkg::Source::Patch::apply().

 debian/changelog                        |    3 +++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    6 ++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

commit 15afc8e967d5083ca3060caa10405dad82f701b8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 23 22:02:33 2009 +0100

    Dpkg::Changelog::Entry::Debian: add missing "use Dpkg::Gettext"

 debian/changelog                       |    2 ++
 scripts/Dpkg/Changelog/Entry/Debian.pm |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

commit 9120ae92acf363f60aaca258154e77a87e767fc8
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Nov 23 19:34:59 2009 +0100

    Update German translation of manual pages
    
    Update to 1657t.

 man/po/de.po |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit bae71de35acce65b7980442a5e6c023610490291
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Nov 23 19:32:16 2009 +0100

    Update German scripts translation
    
    Update to 486t.

 scripts/po/de.po |  108 +++++++++++++++++++++++++++++------------------------
 1 files changed, 59 insertions(+), 49 deletions(-)

commit 77b078af402eb41027227117c7ef223a3941b457
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 23 08:58:29 2009 +0100

    Dpkg::Control::Hash: document how leading/trailing spaces are treated

 scripts/Dpkg/Control/Hash.pm |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit b8c2b200c3dd0678988593c5839be3cd2aecf84a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 22 22:23:59 2009 +0100

    Dpkg::Control::Hash: Strip leading spaces in the first line of a field's value
    
    The fields in a compliant control-style file are allowed to have values
    starting with any number of spaces. But that only applies to the first
    line on multi-line field values, so do not do the same on subsequent
    lines as those are handled differently.
    
    Regression introduced in commit 7d8d193332478de82e20ed5b49053378801d160f.
    
    Closes: #557547

 debian/changelog             |    2 ++
 scripts/Dpkg/Control/Hash.pm |    2 +-
 scripts/t/700_Dpkg_Control.t |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

commit 6d784ebcd108cdb0aff3ecb3a6934e03067cdd72
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 22 20:48:34 2009 +0100

    Refer to “half configured” instead of “failed config”
    
    Use it in «dpkg-query -l» header and dselect package status printing for
    consistency with the rest of the ouput. This seems to have been a source
    of confusion in the past, so we'll try to use this nomenclature to refer
    to this package status.

 debian/changelog      |    2 ++
 dselect/pkgdisplay.cc |    2 +-
 src/query.c           |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

commit a796023222610f59b127e7b04d9800c12694e1d7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 22 19:24:35 2009 +0100

    u-a: Improve --display output
    
    Use two leading spaces for current link and slave information. Use
    single quotes for both “best” and the alternative it's pointing to.
    
    Closes: #549167

 debian/changelog               |    3 +++
 scripts/update-alternatives.pl |    8 ++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

commit 9d782cd3bfa542ad5c0536270e972539a5a61198
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 22 17:47:46 2009 +0100

    Small changelog police raid
    
    Remove an annoying space that was making dch misbehave.

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b909dc419ec668d98365d8392fe114dd19f26dfa
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 22 17:45:30 2009 +0100

    libdpkg: Improve and mark more messages for translation in writedb()
    
    This should make translators lifes easier.
    
    Closes: #408525

 debian/changelog |    2 ++
 lib/dpkg/dump.c  |   22 ++++++++++++----------
 2 files changed, 14 insertions(+), 10 deletions(-)

commit 7f64bc6544061ba534541a66ae4dab8c88a96a14
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 22 16:34:11 2009 +0100

    dpkg-source: fail if several orig.tar files are available
    
    This concerns formats 2.0 and 3.0 (quilt) where the upstream tarball can
    be available with different compression schemes. We need precisely one
    file otherwise it doesn't know which one should be used and might pick the
    wrong one.

 debian/changelog                  |    3 +++
 scripts/Dpkg/Source/Package/V2.pm |    4 ++++
 2 files changed, 7 insertions(+), 0 deletions(-)

commit d3cc0605237b615e294c5060b911bf6b1b883731
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 22 15:02:59 2009 +0100

    dpkg-source: add "3.0 (quilt)" in the (fallback) list of formats to try

 debian/changelog       |    2 ++
 man/dpkg-source.1      |    5 +++--
 scripts/dpkg-source.pl |    2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

commit 4b0a933f75887563d1c1bc278359d091a809e525
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 22 04:23:23 2009 +0100

    u-a: Verify that the alternative used in --set has been registered
    
    Give a proper error message instead of failing with an undefined
    value when calling the slave method. Additionally verify the alternative
    before switching to manual mode, avoiding this way unneeded log messages
    in case of error.
    
    Closes: #554136

 debian/changelog               |    6 ++++++
 scripts/update-alternatives.pl |    7 ++++++-
 2 files changed, 12 insertions(+), 1 deletions(-)

commit 0991804eb36d3ced309c5d542833365dec18e934
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Nov 21 15:00:30 2009 +0100

    dpkg-scanpackages: avoid IO::String usage
    
    Instead we use Dpkg::IPC to get a pipe file descriptor where we can
    read the output of dpkg-deb -I.

 debian/changelog             |    7 +++++++
 scripts/dpkg-scanpackages.pl |   20 ++++++++------------
 2 files changed, 15 insertions(+), 12 deletions(-)

commit 49eac2815606caa3d6e48280c144025477234e88
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Nov 21 12:08:29 2009 +0100

    Update German translation of manual pages
    
    Update to 1656t.

 debian/changelog |    3 +-
 man/po/de.po     |  101 ++++++++++++++++++++---------------------------------
 2 files changed, 40 insertions(+), 64 deletions(-)

commit 37638f2c6535c6c6eac1a88368f79ae35628fd65
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Nov 21 11:55:07 2009 +0100

    Update German scripts translation
    
    Update to 483t.

 debian/changelog |    3 ++-
 scripts/po/de.po |   10 +++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

commit a7fda5ead5e00f5a5b5fee4b2d6796d78931d002
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 05:03:00 2009 +0100

    dpkg-checkbuilddeps: Split usage string in several translatable strings

 scripts/dpkg-checkbuilddeps.pl |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

commit 467bfa7c2efef3ea3d3f75060b2d867dd94a6fab
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 04:41:08 2009 +0100

    dpkg-checkbuilddeps: Use an anonymous subroutine for --help

 scripts/dpkg-checkbuilddeps.pl |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

commit 24d7f791352c262bae83592657c53dcc96a7c3c4
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 04:38:47 2009 +0100

    dpkg-checkbuilddeps: Add a --version option

 debian/changelog               |    1 +
 man/dpkg-checkbuilddeps.1      |    3 +++
 scripts/dpkg-checkbuilddeps.pl |    8 ++++++++
 3 files changed, 12 insertions(+), 0 deletions(-)

commit c1fc5612e49913163ed942926828f829133ac4c1
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 04:30:57 2009 +0100

    dpkg-checkbuilddeps: Recognize --help in addition to -h

 debian/changelog               |    1 +
 man/dpkg-checkbuilddeps.1      |    4 ++--
 scripts/dpkg-checkbuilddeps.pl |    4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

commit c8b3cd642ffdeb241c1c0961506b18d5e1f8c48c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 04:27:26 2009 +0100

    dpkg-checkbuilddeps: Remove unneeded dashes in GetOptions arguments

 scripts/dpkg-checkbuilddeps.pl |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit c7d2323b66476720c0cee26905b4642593d8f008
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 04:26:11 2009 +0100

    Handle argument parsing consistently in all tools

 debian/changelog               |    4 ++++
 scripts/dpkg-checkbuilddeps.pl |    3 ++-
 scripts/dpkg-scanpackages.pl   |    4 ++--
 3 files changed, 8 insertions(+), 3 deletions(-)

commit 6456236bc31c762bf043cafa86b991cee465c734
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 04:08:28 2009 +0100

    dpkg-scansources: Update Getopt::Long setup code
    
    Configure it at use time. Use posix_default instead of defining
    POSIXLY_CORRECT in the environment and setting the options that
    would be enabled by default on POSIX. Call GetOptions in main
    instead of calling init.

 scripts/dpkg-scansources.pl |   32 +++-----------------------------
 1 files changed, 3 insertions(+), 29 deletions(-)

commit 6f721c1d064c335307d4e56098e4c81cb56db85b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 03:18:10 2009 +0100

    dpkg-scansources: Update comments
    
    Remove an obsolete one. And move another one closer to the relevant
    code.

 scripts/dpkg-scansources.pl |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

commit 92303f6cba1ad180d7026a60bab9596b8c058fd7
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 21 03:14:23 2009 +0100

    Use angle brackets to mark i/o from descriptors
    
    In this case use “<standard output>” and “<standard input>”, to make
    it clear that it's not a file with such name, in the same way we do in
    the reset of the code base.

 scripts/Dpkg/Control/Info.pm |    2 +-
 scripts/changelog/debian.pl  |    2 +-
 scripts/dpkg-gensymbols.pl   |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit a99017c55cfd69135110b48fb77203f413077228
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 20 03:14:29 2009 +0100

    build: Do not ship objdump.tags-<arch> files in the repo
    
    This was causing diff problems as the file was changing depending on the
    build system. Now it should be stable as it's always generated at check
    time.

 scripts/Makefile.am                          |   11 ++--
 scripts/t/200_Dpkg_Shlibs.t                  |    7 ++-
 scripts/t/200_Dpkg_Shlibs/objdump.tags-amd64 |   72 -------------------------
 scripts/t/200_Dpkg_Shlibs/objdump.tags-i386  |   73 --------------------------
 4 files changed, 11 insertions(+), 152 deletions(-)

commit 791ec2860288979ed1e34d7b963c198b61973a33
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 20 04:14:34 2009 +0100

    Namespace temporary directories for test cases
    
    We avoid any name clashes during the test suite run. And the hierarchy
    gets more clear when debugging in case any problem arises.

 scripts/t/500_Dpkg_Path.t           |    3 ++-
 scripts/t/900_update_alternatives.t |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit bc498b8ad1e6f1aa5320c3181f2aa59d3be53e54
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 20 04:03:36 2009 +0100

    Refactor temporary test cases path to a tmpdir variable
    
    This allows to change it in a single place.

 scripts/Makefile.am                 |    6 +++-
 scripts/t/500_Dpkg_Path.t           |   50 ++++++++++++++++++----------------
 scripts/t/900_update_alternatives.t |    9 +++---
 3 files changed, 35 insertions(+), 30 deletions(-)

commit fd6d1dd81f117c2bd220d72d383e90c3a7ddd243
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 19 21:42:40 2009 +0100

    build: Split test_cases and test_data from EXTRA_DIST
    
    Avoid duplicated lists of files. Also this way we have proper
    depdendencies in the check target for test_data files.

 scripts/Makefile.am |   88 +++++++++++++++++++++++++++-----------------------
 1 files changed, 47 insertions(+), 41 deletions(-)

commit 2d6593e7b496888b5b367cff8bf7936c5a8d77dd
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 19 05:51:38 2009 +0100

    build: Clean up perl test suite invokation
    
    Wrap it into several lines. Remove unneeded quotes around some
    arguments. Regroup environment variables settings.

 scripts/Makefile.am |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit 6d7c80bafad5f090c1da8e8ce0e5731d99dc13b5
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 19 05:46:47 2009 +0100

    build: Do not copy 200_Dpkg_Shlibs data files to t.tmp
    
    The copy was done to make the relative paths inside the ld.so.conf
    fragments work even in out of tree builds. We now switch the current
    directory to $srcdir in 200_Dpkg_Shlibs.t when loading the fragments
    and then go back.

 scripts/Makefile.am                                |    3 ---
 scripts/t/200_Dpkg_Shlibs.t                        |    9 ++++++++-
 scripts/t/200_Dpkg_Shlibs/ld.so.conf               |    2 +-
 .../200_Dpkg_Shlibs/ld.so.conf.d/inf_recurse.conf  |    2 +-
 .../t/200_Dpkg_Shlibs/ld.so.conf.d/recursive.conf  |    2 +-
 5 files changed, 11 insertions(+), 7 deletions(-)

commit 48a5ef95febedf411e67a68788de5048b9dcf8f2
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 19 05:41:55 2009 +0100

    build: Merge the mkdir_t_tmp target into the check target

 scripts/Makefile.am |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 02f3d0bb686d384a2ebe878084cac94008fa516f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 19 05:13:25 2009 +0100

    Use new datadir variable instead of redefining srcdir

 scripts/t/200_Dpkg_Shlibs.t    |   52 ++++++++++++++++++++--------------------
 scripts/t/600_Dpkg_Changelog.t |   12 ++++----
 scripts/t/700_Dpkg_Control.t   |    8 +++---
 scripts/t/750_Dpkg_Substvars.t |    4 +-
 4 files changed, 38 insertions(+), 38 deletions(-)

commit 5eeb687e02e9b389e7b2d1d52904bb22d6b680d4
Merge: fd4024d a71228d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 18 13:23:51 2009 +0100

    Merge commit '1.15.5.2'

commit fd4024d0443164611fe2f0d7ef48ba652eb99464
Author: Peter Krefting <peterk@debian.org>
Date:   Wed Nov 18 13:02:55 2009 +0100

    Update changelog for previous commit.

 debian/changelog |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit a1bbd0eb248c69212feb861024fa93d5b177f99f
Author: Peter Krefting <peterk@debian.org>
Date:   Wed Nov 18 12:57:37 2009 +0100

    Update Swedish translation.
    
    man/po/sv.po: 1656t0f0u.
    scripts/po/sv.po: 483t0f0u.

 man/po/sv.po     |   72 +++++++++++++++++++++++++++--------------------------
 scripts/po/sv.po |   10 +++---
 2 files changed, 42 insertions(+), 40 deletions(-)

commit a71228d1f682566ba4dfbfd59f92bb5d3f2dd10d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 18 11:55:52 2009 +0100

    Release 1.15.5.2

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit a7abd18299bdeb6e632774b3df7636a8c4aaeb58
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 18 11:20:58 2009 +0100

    Dpkg::Control::Fields, Dpkg::Version: avoid the "_" prototype
    
    Keep compatibility with perl 5.8 by avoiding the "_" prototype which
    has been introduced in perl 5.10.

 debian/changelog               |    1 +
 scripts/Dpkg/Control/Fields.pm |    3 ++-
 scripts/Dpkg/Version.pm        |    6 +++---
 3 files changed, 6 insertions(+), 4 deletions(-)

commit 2d74173f41909fd43061fb7d81a3795a6fefc59d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 18 10:58:07 2009 +0100

    dpkg-shlibdeps: always use Dpkg::Version
    
    Instead of mixing usual scalars with Dpkg::Version objects, always use
    Dpkg::Version objects when storing a version.

 debian/changelog          |    2 ++
 scripts/dpkg-shlibdeps.pl |    7 ++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

commit 002807af80090b60bf54c19c4dc6cd1eadf2a0d6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 18 10:38:11 2009 +0100

    Dpkg::Version: accept invalid versions by default
    
    Accepting invalid version is the right default behaviour because
    you often have to mix empty strings and versions and it's nice
    to not have to special case too much.
    
    In particular, we should be able to do "$vobj eq ''" without encountering
    an error. Ensure this behaviour is kept by adding proper non-regression
    tests.
    
    Also enable fallback behaviour for all operators which have not been
    explicitely implemented. The boolean operator returns true if the
    version is valid, false otherwise.
    
    Update the rest of the code that was doing "Dpkg::Version->new($v) || $v"
    precisely to be able to store a version even if it's invalid.

 debian/changelog                       |    8 +++++++
 scripts/Dpkg/Changelog/Entry/Debian.pm |    2 +-
 scripts/Dpkg/Deps.pm                   |    2 +-
 scripts/Dpkg/Version.pm                |   36 ++++++++++++++++++++++++-------
 scripts/t/100_Dpkg_Version.t           |   19 ++++++++++++++--
 5 files changed, 54 insertions(+), 13 deletions(-)

commit 41630a6688a182fea92b37d536cf743658d6ec07
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Nov 17 17:26:30 2009 +0100

    debian/control: add the accent on my first name

 debian/changelog |    7 +++++++
 debian/control   |    2 +-
 2 files changed, 8 insertions(+), 1 deletions(-)

commit dc57a7701902cfb488e5b2d8b856c0f73f01753d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 16:42:11 2009 +0100

    Release 1.15.5.1

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 0043d020cf7aafe3e253c6d5c9afb93521971e60
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 16:29:33 2009 +0100

    libdpkg: Include <dpkg/test.h> first on test cases
    
    The <dpkg/test.h> header includes <config.h> which takes care of
    properly defining the system properties including the correct off_t
    type. As it was not being included first, there was type missmatches
    between libdpkg and some of the unit tests.
    
    Suggested-by: Pierre Habouzit <madcoder@debian.org>
    Suggested-by: Julien Cristau <jcristau@debian.org>

 debian/changelog         |    8 ++++++++
 lib/dpkg/test/t-buffer.c |    4 ++--
 lib/dpkg/test/t-path.c   |    4 ++--
 lib/dpkg/test/t-string.c |    4 ++--
 4 files changed, 14 insertions(+), 6 deletions(-)

commit a0e6a6d395b0e152c28a11407ed0f24991cbe5f2
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 10:18:08 2009 +0100

    Release 1.15.5

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit dce857c0d2015359def604a989cbab37358916f3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 10:17:26 2009 +0100

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |   16 +-
 dselect/po/ca.po        |   16 +-
 dselect/po/cs.po        |   16 +-
 dselect/po/da.po        |   16 +-
 dselect/po/de.po        |   16 +-
 dselect/po/dselect.pot  |   16 +-
 dselect/po/el.po        |   16 +-
 dselect/po/es.po        |   16 +-
 dselect/po/et.po        |   16 +-
 dselect/po/eu.po        |   16 +-
 dselect/po/fr.po        |   16 +-
 dselect/po/gl.po        |   16 +-
 dselect/po/hu.po        |   16 +-
 dselect/po/id.po        |   16 +-
 dselect/po/it.po        |   16 +-
 dselect/po/ja.po        |   16 +-
 dselect/po/ko.po        |   16 +-
 dselect/po/nb.po        |   16 +-
 dselect/po/nl.po        |   16 +-
 dselect/po/nn.po        |   16 +-
 dselect/po/pl.po        |   16 +-
 dselect/po/pt.po        |   16 +-
 dselect/po/pt_BR.po     |   16 +-
 dselect/po/ro.po        |   16 +-
 dselect/po/ru.po        |   16 +-
 dselect/po/sk.po        |   16 +-
 dselect/po/sv.po        |   16 +-
 dselect/po/tl.po        |   16 +-
 dselect/po/vi.po        |   16 +-
 dselect/po/zh_CN.po     |   16 +-
 dselect/po/zh_TW.po     |   16 +-
 man/po/de.po            |  224 +++++++++++++------
 man/po/dpkg-man.pot     |  132 +++++++----
 man/po/es.po            |  156 ++++++++-----
 man/po/fr.po            |  582 +++++++++++++++++++++++++----------------------
 man/po/hu.po            |  172 ++++++++++-----
 man/po/ja.po            |  176 ++++++++++-----
 man/po/pl.po            |  203 +++++++++++------
 man/po/pt_BR.po         |  172 ++++++++++-----
 man/po/ru.po            |  172 ++++++++++-----
 man/po/sv.po            |  318 +++++++++++++++-----------
 po/fr.po                |   36 ++-
 scripts/po/ca.po        |   75 ++++---
 scripts/po/de.po        |   77 ++++---
 scripts/po/dpkg-dev.pot |   75 ++++---
 scripts/po/fr.po        |   77 ++++---
 scripts/po/pl.po        |   77 ++++---
 scripts/po/ru.po        |   77 ++++---
 scripts/po/sv.po        |   86 ++++----
 49 files changed, 2020 insertions(+), 1363 deletions(-)

commit 1fbe29f19be4a6bb7415859d6c4f8fa6e61f26d8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Nov 17 09:49:17 2009 +0100

    debian/source/options: use long option name as per new syntax

 debian/source/options |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 062878ba0266c2be36f498f6f10e1ce153bd75f0
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Nov 17 09:57:34 2009 +0100

    Dpkg::Conf: fix parsing of options with values

 scripts/Dpkg/Conf.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 362bc31aa683cc142871e256d3d4c610c2e93a58
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Nov 17 09:43:17 2009 +0100

    dpkg-source: parse only long options from debian/source/options
    
    debian/source/options can now only contain long options. The
    following lines would result in "--option1 --option1=value"
    passed to dpkg-source -b:
     option1
     option2 = value
    
    Dpkg::Conf has been modified to refuse short options by default.

 debian/changelog       |    2 +-
 man/dpkg-source.1      |   24 +++++++++++++++++-------
 scripts/Dpkg/Conf.pm   |    5 +++++
 scripts/dpkg-source.pl |    4 ++--
 4 files changed, 25 insertions(+), 10 deletions(-)

commit 4d5c2991d36fab0e7423cac76e0bd0b55ea763a1
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 08:29:32 2009 +0100

    scripts: Update objdump.tags files

 scripts/t/200_Dpkg_Shlibs/objdump.tags-amd64 |   64 +++++++++++++------------
 scripts/t/200_Dpkg_Shlibs/objdump.tags-i386  |   66 +++++++++++++------------
 2 files changed, 67 insertions(+), 63 deletions(-)

commit 2549c18438a95df50e20a12b6137cec40d1a95d2
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 08:13:49 2009 +0100

    build: Add debian/source/ files to EXTRA_DIST

 Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit ffd7cb61949febf5727d12524c7fcdd50282248e
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Tue Nov 17 07:43:17 2009 +0100

    Italian translation update
    
    Updated to 964t.

 po/it.po |   87 +++++++++++++++++++++++++++-----------------------------------
 1 files changed, 38 insertions(+), 49 deletions(-)

commit 286447632afdf7d7fddba008f577c7b0e6958900
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 07:34:27 2009 +0100

    The changelog police is back
    
    Add newsworthy items. Sort entries following the law!

 debian/changelog |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

commit 63ccb3ce6df8730b9ca8ae8ee0b043cd15f9d5a9
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 07:07:16 2009 +0100

    man: Update modification dates

 man/deb-substvars.5       |    2 +-
 man/deb-triggers.5        |    2 +-
 man/dpkg-architecture.1   |    2 +-
 man/dpkg-buildpackage.1   |    2 +-
 man/dpkg-gensymbols.1     |    2 +-
 man/dpkg-parsechangelog.1 |    2 +-
 man/dpkg-scanpackages.1   |    2 +-
 man/dpkg-scansources.1    |    2 +-
 man/dpkg-shlibdeps.1      |    2 +-
 man/dpkg-source.1         |    2 +-
 man/dpkg-split.1          |    2 +-
 man/dpkg-trigger.1        |    2 +-
 man/dpkg.1                |    2 +-
 man/start-stop-daemon.8   |    2 +-
 man/update-alternatives.8 |    2 +-
 15 files changed, 15 insertions(+), 15 deletions(-)

commit 162b4055bd77ff455b0013be20b95d3c31d44051
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 06:54:26 2009 +0100

    dpkg-source: Check if the opmode option is defined before use
    
    This was producing an unitialized value usage perl warning when using
    --help or --version.

 scripts/dpkg-source.pl |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit f68aa9619e1e777fad5ff578ad258f768d45f250
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 05:07:53 2009 +0100

    dpkg-buildpackage: Do not list supported compressors in --help output
    
    The xz compressor was missing from the --help output for -Z, instead of
    adding it, let dpkg-source have the list of supported ones, so that we
    don't have to worry about out-of-dateness in the future.

 scripts/dpkg-buildpackage.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2d57b4f715409cbe8cd3dc7a1cc2380ec9fd50de
Merge: aff8de1 3700faf
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Nov 17 08:01:18 2009 +0100

    Merge branch sid (through commit '1.15.4.1')
    
    Conflicts:
    	configure.ac
    	debian/changelog

commit aff8de143b8c2f559c2aa6042587603cc22c489f
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun Nov 15 12:50:44 2009 +0100

    Merge changelog entries

 debian/changelog |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 7ea23faf9e49941430ca55c6cab72611560fcdc9
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun Nov 15 12:45:43 2009 +0100

    Remerge with HEAD

 debian/changelog |    1 +
 po/it.po         |  239 +++---------------------------------------------------
 2 files changed, 11 insertions(+), 229 deletions(-)

commit ef8cb06bf386fd752ef860c19084a9dd0cac9be6
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 14 17:37:39 2009 +0100

    dpkg-statoverride: Add missing angle bracket in string
    
    Spotted-by: Christian Perrier <bubulle@debian.org>

 po/ast.po     |   18 +++++++-----------
 po/bs.po      |   18 +++++++-----------
 po/ca.po      |   18 +++++++-----------
 po/cs.po      |   19 +++++++------------
 po/da.po      |   16 ++++++----------
 po/de.po      |   18 +++++++-----------
 po/dpkg.pot   |   16 ++++++----------
 po/dz.po      |   16 ++++++----------
 po/el.po      |   16 ++++++----------
 po/eo.po      |   16 ++++++----------
 po/es.po      |   16 ++++++----------
 po/et.po      |   16 ++++++----------
 po/eu.po      |   16 ++++++----------
 po/fr.po      |   18 +++++++-----------
 po/gl.po      |   16 ++++++----------
 po/hu.po      |   16 ++++++----------
 po/id.po      |   16 ++++++----------
 po/it.po      |   19 +++++++------------
 po/ja.po      |   16 ++++++----------
 po/km.po      |   16 ++++++----------
 po/ko.po      |   16 ++++++----------
 po/ku.po      |   16 ++++++----------
 po/lt.po      |   16 ++++++----------
 po/mr.po      |   16 ++++++----------
 po/nb.po      |   16 ++++++----------
 po/ne.po      |   16 ++++++----------
 po/nl.po      |   16 ++++++----------
 po/nn.po      |   16 ++++++----------
 po/pa.po      |   16 ++++++----------
 po/pl.po      |   19 +++++++------------
 po/pt.po      |   16 ++++++----------
 po/pt_BR.po   |   16 ++++++----------
 po/ro.po      |   16 ++++++----------
 po/ru.po      |   16 ++++++----------
 po/sk.po      |   16 ++++++----------
 po/sv.po      |   18 +++++++-----------
 po/th.po      |   16 ++++++----------
 po/tl.po      |   16 ++++++----------
 po/vi.po      |   16 ++++++----------
 po/zh_CN.po   |   19 +++++++------------
 po/zh_TW.po   |   16 ++++++----------
 src/statcmd.c |    2 +-
 42 files changed, 257 insertions(+), 425 deletions(-)

commit 8dd0d01bf6ce89005eedcd338397ced07c25f734
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Nov 14 17:00:09 2009 +0100

    dpkg-deb: fix typo unkown -> unknown
    
    Spotted by lintian spelling-error-in-binary.

 dpkg-deb/build.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0adc33bf4d416af55cc641a97fb57e8ece1eab8d
Author: Christian Perrier <bubulle@debian.org>
Date:   Sat Nov 14 13:47:03 2009 +0100

    fix errors spotted by Raphaël

 man/po/fr.po |  346 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 173 insertions(+), 173 deletions(-)

commit 6623bfbb29dbef593d9c0defd35f8c67cfc83c89
Author: Christian Perrier <bubulle@debian.org>
Date:   Sat Nov 14 08:43:38 2009 +0100

    French manpages translation update and typographical fixes (non-breakable spaces)

 man/po/fr.po |  937 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 458 insertions(+), 479 deletions(-)

commit ae106d5b5cb0fba516032d9735e236b9c004e011
Author: Christian Perrier <bubulle@debian.org>
Date:   Sat Nov 14 08:27:36 2009 +0100

    French translation update

 po/fr.po |  215 ++++++++++++++++++++++++++++----------------------------------
 1 files changed, 97 insertions(+), 118 deletions(-)

commit 43c95e7b98576a1309cef40b23a94d6d743e84e4
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Nov 13 21:11:08 2009 +0100

    Update German translation of manual pages
    
    Update to 1650t.

 man/po/de.po |   10 ++--------
 1 files changed, 2 insertions(+), 8 deletions(-)

commit d383a9bcd36b200243f6495e8d135f449530f6bb
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Nov 13 14:01:17 2009 +0100

    German dpkg translation update
    
    Update to 961t4f.

 po/de.po |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

commit 1acb47df2948a23efcc2bfc4034d609f0f975069
Author: Peter Krefting <peterk@debian.org>
Date:   Fri Nov 13 13:40:41 2009 +0100

    Update Swedish translation.
    
    po/sv.po: Update to 965t0f0u.
    man/po/sv.po: Update to 1650t0f0u.
    scripts/po/sv.po: Update to 482t0f0u.

 man/po/sv.po     |   61 ++++++++++++++++----------
 po/sv.po         |   14 +++---
 scripts/po/sv.po |  128 +++++++++++++++++++++++++----------------------------
 3 files changed, 105 insertions(+), 98 deletions(-)

commit 09e28fb8fe6685e6331bb2407b8134ae522c3ca4
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Nov 13 12:18:55 2009 +0100

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |  554 ++++++------
 dselect/po/ca.po        |  560 ++++++------
 dselect/po/cs.po        |  560 ++++++------
 dselect/po/da.po        |  560 ++++++------
 dselect/po/de.po        |  562 ++++++------
 dselect/po/dselect.pot  |  554 ++++++------
 dselect/po/el.po        |  562 ++++++------
 dselect/po/es.po        |  562 ++++++------
 dselect/po/et.po        |  557 ++++++------
 dselect/po/eu.po        |  561 ++++++------
 dselect/po/fr.po        |  563 ++++++------
 dselect/po/gl.po        |  560 ++++++------
 dselect/po/hu.po        |  554 ++++++------
 dselect/po/id.po        |  560 ++++++------
 dselect/po/it.po        |  563 ++++++------
 dselect/po/ja.po        |  560 ++++++------
 dselect/po/ko.po        |  560 ++++++------
 dselect/po/nb.po        |  560 ++++++------
 dselect/po/nl.po        |  560 ++++++------
 dselect/po/nn.po        |  560 ++++++------
 dselect/po/pl.po        |  563 ++++++------
 dselect/po/pt.po        |  560 ++++++------
 dselect/po/pt_BR.po     |  560 ++++++------
 dselect/po/ro.po        |  563 ++++++------
 dselect/po/ru.po        |  560 ++++++------
 dselect/po/sk.po        |  560 ++++++------
 dselect/po/sv.po        |  560 ++++++------
 dselect/po/tl.po        |  560 ++++++------
 dselect/po/vi.po        |  561 ++++++------
 dselect/po/zh_CN.po     |  560 ++++++------
 dselect/po/zh_TW.po     |  560 ++++++------
 man/po/de.po            |  629 +++++++-------
 man/po/dpkg-man.pot     |  477 ++++++-----
 man/po/es.po            |  506 ++++++-----
 man/po/fr.po            |  764 ++++++++++------
 man/po/hu.po            |  506 ++++++-----
 man/po/ja.po            |  506 ++++++-----
 man/po/pl.po            |  550 +++++++-----
 man/po/pt_BR.po         |  506 ++++++-----
 man/po/ru.po            |  506 ++++++-----
 man/po/sv.po            |  704 ++++++++-------
 po/ast.po               | 2218 +++++++++++++++++++++++----------------------
 po/bs.po                | 2066 +++++++++++++++++++++---------------------
 po/ca.po                | 2229 +++++++++++++++++++++++-----------------------
 po/cs.po                | 2223 +++++++++++++++++++++++----------------------
 po/da.po                | 2219 +++++++++++++++++++++++----------------------
 po/de.po                | 1690 +++++++++++++++++-----------------
 po/dpkg.pot             | 2050 ++++++++++++++++++++---------------------
 po/dz.po                | 2215 +++++++++++++++++++++++----------------------
 po/el.po                | 2222 +++++++++++++++++++++++----------------------
 po/eo.po                | 2209 +++++++++++++++++++++++----------------------
 po/es.po                | 2227 +++++++++++++++++++++++-----------------------
 po/et.po                | 2151 ++++++++++++++++++++++----------------------
 po/eu.po                | 2208 +++++++++++++++++++++++----------------------
 po/fr.po                | 2315 ++++++++++++++++++++++++-----------------------
 po/gl.po                | 2221 +++++++++++++++++++++++----------------------
 po/hu.po                | 2207 ++++++++++++++++++++++----------------------
 po/id.po                | 2144 ++++++++++++++++++++++----------------------
 po/it.po                | 2232 +++++++++++++++++++++++----------------------
 po/ja.po                | 2211 +++++++++++++++++++++++----------------------
 po/km.po                | 2210 +++++++++++++++++++++++----------------------
 po/ko.po                | 2214 +++++++++++++++++++++++----------------------
 po/ku.po                | 2101 +++++++++++++++++++++----------------------
 po/lt.po                | 2128 +++++++++++++++++++++----------------------
 po/mr.po                | 2215 +++++++++++++++++++++++----------------------
 po/nb.po                | 2216 +++++++++++++++++++++++----------------------
 po/ne.po                | 2211 +++++++++++++++++++++++----------------------
 po/nl.po                | 2220 +++++++++++++++++++++++----------------------
 po/nn.po                | 2146 ++++++++++++++++++++++----------------------
 po/pa.po                | 2157 ++++++++++++++++++++++----------------------
 po/pl.po                | 2211 +++++++++++++++++++++++----------------------
 po/pt.po                | 2229 +++++++++++++++++++++++-----------------------
 po/pt_BR.po             | 2230 +++++++++++++++++++++++-----------------------
 po/ro.po                | 2237 +++++++++++++++++++++++-----------------------
 po/ru.po                | 2210 +++++++++++++++++++++++----------------------
 po/sk.po                | 2223 +++++++++++++++++++++++----------------------
 po/sv.po                | 1668 +++++++++++++++++-----------------
 po/th.po                | 2218 +++++++++++++++++++++++----------------------
 po/tl.po                | 2144 ++++++++++++++++++++++----------------------
 po/vi.po                | 2237 +++++++++++++++++++++++-----------------------
 po/zh_CN.po             | 2217 +++++++++++++++++++++++----------------------
 po/zh_TW.po             | 2206 +++++++++++++++++++++++----------------------
 scripts/po/ca.po        | 1430 ++++++++++++++++--------------
 scripts/po/de.po        |    6 +-
 scripts/po/dpkg-dev.pot | 1361 +++++++++++++++-------------
 scripts/po/fr.po        | 1500 ++++++++++++++++--------------
 scripts/po/pl.po        | 1500 ++++++++++++++++--------------
 scripts/po/ru.po        | 1494 ++++++++++++++++--------------
 scripts/po/sv.po        | 1332 ++++++++++++++-------------
 89 files changed, 60997 insertions(+), 59744 deletions(-)

commit 9465dc221630938fb24034ddbb34f29fae09ea42
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 13 04:07:01 2009 +0100

    dpkg: Pass struct pkginfo instead of the package name to log_action
    
    Thinko from commit 85b9b00518419b23c209bb6567566b99f004241f.

 src/processarc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 85b9b00518419b23c209bb6567566b99f004241f
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Aug 10 18:05:55 2009 +0200

    Add new status-fd action when disappearing a package
    
    This will help front-ends like APT to keep better track of the actions
    done during a dpkg run.
    
    Closes: #537338

 debian/changelog |    1 +
 man/dpkg.1       |    2 +-
 src/processarc.c |    1 +
 3 files changed, 3 insertions(+), 1 deletions(-)

commit 6ad383f47121cc20958eead2c3e7a1e9047515d1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 12 21:17:49 2009 +0100

    dpkg: Fix checkpath() to use varbuf instead of m_malloc
    
    This solves a potential problem in case any of the programs in
    prog_list is longer than "start-stop-daemon", which is the size being
    choosed as the longest one. By using a varbuf we let the code resize
    it dynamically if needed.

 src/help.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

commit 7979a88648eb12d0100691585688481f2d9359c5
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 11 05:53:49 2009 +0100

    dpkg: Remove redundant ferror check in ensure_diversions()
    
    The check is done already in fgets_checked.

 src/divertdb.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 662f5bf7024ffa6a54b7b1cd125104bc657daae5
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Nov 11 05:18:09 2009 +0100

    dpkg: Remove unused variable in ensure_diversions()

 src/divertdb.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit bd907201ef5f4577344f6662485497fc318741bd
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Nov 11 20:40:21 2009 +0100

    Update German translation of manual pages
    
    Update to 1656t.

 man/po/de.po |   62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 61 insertions(+), 1 deletions(-)

commit fb4c4bc4b09883489e30af2a0b0c06bd54f72a5a
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Nov 11 19:56:44 2009 +0100

    Update German scripts translation
    
    Update to 482t.

 scripts/po/de.po |  205 +++++++++++++++++++++++++++++------------------------
 1 files changed, 112 insertions(+), 93 deletions(-)

commit 8e669bb45a74317ada0bcd72375e53f09b22c713
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 11 16:03:38 2009 +0100

    Use source format "3.0 (native)" with bzip2 compression for dpkg itself

 debian/changelog      |    1 +
 debian/source/format  |    1 +
 debian/source/options |    2 ++
 3 files changed, 4 insertions(+), 0 deletions(-)

commit 36a5420adb2ef7b29927c9011d140c1effd7941f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 11 15:54:47 2009 +0100

    dpkg-source: add a DEP-3 compliant header to automatic patches
    
    In "3.0 (quilt)" format, dpkg-source can automatically create patches with
    the upstream changes applied to the source package. Those patches will now
    contain an informative header respecting the DEP-3 proposal where the
    Description contains a copy of the last changelog entry, the last uploader
    is mentionned in the Author field. Supplementary fields can be added
    by a vendor hook "extend-patch-header". The Debian implementation of this
    hook automatically adds Bug-Debian and Bug-Ubuntu entries.
    
    Dpkg::Source::Patch has been modified to be able to output a preliminary
    header.

 debian/changelog                        |    2 +
 scripts/Dpkg/Source/Package/V2.pm       |   13 +++++++++-
 scripts/Dpkg/Source/Package/V3/quilt.pm |   36 ++++++++++++++++++++++++++++++-
 scripts/Dpkg/Source/Patch.pm            |   11 +++++++++
 scripts/Dpkg/Vendor/Debian.pm           |   13 +++++++++++
 scripts/Dpkg/Vendor/Default.pm          |    2 +
 6 files changed, 74 insertions(+), 3 deletions(-)

commit 4625bf8b455f579259f7ac6ed36c3875a58157e7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 11 11:36:54 2009 +0100

    dpkg-source(1): indicate the recommended source formats
    
    Until dpkg-source really produces new formats by default, it's
    good to recommend using those formats and to inform our users
    of the plan to switch.
    
    This paragraph can be removed when dpkg-source produces new formats by
    default.

 man/dpkg-source.1 |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 74f2648e4b8647fa30c881bf1524be9959aa75a1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 11 11:18:35 2009 +0100

    dpkg-source: list upstream files modified by the diff during build
    
    This only applies to "1.0" source packages using orig.tar.gz + diff.gz.
    
    In that case, it also recommends usage of the new format 3.0 (quilt)
    to keep changes separate and documented.

 debian/changelog                  |    4 +++-
 scripts/Dpkg/Source/Package/V1.pm |   12 +++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

commit 1b61b829a76ccbd7534aca962f442a0c80fb12f8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Nov 11 10:46:28 2009 +0100

    dpkg-source: list upstream files modified by the diff during extraction
    
    This only applies to "1.0" source packages using orig.tar.gz + diff.gz.
    
    Dpkg::Source::Patch::apply() is modified to return the hashref containing
    information about the patch applied so that we can extract the list of
    files in Dpkg::Source::Package::V1::do_extract()

 debian/changelog                  |    2 ++
 scripts/Dpkg/Source/Package/V1.pm |    8 ++++++--
 scripts/Dpkg/Source/Patch.pm      |    1 +
 3 files changed, 9 insertions(+), 2 deletions(-)

commit ce2d6d777aa90be07c5da587bc1847ca7f465e26
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Nov 10 21:57:24 2009 +0100

    Update German scripts translation
    
    Update to 479t.

 scripts/po/de.po | 1322 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 684 insertions(+), 638 deletions(-)

commit 1a72094cb7a1d822b4716586de9ffc987cea4016
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 9 23:54:50 2009 +0100

    dpkg-source: read sticky options from <dir>/debian/source/options
    
    Modify dpkg-source -b/--print-format to use default build options from
    debian/source/options. Thus it's now possible to have sticky options, for
    example for the choice of a compression method (-Z<comp>).
    
    The options read from that file are printed in the log to better diagnose
    errors that might appear from its usage.

 debian/changelog       |    3 +++
 man/dpkg-source.1      |    9 +++++++++
 scripts/dpkg-source.pl |   43 ++++++++++++++++++++++++++++++++++---------
 3 files changed, 46 insertions(+), 9 deletions(-)

commit e1fb5e5c6be00244636d0dfd7c92b88673c7d839
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 9 22:39:25 2009 +0100

    Dpkg::Conf: new module to parse options from a configuration file

 scripts/Dpkg/Conf.pm   |  117 ++++++++++++++++++++++++++++++++++++++++++++++++
 scripts/Makefile.am    |    1 +
 scripts/po/POTFILES.in |    1 +
 3 files changed, 119 insertions(+), 0 deletions(-)

commit 5ad592f7eff684e44149aff8efa4190d2e81f6f8
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 9 21:16:07 2009 +0100

    libcompat: Do not preallocate list before the loop in scandir
    
    Let the realloc in the loop take care of it once it's needed, this way
    we get rid of an additional point of failure.

 lib/compat/scandir.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

commit 365611d9f86e1da98007e5b3b3a14dfea2d5acda
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 9 19:06:18 2009 +0100

    libcompat: Fix resource leaks on error conditions in scandir

 TODO                 |    1 -
 lib/compat/scandir.c |   54 ++++++++++++++++++++++++++++++++++++-------------
 2 files changed, 39 insertions(+), 16 deletions(-)

commit 3c9e99bee2a5acf7060175ae8f424edc69d36f7d
Author: Raphael Geissert <atomo64@gmail.com>
Date:   Tue Nov 3 16:37:54 2009 -0600

    dpkg-split: Fix a directory stream leak

 dpkg-split/queue.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 75216988e32f19ad4a4dd178dd256e3276cb96d6
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Nov 9 17:22:10 2009 +0100

    dpkg-deb: Fix a file descriptor leak
    
    Reported-by: Raphael Geissert <atomo64@gmail.com>

 dpkg-deb/info.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 686d2bd8ecd8f43afa211167aabecc62f9542230
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 8 17:34:06 2009 +0100

    dpkg: Refactor filename summarizing into a new function

 src/processarc.c |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

commit 477814111f820357992b8d5341a9a568d3e15c41
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 9 21:18:52 2009 +0100

    dpkg-source: split usage string in several translatable strings
    
    Also replace non-breaking spaces by normal spaces.

 scripts/dpkg-source.pl |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

commit f22c0f006ffd9d9ba39c56b0072ddcb6af96d0ad
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 9 20:50:55 2009 +0100

    dpkg-source: add new --print-format command
    
    This new command prints the source format that would be used to build the
    source package if "dpkg-source -b directory" was called (in the same
    conditions and with the same options).

 debian/changelog       |    2 ++
 man/dpkg-source.1      |    6 ++++++
 scripts/dpkg-source.pl |   26 +++++++++++++++++---------
 3 files changed, 25 insertions(+), 9 deletions(-)

commit 4f7ad348619205472c2952ab55152ef255e38aef
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 25 17:43:27 2009 +0100

    Clean up perl shebang line
    
    Use “use warnings” instead of passing “-w”. Remove “--” parameters.
    Remove shebangs from perl modules. Remove spaces after “#!”.

 dselect/methods/ftp/install           |    4 +++-
 dselect/methods/ftp/setup             |    4 +++-
 dselect/methods/ftp/update            |    4 +++-
 dselect/mkcurkeys.pl                  |    2 +-
 scripts/Dpkg/Gettext.pm               |    1 -
 scripts/Dpkg/Source/Package/V3/bzr.pm |    1 -
 scripts/Dpkg/Source/Package/V3/git.pm |    1 -
 scripts/dpkg-architecture.pl          |    2 +-
 scripts/dpkg-divert.pl                |    2 +-
 scripts/dpkg-shlibdeps.pl             |    2 +-
 scripts/update-alternatives.pl        |    2 +-
 11 files changed, 14 insertions(+), 11 deletions(-)

commit 368c47b7376334efacdf0347f01860c42dc9a002
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 25 17:50:18 2009 +0100

    Expand text in license header for unversioned GPL

 lib/dpkg/tarfn.c               |   19 ++++++++++++++++---
 lib/dpkg/tarfn.h               |   19 ++++++++++++++++---
 scripts/dpkg-checkbuilddeps.pl |   18 +++++++++++++++++-
 3 files changed, 49 insertions(+), 7 deletions(-)

commit bee98c7ea734849e74ea78f20b1167884d59a9b4
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 22:17:47 2009 +0100

    Add missing license headers

 lib/dpkg/compression.c              |   18 ++++++++++++++++++
 scripts/Dpkg.pm                     |   13 +++++++++++++
 scripts/Dpkg/Arch.pm                |   13 +++++++++++++
 scripts/Dpkg/BuildOptions.pm        |   13 +++++++++++++
 scripts/Dpkg/Checksums.pm           |   13 +++++++++++++
 scripts/Dpkg/Compression.pm         |   13 +++++++++++++
 scripts/Dpkg/Control/Types.pm       |   13 +++++++++++++
 scripts/Dpkg/ErrorHandling.pm       |   13 +++++++++++++
 scripts/Dpkg/Exit.pm                |   13 +++++++++++++
 scripts/Dpkg/Gettext.pm             |   21 +++++++++++++++++++++
 scripts/Dpkg/Source/Functions.pm    |   13 +++++++++++++
 scripts/changelog/debian.pl         |   15 +++++++++++++++
 scripts/dpkg-buildpackage.pl        |   15 +++++++++++++++
 scripts/dpkg-distaddfile.pl         |   15 +++++++++++++++
 scripts/dpkg-divert.pl              |   15 +++++++++++++++
 scripts/dpkg-genchanges.pl          |   15 +++++++++++++++
 scripts/dpkg-gencontrol.pl          |   15 +++++++++++++++
 scripts/dpkg-gensymbols.pl          |   15 +++++++++++++++
 scripts/dpkg-parsechangelog.pl      |   15 +++++++++++++++
 scripts/dpkg-scanpackages.pl        |   15 +++++++++++++++
 scripts/dpkg-shlibdeps.pl           |   15 +++++++++++++++
 scripts/dpkg-source.pl              |   15 +++++++++++++++
 scripts/t/000_pod.t                 |   13 +++++++++++++
 scripts/t/100_Dpkg_Version.t        |   13 +++++++++++++
 scripts/t/200_Dpkg_Shlibs.t         |   13 +++++++++++++
 scripts/t/300_Dpkg_BuildOptions.t   |   13 +++++++++++++
 scripts/t/400_Dpkg_Deps.t           |   13 +++++++++++++
 scripts/t/500_Dpkg_Path.t           |   13 +++++++++++++
 scripts/t/600_Dpkg_Changelog.t      |   13 +++++++++++++
 scripts/t/700_Dpkg_Control.t        |   13 +++++++++++++
 scripts/t/750_Dpkg_Substvars.t      |   13 +++++++++++++
 scripts/t/800_Dpkg_IPC.t            |   13 +++++++++++++
 scripts/t/900_update_alternatives.t |   13 +++++++++++++
 scripts/update-alternatives.pl      |   15 +++++++++++++++
 34 files changed, 479 insertions(+), 0 deletions(-)

commit 9447c1795135f9658c088da90fee12e42c469020
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 22:05:53 2009 +0100

    Unify format in license headers
    
    Indent license text to one space after the '#'. Add '#' to blank lines
    between paragraphs and remove trailing '#' after the license text.

 dpkg-split/mksplit.pl                    |   20 ++++++++++----------
 dselect/methods/ftp/install              |    2 +-
 dselect/methods/ftp/setup                |    2 +-
 dselect/methods/ftp/update               |    2 +-
 dselect/methods/multicd/install          |    2 +-
 dselect/methods/multicd/setup            |    2 +-
 dselect/methods/multicd/update           |    2 +-
 scripts/Dpkg/Changelog.pm                |   21 ++++++++++-----------
 scripts/Dpkg/Changelog/Debian.pm         |   21 ++++++++++-----------
 scripts/Dpkg/Control/Info.pm             |    6 +++---
 scripts/Dpkg/IPC.pm                      |    6 +++---
 scripts/Dpkg/Path.pm                     |    6 +++---
 scripts/Dpkg/Shlibs.pm                   |    6 +++---
 scripts/Dpkg/Shlibs/Objdump.pm           |    6 +++---
 scripts/Dpkg/Shlibs/Symbol.pm            |    6 +++---
 scripts/Dpkg/Shlibs/SymbolFile.pm        |    6 +++---
 scripts/Dpkg/Source/Archive.pm           |    6 +++---
 scripts/Dpkg/Source/CompressedFile.pm    |    6 +++---
 scripts/Dpkg/Source/Compressor.pm        |    6 +++---
 scripts/Dpkg/Source/Package.pm           |    6 +++---
 scripts/Dpkg/Source/Package/V1.pm        |    6 +++---
 scripts/Dpkg/Source/Package/V2.pm        |    6 +++---
 scripts/Dpkg/Source/Package/V3/bzr.pm    |    1 +
 scripts/Dpkg/Source/Package/V3/custom.pm |    6 +++---
 scripts/Dpkg/Source/Package/V3/git.pm    |    1 +
 scripts/Dpkg/Source/Package/V3/native.pm |    6 +++---
 scripts/Dpkg/Source/Package/V3/quilt.pm  |    6 +++---
 scripts/Dpkg/Source/Patch.pm             |    6 +++---
 scripts/Dpkg/Substvars.pm                |    6 +++---
 scripts/Dpkg/Vars.pm                     |    6 +++---
 scripts/Dpkg/Vendor.pm                   |    6 +++---
 scripts/Dpkg/Vendor/Debian.pm            |    6 +++---
 scripts/Dpkg/Vendor/Default.pm           |    6 +++---
 scripts/Dpkg/Vendor/Ubuntu.pm            |    6 +++---
 scripts/Dpkg/Version.pm                  |    6 +++---
 scripts/dpkg-name.pl                     |    1 -
 36 files changed, 110 insertions(+), 111 deletions(-)

commit 485e041e2672970a56a61cec1331f3149e76ef0b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 24 14:23:31 2009 +0200

    Fix copyright statements
    
    Use UTF-8 copyright symbol instead of “(C)”. Add missing “Copyright ©”
    to copyright statements instead of relying on the first occurance.
    Use properly spelled names.

 dpkg-split/mksplit.pl             |    2 +-
 dselect/keyoverride               |    2 +-
 dselect/methods/ftp/install       |    6 +++---
 dselect/methods/ftp/setup         |    6 +++---
 dselect/methods/ftp/update        |    6 +++---
 dselect/methods/multicd/install   |    4 ++--
 dselect/methods/multicd/setup     |    4 ++--
 dselect/methods/multicd/update    |    4 ++--
 man/deb-shlibs.5                  |    4 ++--
 man/dpkg-scanpackages.1           |    2 +-
 scripts/Dpkg/Deps.pm              |    2 +-
 scripts/Dpkg/Shlibs.pm            |    2 +-
 scripts/Dpkg/Shlibs/Objdump.pm    |    2 +-
 scripts/Dpkg/Shlibs/Symbol.pm     |    4 ++--
 scripts/Dpkg/Shlibs/SymbolFile.pm |    4 ++--
 scripts/Dpkg/Vendor/Ubuntu.pm     |    5 +++--
 16 files changed, 30 insertions(+), 29 deletions(-)

commit 7ba3f71c0c8239902648b05b108a4e8397b78144
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 21:49:12 2009 +0100

    Unify text in license headers
    
    Add a missing “of the License” after “version 2”. Move “but” and “GNU”
    at the end of line to the next line. This matches more closely the
    paragraph found in the license text for the GPL version 2.

 debian/copyright            |    8 ++++----
 dpkg-deb/build.c            |   10 +++++-----
 dpkg-deb/dpkg-deb.h         |   10 +++++-----
 dpkg-deb/extract.c          |   10 +++++-----
 dpkg-deb/info.c             |   10 +++++-----
 dpkg-deb/main.c             |   10 +++++-----
 dpkg-split/dpkg-split.h     |   10 +++++-----
 dpkg-split/info.c           |   10 +++++-----
 dpkg-split/join.c           |   10 +++++-----
 dpkg-split/main.c           |   10 +++++-----
 dpkg-split/mksplit.pl       |   10 +++++-----
 dpkg-split/queue.c          |   10 +++++-----
 dpkg-split/split.c          |   10 +++++-----
 dselect/basecmds.cc         |   10 +++++-----
 dselect/baselist.cc         |   10 +++++-----
 dselect/basetop.cc          |   10 +++++-----
 dselect/bindings.cc         |   10 +++++-----
 dselect/bindings.h          |   10 +++++-----
 dselect/curkeys.cc          |   10 +++++-----
 dselect/dselect-curses.h    |   10 +++++-----
 dselect/dselect.h           |   10 +++++-----
 dselect/helpmsgs.cc         |   10 +++++-----
 dselect/helpmsgs.h          |   10 +++++-----
 dselect/keyoverride         |   10 +++++-----
 dselect/main.cc             |   10 +++++-----
 dselect/methkeys.cc         |   10 +++++-----
 dselect/methlist.cc         |   10 +++++-----
 dselect/method.cc           |   10 +++++-----
 dselect/method.h            |   10 +++++-----
 dselect/methparse.cc        |   10 +++++-----
 dselect/mkcurkeys.pl        |   10 +++++-----
 dselect/pkgcmds.cc          |   10 +++++-----
 dselect/pkgdepcon.cc        |   10 +++++-----
 dselect/pkgdisplay.cc       |   10 +++++-----
 dselect/pkginfo.cc          |   10 +++++-----
 dselect/pkgkeys.cc          |   10 +++++-----
 dselect/pkglist.cc          |   10 +++++-----
 dselect/pkglist.h           |   10 +++++-----
 dselect/pkgsublist.cc       |   10 +++++-----
 dselect/pkgtop.cc           |   10 +++++-----
 lib/compat/alphasort.c      |   10 +++++-----
 lib/compat/compat.h         |   10 +++++-----
 lib/compat/scandir.c        |   10 +++++-----
 lib/compat/snprintf.c       |   10 +++++-----
 lib/compat/strerror.c       |   10 +++++-----
 lib/compat/strsignal.c      |   10 +++++-----
 lib/compat/unsetenv.c       |   10 +++++-----
 lib/compat/vsnprintf.c      |   10 +++++-----
 lib/dpkg/buffer.c           |   10 +++++-----
 lib/dpkg/buffer.h           |   10 +++++-----
 lib/dpkg/cleanup.c          |   10 +++++-----
 lib/dpkg/database.c         |   10 +++++-----
 lib/dpkg/dbmodify.c         |   10 +++++-----
 lib/dpkg/dlist.h            |    4 ++--
 lib/dpkg/dpkg-db.h          |   10 +++++-----
 lib/dpkg/dpkg.h             |   10 +++++-----
 lib/dpkg/dump.c             |   10 +++++-----
 lib/dpkg/ehandle.c          |   10 +++++-----
 lib/dpkg/fields.c           |   10 +++++-----
 lib/dpkg/file.c             |   10 +++++-----
 lib/dpkg/file.h             |   10 +++++-----
 lib/dpkg/i18n.h             |   10 +++++-----
 lib/dpkg/lock.c             |   10 +++++-----
 lib/dpkg/log.c              |   10 +++++-----
 lib/dpkg/macros.h           |   10 +++++-----
 lib/dpkg/mlib.c             |   10 +++++-----
 lib/dpkg/myopt-util.c       |   10 +++++-----
 lib/dpkg/myopt.c            |   10 +++++-----
 lib/dpkg/myopt.h            |   10 +++++-----
 lib/dpkg/nfmalloc.c         |   10 +++++-----
 lib/dpkg/parse.c            |   10 +++++-----
 lib/dpkg/parsedump.h        |   10 +++++-----
 lib/dpkg/parsehelp.c        |   10 +++++-----
 lib/dpkg/path.c             |   10 +++++-----
 lib/dpkg/path.h             |   10 +++++-----
 lib/dpkg/pkg-array.c        |   10 +++++-----
 lib/dpkg/pkg-array.h        |   10 +++++-----
 lib/dpkg/pkg-list.c         |   10 +++++-----
 lib/dpkg/pkg-list.h         |   10 +++++-----
 lib/dpkg/pkg.c              |   10 +++++-----
 lib/dpkg/pkg.h              |   10 +++++-----
 lib/dpkg/progress.c         |   10 +++++-----
 lib/dpkg/progress.h         |   10 +++++-----
 lib/dpkg/showpkg.c          |    4 ++--
 lib/dpkg/string.c           |   10 +++++-----
 lib/dpkg/string.h           |   10 +++++-----
 lib/dpkg/subproc.c          |   10 +++++-----
 lib/dpkg/subproc.h          |   10 +++++-----
 lib/dpkg/test.h             |   10 +++++-----
 lib/dpkg/test/t-buffer.c    |   10 +++++-----
 lib/dpkg/test/t-macros.c    |   10 +++++-----
 lib/dpkg/test/t-path.c      |   10 +++++-----
 lib/dpkg/test/t-pkginfo.c   |   10 +++++-----
 lib/dpkg/test/t-string.c    |   10 +++++-----
 lib/dpkg/test/t-test.c      |   10 +++++-----
 lib/dpkg/test/t-varbuf.c    |   10 +++++-----
 lib/dpkg/test/t-version.c   |   10 +++++-----
 lib/dpkg/trigdeferred.l     |   10 +++++-----
 lib/dpkg/triglib.c          |   10 +++++-----
 lib/dpkg/utils.c            |    4 ++--
 lib/dpkg/varbuf.c           |   10 +++++-----
 lib/dpkg/varbuf.h           |   10 +++++-----
 lib/dpkg/vercmp.c           |   10 +++++-----
 man/deb-override.5          |   10 +++++-----
 man/deb-shlibs.5            |   10 +++++-----
 man/dpkg-scanpackages.1     |   10 +++++-----
 scripts/Dpkg/Deps.pm        |   12 ++++++------
 scripts/dpkg-scansources.pl |    4 ++--
 src/archives.c              |   10 +++++-----
 src/archives.h              |   10 +++++-----
 src/cleanup.c               |   10 +++++-----
 src/configure.c             |   10 +++++-----
 src/depcon.c                |   10 +++++-----
 src/divertdb.c              |   10 +++++-----
 src/enquiry.c               |   10 +++++-----
 src/errors.c                |   10 +++++-----
 src/filesdb.c               |   10 +++++-----
 src/filesdb.h               |   10 +++++-----
 src/help.c                  |   10 +++++-----
 src/main.c                  |   10 +++++-----
 src/main.h                  |   10 +++++-----
 src/packages.c              |   10 +++++-----
 src/pkg-show.c              |   10 +++++-----
 src/processarc.c            |   10 +++++-----
 src/query.c                 |   10 +++++-----
 src/remove.c                |   10 +++++-----
 src/select.c                |   10 +++++-----
 src/statcmd.c               |   10 +++++-----
 src/statdb.c                |   10 +++++-----
 src/trigcmd.c               |   10 +++++-----
 src/trigproc.c              |   10 +++++-----
 src/update.c                |   10 +++++-----
 utils/install-info.c        |   10 +++++-----
 133 files changed, 653 insertions(+), 653 deletions(-)

commit d99d361f1b8e07522ccbffc32493e1280b588183
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 19:47:41 2009 +0100

    Replace FSF address by pointing to the gnu.org URL
    
    Use the <http://www.gnu.org/licenses/> URL, instead of in most cases
    the outdated FSF address, which is way more stable, as the latter has
    changed several times in the past.

 debian/changelog                         |    2 ++
 dpkg-deb/build.c                         |    5 ++---
 dpkg-deb/dpkg-deb.h                      |    5 ++---
 dpkg-deb/extract.c                       |    5 ++---
 dpkg-deb/info.c                          |    5 ++---
 dpkg-deb/main.c                          |    5 ++---
 dpkg-split/dpkg-split.h                  |    5 ++---
 dpkg-split/info.c                        |    5 ++---
 dpkg-split/join.c                        |    5 ++---
 dpkg-split/main.c                        |    5 ++---
 dpkg-split/mksplit.pl                    |    5 ++---
 dpkg-split/queue.c                       |    5 ++---
 dpkg-split/split.c                       |    5 ++---
 dselect/basecmds.cc                      |    5 ++---
 dselect/baselist.cc                      |    5 ++---
 dselect/basetop.cc                       |    5 ++---
 dselect/bindings.cc                      |    5 ++---
 dselect/bindings.h                       |    5 ++---
 dselect/curkeys.cc                       |    5 ++---
 dselect/dselect-curses.h                 |    5 ++---
 dselect/dselect.h                        |    5 ++---
 dselect/helpmsgs.cc                      |    5 ++---
 dselect/helpmsgs.h                       |    5 ++---
 dselect/keyoverride                      |    5 ++---
 dselect/main.cc                          |    5 ++---
 dselect/methkeys.cc                      |    5 ++---
 dselect/methlist.cc                      |    5 ++---
 dselect/method.cc                        |    5 ++---
 dselect/method.h                         |    5 ++---
 dselect/methods/multicd/install          |    3 +--
 dselect/methods/multicd/setup            |    3 +--
 dselect/methods/multicd/update           |    3 +--
 dselect/methparse.cc                     |    5 ++---
 dselect/mkcurkeys.pl                     |    5 ++---
 dselect/pkgcmds.cc                       |    5 ++---
 dselect/pkgdepcon.cc                     |    5 ++---
 dselect/pkgdisplay.cc                    |    5 ++---
 dselect/pkginfo.cc                       |    5 ++---
 dselect/pkgkeys.cc                       |    5 ++---
 dselect/pkglist.cc                       |    5 ++---
 dselect/pkglist.h                        |    5 ++---
 dselect/pkgsublist.cc                    |    5 ++---
 dselect/pkgtop.cc                        |    5 ++---
 get-version                              |    3 +--
 lib/compat/alphasort.c                   |    5 ++---
 lib/compat/compat.h                      |    5 ++---
 lib/compat/scandir.c                     |    5 ++---
 lib/compat/snprintf.c                    |    5 ++---
 lib/compat/strerror.c                    |    5 ++---
 lib/compat/strsignal.c                   |    5 ++---
 lib/compat/unsetenv.c                    |    5 ++---
 lib/compat/vsnprintf.c                   |    5 ++---
 lib/dpkg/buffer.c                        |    5 ++---
 lib/dpkg/buffer.h                        |    5 ++---
 lib/dpkg/cleanup.c                       |    5 ++---
 lib/dpkg/database.c                      |    5 ++---
 lib/dpkg/dbmodify.c                      |    5 ++---
 lib/dpkg/dlist.h                         |    3 +--
 lib/dpkg/dpkg-db.h                       |    5 ++---
 lib/dpkg/dpkg.h                          |    5 ++---
 lib/dpkg/dump.c                          |    5 ++---
 lib/dpkg/ehandle.c                       |    5 ++---
 lib/dpkg/fields.c                        |    5 ++---
 lib/dpkg/file.c                          |    5 ++---
 lib/dpkg/file.h                          |    5 ++---
 lib/dpkg/i18n.h                          |    5 ++---
 lib/dpkg/lock.c                          |    5 ++---
 lib/dpkg/log.c                           |    5 ++---
 lib/dpkg/macros.h                        |    5 ++---
 lib/dpkg/mlib.c                          |    5 ++---
 lib/dpkg/myopt-util.c                    |    5 ++---
 lib/dpkg/myopt.c                         |    5 ++---
 lib/dpkg/myopt.h                         |    5 ++---
 lib/dpkg/nfmalloc.c                      |    5 ++---
 lib/dpkg/parse.c                         |    5 ++---
 lib/dpkg/parsedump.h                     |    5 ++---
 lib/dpkg/parsehelp.c                     |    5 ++---
 lib/dpkg/path.c                          |    5 ++---
 lib/dpkg/path.h                          |    5 ++---
 lib/dpkg/pkg-array.c                     |    5 ++---
 lib/dpkg/pkg-array.h                     |    5 ++---
 lib/dpkg/pkg-list.c                      |    5 ++---
 lib/dpkg/pkg-list.h                      |    5 ++---
 lib/dpkg/pkg.c                           |    5 ++---
 lib/dpkg/pkg.h                           |    5 ++---
 lib/dpkg/progress.c                      |    5 ++---
 lib/dpkg/progress.h                      |    5 ++---
 lib/dpkg/showpkg.c                       |    5 ++---
 lib/dpkg/string.c                        |    5 ++---
 lib/dpkg/string.h                        |    5 ++---
 lib/dpkg/subproc.c                       |    5 ++---
 lib/dpkg/subproc.h                       |    5 ++---
 lib/dpkg/test.h                          |    5 ++---
 lib/dpkg/test/t-buffer.c                 |    5 ++---
 lib/dpkg/test/t-macros.c                 |    5 ++---
 lib/dpkg/test/t-path.c                   |    5 ++---
 lib/dpkg/test/t-pkginfo.c                |    5 ++---
 lib/dpkg/test/t-string.c                 |    5 ++---
 lib/dpkg/test/t-test.c                   |    5 ++---
 lib/dpkg/test/t-varbuf.c                 |    5 ++---
 lib/dpkg/test/t-version.c                |    5 ++---
 lib/dpkg/trigdeferred.l                  |    5 ++---
 lib/dpkg/triglib.c                       |    5 ++---
 lib/dpkg/utils.c                         |    5 ++---
 lib/dpkg/varbuf.c                        |    5 ++---
 lib/dpkg/varbuf.h                        |    5 ++---
 lib/dpkg/vercmp.c                        |    5 ++---
 man/deb-override.5                       |    5 ++---
 man/deb-shlibs.5                         |    5 ++---
 man/dpkg-scanpackages.1                  |    5 ++---
 scripts/Dpkg/Changelog.pm                |    3 +--
 scripts/Dpkg/Changelog/Debian.pm         |    3 +--
 scripts/Dpkg/Changelog/Entry.pm          |    5 ++---
 scripts/Dpkg/Changelog/Entry/Debian.pm   |    5 ++---
 scripts/Dpkg/Changelog/Parse.pm          |    3 +--
 scripts/Dpkg/Control.pm                  |    5 ++---
 scripts/Dpkg/Control/Changelog.pm        |    5 ++---
 scripts/Dpkg/Control/Fields.pm           |    5 ++---
 scripts/Dpkg/Control/Hash.pm             |    5 ++---
 scripts/Dpkg/Control/Info.pm             |    5 ++---
 scripts/Dpkg/Deps.pm                     |    7 ++-----
 scripts/Dpkg/IPC.pm                      |    5 ++---
 scripts/Dpkg/Index.pm                    |    5 ++---
 scripts/Dpkg/Path.pm                     |    5 ++---
 scripts/Dpkg/Shlibs.pm                   |    5 ++---
 scripts/Dpkg/Shlibs/Objdump.pm           |    5 ++---
 scripts/Dpkg/Shlibs/Symbol.pm            |    5 ++---
 scripts/Dpkg/Shlibs/SymbolFile.pm        |    5 ++---
 scripts/Dpkg/Source/Archive.pm           |    5 ++---
 scripts/Dpkg/Source/CompressedFile.pm    |    5 ++---
 scripts/Dpkg/Source/Compressor.pm        |    5 ++---
 scripts/Dpkg/Source/Package.pm           |    5 ++---
 scripts/Dpkg/Source/Package/V1.pm        |    5 ++---
 scripts/Dpkg/Source/Package/V2.pm        |    5 ++---
 scripts/Dpkg/Source/Package/V3/bzr.pm    |    3 +--
 scripts/Dpkg/Source/Package/V3/custom.pm |    5 ++---
 scripts/Dpkg/Source/Package/V3/git.pm    |    3 +--
 scripts/Dpkg/Source/Package/V3/native.pm |    5 ++---
 scripts/Dpkg/Source/Package/V3/quilt.pm  |    5 ++---
 scripts/Dpkg/Source/Patch.pm             |    5 ++---
 scripts/Dpkg/Substvars.pm                |    5 ++---
 scripts/Dpkg/Vars.pm                     |    5 ++---
 scripts/Dpkg/Vendor.pm                   |    5 ++---
 scripts/Dpkg/Vendor/Debian.pm            |    5 ++---
 scripts/Dpkg/Vendor/Default.pm           |    5 ++---
 scripts/Dpkg/Vendor/Ubuntu.pm            |    5 ++---
 scripts/Dpkg/Version.pm                  |    5 ++---
 scripts/dpkg-architecture.pl             |    3 +--
 scripts/dpkg-name.pl                     |    3 +--
 scripts/dpkg-scansources.pl              |    5 ++---
 scripts/dpkg-vendor.pl                   |    3 +--
 src/archives.c                           |    5 ++---
 src/archives.h                           |    5 ++---
 src/cleanup.c                            |    5 ++---
 src/configure.c                          |    5 ++---
 src/depcon.c                             |    5 ++---
 src/divertdb.c                           |    5 ++---
 src/enquiry.c                            |    5 ++---
 src/errors.c                             |    5 ++---
 src/filesdb.c                            |    5 ++---
 src/filesdb.h                            |    5 ++---
 src/help.c                               |    5 ++---
 src/main.c                               |    5 ++---
 src/main.h                               |    5 ++---
 src/packages.c                           |    5 ++---
 src/pkg-show.c                           |    5 ++---
 src/processarc.c                         |    5 ++---
 src/query.c                              |    5 ++---
 src/remove.c                             |    5 ++---
 src/select.c                             |    5 ++---
 src/statcmd.c                            |    5 ++---
 src/statdb.c                             |    5 ++---
 src/trigcmd.c                            |    5 ++---
 src/trigproc.c                           |    5 ++---
 src/update.c                             |    5 ++---
 utils/install-info.c                     |    5 ++---
 176 files changed, 339 insertions(+), 514 deletions(-)

commit 0716206865109c3cdfc64c700adbf91a01f86364
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Nov 8 02:29:41 2009 +0100

    libdpkg: Remove unused dumpchain macro
    
    Got converted to a macro just to avoid a compiler warning in
    commit a1d9dc46c55fcc012854f8aa99058d5bb14c2a8a. The proper fix would
    have been to either remove it or use it, which we are doing now.

 lib/dpkg/showpkg.c |   13 -------------
 1 files changed, 0 insertions(+), 13 deletions(-)

commit f789211ee930507e91c111b3326790ce10fdc100
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 8 13:34:30 2009 +0100

    Dpkg::Source::Patch::add_diff_directory(): small optimization
    
    The calls to File::Spec->abs2rel() are relatively expensive and can be
    avoided given that we control the find() invocation and can only receive
    filenames below the scanned directory. They are replaced with simple
    string extraction with substr(), it gives another 25% speed benefit on big
    source packages.
    
    Based-on-patch-by: Mike Hommey <mh@glandium.org>

 scripts/Dpkg/Source/Patch.pm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 7e10087ff285d78d4d1b5155f6127c21f27aecfd
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Nov 8 12:28:46 2009 +0100

    update-alternatives: fix a french translation

 po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c32c4bf1d9d6d4b84206315c97f47b68d6eb460c
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 15:12:16 2009 +0100

    dpkg: Call standard_shutdown after invoking the post hooks
    
    The error unwinding is part of the shutdown, and the invoke hooks
    machinery might call ohshit, so it should be done at the end when
    there's no more error handling in place.

 src/main.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 19e33c332f2d072792c198aedc7932a6af3f7fd9
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 15:05:35 2009 +0100

    libdpkg: Make desc argument const in compress_cat and decompress_cat

 lib/dpkg/compression.c |   10 ++++++++--
 lib/dpkg/dpkg.h        |    4 ++--
 2 files changed, 10 insertions(+), 4 deletions(-)

commit 0814d1b1eb42c08809d31980d9a7f2b921c713e5
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 14:04:41 2009 +0100

    Use find with -L instead of deprecated -follow

 dselect/methods/disk/install    |    5 +++--
 dselect/methods/disk/setup      |    2 +-
 dselect/methods/multicd/install |    4 ++--
 dselect/methods/multicd/setup   |    2 +-
 scripts/dpkg-scanpackages.pl    |    3 +--
 scripts/dpkg-scansources.pl     |    2 +-
 src/archives.c                  |    4 ++--
 7 files changed, 11 insertions(+), 11 deletions(-)

commit 03b7c00daf4dbf20898dd6c214a4a399d4e2e002
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 00:55:39 2009 +0100

    libdpkg: If PROCNOERR in subproc_check() return the status code
    
    If the caller asked for no errors, it does not make sense to lose the
    status code on return. So we return it instead of -1.

 lib/dpkg/subproc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b4d4968715f3ca5498bba7b35b385a26d0c96151
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 13:23:50 2009 +0100

    dpkg: Do not bogusly ignore find exit code 1
    
    Commit 68b56dc4edaaf90f5311f07b38871ddd61b84a48 introduced the
    PROCNOERR to try to handle and be able to ignore find exit code 1,
    which supposedly happened (not any longer) when using the -follow
    option and a dangling symlink was found.
    
    But it only prevented the ohshit() inside checksubprocerr(), and the
    return value was still -1, so it was not ignoring the exit code 1,
    and still ohshit()ing in the caller.
    
    As find does currently exit with a 0 code even when finding broken
    symlinks, let's remove this piece of broken logic.

 src/archives.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a720b6aec5ab71211067cfd0250b57efa0aa18f9
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 00:30:16 2009 +0100

    Use subproc_wait instead of directly calling waitpid

 dselect/method.cc |    7 ++-----
 src/configure.c   |   22 +++-------------------
 src/processarc.c  |    6 +++---
 3 files changed, 8 insertions(+), 27 deletions(-)

commit d5388296797726e34abe13031dcbdd302319b908
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Nov 7 00:07:02 2009 +0100

    libdpkg: Split process waiting from subproc_wait_check into subproc_wait

 lib/dpkg/subproc.c |   12 +++++++++++-
 lib/dpkg/subproc.h |    1 +
 2 files changed, 12 insertions(+), 1 deletions(-)

commit 4d35b20c645479e850822b1508cfcdc5d471c890
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 6 23:56:22 2009 +0100

    Rename process description function arguments to desc

 lib/dpkg/subproc.c |   18 +++++++++---------
 src/help.c         |   20 ++++++++++----------
 src/main.h         |    6 +++---
 3 files changed, 22 insertions(+), 22 deletions(-)

commit f5c904d58627ec1422173a596f2a2ef8584485c2
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 6 23:03:01 2009 +0100

    libdpkg: Rename and namespace subproc related functions

 dpkg-deb/build.c   |   10 +++++-----
 dpkg-deb/extract.c |    8 ++++----
 dpkg-deb/info.c    |    2 +-
 dselect/method.cc  |    4 ++--
 lib/dpkg/subproc.c |   12 ++++++------
 lib/dpkg/subproc.h |    8 ++++----
 src/archives.c     |    2 +-
 src/help.c         |    6 +++---
 src/processarc.c   |    6 +++---
 9 files changed, 29 insertions(+), 29 deletions(-)

commit 61e353f65b60cc5d58fc883ac150f90de244dfd2
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 6 22:25:11 2009 +0100

    libdpkg: Namespace include guards with LIBDPKG instead of DPKG

 lib/dpkg/buffer.h    |    6 +++---
 lib/dpkg/dpkg-db.h   |    6 +++---
 lib/dpkg/dpkg.h      |    6 +++---
 lib/dpkg/file.h      |    6 +++---
 lib/dpkg/i18n.h      |    6 +++---
 lib/dpkg/macros.h    |    6 +++---
 lib/dpkg/parsedump.h |    6 +++---
 lib/dpkg/path.h      |    6 +++---
 lib/dpkg/pkg-array.h |    6 +++---
 lib/dpkg/pkg-list.h  |    6 +++---
 lib/dpkg/pkg.h       |    6 +++---
 lib/dpkg/progress.h  |    4 ++--
 lib/dpkg/string.h    |    6 +++---
 lib/dpkg/subproc.h   |    6 +++---
 lib/dpkg/tarfn.h     |    6 +++---
 lib/dpkg/test.h      |    4 ++--
 lib/dpkg/varbuf.h    |    6 +++---
 17 files changed, 49 insertions(+), 49 deletions(-)

commit de470a7d71936b8a50d6089a7dfbbc3822ac6bb5
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Nov 6 20:05:21 2009 +0100

    dpkg-source: optimize diffing phase of a source package build
    
    Optimize dpkg-source -b by avoiding many diff calls when not required.
    
    Based-on-patch-by: Mike Hommey <mh@glandium.org>

 debian/changelog             |    2 ++
 scripts/Dpkg/Source/Patch.pm |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit d570dcf56c502a36b4747665938025609d5ffe47
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Nov 6 19:36:45 2009 +0100

    Stop using the English perl module
    
    Using this module (and $' or $POSTMATCH) implies a performance penalty
    that we want to avoid. Thus modifies the few regexes where it's used to
    be explicit about the part of the data that we want to retrieve.

 scripts/Dpkg/Substvars.pm  |   11 ++++----
 scripts/dpkg-genchanges.pl |   57 +++++++++++++++++++++----------------------
 scripts/dpkg-shlibdeps.pl  |    1 -
 scripts/dpkg-source.pl     |   29 ++++++++++-----------
 4 files changed, 47 insertions(+), 51 deletions(-)

commit 7d8d193332478de82e20ed5b49053378801d160f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Nov 6 18:08:23 2009 +0100

    Dpkg::Control::Hash: handle arbitrary field values
    
    Checking the validity of new field values at run-time was very expensive.
    In order to avoid this check, the design of the object has been changed to
    accept arbitrary values, they are simply escaped as necessary during
    output. The only data lost in a save()/load() cycle are the
    trailing whitespaces on every line of all values.
    
    This API change implies fixes in all scripts/modules reading/creating
    values for multiline fields.
    
    The non-regression test also had to be adjusted.

 scripts/Dpkg/Changelog.pm            |    2 +-
 scripts/Dpkg/Changelog/Entry.pm      |   12 +-----
 scripts/Dpkg/Checksums.pm            |    2 +-
 scripts/Dpkg/Control/Hash.pm         |   69 ++++++++++++++++++++-------------
 scripts/Dpkg/Source/Package.pm       |    6 +-
 scripts/dpkg-genchanges.pl           |   18 +++-----
 scripts/dpkg-scanpackages.pl         |   13 ++----
 scripts/dpkg-scansources.pl          |    4 +-
 scripts/dpkg-source.pl               |    4 +-
 scripts/t/700_Dpkg_Control.t         |   21 +++++++---
 scripts/t/700_Dpkg_Control/control-1 |   11 +++--
 11 files changed, 84 insertions(+), 78 deletions(-)

commit 0374e5565de9d42768ec8babdaabfb51cec4f6a6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Nov 6 15:07:38 2009 +0100

    Dpkg::Control::Hash: use lower-case internally for keys
    
    Only use field_capitalize() when exporting keys names outside of the
    object. lc() is way faster than field_capitalize() and that makes
    a difference in performance when you're reading/setting values many
    times.

 scripts/Dpkg/Control/Hash.pm |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 0b1d71a6506ae053ca3c6ed06d2e4a0da0052da7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Nov 6 00:07:36 2009 +0100

    Dpkg::Source::Package::V3::git::do_build(): remove extra quotes
    
    Remove extra quoting that should not be there while passing an exclude
    file to git ls-files during build of 3.0 (git) source package.
    
    Based-on-patch-by: Courtney Bane <debian-bugs-5265@cbane.org>

 debian/changelog                      |    3 +++
 scripts/Dpkg/Source/Package/V3/git.pm |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 32e999f9725589467249aabb9cf8043aaa9b9282
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Nov 5 23:58:47 2009 +0100

    Add missing bug closure.

 debian/changelog |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 1731ce5cc233cd01896298d7e4395bf0042959bf
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Nov 5 21:49:08 2009 +0100

    Dpkg::Source::Package::V2::do_build(): improve matching of ignored files
    
    Modify logic to also match ignored files based on their relative path
    inside the source package (and not only on their filename).

 scripts/Dpkg/Source/Package/V2.pm |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

commit 6f6814491f0240a4de97f22e60661489bb36f914
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Nov 5 21:12:15 2009 +0100

    Dpkg::Source::Package::V2:do_build(): fix binary file check
    
    The find() call that is supposed to look for binary files in the debian
    sub-directory was missing the no_chdir option and due to this the
    File::Spec->abs2rel() call (inside the wanted function) was returning an
    invalid value when find() changed the current directory (since its second
    parameter is only valid while being in the current directory).
    
    The parameter got lost by mistake in 3525f79792cff51757d99d45f51c96a15e6fa779
    and it was present in lenny's version.

 debian/changelog                  |    2 ++
 scripts/Dpkg/Source/Package/V2.pm |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit c9e24e8e95f2354053e4a73592eafee7da240e8c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Nov 3 12:19:39 2009 +0100

    Dpkg::Changelog::get_range(): fix return value when range is empty
    
    Also fix scripts/changelog/debian.pl to better deal with undef values
    returned when the requested range matches an empty set of changelog
    entries.

 scripts/Dpkg/Changelog.pm   |   10 +++++++---
 scripts/changelog/debian.pl |    6 ++++--
 2 files changed, 11 insertions(+), 5 deletions(-)

commit 3fb1f0d63cda6069ddac0bea53ca0cd1430d6fda
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Nov 2 13:50:01 2009 +0100

    Add missing bug closure

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 714cfb8287c21b792c32d22ebb1eb724a8e693d1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Oct 31 22:55:29 2009 +0100

    Add changelog entry for Dpkg::Changelog changes

 debian/changelog |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 394e14ffc28160feaa6ef55f4b7ac815a455d1de
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Oct 30 11:42:56 2009 +0100

    Add supplementary non-regression tests for Dpkg::Changelog related modules

 scripts/t/600_Dpkg_Changelog.t      |  102 ++++++++++++++++++++++++++--------
 scripts/t/600_Dpkg_Changelog/fields |   19 ++++++-
 2 files changed, 95 insertions(+), 26 deletions(-)

commit bb4611eb5cb1571af9886f33c61dc6305284c6cc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 23:19:42 2009 +0100

    Dpkg::Changelog: completely update the API
    
    The previous API was too different from the other modules inside dpkg-dev.
    
    Dpkg::Changelog now behaves as an array of Dpkg::Changelog::Entry
    and the documentation explains how it can be derived to create a new
    changelog parser.
    
    The non-regression tests as well as the official Debian
    changelog parser script had to be updated to cope with the new API.

 scripts/Dpkg/Changelog.pm        |  659 ++++++++++++++++----------------------
 scripts/Dpkg/Changelog/Debian.pm |   90 ++----
 scripts/Dpkg/Changelog/Entry.pm  |    4 +-
 scripts/changelog/debian.pl      |   21 +-
 scripts/t/600_Dpkg_Changelog.t   |   53 +---
 5 files changed, 330 insertions(+), 497 deletions(-)

commit 1b10a64b592e140a9d6bd34e3d7d6f7cfe0faf38
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Oct 30 09:47:32 2009 +0100

    Dpkg::Changelog::Entry: add get_dpkg_changes() method here
    
    This is the logical place for this function (as an object method).

 scripts/Dpkg/Changelog/Entry.pm |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

commit 30421dbe46f769b4e2333af8baf7269698cbc050
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 23:18:45 2009 +0100

    dpkg-parsechangelog: drop useless “use” statements
    
    Neither POSIX nor English are used by this small script.

 scripts/dpkg-parsechangelog.pl |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 1f67f4b22b2c8571a39ff38cf74d259871fdc84c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 19:08:45 2009 +0100

    Move find_closes() into Dpkg::Changelog::Entry::Debian

 scripts/Dpkg/Changelog.pm              |   24 ------------------------
 scripts/Dpkg/Changelog/Entry/Debian.pm |   32 +++++++++++++++++++++++++++-----
 2 files changed, 27 insertions(+), 29 deletions(-)

commit 8a140576f54188e6009e3398a2ec3da1c100be0d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 18:39:03 2009 +0100

    Dpkg::Changelog::Debian: syntax/style cleanup
    
    Use standard unless blocks instead of multiple ORed checks with
    “do” statements.
    
    Drop useless “use Dpkg”.

 scripts/Dpkg/Changelog/Debian.pm |   62 +++++++++++++++----------------------
 1 files changed, 25 insertions(+), 37 deletions(-)

commit 23d47fe8b736fb5772e38d0941f09717d1ea6756
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 18:25:57 2009 +0100

    Dpkg::Changelog: don't use English
    
    Replace $NR with $. for this. Using English implies a performance penalty
    in regex matching that we'd like to avoid.

 scripts/Dpkg/Changelog.pm        |    6 ++----
 scripts/Dpkg/Changelog/Debian.pm |   22 ++++++++++------------
 2 files changed, 12 insertions(+), 16 deletions(-)

commit 9ac7b86ac2be3e50a883262ed21ccdc4f1b92ffd
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 18:20:37 2009 +0100

    Dpkg::Changelog::Debian: drop improper documentation
    
    Together with a duplicate copyright notice and an unneeded
    use statement. Add myself in the copyright notice.

 scripts/Dpkg/Changelog/Debian.pm |   42 ++-----------------------------------
 1 files changed, 3 insertions(+), 39 deletions(-)

commit 05f529d5455be4d116df6c91d1f9ac28e65ac6e7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 18:20:11 2009 +0100

    Dpkg::Changelog::Debian: use constants for parser states

 scripts/Dpkg/Changelog/Debian.pm |   46 +++++++++++++++++++++----------------
 1 files changed, 26 insertions(+), 20 deletions(-)

commit dc5d755b0fe118938f7bba438fcf2e44461b0f65
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 17:54:06 2009 +0100

    Move header/trailer checks in Dpkg::Changelog::Entry::Debian

 scripts/Dpkg/Changelog/Debian.pm       |   34 ++----------------
 scripts/Dpkg/Changelog/Entry/Debian.pm |   59 ++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 30 deletions(-)

commit d0d812c1d96f53fdabbb356a50fc3a11cd7ce04d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 17:19:07 2009 +0100

    Dpkg::Changelog::Entry::Debian: parse changes lines as set of items
    
    The function get_change_items() reintroduce the feature that parsed the
    changes as a set of items describing individual changes. Furthermore it
    parses attribution lines (“[ Name ]”) as separate items.

 scripts/Dpkg/Changelog/Entry/Debian.pm |   37 ++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

commit bb9af2d083538d4ffa2033b1e3380ec9d924d32b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Oct 24 18:04:47 2009 +0200

    Drop compatibility with old changelog parsers (as planned)

 doc/README.feature-removal-schedule |   24 ++++++++++++------------
 scripts/Dpkg/Changelog/Parse.pm     |    7 -------
 scripts/dpkg-genchanges.pl          |   16 +++-------------
 3 files changed, 15 insertions(+), 32 deletions(-)

commit 99e3abcc33343dbfb65e585b496f451d433ed7fc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Oct 24 17:54:31 2009 +0200

    Move parse_changelog() to a separate module Dpkg::Changelog::Parse
    
    Despite its name, this function does not actuallay parse anything by
    itself, it just calls external parsers and returns their result. This
    interface is largely used by other tools and is not tied with any of the
    other Dpkg::Changelog modules so it's best kept separate.
    
    Many scripts have to be updated to cope with the renaming.

 scripts/Dpkg/Changelog.pm       |  126 -----------------------------
 scripts/Dpkg/Changelog/Parse.pm |  167 +++++++++++++++++++++++++++++++++++++++
 scripts/Makefile.am             |    1 +
 scripts/dpkg-buildpackage.pl    |    4 +-
 scripts/dpkg-genchanges.pl      |    6 +-
 scripts/dpkg-gencontrol.pl      |    4 +-
 scripts/dpkg-gensymbols.pl      |    4 +-
 scripts/dpkg-parsechangelog.pl  |    4 +-
 scripts/dpkg-source.pl          |    4 +-
 scripts/po/POTFILES.in          |    1 +
 10 files changed, 182 insertions(+), 139 deletions(-)

commit 825656afe3e9856dc846c225df8af73d2376fa3e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 18 23:07:03 2009 +0200

    Update Dpkg::Changelog to use new ::Entry modules
    
    Drop the Dpkg::Changelog::Entry embedded in Dpkg::Changelog.
    Update Dpkg::Changelog and Dpkg::Changelog::Debian to use the
    new modules.
    
    Some (undocumented) features have been removed with this rewrite.
    The entries are not parsed item by item anymore. The Urgency field
    will no longer receive the comment that can follow the urgency.
    
    The content of “Closes” is exported by Dpkg::Changelog::Entry::Debian
    as an optional field.
    
    The test-suite also had to be updated to cope with the API changes
    and the fact that bugs are no longer duplicated in the “Closes” field.

 scripts/Dpkg/Changelog.pm        |  158 +++++++++++++++-----------------------
 scripts/Dpkg/Changelog/Debian.pm |  122 +++++++----------------------
 scripts/t/600_Dpkg_Changelog.t   |    8 +-
 3 files changed, 96 insertions(+), 192 deletions(-)

commit 750c5b4d630aa7b8aa72b1b6d621b7eb5eb70093
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 18 22:36:20 2009 +0200

    Dpkg::Changelog::Entry, Dpkg::Control::Changelog: new modules
    
    Dpkg::Changelog::Entry is a somewhat generic representation of a
    changelog entry. It offers an interface exporting the basic information
    that we need to extract for dpkg-parsechangelog.
    
    Dpkg::Changelog::Entry::Debian is the implementation of this
    interface for the typical Debian changelog entry.
    
    Dpkg::Control::Changelog is the object representing the
    information exported by dpkg-parsechangelog. It starts empty
    as a simple Dpkg::Control of type CTRL_CHANGELOG.
    
    Those new modules are not yet used by the Dpkg::Changelog modules.

 scripts/Dpkg/Changelog/Entry.pm        |  284 ++++++++++++++++++++++++++++++++
 scripts/Dpkg/Changelog/Entry/Debian.pm |  156 +++++++++++++++++
 scripts/Dpkg/Control/Changelog.pm      |   59 +++++++
 scripts/Makefile.am                    |    3 +
 scripts/po/POTFILES.in                 |    3 +
 5 files changed, 505 insertions(+), 0 deletions(-)

commit f3352fe06a0491a5642acb72f9f5e3724f2e8a13
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 22 09:54:05 2009 +0200

    Dpkg::Index: new module
    
    This module represents an ordered set of Dpkg::Control objects.
    It ensures uniqueness for objects based on a customisable key.

 scripts/Dpkg/Index.pm  |  371 ++++++++++++++++++++++++++++++++++++++++++++++++
 scripts/Makefile.am    |    1 +
 scripts/po/POTFILES.in |    1 +
 3 files changed, 373 insertions(+), 0 deletions(-)

commit af52dbcb1e9bfb9cfc383f79bdfd825c2e69490f
Author: Frank Lichtenheld <djpig@debian.org>
Date:   Sat Oct 31 22:25:12 2009 +0100

    Remove myself from Uploaders
    
    It's been a while since I did anything in dpkg, and I don't see
    any chance of that changing in the near future.

 debian/control |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 18e61369990f9969c7ef666d024a0766cc0feea9
Author: Christian Perrier <bubulle@debian.org>
Date:   Sat Oct 31 17:24:16 2009 +0100

    Fix grammatical error

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6b3d052813aec63375c4eec2670904ca634adca1
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Oct 30 14:59:33 2009 +0100

    Fix spelling errors in the Catalan translation
    
    Closes: #553328
    
    Reported-by: Robert Millan <rmh.iesmontserrat@gmail.com>

 debian/changelog |    2 ++
 po/ca.po         |   10 +++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)

commit 76044b005784129b5c7faa51cd050c43e861deb6
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Oct 30 14:38:47 2009 +0100

    build: Use pkg-config m4 macros to detect selinux library
    
    Use PKG_PROG_PKG_CONFIG to detect and allow overriding the pkg-config
    binary to use, for example in case of cross-compilation.
    
    Suggested-by: Tollef Fog Heen <tfheen@err.no>

 debian/changelog |    2 ++
 m4/dpkg-libs.m4  |   15 ++++++++-------
 2 files changed, 10 insertions(+), 7 deletions(-)

commit a888de4b1c2e1bc867fee487e04bd561f5aa2f7d
Author: Felipe Contreras <felipe.contreras@gmail.com>
Date:   Sun Oct 25 15:40:15 2009 +0200

    build: If there's no libselinux.pc file fallback to hardcoded list
    
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 m4/dpkg-libs.m4 |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

commit 438e93de387d313c6085eea63101a4c4e714a2d5
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 29 21:34:12 2009 +0100

    Update TODO list
    
    Remove done items. Remove items moved to the RoadMap in the wiki, and
    add a link to it. Move items around were they better fit. Separate old
    TODOs with a straight line.

 TODO |   56 +++++++++++++++++---------------------------------------
 1 files changed, 17 insertions(+), 39 deletions(-)

commit 9c3bcc6fb033fd5cf251c46024a3becc932354be
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sat Oct 24 17:21:49 2009 -0500

    man: Fix a small typo in dpkg.1
    
    Extra “be” in “can be also be”.
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 man/dpkg.1      |    2 +-
 man/po/de.po    |    4 ++--
 man/po/es.po    |    4 ++--
 man/po/fr.po    |    4 ++--
 man/po/hu.po    |    4 ++--
 man/po/ja.po    |    4 ++--
 man/po/pl.po    |    4 ++--
 man/po/pt_BR.po |    4 ++--
 man/po/ru.po    |    4 ++--
 man/po/sv.po    |    4 ++--
 10 files changed, 19 insertions(+), 19 deletions(-)

commit 679d1d75780f7e1b2e32f158cd72357d9087a7a6
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 29 18:41:54 2009 +0100

    build: Only use po4a if present and if NLS is enabled
    
    Use the po4a command found when doing the availability checks.
    
    Reported-by: Felipe Contreras <felipe.contreras@gmail.com>

 configure.ac     |    1 +
 m4/dpkg-progs.m4 |   14 ++++++++++++++
 man/Makefile.am  |   14 +++++++-------
 3 files changed, 22 insertions(+), 7 deletions(-)

commit 99e213787595fec1a7939ba1a0395dfdfd62c7ba
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Oct 29 18:01:17 2009 +0100

    build: Rename and namespace dpkg m4 files
    
    This avoids possible future collisions and makes it easier to see
    what's coming from dpkg and what each file is for.

 m4/{arch.m4 => dpkg-arch.m4}         |    0
 m4/{compiler.m4 => dpkg-compiler.m4} |    0
 m4/{funcs.m4 => dpkg-funcs.m4}       |    0
 m4/{libs.m4 => dpkg-libs.m4}         |    0
 m4/{linker.m4 => dpkg-linker.m4}     |    0
 m4/{perl.m4 => dpkg-progs.m4}        |    0
 m4/{types.m4 => dpkg-types.m4}       |    0
 7 files changed, 0 insertions(+), 0 deletions(-)

commit 3e5ce0a54a78790adf86fb8bdcdb288121a039c6
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Sat Oct 24 17:32:56 2009 -0500

    libdpkg: fix misspelling of __attribute__((const))
    
    gcc does not recognize __attribute__((constant)).
    
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/macros.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7b849f7297e4582b3a13417db68d13a2464df89b
Author: Sean Finney <seanius@debian.org>
Date:   Wed Oct 14 21:23:05 2009 +0200

    dpkg: Add JavaDoc comments for promptconfaction()
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/configure.c |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

commit fcd32924f34859ae9cab48d92e054b297a577bc5
Author: Sean Finney <seanius@debian.org>
Date:   Wed Oct 14 21:23:04 2009 +0200

    dpkg: Pass a pkginfo structure to promptconfaction()
    
    In order to provide an interface into the conffiles DB API, it's required
    to know the package name that owns the conffile. Since this is a static
    function and the package structure is available in all places that the
    function is used, this is a fairly easy fix.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/configure.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit e000e4a109b95bc43e558e2f53bc85bc63d3177d
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 11 16:33:21 2009 +0200

    Document some of the code with JavaDoc

 lib/dpkg/pkg-array.c |   16 ++++++++++++++++
 lib/dpkg/pkg-array.h |    3 +++
 lib/dpkg/pkg.c       |   11 +++++++++++
 src/configure.c      |   37 ++++++++++++++++++++++++++++++-------
 4 files changed, 60 insertions(+), 7 deletions(-)

commit 2ba520490b52db98282a4476d23d9fd8c5798270
Author: Sean Finney <seanius@debian.org>
Date:   Mon Oct 12 21:01:45 2009 +0200

    doc: Tune some Doxygen settings

 doc/Doxyfile.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 876b5126314291cafba31bd4c341b95f777cf9fa
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Oct 9 15:41:54 2009 +0200

    doc: Add doxygen support
    
    The code should start getting switched to document using JavaDoc
    style comments, at least for public declarations.

 Makefile.am          |    8 +
 configure.ac         |    3 +
 debian/changelog     |    1 +
 doc/.gitignore       |    2 +
 doc/Doxyfile.in      | 1521 ++++++++++++++++++++++++++++++++++++++++++++++++++
 doc/coding-style.txt |    5 +
 6 files changed, 1540 insertions(+), 0 deletions(-)

commit 971e675a180c59642e2406acbb0c6f7bc68961e6
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 25 23:56:30 2009 +0100

    Generate the autoconf version from git
    
    Use a new script to retrieve the version from a file shipped in the
    released tarballs, or from the git repository using “git describe”
    which will give an appropriate string in case of a snapshot, and add
    a possible “-dirty” suffix if the working dir has uncommitted changes.

 Makefile.am      |    2 ++
 configure.ac     |    2 +-
 debian/changelog |    2 ++
 get-version      |   42 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 47 insertions(+), 1 deletions(-)

commit 1c88ead04c95096f03b61a6032d443a327964926
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 17 02:38:03 2009 +0200

    Sort order of header includes
    
    Place first <config.h> and <compat.h>, then all <sys/*.h> sorted by
    complexity, followed by the rest of the system headers, then <dpkg/*.h>
    and finally the local "*.h" ones.
    
    Move <dpkg/i18n.h> inclusion into libdpkg inclusion block, as the
    <gettext.h> compatibility header already takes care of including
    <locale.h> before <libintl.h> on environments were its probamatic.
    
    Removed duplicated inclusions.

 dpkg-deb/build.c          |   24 ++++++++--------
 dpkg-deb/extract.c        |   21 +++++++------
 dpkg-deb/info.c           |   19 ++++++------
 dpkg-deb/main.c           |   24 ++++++++--------
 dpkg-split/info.c         |   13 ++++----
 dpkg-split/join.c         |   10 +++---
 dpkg-split/main.c         |   13 ++++----
 dpkg-split/queue.c        |   15 +++++----
 dpkg-split/split.c        |   13 ++++----
 dselect/basecmds.cc       |    5 +--
 dselect/baselist.cc       |   10 +++---
 dselect/bindings.cc       |    5 +--
 dselect/dselect.h         |    8 ++--
 dselect/main.cc           |   23 +++++++--------
 dselect/methlist.cc       |    7 ++--
 dselect/method.cc         |   23 +++++++--------
 dselect/methparse.cc      |   18 ++++++------
 dselect/pkgcmds.cc        |    2 +-
 dselect/pkgdepcon.cc      |    4 +-
 dselect/pkgdisplay.cc     |    5 +--
 dselect/pkginfo.cc        |    7 ++--
 dselect/pkglist.cc        |    9 ++---
 dselect/pkgsublist.cc     |    7 ++--
 dselect/pkgtop.cc         |    7 ++--
 lib/compat/alphasort.c    |    2 +-
 lib/compat/scandir.c      |    3 +-
 lib/compat/unsetenv.c     |    2 +-
 lib/compat/vsnprintf.c    |    2 +-
 lib/dpkg/buffer.c         |    6 ++--
 lib/dpkg/cleanup.c        |    4 +-
 lib/dpkg/compression.c    |    9 ++---
 lib/dpkg/database.c       |    4 +-
 lib/dpkg/dbmodify.c       |   19 ++++++------
 lib/dpkg/dpkg-db.h        |    9 +++--
 lib/dpkg/dpkg.h           |   17 +++++------
 lib/dpkg/dump.c           |   16 +++++-----
 lib/dpkg/ehandle.c        |   12 ++++----
 lib/dpkg/fields.c         |    6 ++--
 lib/dpkg/file.c           |    1 +
 lib/dpkg/lock.c           |   14 ++++----
 lib/dpkg/log.c            |    9 ++---
 lib/dpkg/md5.c            |    3 +-
 lib/dpkg/mlib.c           |   13 ++++----
 lib/dpkg/myopt-util.c     |    8 ++--
 lib/dpkg/myopt.c          |    6 ++--
 lib/dpkg/nfmalloc.c       |    6 ++--
 lib/dpkg/parse.c          |   28 ++++++++----------
 lib/dpkg/parsehelp.c      |    8 ++--
 lib/dpkg/path.c           |    2 +-
 lib/dpkg/path.h           |    4 +-
 lib/dpkg/progress.c       |    4 +-
 lib/dpkg/showpkg.c        |    7 ++--
 lib/dpkg/subproc.c        |    6 ++--
 lib/dpkg/tarfn.c          |    8 ++--
 lib/dpkg/tarfn.h          |    5 ++-
 lib/dpkg/test.h           |    6 ++--
 lib/dpkg/test/t-buffer.c  |    4 +-
 lib/dpkg/test/t-path.c    |    4 +-
 lib/dpkg/test/t-string.c  |    4 +-
 lib/dpkg/trigdeferred.l   |    3 +-
 lib/dpkg/triglib.c        |    9 ++---
 lib/dpkg/utils.c          |    3 +-
 lib/dpkg/varbuf.c         |    5 ++-
 lib/dpkg/vercmp.c         |    1 +
 m4/compiler.m4            |    5 +--
 src/archives.c            |   20 ++++++------
 src/cleanup.c             |   17 ++++++-----
 src/configure.c           |   24 +++++++--------
 src/depcon.c              |    9 +++--
 src/divertdb.c            |   15 ++++-----
 src/enquiry.c             |   18 ++++++------
 src/errors.c              |   19 ++++++------
 src/filesdb.c             |   16 +++++-----
 src/help.c                |   17 ++++++-----
 src/main.c                |   26 ++++++++--------
 src/packages.c            |   17 +++++------
 src/pkg-show.c            |    3 +-
 src/processarc.c          |   23 ++++++++-------
 src/query.c               |   18 ++++++------
 src/remove.c              |   17 +++++------
 src/select.c              |   10 +++---
 src/statcmd.c             |   14 ++++----
 src/statdb.c              |   15 ++++-----
 src/trigcmd.c             |   15 ++++-----
 src/trigproc.c            |    6 ++--
 src/update.c              |    8 ++--
 utils/install-info.c      |    4 +-
 utils/start-stop-daemon.c |   68 ++++++++++++++++++++++-----------------------
 88 files changed, 482 insertions(+), 496 deletions(-)

commit ff33aa430e6de845a089a6a023a9478dafa109cc
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 17 02:07:02 2009 +0200

    Remove unused <fnmatch.h> include

 src/enquiry.c |    1 -
 src/trigcmd.c |    1 -
 src/update.c  |    1 -
 3 files changed, 0 insertions(+), 3 deletions(-)

commit cbf95b13500a3b2d3c2e6df02940479c645564fc
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 25 23:06:46 2009 +0100

    Add .mailmap to EXTRA_DIST
    
    Missed in commit 722fa5660d52ac75db0b21a86004fc10f8f580bb.

 Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c9cf7b1d4178f8e293a02edfc7ca2252d41da81e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 19 13:06:42 2009 +0200

    libcompat: Always add an empty file to the libcompat static library
    
    Some ar implementations do not support creating empty archives, so we
    add a dummy empty object to avoid any problem.

 lib/compat/Makefile.am |    1 +
 lib/compat/empty.c     |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit 078364191dfc7856c3ff7f13087ed072d910b75e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 25 23:31:17 2009 +0100

    debian/rules: use “$(MAKE)” instead of “make”

 debian/rules |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 04b2f8fc48005394a3d8ea6c96f6c7975867606c
Author: Christian Perrier <bubulle@debian.org>
Date:   Sat Oct 24 09:16:23 2009 +0200

    French manpages translations

 debian/changelog |    1 +
 man/po/fr.po     |  220 +++++++++++++++++++-----------------------------------
 2 files changed, 77 insertions(+), 144 deletions(-)

commit 902dc77ce8030dddae9f9db6b93d0a8764cf1944
Author: Christian Perrier <bubulle@debian.org>
Date:   Sat Oct 24 09:12:13 2009 +0200

    Updated French translation of dselect

 debian/changelog |    1 +
 dselect/po/fr.po |   12 +++++-------
 2 files changed, 6 insertions(+), 7 deletions(-)

commit 7f313195732f28ed8aa45b814ad33a6814f0fb38
Author: Christian Perrier <bubulle@debian.org>
Date:   Sat Oct 24 09:09:01 2009 +0200

    Updated French translation

 debian/changelog |    1 +
 po/fr.po         |  137 +++++++++++++++++++++++-------------------------------
 2 files changed, 59 insertions(+), 79 deletions(-)

commit 3700faf371edb7b6939cf21d144fefbaf9bbdd5b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 19 15:16:52 2009 +0200

    Release 1.15.4.1

 configure.ac     |    2 +-
 debian/changelog |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit d8603d75ba95ac1e1a3bf79e772416508b8f4f1b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 19 15:14:39 2009 +0200

    dselect: Do not mark any package as unseen
    
    This is a workaround until it learns how to store such information
    again.
    
    Closes: #545366

 debian/changelog   |    3 ++-
 dselect/pkglist.cc |    4 ++++
 2 files changed, 6 insertions(+), 1 deletions(-)

commit 6110392684c345388bb853d20c8504b687bb4189
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 19 15:07:14 2009 +0200

    Bump version to 1.15.4.1~

 configure.ac     |    2 +-
 debian/changelog |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

commit a8a51a4a53e923250ccc4bf0c2c040a211991c90
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 18 23:21:42 2009 +0200

    Dpkg::Changelog::find_closes(): don't return duplicate bug numbers
    
    Ensure we don't return the same bug multiple times even if it's closed
    multiple times.

 scripts/Dpkg/Changelog.pm |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 43c42b3ea29daab2bf5d1f6ed4d741d33d50d4d8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Oct 18 20:57:54 2009 +0200

    Dpkg::Control::Fields: allow transfer of custom fields
    
    Custom fields can be copied when they do not target one of
    the official file type who are explicitely managed by the
    letter scheme (X[SBC]-).

 scripts/Dpkg/Control/Fields.pm |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

commit 5cfb6a762227bf2842c1fdace97578078d7fd206
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Oct 18 13:13:21 2009 +0200

    Fix typos

 man/po/de.po |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit c2624cc99f361e64a09706d6a667c511aa803bea
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Oct 16 19:09:59 2009 +0200

    Update German translation of manual pages
    
    Update to 1650t.

 man/po/de.po |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

commit f8270519a63210a5b6eb02cfff1bdc24cbfe4ef8
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Oct 16 12:44:11 2009 +0200

    Dpkg::Compression: add support for xz compression method
    
    Update the dpkg-source manual page accordingly.

 debian/changelog            |    2 ++
 debian/control              |    2 +-
 man/dpkg-source.1           |    7 ++++---
 scripts/Dpkg/Compression.pm |   12 +++++++-----
 4 files changed, 14 insertions(+), 9 deletions(-)

commit ff035d943163d1b269aeaec334b8654aeb20ca7a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Oct 16 02:39:10 2009 +0200

    man: Fix typo in Swedish translation making build to fail
    
    Introduced in commit af22e669c65db01eec9d9699d98841b08e7bbc5b.

 man/po/sv.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 15440f3ed12e7087e67b6b6c497e22a126583be2
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Oct 16 02:24:03 2009 +0200

    dpkg: Remove unused variable current in pkg_files_add_file()
    
    Introduced on commit 4985c686c30b2d0682aab0885d32c36007a7998d by me
    while manually merging the patch that didn't apply cleanly on master.
    
    Reported-by: Sean Finney <seanius@debian.org>

 src/filesdb.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c057025d84371714e0ed21c79604ccf744203670
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Oct 14 18:50:47 2009 +0200

    Fix typo

 man/po/de.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit af22e669c65db01eec9d9699d98841b08e7bbc5b
Author: Peter Krefting <peterk@debian.org>
Date:   Wed Oct 14 09:24:47 2009 +0100

    Update Swedish translation.
    
    dselect/po/sv.po: Update to 280t0f0u.
    man/po/sv.po: Update to 1642t0f0u.
    po/sv.po: Update to 967t0f0u.
    scripts/po/sv.po: Update to 471t0f0u.

 debian/changelog |   12 +-
 dselect/po/sv.po |    7 +-
 man/po/sv.po     |  159 ++++---
 po/sv.po         | 1539 +++++++++++++++++++++++++++---------------------------
 scripts/po/sv.po |  629 ++++++++++++-----------
 5 files changed, 1202 insertions(+), 1144 deletions(-)

commit 37c754ec3d45a121aeffc9c03dba8b97b1780f40
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 14 05:37:43 2009 +0200

    libcompat: Handle 0 size case for C99 vsnprintf semantics
    
    Reporter-by: Mikhail Gusarov <dottedmag@dottedmag.net>

 lib/compat/vsnprintf.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 3898dc17925ab38b292b1accbf42eae953381e3c
Author: Mikhail Gusarov <dottedmag@dottedmag.net>
Date:   Wed Oct 14 03:36:20 2009 +0700

    libcompat: Add top_builddir to the include path
    
    Needed as the modules use <config.h>.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/compat/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 537d0870881347865492b16898c0b366ff05add6
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 14 05:18:23 2009 +0200

    dpkg: Remove unused head variable in getselections()

 src/select.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 280f25e9b199b91f031097bad5ec52630e10bf76
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 10 19:58:03 2009 +0200

    libdpkg: Rename symlinkList variables in TarExtractor()
    
    Use the head, tail, node name convention.

 lib/dpkg/tarfn.c |   34 +++++++++++++++++-----------------
 1 files changed, 17 insertions(+), 17 deletions(-)

commit c644793d5ccaf02242d814ce79e45a4210481aa3
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 14 04:27:03 2009 +0200

    dpkg-statoverride: Fallback to printing #<id> if db lookup fails
    
    This allows it to gracefully handle uid and gid not present on the
    password databases, when storing on the overrides db, in a similar way
    as the perl implementation was behaving.
    
    Spotted-by: Raphaël Hertzog <hertzog@debian.org>

 src/statcmd.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit 1de3e1e0f306fc404958f01f38708f9fb3599924
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 14 04:24:44 2009 +0200

    dpkg-statoverride: Fix typo inverting the override exists check

 src/statcmd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 49049eff05efcfc6f655cab3379d0266cd689bff
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 14 03:54:03 2009 +0200

    dpkg-statoverride: Add missing values for option flags
    
    This was making the --force, --update and --quiet flags not do anything.

 src/statcmd.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 51647b0793ca0f419cd9f7ea586e01fffe6574a8
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Oct 14 03:52:22 2009 +0200

    dpkg-statoverride: Add missing newline in --version output

 src/statcmd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f5824f65b2e837fe65657b79c5695d8ab6b206a2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 12 21:25:22 2009 +0200

    libdpkg: Expand TKI_DEFINE macro for each user
    
    It makes it obvious what's going on, browser and search the source
    code.

 lib/dpkg/triglib.c |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

commit 69e3c912bbec30399d23477817821c38d01c1415
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 12 21:21:03 2009 +0200

    Use named intializers in structures

 lib/dpkg/triglib.c |   18 +++++++++---------
 src/processarc.c   |    8 ++++++--
 src/trigcmd.c      |    6 +++---
 src/trigproc.c     |   10 +++++-----
 4 files changed, 23 insertions(+), 19 deletions(-)

commit 5da3e92afcb6109feed5e9dac155eb3ca75010eb
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 10 19:30:20 2009 +0200

    Do not use C++ style comments in C code

 dpkg-deb/build.c                       |    2 +-
 scripts/t/200_Dpkg_Shlibs/symboltags.c |   14 +++++++++-----
 src/configure.c                        |    2 +-
 3 files changed, 11 insertions(+), 7 deletions(-)

commit 4985c686c30b2d0682aab0885d32c36007a7998d
Author: David Benjamin <davidben@MIT.EDU>
Date:   Sat Aug 29 19:59:20 2009 -0400

    dpkg: Refactor file addition into package files to a new function
    
    Added private function pkg_files_add_file for inserting a file to a
    package's entries. The function takes a file_tail to avoid an O(n^2)
    loop when adding to the end of the list. (This is what the original code
    does, so I have mirrored its behavior.)
    
    Signed-off-by: David Benjamin <davidben@mit.edu>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/filesdb.c |   77 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 50 insertions(+), 27 deletions(-)

commit ed26065325918ba214faded3183ad77e93a1a531
Author: David Benjamin <davidben@MIT.EDU>
Date:   Sat Aug 29 19:57:24 2009 -0400

    dpkg: Split off emptying a package's file info
    
    Put it into a separate function for reuse by other routines and to
    simplify ensure_packagefiles_available.
    
    Signed-off-by: David Benjamin <davidben@mit.edu>
    Signed-off-by: Guillem Jover <guillem@debian.org>

 src/filesdb.c |   47 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 34 insertions(+), 13 deletions(-)

commit 8fd258be9097fbd82c60859398b40e30f35c9a19
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Oct 9 18:20:40 2009 +0200

    Minor fixes in the German man page translation

 man/po/de.po |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 6e1998224f8a218257b9af8ed3e3e082698d1a8a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Oct 9 16:39:26 2009 +0200

    Dpkg::Control: rename CTRL_APT_* to CTRL_INDEX_*
    
    The Packages and Sources files are not really specific to APT.
    Those files are indexes that can be used by other programs.

 scripts/Dpkg/Control.pm        |   12 ++++++------
 scripts/Dpkg/Control/Fields.pm |   34 +++++++++++++++++-----------------
 scripts/Dpkg/Control/Types.pm  |    8 ++++----
 scripts/Dpkg/Vendor/Debian.pm  |    4 ++--
 scripts/dpkg-scanpackages.pl   |    2 +-
 scripts/dpkg-scansources.pl    |    2 +-
 6 files changed, 31 insertions(+), 31 deletions(-)

commit 2a194c6cc6e534d090b9c99b6ef53b5b1a0e2ce1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 8 21:05:38 2009 +0200

    Dpkg::Changelog::Debian: preserve blank lines
    
    The blank lines separating the header, changes and trailer lines
    were lost in the parsing. Now they are stored in three new attributes
    of Dpkg::Changelog::Entry.

 scripts/Dpkg/Changelog.pm        |    2 ++
 scripts/Dpkg/Changelog/Debian.pm |   21 +++++++++++++++------
 2 files changed, 17 insertions(+), 6 deletions(-)

commit c8fc6e93151a6f7bea92eb5b9d41d3aaab12aee3
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 8 19:01:39 2009 +0200

    Dpkg::Changelog::Debian: keep blank lines and trailing whitespace unchanged
    
    In order to be able to output the very same changelog file, we want to
    keep whitespaces while parsing and simply drop them in outputs where
    they should not appear.
    
    This commit is a good start towards this goal.

 scripts/Dpkg/Changelog.pm        |    4 +++-
 scripts/Dpkg/Changelog/Debian.pm |   33 +++++++++++++++++++--------------
 2 files changed, 22 insertions(+), 15 deletions(-)

commit 47b4a7646705e571cc29cb86ba2b4dd3e697681c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 8 15:42:03 2009 +0200

    Dpkg::Changelog::Debian: store unmodified changes lines in an array
    
    And post-process them later for output as a proper Dpkg::Control
    information block.

 scripts/Dpkg/Changelog.pm        |   11 +++++++++--
 scripts/Dpkg/Changelog/Debian.pm |   16 ++++++++--------
 2 files changed, 17 insertions(+), 10 deletions(-)

commit 3b566810a1227cbfe46173dca05a303ffd922d1d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Oct 5 21:35:25 2009 +0200

    Dpkg::Deps::version_implies(): fix to return undef with invalid versions
    
    The 0 value means that the implication is logically disproved. We wanted
    to express that we don't know anything since the version parameter is
    not a valid version and thus can't be compared.

 scripts/Dpkg/Deps.pm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 00a9e0039e41ae52d414a9605af5eca070175f28
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Oct 5 21:30:41 2009 +0200

    Dpkg::Version: rename some functions and constants
    
    version_compare_op() becomes version_compare_relation().
    version_normalize_cmp_op() becomes version_normalize_relation().
    The CMP_OP_* constants become REL_*.
    
    Update all scripts and modules accordingly.

 scripts/Dpkg/Changelog.pm    |    8 +++---
 scripts/Dpkg/Deps.pm         |    5 ++-
 scripts/Dpkg/Version.pm      |   60 +++++++++++++++++++++---------------------
 scripts/dpkg-genchanges.pl   |    4 +-
 scripts/dpkg-scanpackages.pl |    4 +-
 scripts/dpkg-shlibdeps.pl    |   10 +++---
 scripts/t/100_Dpkg_Version.t |    6 ++--
 7 files changed, 49 insertions(+), 48 deletions(-)

commit e6d0f07f07bf61d230d8df78e7c6bbb8945c0ebf
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Oct 5 18:10:29 2009 +0200

    Update German scripts translation
    
    Update to 471t.

 scripts/po/de.po |  230 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 122 insertions(+), 108 deletions(-)

commit 4a256f2cd3f80203edc4ec6bb49ff7664a580dcd
Author: Sean Finney <seanius@debian.org>
Date:   Mon Sep 28 23:34:29 2009 +0200

    libdpkg: Move copyfileperms to non-static file_copy_perms
    
    This functionality is also needed by the conffile handling code to
    ensure that the merge output is stored in a file with the same
    permissions as the original conffile, preventing the accidental
    opportunity for unintended information disclosure.
    
    Therefore the function is moved into a new library module (file.{c,h}),
    and given an appropriate prefix. Note that some of the translatable
    error messages have been modified as they would otherwise be misleading.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/Makefile.am |    1 +
 lib/dpkg/file.c      |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/file.h      |   37 ++++++++++++++++++++++++++++++++++
 src/configure.c      |   28 +------------------------
 4 files changed, 93 insertions(+), 26 deletions(-)

commit f38ab16ec1b15b7326b7a52b39567fa18f806b54
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 5 04:21:16 2009 +0200

    libdpkg: Update path_quote_filename function comment

 lib/dpkg/path.c |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

commit 3adb9397a0d82c0f42fd93455b69585693cf162a
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 5 04:12:07 2009 +0200

    libdpkg: Change order and rename path_quote_filename arguments
    
    Place the size at the end, and rename buf to dst, and s to src.

 lib/dpkg/path.c |   28 ++++++++++++++--------------
 lib/dpkg/path.h |    2 +-
 src/archives.c  |    4 ++--
 3 files changed, 17 insertions(+), 17 deletions(-)

commit f35d66dbc228bc8ad2c5255dee1bf4ecf9ee6e06
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 5 04:06:06 2009 +0200

    libdpkg: Change path_quote_filename size argument type to size_t

 lib/dpkg/path.c |    2 +-
 lib/dpkg/path.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 44fed3cce6ca6d410d48dce55176c73c1cbbc960
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Oct 5 04:04:35 2009 +0200

    libdpkg: Make path_quote_filename s argument const

 lib/dpkg/path.c |    2 +-
 lib/dpkg/path.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 37e32a9c2c3fa05c1bb7d16b1552c8cb63ad08e2
Author: Sean Finney <seanius@seanius.net>
Date:   Mon Sep 28 23:34:28 2009 +0200

    libdpkg: Move quote_filename to the path module as path_quote_filename
    
    This function will be useful for other parts of dpkg, so the function
    has been moved to a more sensible location, the static qualifier removed,
    and its name appropriately prefixed.
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

 lib/dpkg/path.c |   61 +++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/path.h |    1 +
 src/archives.c  |   65 ++++--------------------------------------------------
 3 files changed, 67 insertions(+), 60 deletions(-)

commit 5e435949d6379f7dc930f042db5241af1e2ffb46
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 19:28:40 2009 +0200

    Ensure that the string representation of Dpkg::Version is unchanged
    
    The version string used at creation time should be returned
    when you stringify a Dpkg::Version object. Ensure this by adding a
    non-regression test.

 scripts/t/100_Dpkg_Version.t |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit af5a5349f99df7c8f4698ee0d92cd2c6824c428e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 29 01:10:12 2009 +0200

    Dpkg::Version: drop the old API and implementation
    
    Switch the non-regression tests to the new API.

 scripts/Dpkg/Version.pm      |  173 ------------------------------------------
 scripts/t/100_Dpkg_Version.t |    9 +-
 2 files changed, 5 insertions(+), 177 deletions(-)

commit 10badb3c2de113f0129988529b1e9386ed5ab0a6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 29 01:06:50 2009 +0200

    Update all Perl modules and scripts to use the new Dpkg::Version API

 scripts/Dpkg/Changelog.pm         |   10 +++---
 scripts/Dpkg/Deps.pm              |   65 +++++++++++++++++++-----------------
 scripts/Dpkg/Shlibs/SymbolFile.pm |    8 ++--
 scripts/Dpkg/Source/Package.pm    |   11 +++---
 scripts/dpkg-buildpackage.pl      |    5 ++-
 scripts/dpkg-genchanges.pl        |   12 ++++---
 scripts/dpkg-scanpackages.pl      |   14 ++------
 scripts/dpkg-shlibdeps.pl         |   11 +++---
 scripts/dpkg-source.pl            |    5 ++-
 9 files changed, 72 insertions(+), 69 deletions(-)

commit 847231cd0f0a7e97361836f22753fd1bb2f1e9b1
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 29 00:05:06 2009 +0200

    Dpkg::Version: new implementation and new object interface
    
    The old implementation is still around in this commit so that
    it's easy to checkout this commit and add supplementary test cases
    in scripts/t/100_Dpkg_Version.t to verify that both implementations
    have the same result. Some new test cases have been added during the
    implementation.
    
    The new object interface overrides all the comparison operators
    so that you can directly compare two Dpkg::Version objects. The
    object can also be used within strings and it will generate the
    same version string than the one given at creation time.

 scripts/Dpkg/Version.pm      |  335 ++++++++++++++++++++++++++++++++++++++++--
 scripts/t/100_Dpkg_Version.t |   26 +++-
 2 files changed, 349 insertions(+), 12 deletions(-)

commit 55eb6f3163420dd14c5a9e5aadfa3b314378a187
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 4 03:40:10 2009 +0200

    libcompat: Define offsetof only if the system does not have it
    
    Due to <compat.h> being included first, offsetof was being defined
    always to the local version.

 configure.ac        |    1 +
 lib/compat/compat.h |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 430c20759f8127c6690b33dd4f877f3acc20d31e
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 4 15:12:47 2009 +0200

    build: Properly escape DPKG_CHECK_DECL and DPKG_CHECK_DEFINE arguments
    
    Use AS_TR_SH for shell variables and AS_TR_CPP for variables used in
    headers or Makefiles.

 m4/types.m4 |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit c2ee51d0da82e7fe82f418a554ea425b4a374e64
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 4 14:16:19 2009 +0200

    build: Fix DPKG_CHECK_DEFINE to properly check for dpkg_cv_define_$1
    
    The macro was checking for the dpkg_cv_define variable, which implied
    always doing an AC_DEFINE to 0.
    
    As a consequence now start-stop-deaemon will use TIOCNOTTY when
    available.

 debian/changelog |    1 +
 m4/types.m4      |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 30a6d6d131a516c4bcd67705487a54e6ee2085bf
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 3 21:02:47 2009 +0200

    libdpkg: Move pkg_sorter code to a new pkg module

 lib/dpkg/Makefile.am            |    1 +
 lib/dpkg/pkg-array.c            |    9 ---------
 lib/dpkg/pkg-array.h            |    3 +--
 lib/dpkg/{pkg-array.h => pkg.c} |   30 ++++++++++++------------------
 lib/dpkg/{pkg-array.h => pkg.h} |   22 ++++++----------------
 po/POTFILES.in                  |    1 +
 src/main.h                      |    5 -----
 7 files changed, 21 insertions(+), 50 deletions(-)

commit 2510971730a3a4c0f033884dc0bc5c6a82a9f5fb
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 3 20:47:57 2009 +0200

    libdpkg: Rename pkglistqsortcmp to pkg_sorter_by_name

 lib/dpkg/pkg-array.c |    2 +-
 src/main.h           |    2 +-
 src/query.c          |    4 ++--
 src/select.c         |    2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit 2ddc61d4aac2d333b6e36a1f5488e9c611122653
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 4 02:56:02 2009 +0200

    libdpkg: Mark and improve strings for translation

 lib/dpkg/varbuf.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 6b92aa0adfb9a83ae862b7c1aa9854da7efacc2f
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Oct 3 17:28:20 2009 +0200

    dpkg-statoverride: Add missing angle brackets in string

 src/statcmd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f659276004f4b8aa9ba57d8e5b4e253720be5f09
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Oct 4 02:53:27 2009 +0200

    Add all libdpkg .c files to POTFILES
    
    Regardless of them not currently containing marked strings for
    translation, as it makes it more unlikely to forget adding the
    files when a new marked string is added.

 po/POTFILES.in |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 722fa5660d52ac75db0b21a86004fc10f8f580bb
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 17 17:32:18 2009 +0200

    Add a .mailmap file to fix up name and mail addresses

 .mailmap |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

commit af295ce06ec841e1aa005d98de37b437bd189995
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Oct 3 10:27:42 2009 +0200

    Update German translation of manual pages
    
    Update to 1648t.

 man/po/de.po |   70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 69 insertions(+), 1 deletions(-)

commit 8540a328c8d7b4a714b75b060c3d23e182974d0c
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Oct 3 09:49:55 2009 +0200

    Update German scripts translation
    
    Update to 468t.

 scripts/po/de.po |  121 ++++++++++++++++++++++++++----------------------------
 1 files changed, 58 insertions(+), 63 deletions(-)

commit 0c21f1617933ab35a5b081fe314ca5a864a9962a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 23:48:40 2009 +0200

    dselect-multicd: fix bashism in setup script
    
    Use printf instead of echo -e. Closes: #530070

 debian/changelog              |    1 +
 dselect/methods/multicd/setup |    6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

commit 65a0572e3fb08a218ca7120d530f9f64799bcaec
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 23:40:54 2009 +0200

    dselect-multicd: replace/drop obsolete dpkg commands
    
    dpkg --print-installation-architecture is deprecated in favor
    of dpkg --print-architecture. dpkg --forget-old-unavail is obsolete.

 dselect/methods/multicd/install |    2 +-
 dselect/methods/multicd/setup   |    2 +-
 dselect/methods/multicd/update  |    4 +---
 3 files changed, 3 insertions(+), 5 deletions(-)

commit b2fd773fc9ca32fd907f4c35a30ec9138f9a1c43
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 23:38:23 2009 +0200

    dselect-multicd: update README wrt the dpkg-scanpackages situation
    
    The required features have been merged in the official dpkg-scanpackages
    so don't mention the diverted copy that doesn't exist anymore.

 dselect/methods/multicd/README.multicd |   28 +++++++---------------------
 1 files changed, 7 insertions(+), 21 deletions(-)

commit a4cabaa4af618451de48c262be7d374640a6fae7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 23:28:38 2009 +0200

    dselect-multicd: add missing copyright statements
    
    The copyright statements come from debian/copyright in the
    dpkg-multicd source package (version 0.21).

 dselect/methods/multicd/install |   16 ++++++++++++++++
 dselect/methods/multicd/setup   |   23 +++++++++++++++++++++++
 dselect/methods/multicd/update  |   16 ++++++++++++++++
 3 files changed, 55 insertions(+), 0 deletions(-)

commit fed6ba7830400f0bdf182b477a700990001a6988
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 23:22:44 2009 +0200

    Integrate dpkg-multicd into dselect
    
    The `multicd' package was initially written by Heiko Schlittermann
    <heiko@lotte.sax.de> based on builtin access methods written by Ian
    Jackson <ian@chiark.greenend.org.uk>.  The final packaging as well as
    cleanups were made by Martin Schulze <joey@infodrom.north.de> who also
    put this package together for the slink release (Debian GNU/Linux
    2.1).
    
    This commit includes the raw files as provided in version 0.21 of dpkg-multicd
    (except for a few whitespaces cleanups).
    
    The dpkg-scanpackages fork has been left out since the required features
    have been merged in the official dpkg-scanpackages. Closes: #516631

 debian/changelog                         |    2 +
 debian/control                           |    4 +-
 debian/copyright                         |    2 +
 debian/dpkg.docs                         |    1 +
 dselect/methods/Makefile.am              |   14 +-
 dselect/methods/multicd/README.multicd   |  131 ++++++
 dselect/methods/multicd/desc.multi_cd    |    3 +
 dselect/methods/multicd/desc.multi_mount |   12 +
 dselect/methods/multicd/desc.multi_nfs   |   12 +
 dselect/methods/multicd/install          |  294 +++++++++++++
 dselect/methods/multicd/names            |    3 +
 dselect/methods/multicd/setup            |  663 ++++++++++++++++++++++++++++++
 dselect/methods/multicd/update           |  116 ++++++
 13 files changed, 1253 insertions(+), 4 deletions(-)

commit 5ed64b297e3f9ce9490372abc9b269126e2bd0a4
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 22:40:39 2009 +0200

    dpkg-scanpackages: add new --medium option
    
    This feature is supported in the dpkg-scanpackages implementation provided
    by dpkg-multicd. Unfortunately it was using the "-m" option which got
    granted to --multiversion in the official dpkg-scanpackages.
    
    This option will only be useful for people wishing to create Packages.cd
    files for use by the multicd dselect access method. Closes: #402527

 debian/changelog             |    3 +++
 man/dpkg-scanpackages.1      |    5 +++++
 scripts/dpkg-scanpackages.pl |    6 +++++-
 3 files changed, 13 insertions(+), 1 deletions(-)

commit 171610876f98768167ec1aec2dbc63cdaa19f1e6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 21:23:15 2009 +0200

    dpkg-scanpackages/dpkg-scansources: support compressed override files
    
    This feature is supported in the dpkg-scanpackages implementation provided
    by dpkg-multicd.

 debian/changelog             |    1 +
 man/dpkg-scanpackages.1      |    5 +++--
 man/dpkg-scansources.1       |   12 +++++++-----
 scripts/dpkg-scanpackages.pl |   11 +++++++----
 scripts/dpkg-scansources.pl  |   39 +++++++++++++++++++++++++--------------
 5 files changed, 43 insertions(+), 25 deletions(-)

commit c6e64aafd1eeacfd94d705af72b617cfa1bc3466
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Oct 1 21:48:14 2009 +0200

    Dpkg::Control::Fields: add Priority and Section fields to CTRL_APT_SRC
    
    Both fields are allowed in Sources files, they are generated by
    dpkg-scansources or apt-ftparchive based on the override files.

 scripts/Dpkg/Control/Fields.pm |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit abd59dcac70a0b010f950f96ccdaae2c7c7d0b34
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Oct 1 14:10:26 2009 +0200

    German dpkg translation update
    
    Update to 966t4f.

 po/de.po | 1363 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 689 insertions(+), 674 deletions(-)

commit 35efaf4edff7b0f4ddde38b8b3d7b7d9d317a6fb
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 30 03:23:47 2009 +0200

    libdpkg: Remove unused varbufextend
    
    The interface for this function was broken, and it's been replaced by
    the saner varbuf_grow.

 lib/dpkg/varbuf.c |   10 ----------
 lib/dpkg/varbuf.h |    1 -
 2 files changed, 0 insertions(+), 11 deletions(-)

commit dac03e12b418899430a6667a5596cd515b120295
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 30 03:21:06 2009 +0200

    libdpkg: Use varbuf_grow instead of varbufextend

 debian/changelog  |    2 ++
 lib/dpkg/varbuf.c |   15 +++++----------
 2 files changed, 7 insertions(+), 10 deletions(-)

commit 353b02acb33224bc2d7e3b0295538d592b9c8bad
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 30 03:10:27 2009 +0200

    dpkg: Use stat size to varbuf_grow the buffer for readlink
    
    Do not expand the buffer indefinitely by trying several times until
    the buffer is big enough. Pre-allocate just once using varbuf_grow
    with the known size from stat.

 debian/changelog |    3 +++
 src/archives.c   |   10 +++++-----
 src/configure.c  |   51 ++++++++++++++++++++++-----------------------------
 3 files changed, 30 insertions(+), 34 deletions(-)

commit 1a8d12285d650fa4bb13406a515228030d4d9ca1
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 30 03:06:55 2009 +0200

    libdpkg: Fix varbufprintf to not grow indefinitely
    
    Use the C99 semantics for vsnprintf to get the final formatted string
    size, and then call it again to do the actual work. Use varbuf_grow with
    the know size, instead of always calling varbufextend, regardles of
    needing to extend the buffer, which was making it grow indefinitely.
    
    This also should speed it up a bit by not requiring to call vsnprintf
    several times depending on the length of the final string. Only two
    calls are required now, always.

 debian/changelog         |    3 +++
 lib/dpkg/test/t-varbuf.c |   28 ++++++++++++++++++++++++++++
 lib/dpkg/varbuf.c        |   30 ++++++++++++++++++------------
 3 files changed, 49 insertions(+), 12 deletions(-)

commit d8d0b3a06f8668a2c7e8c3db2debd60cf526e7f1
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 30 20:55:16 2009 +0200

    libdpkg: Use varbuf_grow instead of increasing member used
    
    The code assumes that the various varbuf functions will grow the
    buffer if used > size, which is not going to be true once varbuf gets
    internally switched to varbuf_grow from varbufextend.

 src/configure.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 23e191ad73b870e2b29f59cb405b18ccaf35b00a
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 19:41:58 2009 +0200

    libdpkg: Add new varbuf_grow function

 lib/dpkg/test/t-varbuf.c |   34 ++++++++++++++++++++++++++++++++++
 lib/dpkg/varbuf.c        |   16 ++++++++++++++++
 lib/dpkg/varbuf.h        |    1 +
 3 files changed, 51 insertions(+), 0 deletions(-)

commit 12a61afc463c74a40ac65ccc0cb6f75dee532f16
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 3 02:21:43 2009 +0200

    dpkg-statoverride: Rewrite in C

 debian/changelog             |    1 +
 po/POTFILES.in               |    2 +-
 scripts/Makefile.am          |    2 -
 scripts/dpkg-statoverride.pl |  247 ------------------------
 src/.gitignore               |    1 +
 src/Makefile.am              |   16 ++-
 src/statcmd.c                |  437 ++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 455 insertions(+), 251 deletions(-)

commit d96bee65e139db050bd981a42e29c3763847ee77
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 14:30:12 2009 +0200

    statdb: Do stricter parsing validation
    
    Match the validations done on input in dpkg-statoverride, so that we can
    reuse this code when rewritting dpkg-statoverride in C.

 debian/changelog |    2 ++
 src/statdb.c     |   20 +++++++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)

commit aee5c7726729af8ac93ea7b768f555bc234fa932
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 14:28:11 2009 +0200

    Add document describing the C coding style

 Makefile.am          |    1 +
 debian/changelog     |    1 +
 doc/coding-style.txt |  159 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 161 insertions(+), 0 deletions(-)

commit c61f48738fee364f2f1d32aaae5c073e30eecc52
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 28 20:11:10 2009 +0200

    dpkg: Reduce variable scope in checkpath
    
    Move them closer to their actual usage.

 src/help.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 1afae1b4508d506450c0bd2d82325e31c41af6ed
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 28 20:02:59 2009 +0200

    dpkg: Use size_t instead of long for path_len in checkpath()

 src/help.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b407cde7c7acc7dcb21cba9d81e164b507b93912
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 17:26:58 2009 +0200

    dpkg: Use more meaningful and clearer variable names in checkpath()
    
    Variable renames:
      checklist → prog_list
      clp → prog
      path → path_list
      s → path
      p → path_end
      l → path_len
      buf → filename

 src/help.c |   47 ++++++++++++++++++++++++++---------------------
 1 files changed, 26 insertions(+), 21 deletions(-)

commit 95a4b0b31be033488de1786fa163bce7f79b111d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 14:23:10 2009 +0200

    Switch to use stdbool were appropriate

 dpkg-deb/build.c          |   11 +++--
 lib/dpkg/database.c       |   14 ++++--
 lib/dpkg/dpkg-db.h        |   15 ++++---
 lib/dpkg/vercmp.c         |   23 +++++++----
 src/archives.c            |   59 ++++++++++++++++-------------
 src/archives.h            |    6 ++-
 src/depcon.c              |   90 +++++++++++++++++++++++++++------------------
 src/enquiry.c             |   26 ++++++++----
 src/errors.c              |   11 +++--
 src/help.c                |   48 ++++++++++++++++-------
 src/main.c                |    7 ++-
 src/main.h                |   24 ++++++------
 utils/start-stop-daemon.c |   59 +++++++++++++++--------------
 13 files changed, 233 insertions(+), 160 deletions(-)

commit 2496b63475f9c69f42b44c0673482fc57a616283
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 13:59:30 2009 +0200

    build: Abort if there is no support for the required C99 extensions

 debian/changelog |    1 +
 m4/compiler.m4   |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit e74a1a27f90e07a47bb9a42bf8d769061b7b3707
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 13:54:24 2009 +0200

    build: Add more options to try to get support for C99 extensions
    
    Taken from autoconf.

 m4/compiler.m4 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit b1f61777e76a083fe6f92f4751a695566f478c1c
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 13:50:28 2009 +0200

    build: Check for C99 snprintf family of functions
    
    We need the new semantics that allow passing NULL and 0 size to retrieve
    the full size of the formatted string. Add a new DPKG_FUNC_C99_SNPRINTF
    macro and remove the simple compat checks for snprintf and vsnprintf.

 configure.ac           |    3 ++-
 lib/compat/Makefile.am |    8 ++------
 m4/funcs.m4            |   47 ++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 50 insertions(+), 8 deletions(-)

commit 7e8415be3f31884f3fb2c99ef9255344b67bec21
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 13:47:46 2009 +0200

    build: Use memcpy instead of assignment to copy va_list
    
    It's more portable that way. Remove now unneeded check for working
    assignment.

 lib/compat/compat.h |    3 ++-
 m4/funcs.m4         |   11 +----------
 2 files changed, 3 insertions(+), 11 deletions(-)

commit a31d6e1c1b8438a0ec968c05c58a690eb9023f1d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 29 03:11:04 2009 +0200

    build: Add an explicit return type to main in DPKG_FUNC_VA_COPY

 m4/funcs.m4 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit fbfda2821f4d511f975528047f09f26eaacb2993
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 17:24:06 2009 +0200

    build: Do not test for C99 for-loop variable declaration support
    
    This extension is not going to be used in the code base anyway.

 m4/compiler.m4 |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

commit 848980ebb14c1285cf3d81e596a215c95af2b274
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 17:22:52 2009 +0200

    dpkg-query: Do not use C99 style for-loop variable declarations

 src/query.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit e6baa48223e6a6dcdd8522c91d96d76a2a3a3f0e
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 17:10:21 2009 +0200

    build: Add test for 'trailing comma in enum' C99 support

 m4/compiler.m4 |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 855fcc88a20f6cfa80276f76721acf1f041fa892
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 16:22:47 2009 +0200

    build: Reorder subdirectory build sequence
    
    Build src after the low-level dpkg-deb and dpkg-split programs, and
    dselect before scripts.

 Makefile.am |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e18a89b3b19a75df7dce782c3a26c9f0172656e0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 16:46:25 2009 +0200

    Remove helponly and versiononly functions
    
    Directly use printversion and usage functions, make them exit and change
    their prototypes to fit cmdinfos.
    
    This solves the ugly situation of expecting helponly and versiononly
    callers to respectively define printversion and usage themselves.

 dpkg-deb/main.c       |   16 ++++++++++------
 dpkg-split/main.c     |   16 ++++++++++------
 dselect/main.cc       |   16 ++++++++++------
 lib/dpkg/myopt-util.c |   14 --------------
 lib/dpkg/myopt.h      |    6 ------
 src/main.c            |   16 ++++++++++------
 src/query.c           |   16 ++++++++++------
 src/trigcmd.c         |   16 ++++++++++------
 8 files changed, 60 insertions(+), 56 deletions(-)

commit 00c6f6094e4eac93805c695f8e7ddc30c001d05f
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 12:58:33 2009 +0200

    dpkg-trigger: Move functions and variables around
    
    Place cmdinfos just before main, and the variables and noawait function
    definitions after usage.

 src/trigcmd.c |   49 +++++++++++++++++++++++++------------------------
 1 files changed, 25 insertions(+), 24 deletions(-)

commit cdc1ff8459094d48608dfdabbe5f43587eaa5c6a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 14:31:36 2009 +0200

    dpkg-trigger: On --help print the default admindir
    
    Instead of the one passed on the command line.

 debian/changelog |    2 ++
 src/trigcmd.c    |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 83438860857adc4231912ca862829a6fa3e8eda7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 27 03:58:15 2009 +0200

    Remove unused variables

 src/main.c  |    2 --
 src/query.c |    1 -
 2 files changed, 0 insertions(+), 3 deletions(-)

commit 4b3960c245ca592f42d7e04290c6a586254f5c95
Author: Jonathan Nieder <jrnieder@gmail.com>
Date:   Mon Sep 28 16:40:42 2009 -0500

    debian/copyright: Update path to MD5 code
    
    The lib/ directory was renamed to lib/dpkg/ in commit 01d0532
    (Move libraries to subdirectories under lib/, 2009-07-15).
    Update the copyright file accordingly.

 debian/changelog |    2 ++
 debian/copyright |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 48ec636faedc49894c7de423e94c9c7c7afaab81
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 29 01:18:55 2009 +0200

    Fix the polish translation.

 man/po/pl.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4f9ea0dc5cb69b7b91bd1fb9a647d19bae624cce
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Sun Sep 27 19:32:56 2009 +0200

    Italian translation update
    
    Updated to 978t

 debian/changelog |    1 +
 po/it.po         |   72 ++++++++++++++++++++++++++++-------------------------
 2 files changed, 39 insertions(+), 34 deletions(-)

commit bc97d12853e1a90abf971ee0a5a7d263381e8152
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun Sep 27 14:51:50 2009 +0200

    Merge conflicts

 debian/changelog |    1 +
 man/po/pl.po     | 1357 +++++++++++++++++++++++++++++-------------------------
 2 files changed, 732 insertions(+), 626 deletions(-)

commit c2d0dfde09bc9d518435b841897d86db8d464317
Author: Wiktor Wandachowicz <siryes@gmail.com>
Date:   Sun Sep 27 08:40:34 2009 +0200

    Update Polish translation of dselect
    
    Update to 230t

 debian/changelog |    1 +
 dselect/po/pl.po |   13 ++++++-------
 2 files changed, 7 insertions(+), 7 deletions(-)

commit 8df12c05d14ae1b4184bf3ca4ccf790e056f6b5f
Author: Wiktor Wandachowicz <siryes@gmail.com>
Date:   Sun Sep 27 08:36:50 2009 +0200

    Update Polish translation of scripts
    
    Update to 467t

 debian/changelog |    1 +
 scripts/po/pl.po |  250 ++++++++++++++++++++++++++++-------------------------
 2 files changed, 133 insertions(+), 118 deletions(-)

commit dff0e2ed64de23e429733d53bcfefc1db974bdd1
Author: Wiktor Wandachowicz <siryes@gmail.com>
Date:   Sun Sep 27 08:35:40 2009 +0200

    Update polish programs translations
    
    Update to 474t

 debian/changelog |    1 +
 po/pl.po         | 1179 ++++++++++++++----------------------------------------
 2 files changed, 309 insertions(+), 871 deletions(-)

commit a43b40604e099100c5813c4a72fc1c9becec926a
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 27 05:48:35 2009 +0200

    Fix typo in man page: s/invokation/invocation/

 man/dpkg.1          |    2 +-
 man/po/de.po        |    4 ++--
 man/po/dpkg-man.pot |    2 +-
 man/po/es.po        |    4 ++--
 man/po/fr.po        |    4 ++--
 man/po/hu.po        |    4 ++--
 man/po/ja.po        |    4 ++--
 man/po/pl.po        |    4 ++--
 man/po/pt_BR.po     |    4 ++--
 man/po/ru.po        |    4 ++--
 man/po/sv.po        |    4 ++--
 11 files changed, 20 insertions(+), 20 deletions(-)

commit e637fb89d03ea2936dd56ba259a025df7eb9540b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 27 05:45:24 2009 +0200

    Update German translation of manual pages
    
    Update to 1642t.

 man/po/de.po |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

commit bb9d87468ff4e3710c854ffaa0b09110f8fdde64
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 20:53:55 2009 +0200

    build: Fix build failure with automake < 1.11
    
    When there's no AM_SILENT_RULES support, set a AM_DEFAULT_VERBOSITY
    variable to 1 (verbose), so that the verbosity variables under man/
    become no-ops.

 configure.ac |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 4f4f01eff03995c81543716e471d82bf7506f6ee
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 26 17:46:00 2009 +0200

    dselect-ftp: stop calling dpkg --forget-old-unavail as it's a no-op
    
    And it outputs an annoying warning nowadays.

 dselect/methods/ftp/update |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

commit 4264e4fa35e0e9eb081fce0e63ea65e40b6535d7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 26 17:43:57 2009 +0200

    dselect-ftp: don't use obsolete dpkg --print-installation-architecture

 dselect/methods/ftp/setup  |    2 +-
 dselect/methods/ftp/update |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit df6c06c4fb4570abd37fd6ec29a0201a496c4a81
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 26 17:42:22 2009 +0200

    dselect-ftp: Update my e-mail address and copyright

 dselect/methods/ftp/install |    2 +-
 dselect/methods/ftp/setup   |    2 +-
 dselect/methods/ftp/update  |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 19bb276568af6bbbac700345953e1c9ec5a68d9d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 22 18:53:19 2009 +0200

    Integrate dpkg-ftp into dselect
    
    It requires perl to work but don't add it as a dependency
    but only as a suggests and instead have a nice error
    message to invite the user to install the perl package.
    
    Other minor changes include removal of latin1 characters,
    moving the README.mirrors file inside the method directory
    and renaming the Dpkg::Ftp module to Dselect::Ftp.

 debian/changelog                       |    1 +
 debian/control                         |    4 +-
 debian/dselect.install                 |    1 +
 dselect/methods/Debian/Dselect/Ftp.pm  |  362 ++++++++++++++++++
 dselect/methods/Makefile.am            |   13 +-
 dselect/methods/ftp/README.mirrors.txt |  259 +++++++++++++
 dselect/methods/ftp/desc.ftp           |    2 +
 dselect/methods/ftp/install            |  626 ++++++++++++++++++++++++++++++++
 dselect/methods/ftp/names              |    2 +
 dselect/methods/ftp/setup              |  174 +++++++++
 dselect/methods/ftp/update             |  251 +++++++++++++
 11 files changed, 1692 insertions(+), 3 deletions(-)

commit 6f5219bfd2f4f4eb40eb45da8e5336b3a8acacef
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Sep 26 19:22:29 2009 +0200

    Update German scripts translation
    
    Update to 473t.

 scripts/po/de.po |  464 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 242 insertions(+), 222 deletions(-)

commit 934cdd967144e968e20b91571e8534060b6bcebe
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 14:08:56 2009 +0200

    libdpkg: Enclose buffer_data union initialization with braces

 lib/dpkg/buffer.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5243faaa0724e1ac43f19b98e8414d08f1d8c330
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 14:15:15 2009 +0200

    build: Update compiler-warnings flags
    
    Do not use -Werror for now (at leasat until ncurses is fixed). And add
    -Wextra -Wno-unused-parameter -Wno-missing-field-initializers.

 m4/compiler.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1d099a33185ef2cd8ce461175e93641a56462b43
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 14:14:22 2009 +0200

    build: Refactor warning flags into a new WFLAGS variable

 m4/compiler.m4 |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit c2bc3564b98cc19df8c936b6be2e170849bc514b
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 14:20:07 2009 +0200

    build: Wrap perl expression in PERL_LIBDIR assignment

 m4/perl.m4 |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit a29c0e70037796f51d767367d33178726c1b5aa6
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 26 14:03:07 2009 +0200

    build: Properly escape $( inside perl regex
    
    Use one back slash instead of two, otherwise perl was replacing it
    with the $( (aka $GID).
    
    Broken due to commit 02f1f8a50af58b9d1f61dd9258cf1d26fe2f0d21.

 m4/perl.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b7f2f91179844b21728aa0d31074f3b2caa9e776
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 25 15:33:44 2009 +0200

    Do not print redundant dpkg prefix and new line on undefined PATH

 src/help.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 5fe88c57eed84b77e469d2a1b788f338e049a00f
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 25 15:31:08 2009 +0200

    Use warning() instead of fprintf() in checkpath()

 src/help.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7623f78d39682076ffe4ea416df947fdab91b184
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 25 04:40:56 2009 +0200

    Clean up coding style for half compliant files
    
    Fix spacing, indentation and alignment. Do not use backticks, on
    comments use UTF-8 pretty quotes, on strings use single or double
    quotes, but do not change strings marked for translation if no other
    change was needed. Fix placement of braces and boolean operators. Fix
    formatting of comments.

 lib/dpkg/showpkg.c        |  229 ++++++++++++----------
 lib/dpkg/subproc.c        |    6 +-
 lib/dpkg/tarfn.c          |  239 ++++++++++++-----------
 src/configure.c           |  470 ++++++++++++++++++++++++---------------------
 utils/start-stop-daemon.c |   73 ++++----
 5 files changed, 543 insertions(+), 474 deletions(-)

commit 6d365230885ff9221a83efb9e262818cbe384b32
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 25 03:51:49 2009 +0200

    s-s-d: Call warning instead of fatal on ioprio_set error
    
    This feature should be considered optional, as non-Linux architectures
    do not support it, neither do older Linux kernels, and it seems some
    virtualization Linux kernels like the OpenVZ patch do not allow it.

 debian/changelog          |    2 ++
 utils/start-stop-daemon.c |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 58665e1eeac647b1e2555a6a62149666bf0a4745
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 25 03:43:12 2009 +0200

    libdpkg: Use struct buffer_data instead of buffer_data_t
    
    Do not use typedefs for structs, it's bad form as it makes it more
    difficult to know what kind of type we are dealing with. Only to be
    used for fundamental types. Remove buffer_data_t.

 lib/dpkg/buffer.c |   15 ++++++++-------
 lib/dpkg/buffer.h |   15 ++++++++-------
 2 files changed, 16 insertions(+), 14 deletions(-)

commit 78c3744c84ad7e494eae291432c55963f8f1ed81
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 25 00:20:19 2009 +0200

    libdpkg: Add new buffer_hash and buffer_md5 functions

 lib/dpkg/buffer.c         |   13 ++++++++++++
 lib/dpkg/buffer.h         |    4 +++
 lib/dpkg/test/.gitignore  |    1 +
 lib/dpkg/test/Makefile.am |    2 +
 lib/dpkg/test/t-buffer.c  |   46 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 66 insertions(+), 0 deletions(-)

commit 8c84d22f662e61664b3619117c5c4eabd6b704d8
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 25 00:25:02 2009 +0200

    libdpkg: Make buffer_write buf argument const

 lib/dpkg/buffer.c |    3 ++-
 lib/dpkg/buffer.h |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit e135015ae2bf41321e75829aaac58fcecc57542b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 23:47:59 2009 +0200

    libdpkg: Rename struct buffer_data data member to arg

 lib/dpkg/buffer.c |   36 ++++++++++++++++++------------------
 lib/dpkg/buffer.h |    2 +-
 2 files changed, 19 insertions(+), 19 deletions(-)

commit 7f30800717987b50cb887eedd2cf2f0e841a64e1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 23:27:53 2009 +0200

    libdpkg: Move buffer_arg declaration directly into buffer_data

 lib/dpkg/buffer.h |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

commit 1d9088b24a8a9b279d2b9928512aa3f060560135
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 20:45:21 2009 +0200

    libdpkg: Use internerr for invalid buffer data types

 lib/dpkg/buffer.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit e411455bf64cb62369a9503fa1b2c1ffb935e198
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 20:42:11 2009 +0200

    libdpkg: Do not allocate memory for buffer md5 hash result
    
    Expect the caller to pass a suitable buffer to store the result.

 lib/dpkg/buffer.c |    4 ++--
 src/configure.c   |   23 ++++++++++++-----------
 2 files changed, 14 insertions(+), 13 deletions(-)

commit 20cf6be8b5bf75dee5295efbf36188238ffee06b
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 13:39:53 2009 +0200

    dpkg-deb: Use void * instead of unsigned char * for read/write buffer

 dpkg-deb/extract.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ed67130303e890aecb86ae41c76a9e674ee5b3a8
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 13:35:37 2009 +0200

    libdpkg: Use char instead of unsigned char for strings

 lib/dpkg/buffer.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 668466a2175602325a7de69e39a76f3c5283a66c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 13:20:54 2009 +0200

    dpkg-deb: Remove S_ISLNK compatibility definition
    
    The rest of the code uses it unconditionally, and no one has complained,
    it's also present in all POSIX.1-2001 conforming systems.

 dpkg-deb/build.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

commit 02f1f8a50af58b9d1f61dd9258cf1d26fe2f0d21
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 13:09:04 2009 +0200

    build: Do not use backticks on m4 macros
    
    Use single quotes for strings, angle brackets for headers, and $()
    for command subsitution. This should pacify syntax highlighters.

 m4/arch.m4     |    4 ++--
 m4/compiler.m4 |    4 ++--
 m4/funcs.m4    |    2 +-
 m4/libs.m4     |    4 ++--
 m4/linker.m4   |    2 +-
 m4/perl.m4     |    2 +-
 m4/types.m4    |    6 +++---
 7 files changed, 12 insertions(+), 12 deletions(-)

commit 689a87eff5be5602b21ad5a6fc6ea4a8e8200dda
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 13:07:37 2009 +0200

    build: Do not use single quote on strings
    
    This should pacify syntax highlighters.

 configure.ac |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 59168691c0d410f818350ab9d83515aafa4b4591
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 12:42:50 2009 +0200

    libcompat: Define WCOREDUMP only if the system does not have it
    
    Due to <compat.h> being included first, WCOREDUMP was being defined
    always to the dummy version.

 configure.ac        |    1 +
 lib/compat/compat.h |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit ef1c0d61cf894cfad4954267c89ffe910995b87f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 24 12:38:47 2009 +0200

    build: Add new DPKG_CHECK_DECL m4 macro
    
    Used to check if something is declared in a header.

 m4/types.m4 |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 5c061906443d825a580538152b5b1aa732550038
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 23 15:08:04 2009 +0200

    s-s-d: Remove wrong comment not matching with code

 utils/start-stop-daemon.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 895059d2a3b7a7707f0a7f09dae4d3b5503cc68e
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 23 03:27:16 2009 +0200

    Rename autoconf auxiliary directory from config to build-aux
    
    Makes the directory name less confusing.

 .gitignore   |    2 +-
 configure.ac |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c14a29ae99a9b24a3d6e23d2a50b402d844b8583
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 23 03:21:16 2009 +0200

    Move development documentation to doc/

 Makefile.am                                        |    4 ++--
 debian/dpkg.docs                                   |    4 ++--
 README.api => doc/README.api                       |    0
 .../README.feature-removal-schedule                |    0
 4 files changed, 4 insertions(+), 4 deletions(-)

commit b3a76130a9af6e68d03c6d9e7c5b0c6ac8bf0615
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 20 12:28:30 2009 +0200

    dpkg-genchanges, Dpkg::Vendor::Default: drop hook before-changes-creation
    
    This hook is useless now that the Ubuntu vendor object uses
    post-process-changelog-entry to add their Launchpad-Bugs-Fixed
    field.

 scripts/Dpkg/Vendor/Default.pm |    8 --------
 scripts/dpkg-genchanges.pl     |    2 --
 2 files changed, 0 insertions(+), 10 deletions(-)

commit 8c8f3aa28bb001c19a43960568ecdfd6936d3fc6
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 20 12:01:31 2009 +0200

    Dpkg::Vendor::*: better handle unknown hooks
    
    Implement vendor objects in a way that the return value for unknown
    hooks is better defined: empty list in list context or undef in scalar
    context.

 scripts/Dpkg/Vendor/Debian.pm  |    8 +++-----
 scripts/Dpkg/Vendor/Default.pm |    3 +++
 scripts/Dpkg/Vendor/Ubuntu.pm  |    6 +++---
 3 files changed, 9 insertions(+), 8 deletions(-)

commit f7a323fc945a1484fabd7a8e639b48b8b5b8124d
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 20 11:21:03 2009 +0200

    Dpkg::Vendor::Default: recommend use base for child objects

 scripts/Dpkg/Vendor/Default.pm |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 3df3fe4ce2ca36d679053a7b4f6415cfad25daed
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 20 11:13:10 2009 +0200

    Dpkg::Vendor::Ubuntu: move Launchpad-Bugs-Fixed creation in another hook
    
    The creation of the Launchpad-Bugs-Fixed field is now done
    in post-process-changelog-entry instead of before-changes-creation
    so that it's also output by dpkg-parsechangelog and not only
    in the .changes file. Closes: #536066

 debian/changelog              |    2 ++
 scripts/Dpkg/Vendor/Ubuntu.pm |   16 ++++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

commit 6f721eaa8b2caa26ec1fc911474191d89c6f3cb2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 20 10:02:06 2009 +0200

    Dpkg::Vendor::Ubuntu: register custom field Launchpad-Bugs-Fixed

 scripts/Dpkg/Vendor/Ubuntu.pm |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit 88a0baff55e928679551ff6c68bdc8884d6fbf62
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 20 10:59:05 2009 +0200

    Dpkg::Changelog: add new vendor hook post-process-changelog-entry
    
    This hook is mainly meant to extract more structured information
    from the raw changes information.

 scripts/Dpkg/Changelog.pm      |    4 ++++
 scripts/Dpkg/Vendor/Default.pm |    9 +++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

commit 63044da0c7f67179d6e0cb3436f987248a44152e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 20 11:49:52 2009 +0200

    Dpkg::Control::Fields: don't fail when vendor hook is not (well) implemented

 scripts/Dpkg/Control/Fields.pm |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit d208849d8cacdfe93c494fc0eb3d41716d68ec3d
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 20 03:26:13 2009 +0200

    Split deferred_configure conffile handling into its own function

 src/configure.c |  287 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 148 insertions(+), 139 deletions(-)

commit dac5e30555191203129e309dbed5e823c95620a6
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 18 15:45:57 2009 +0200

    Use varbuf instead of ad-hoc handling of growing strings

 dpkg-deb/info.c   |   20 +++++++--------
 lib/dpkg/fields.c |   67 ++++++++++++++++++++++------------------------------
 2 files changed, 37 insertions(+), 50 deletions(-)

commit de230ab0730f00a4d1adefdb09232b46a83f52ac
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 17 17:49:23 2009 +0200

    Fix small leak when parsing ‘--ignore-depends’ option values

 debian/changelog |    1 +
 src/main.c       |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

commit 251008842a464261333381b2d92e2ae9891970e6
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 16 13:35:39 2009 +0200

    dpkg-query: Remove unused f_ and fc_ variables

 src/query.c |    7 -------
 1 files changed, 0 insertions(+), 7 deletions(-)

commit 76fd765a0ee2abdd182db085a69f265ac03b3f65
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 19 19:14:01 2009 +0200

    debian/changelog: document recent changes in perl API

 debian/changelog |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit a31b5e3ba2abcc9fd637ad93ed58587e868d33ae
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 19 19:01:22 2009 +0200

    dpkg-scansources: simplify by relying more on the Dpkg::Control object

 scripts/dpkg-scansources.pl |   16 ++--------------
 1 files changed, 2 insertions(+), 14 deletions(-)

commit beab30545253f39953156ad8dc62d58053e7d848
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 19 18:50:29 2009 +0200

    dpkg-scanpackages: simplify by using the Dpkg::Control object

 scripts/dpkg-scanpackages.pl |   53 ++++++++++++------------------------------
 1 files changed, 15 insertions(+), 38 deletions(-)

commit 7aa35855a72ea57497719715db6a5c8f93c467d5
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 19 17:46:50 2009 +0200

    Register field Dm-Upload-Allowed as Debian specific

 scripts/Dpkg/Control/Fields.pm |    5 +----
 scripts/Dpkg/Vendor/Debian.pm  |   12 +++++++++---
 2 files changed, 10 insertions(+), 7 deletions(-)

commit 78066765b69f068fd1dbec44e5a644d9c97b6431
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Sep 19 15:29:28 2009 +0200

    Add vendor hook to register custom fields

 scripts/Dpkg/Control/Fields.pm |   15 +++++++++++++++
 scripts/Dpkg/Vendor.pm         |    4 ++--
 scripts/Dpkg/Vendor/Default.pm |   13 +++++++++++++
 3 files changed, 30 insertions(+), 2 deletions(-)

commit 47919c5e51f198646beb4d823d5d93a8b5aca972
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Sep 17 22:13:40 2009 +0200

    Drop Dpkg::Fields and convert everything to Dpkg::Control::Fields

 scripts/Dpkg/Fields.pm     |   46 --------------------------------------------
 scripts/Makefile.am        |    1 -
 scripts/dpkg-genchanges.pl |   26 ++++++------------------
 scripts/dpkg-gencontrol.pl |   38 +++++++++++------------------------
 scripts/dpkg-source.pl     |   27 ++++++-------------------
 scripts/po/POTFILES.in     |    1 -
 6 files changed, 26 insertions(+), 113 deletions(-)

commit 293c6541c334b422139fa48c4e12070f6f095868
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Sep 17 20:28:11 2009 +0200

    dpkg-genchanges, dpkg-gencontrol: do not hardcode the field output order
    
    The right field output order is automatically set based on the type
    of the Dpkg::Control object used.

 scripts/dpkg-genchanges.pl |    6 ------
 scripts/dpkg-gencontrol.pl |    8 +-------
 2 files changed, 1 insertions(+), 13 deletions(-)

commit 1d87eba012dacd8c2d1441a8017028c18af5d43a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 15 01:20:14 2009 +0200

    Get rid of Dpkg::Deps @src_dep_fields @pkg_dep_fields and %dep_field_type
    
    Update all modules and scripts to not use those variables of Dpkg::Deps
    but instead the two functions field_list_(pkg|src)_dep() of
    Dpkg::Control::Fields.

 scripts/Dpkg/Deps.pm           |   49 +--------------------------------------
 scripts/Dpkg/Fields.pm         |    6 ++--
 scripts/Dpkg/Source/Package.pm |   10 --------
 scripts/dpkg-gencontrol.pl     |    7 +++--
 scripts/dpkg-scanpackages.pl   |    4 +-
 scripts/dpkg-scansources.pl    |    4 +-
 scripts/dpkg-source.pl         |    4 +-
 7 files changed, 15 insertions(+), 69 deletions(-)

commit 0d39e351ea97c5541252640f64d8d09ded6ec045
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Mon Sep 14 23:46:10 2009 +0200

    Replace old capit() by field_capitalize() everywhere
    
    capit() is provided by Dpkg::Fields while field_capitalize() is part
    of the new Dpkg::Control::Fields API.

 scripts/Dpkg/Control.pm           |    1 -
 scripts/Dpkg/Shlibs/SymbolFile.pm |    4 ++--
 scripts/dpkg-genchanges.pl        |    2 +-
 scripts/dpkg-shlibdeps.pl         |    4 ++--
 scripts/dpkg-source.pl            |    5 +++--
 5 files changed, 8 insertions(+), 8 deletions(-)

commit ca39b57488e2b245311892bb38510c72d29f4dd0
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 15 01:26:20 2009 +0200

    Dpkg::Control: define the default output order based on the type

 scripts/Dpkg/Control.pm |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 3c5b94836a86c8884a99b70cd98672244adb4c75
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Thu Sep 17 22:20:55 2009 +0200

    Dpkg::Control::Fields: official list of control fields
    
    This new module provides an official list of control fields as
    well as many functions to query that list and the meta-information
    associated to each list.

 scripts/Dpkg/Control/Fields.pm |  564 ++++++++++++++++++++++++++++++++++++++++
 scripts/Makefile.am            |    1 +
 scripts/po/POTFILES.in         |    1 +
 3 files changed, 566 insertions(+), 0 deletions(-)

commit 22699815920b1cb8550e06dcf2ffe1442b0ee890
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 13 21:32:30 2009 +0200

    Drop unused code that has been merged in Dpkg::Control

 scripts/Dpkg/Control.pm |   81 +-----------------
 scripts/Dpkg/Fields.pm  |  224 -----------------------------------------------
 2 files changed, 1 insertions(+), 304 deletions(-)

commit 6ebc6bf02e1807ec55c1e7e1c52f7240acb3f1d2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 13 21:30:19 2009 +0200

    Use the new Dpkg::Control interface everywhere
    
    Update all scripts and module to use Dpkg::Control instead
    of parsecdata and Dpkg::Fields::Object.

 scripts/Dpkg/Changelog.pm        |   34 ++++++++++++++++------------------
 scripts/Dpkg/Changelog/Debian.pm |   12 +++++++-----
 scripts/Dpkg/Control/Info.pm     |   27 +++++++++++++--------------
 scripts/Dpkg/Source/Package.pm   |   13 ++++++-------
 scripts/Dpkg/Vendor.pm           |    5 +++--
 scripts/Dpkg/Vendor/Default.pm   |    2 +-
 scripts/dpkg-genchanges.pl       |   13 +++++++------
 scripts/dpkg-gencontrol.pl       |   12 +++++++-----
 scripts/dpkg-name.pl             |    4 ++--
 scripts/dpkg-parsechangelog.pl   |    2 +-
 scripts/dpkg-scansources.pl      |   13 ++++++-------
 scripts/t/700_Dpkg_Control.t     |    2 +-
 12 files changed, 70 insertions(+), 69 deletions(-)

commit a9e60393659780a6d60d5f673eacd3ca3c511536
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Sep 18 23:25:42 2009 +0200

    Dpkg::Control: new object interface
    
    The new object interface combines the old Dpkg::Fields::Object
    and the old parsecdata funtion.
    
    The new object can be used like a regular hash and yet it behaves
    intelligently taking into account all the specifics of control
    information. Fields are case-insensitive, the order in which they have
    been read is kept for output stability.
    
    The object uses operator overloading and an internal tied hash so that
    it just does what you mean.

 scripts/Dpkg/Control.pm       |  167 ++++++++++++++-
 scripts/Dpkg/Control/Hash.pm  |  469 +++++++++++++++++++++++++++++++++++++++++
 scripts/Dpkg/Control/Types.pm |   42 ++++
 scripts/Makefile.am           |    2 +
 scripts/po/POTFILES.in        |    2 +
 5 files changed, 672 insertions(+), 10 deletions(-)

commit b9c82a9db20dc3a9955982b7e5917699d5e52038
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 13 15:15:53 2009 +0200

    Rename Dpkg::Cdata into Dpkg::Control
    
    Update all scripts and modules to use the new module names.

 scripts/Dpkg/Changelog.pm             |    2 +-
 scripts/Dpkg/{Cdata.pm => Control.pm} |    8 ++++----
 scripts/Dpkg/Control/Info.pm          |    2 +-
 scripts/Dpkg/Source/Package.pm        |    2 +-
 scripts/Dpkg/Vendor.pm                |    2 +-
 scripts/Makefile.am                   |    2 +-
 scripts/dpkg-genchanges.pl            |    2 +-
 scripts/dpkg-name.pl                  |    2 +-
 scripts/dpkg-scansources.pl           |    2 +-
 scripts/po/POTFILES.in                |    2 +-
 10 files changed, 13 insertions(+), 13 deletions(-)

commit ed1828956a24d429a5a488d55e4bf77ef52ede5c
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 13 14:25:13 2009 +0200

    Rename Dpkg::Control in Dpkg::Control::Info
    
    Update all scripts and modules to use the new module names.

 scripts/Dpkg/{Control.pm => Control/Info.pm} |    8 ++++----
 scripts/Makefile.am                          |    2 +-
 scripts/dpkg-checkbuilddeps.pl               |    4 ++--
 scripts/dpkg-genchanges.pl                   |    4 ++--
 scripts/dpkg-gencontrol.pl                   |    4 ++--
 scripts/dpkg-gensymbols.pl                   |    4 ++--
 scripts/dpkg-shlibdeps.pl                    |    4 ++--
 scripts/dpkg-source.pl                       |    4 ++--
 scripts/po/POTFILES.in                       |    2 +-
 scripts/t/700_Dpkg_Control.t                 |    4 ++--
 10 files changed, 20 insertions(+), 20 deletions(-)

commit e628950c4affe51bf51e6af6f76827c465efc8e8
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 15 19:16:38 2009 +0200

    Make the build silent by default
    
    Make it verbose when building the Debian packages.

 configure.ac           |    2 ++
 debian/changelog       |    2 ++
 debian/rules           |    1 +
 dpkg-split/Makefile.am |    4 ++--
 dselect/Makefile.am    |    2 +-
 man/Makefile.am        |   18 +++++++++++++-----
 scripts/Makefile.am    |    5 +++--
 7 files changed, 24 insertions(+), 10 deletions(-)

commit 3ca41e2ae851f012a28914ebb79eb472834e2d72
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 15 14:13:54 2009 +0200

    Move LISTFILE macro from libdpkg to dpkg
    
    This is a private macro, internal to the file database handling code,
    currently in dpkg only.

 lib/dpkg/dpkg.h |    1 -
 src/filesdb.h   |    2 ++
 2 files changed, 2 insertions(+), 1 deletions(-)

commit c351f72244fb7a0f0f2764fcc38b873a7d99166a
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 15 14:11:36 2009 +0200

    Move PARTSDIR macro from libdpkg to dpkg-split
    
    This is a private macro, internal to dpkg-split.

 dpkg-split/dpkg-split.h |    2 ++
 lib/dpkg/dpkg.h         |    1 -
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 1a8cda208d2a515bc28e27085f54b6e1eabc3e32
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 14 21:56:45 2009 +0200

    Switch ad-hoc code to use struct pkg_list data type
    
    Free the trig_awaited_pend_head list now that it is a pkg_list and
    it switched from being allocated with m_malloc instead of nfmalloc.

 lib/dpkg/triglib.c |   14 ++++----------
 src/help.c         |    2 +-
 src/main.c         |   10 ++++------
 src/main.h         |   17 +++++++----------
 src/packages.c     |   16 ++++++++--------
 src/trigproc.c     |    2 +-
 6 files changed, 25 insertions(+), 36 deletions(-)

commit fed0b802b21f21408ae97ac3de1f31c9f7e6d01c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Sep 14 21:52:41 2009 +0200

    libdpkg: Create a new pkg_list structure and functions
    
    A new functions to construct and free a list and prepend to a list.

 lib/dpkg/Makefile.am |    1 +
 lib/dpkg/pkg-list.c  |   61 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/pkg-list.h  |   43 +++++++++++++++++++++++++++++++++++
 3 files changed, 105 insertions(+), 0 deletions(-)

commit 8b73de55151677444cfc4745e501b8dd0992374d
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 5 05:26:58 2009 +0200

    Move pkg-array to libdpkg

 lib/dpkg/Makefile.am          |    1 +
 {src => lib/dpkg}/pkg-array.c |    3 +--
 {src => lib/dpkg}/pkg-array.h |    4 ++++
 src/Makefile.am               |    2 --
 src/query.c                   |    2 +-
 src/select.c                  |    2 +-
 6 files changed, 8 insertions(+), 6 deletions(-)

commit 6257d864d6bc1c4ec3bea247178a78679a36f365
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 11 14:49:24 2009 +0200

    dpkg-deb: Check and warn on duplicate conffiles
    
    Closes: #131633

 debian/changelog |    1 +
 dpkg-deb/build.c |   27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 0 deletions(-)

commit 52557dc6333edfe1206d9dca3961e0509501bbfb
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 11 14:47:36 2009 +0200

    dpkg-deb: Refactor file info structure creation into a new function

 dpkg-deb/build.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

commit df1b1ba7d16d4d8caa2733b1d5c1b968ccd8761a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 11 15:11:54 2009 +0200

    dpkg-deb: Rename _finfo struct to file_info
    
    Do not use leading underscores in identifiers.

 dpkg-deb/build.c |   39 ++++++++++++++++++++++++---------------
 1 files changed, 24 insertions(+), 15 deletions(-)

commit ac2874075efbdb8d5516a044b3ea14993b712c0e
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 15 18:51:37 2009 +0200

    dpkg-deb: Pass last the node to add to add_to_filist

 dpkg-deb/build.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit d5f096c4c708d6daa7ac23128caf78ca8509a2f4
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 10 03:12:30 2009 +0200

    dpkg: Update list of binaries to check on PATH
    
    Remove install-info which is now a wrapper and will disappear soonish.
    Add programs used by dpkg itself: sh, rm, find, tar and dpkg-deb.

 debian/changelog |    3 +++
 src/help.c       |    9 +++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

commit 025191b0d76972e71e920b5747b202287470815d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Sep 10 03:27:36 2009 +0200

    dpkg: Use secure_unlink instead of ad-hoc code

 src/remove.c |   19 ++-----------------
 1 files changed, 2 insertions(+), 17 deletions(-)

commit 9166393d328f2fe3e1961ca2275d5d39d8eed6b4
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 15 17:21:47 2009 +0200

    Improve secure_unlink comment and move it outside the function

 src/help.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit 4e841712e9ec4eff38008ef22747b3810012116d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 9 18:06:41 2009 +0200

    Rename chmodsafe_unlink functions to secure_unlink

 src/help.c       |    8 ++++----
 src/main.h       |    4 ++--
 src/processarc.c |    2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

commit 109f215f03425682997b3210d9b587a79aca1f6a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Sep 9 17:50:14 2009 +0200

    Only use errno for error reason when securely removing a file
    
    There's no point in setting an error string, it complicates the code
    needlessly and the reason is in errno anyway.

 src/help.c       |   32 +++++++++++++++-----------------
 src/main.h       |    5 ++---
 src/processarc.c |   11 ++++-------
 3 files changed, 21 insertions(+), 27 deletions(-)

commit 378737d036faf23bfa7ddf025f478099906b38ad
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 15 12:57:02 2009 +0200

    Use character arrays instead of pointers for constant strings

 dpkg-deb/build.c     |    2 +-
 lib/dpkg/parsehelp.c |    2 +-
 src/configure.c      |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 6eac45a1fa095b3846a88231751381381bac2726
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 13 15:33:53 2009 +0200

    Update Standards-Version to 3.8.3 (no changes needed).

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 8326835a53823046e72f1ac7c60e92a92ea0402a
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Sep 13 15:28:32 2009 +0200

    Add deb-extra-override(5) to dpkg-dev
    
    Its addition has been forgotten in
    22049e15c9b844f3ebef480dfebc588fbd5a301e.

 debian/dpkg-dev.install |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 3cbb2561ba9865fe088410789db37d507669f507
Author: Miroslav Kure <kurem@debian.cz>
Date:   Fri Sep 11 21:28:53 2009 +0200

    Czech translation update
    
    dpkg: 978t
    dselect: 280t

 debian/changelog |    2 +
 dselect/po/cs.po |    7 ++---
 po/cs.po         |   77 +++++++++++++++++++++++++++--------------------------
 3 files changed, 44 insertions(+), 42 deletions(-)

commit 8727864b10c26b504bbff0b83aa3180ca73b2d7f
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Sep 9 10:34:01 2009 +0200

    Fix bad bug number

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 42c7204f717bdd04441c03ed475c5522971d9322
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Wed Sep 9 09:23:48 2009 +0200

    Add versioned dependency on base-files (>= 5.0.0) to dpkg-dev
    
    We want to ensure that /etc/dpkg/origins/default exists as it's used
    by dpkg-source to know what keyrings should be used for the signature
    check.

 debian/changelog |    4 ++++
 debian/control   |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit a9294a28de3ba8cc94639fbade797c83ac0646bb
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Sep 8 07:14:26 2009 +0200

    Fix error in French manpages translation

 debian/changelog |    3 +++
 man/po/fr.po     |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 3f876d0ee053c27aa50796de61d1ff303393aeba
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 8 08:16:44 2009 +0200

    Add additional bug closures

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 368b3934bbf1d106e8448b8587657292c24da777
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Sep 8 07:19:59 2009 +0200

    dpkg: Remove obsolete conffiles on purge
    
    Closes: #454628

 debian/changelog |    3 +++
 src/remove.c     |    1 -
 2 files changed, 3 insertions(+), 1 deletions(-)

commit d7c3d7ff819d010094ec665cb8852c9011e3036f
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Sep 7 12:33:28 2009 +0200

    German dpkg translation update
    
    Update to 971t7f.

 debian/changelog |    3 ++
 po/de.po         |   55 ++++++++++++++++++++++-------------------------------
 2 files changed, 26 insertions(+), 32 deletions(-)

commit bbd0ffd5987502fa1afb2e9a5e294628c32e161f
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Sep 7 11:00:24 2009 +0200

    German dselect translation update
    
    Update to 280t.

 debian/changelog |    5 ++++-
 dselect/po/de.po |   21 ++++-----------------
 2 files changed, 8 insertions(+), 18 deletions(-)

commit 478b00b3f5e320b80ec4f2185c370461b78b614b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 6 15:46:42 2009 +0200

    Update German translation of manual pages
    
    Update to 1641t0f1u.

 debian/changelog |    5 +++-
 man/po/de.po     |   64 +++++++++++++++++++++--------------------------------
 2 files changed, 29 insertions(+), 40 deletions(-)

commit 8e2429292128d69fe02ecb331fdcbac7c54e2f0f
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Sep 6 15:16:42 2009 +0200

    Update German scripts translation
    
    Update to 467t.

 debian/changelog |    3 ++-
 scripts/po/de.po |    6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)

commit d6005df3c01bc27936e43d8f6785ca559524770c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 09:49:24 2009 +0200

    Bump version to 1.15.5

 configure.ac     |    2 +-
 debian/changelog |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 9eb319a57bffa28f77ec6b7eef7ff5c68e2304e5
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 09:18:39 2009 +0200

    Release 1.15.4

 configure.ac     |    2 +-
 debian/changelog |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 878516d13527257ad372989749c3a7d8e41855df
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 09:08:54 2009 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |  144 +-
 dselect/po/ca.po        |  145 +-
 dselect/po/cs.po        |  145 +-
 dselect/po/da.po        |  145 +-
 dselect/po/de.po        |  145 +-
 dselect/po/dselect.pot  |  144 +-
 dselect/po/el.po        |  145 +-
 dselect/po/es.po        |  145 +-
 dselect/po/et.po        |  145 +-
 dselect/po/eu.po        |  145 +-
 dselect/po/fr.po        |  145 +-
 dselect/po/gl.po        |  145 +-
 dselect/po/hu.po        |  144 +-
 dselect/po/id.po        |  145 +-
 dselect/po/it.po        |  145 +-
 dselect/po/ja.po        |  145 +-
 dselect/po/ko.po        |  145 +-
 dselect/po/nb.po        |  145 +-
 dselect/po/nl.po        |  145 +-
 dselect/po/nn.po        |  145 +-
 dselect/po/pl.po        |  145 +-
 dselect/po/pt.po        |  145 +-
 dselect/po/pt_BR.po     |  145 +-
 dselect/po/ro.po        |  145 +-
 dselect/po/ru.po        |  145 +-
 dselect/po/sk.po        |  145 +-
 dselect/po/sv.po        |  145 +-
 dselect/po/tl.po        |  145 +-
 dselect/po/vi.po        |  145 +-
 dselect/po/zh_CN.po     |  145 +-
 dselect/po/zh_TW.po     |  145 +-
 man/po/de.po            | 3889 ++++++++++++++++++++++----------------------
 man/po/dpkg-man.pot     | 3483 +++++++++++++++++++++-------------------
 man/po/es.po            | 3816 +++++++++++++++++++++++---------------------
 man/po/fr.po            | 4102 +++++++++++++++++++++++++----------------------
 man/po/hu.po            | 3817 +++++++++++++++++++++++---------------------
 man/po/ja.po            | 3836 +++++++++++++++++++++++---------------------
 man/po/pl.po            | 3886 +++++++++++++++++++++++---------------------
 man/po/pt_BR.po         | 3810 +++++++++++++++++++++++---------------------
 man/po/ru.po            | 3813 +++++++++++++++++++++++---------------------
 man/po/sv.po            | 3907 ++++++++++++++++++++++++---------------------
 po/ast.po               | 2166 +++++++++++++-------------
 po/bs.po                | 1900 ++++++++++------------
 po/ca.po                | 2209 +++++++++++++-------------
 po/cs.po                | 2167 +++++++++++++-------------
 po/da.po                | 2173 +++++++++++++-------------
 po/de.po                | 1126 +++++++-------
 po/dpkg.pot             | 1896 ++++++++++------------
 po/dz.po                | 2173 +++++++++++++-------------
 po/el.po                | 2191 +++++++++++++-------------
 po/eo.po                | 2165 +++++++++++++-------------
 po/es.po                | 2204 +++++++++++++-------------
 po/et.po                | 2039 +++++++++++------------
 po/eu.po                | 2164 +++++++++++++-------------
 po/fr.po                | 2240 +++++++++++++-------------
 po/gl.po                | 2172 +++++++++++++-------------
 po/hu.po                | 2164 +++++++++++++-------------
 po/id.po                | 2018 +++++++++++------------
 po/it.po                | 2190 +++++++++++++-------------
 po/ja.po                | 2175 +++++++++++++-------------
 po/km.po                | 2152 ++++++++++++-------------
 po/ko.po                | 2157 ++++++++++++-------------
 po/ku.po                | 1907 ++++++++++------------
 po/lt.po                | 1962 +++++++++++------------
 po/mr.po                | 2162 +++++++++++++-------------
 po/nb.po                | 2174 +++++++++++++-------------
 po/ne.po                | 2161 +++++++++++++-------------
 po/nl.po                | 2181 +++++++++++++-------------
 po/nn.po                | 2017 +++++++++++------------
 po/pa.po                | 2029 +++++++++++-------------
 po/pl.po                | 2164 +++++++++++++-------------
 po/pt.po                | 2187 +++++++++++++-------------
 po/pt_BR.po             | 2181 +++++++++++++-------------
 po/ro.po                | 2192 +++++++++++++-------------
 po/ru.po                | 2169 +++++++++++++-------------
 po/sk.po                | 2161 +++++++++++++-------------
 po/sv.po                | 1128 +++++++-------
 po/th.po                | 2153 ++++++++++++-------------
 po/tl.po                | 2017 +++++++++++------------
 po/vi.po                | 2197 +++++++++++++-------------
 po/zh_CN.po             | 2162 +++++++++++++-------------
 po/zh_TW.po             | 2153 ++++++++++++-------------
 scripts/po/ca.po        |  342 ++---
 scripts/po/de.po        |  103 +-
 scripts/po/dpkg-dev.pot |  317 ++---
 scripts/po/fr.po        |  385 +++---
 scripts/po/pl.po        |  392 +++---
 scripts/po/ru.po        |  385 +++---
 scripts/po/sv.po        |   89 +-
 89 files changed, 65104 insertions(+), 65058 deletions(-)

commit d0d808250ad40e19ee531e6997d3bf401b7889d5
Author: Steve Langasek <vorlon@debian.org>
Date:   Sun Aug 30 01:33:54 2009 -0700

    Add Multi-Arch to the list of known binary package fields for dpkg-dev

 debian/changelog           |    2 ++
 scripts/Dpkg/Fields.pm     |    2 +-
 scripts/dpkg-gencontrol.pl |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

commit cc9fc4d628664a69351f4a77b70baebb59c0a6e4
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 08:35:29 2009 +0200

    dpkg: Use ohshit on bad version syntax in --compare-versions

 debian/changelog |    1 +
 src/enquiry.c    |   14 ++++----------
 2 files changed, 5 insertions(+), 10 deletions(-)

commit e8dc6b406eb25bd8025fdc756f2df7646a123843
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 08:30:05 2009 +0200

    man: Document DPKG_RUNNING_VERSION environment variable

 debian/changelog |    2 ++
 man/dpkg.1       |    6 +++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 0680aef0b534cb219f36788e25520c667e9e7ba7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 08:14:00 2009 +0200

    dpkg-query: Add installed package control path query support
    
    This new command is to be used in special cirmcumstances when the
    maintainer scripts, or external programs need to know the paths to an
    installed package control files, without needing to hardcode or assume
    any file system layout for the dpkg database.

 debian/changelog |    1 +
 man/dpkg-query.1 |   10 ++++-
 src/main.h       |    1 +
 src/query.c      |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 131 insertions(+), 1 deletions(-)

commit abc43d47aca5ce042e0f00bf06187bc0909ef048
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 07:11:10 2009 +0200

    Unify and mark strings for translation

 scripts/Dpkg/Arch.pm              |    6 +++---
 scripts/Dpkg/Shlibs/Objdump.pm    |    4 ++--
 scripts/Dpkg/Source/Package.pm    |    2 +-
 scripts/Dpkg/Source/Package/V2.pm |    4 ++--
 scripts/dpkg-gencontrol.pl        |    2 +-
 scripts/dpkg-scansources.pl       |    2 +-
 scripts/dpkg-shlibdeps.pl         |    2 +-
 src/enquiry.c                     |    2 +-
 src/query.c                       |    4 ++--
 9 files changed, 14 insertions(+), 14 deletions(-)

commit 0a5a950910c39e1ec97b724f0470427ffaa7acf2
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 07:04:41 2009 +0200

    Use m_output instead of checking printing functions return code
    
    Cleans up the code. And as a side effect, we get rid of bogus checks
    for EOF, which should have been checking for negative return values.

 dpkg-deb/extract.c |   27 ++++++++++++-----------
 dpkg-deb/info.c    |   23 ++++++++++---------
 dpkg-deb/main.c    |   45 ++++++++++++++++++++------------------
 dpkg-split/main.c  |   34 ++++++++++++++++------------
 dselect/main.cc    |   34 ++++++++++++++++------------
 src/enquiry.c      |    8 ++----
 src/main.c         |   61 +++++++++++++++++++++++++++------------------------
 src/query.c        |   35 ++++++++++++++++-------------
 src/trigcmd.c      |   32 ++++++++++++--------------
 9 files changed, 157 insertions(+), 142 deletions(-)

commit 90526758c5cfc9bbec8d7c7e214e9393892a1b67
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 06:45:39 2009 +0200

    Use m_output instead of fflush, ferror and werr

 dpkg-deb/build.c    |    2 +-
 dpkg-deb/info.c     |    2 +-
 dpkg-split/info.c   |    2 +-
 dpkg-split/main.c   |    2 +-
 dpkg-split/queue.c  |    6 +++---
 dselect/method.cc   |    3 +--
 lib/dpkg/database.c |    4 +++-
 src/archives.c      |    4 ++--
 src/enquiry.c       |   17 +++++++++--------
 src/packages.c      |    4 ++--
 src/query.c         |   17 +++++++++--------
 src/select.c        |    5 +++--
 12 files changed, 36 insertions(+), 32 deletions(-)

commit 7121152571589de8037f431bbfb0654733c5815b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 06:37:01 2009 +0200

    libdpkg: New m_output function
    
    This function makes sure to output the information printed on the file
    specified, and ohshites if there's any error.

 lib/dpkg/dpkg.h |    1 +
 lib/dpkg/mlib.c |    8 ++++++++
 2 files changed, 9 insertions(+), 0 deletions(-)

commit b471b6bcd7c8d1513558fa3f0ef1411115df9a93
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 06:33:52 2009 +0200

    dpkg-deb: Use warning() instead of ad-hoc printing

 dpkg-deb/build.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

commit a83e83c156e9cf2d084b1cc8cf561cec4f021ac9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 06:30:08 2009 +0200

    dpkg: Check stdout for errors instead of stderr in audit()

 src/enquiry.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit d75c567c6140efb6b019825155a1a70402534d87
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Sep 6 02:34:35 2009 +0200

    Do not check for fprintf return code when going to ohshit anyway

 dpkg-deb/extract.c |    7 +++----
 dpkg-deb/info.c    |    5 +++--
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 7c2f0550e53b4fee0af12f3f5e43e1ac168b1f34
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 5 20:48:12 2009 +0200

    dpkg: Remove unused act_compareversions

 src/main.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 05b6c8434d840ee484a6d8961030a8d2b7510a10
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 5 20:45:56 2009 +0200

    dpkg: Sort and group ‘enum action’ values

 src/main.h |   52 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 10 deletions(-)

commit 9ce2c0102f81074c43850319206aab0c62c7ce50
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 28 19:55:46 2009 +0200

    libdpkg: Remove _setup from buffer_copy_setup_TYPE function names

 lib/dpkg/buffer.c |    6 +-
 lib/dpkg/buffer.h |  112 +++++++++++++++++++++++------------------------------
 2 files changed, 51 insertions(+), 67 deletions(-)

commit e87b2838b21f76394f0827ccd8709313c56c7a23
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 28 19:55:06 2009 +0200

    libdpkg: Rename buffer_copy_setup_dual to buffer_copy_TYPE

 lib/dpkg/buffer.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 912657f0b45bb17c111e2b08845382f28fe73798
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 28 19:39:27 2009 +0200

    libdpkg: Fold buffer_copy_setup back into buffer_copy_setup_TYPE functions

 lib/dpkg/buffer.c |   31 ++++++++++---------------------
 lib/dpkg/buffer.h |    4 +---
 2 files changed, 11 insertions(+), 24 deletions(-)

commit 0f7c88fe1c845fe0a8f8768cc36bca48ee71e31c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 28 19:32:13 2009 +0200

    libdpkg: Remove unused proc member from buffer_data

 lib/dpkg/buffer.c |   25 +++++---------
 lib/dpkg/buffer.h |   96 +++++++++++++++++++++++++---------------------------
 2 files changed, 55 insertions(+), 66 deletions(-)

commit be09bdbe35b2160341d38faf8ad0e0344bce0f6d
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 28 13:16:39 2009 +0200

    libdpkg: Refactor buffer initalizaion and destruction

 lib/dpkg/buffer.c |   61 ++++++++++++++++++++--------------------------------
 lib/dpkg/buffer.h |    7 +----
 2 files changed, 26 insertions(+), 42 deletions(-)

commit 03144fe7d6b0e80682ff950fdedd8481eaeb0f07
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 28 13:10:22 2009 +0200

    libdpkg: Refactor md5 buffer initialization and destruction
    
    Move into their own functions.

 lib/dpkg/buffer.c |   56 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 24 deletions(-)

commit 76f5201800ace04832c293e6f7a2aa50357ed50c
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 27 18:33:48 2009 +0200

    libdpkg: Move buffer I/O declarations to buffer.h

 dpkg-deb/build.c       |    1 +
 dpkg-deb/extract.c     |    1 +
 dpkg-deb/info.c        |    1 +
 lib/dpkg/Makefile.am   |    1 +
 lib/dpkg/buffer.c      |  278 ++++++++++++++++++++++++++++++++++++++++++++++++
 lib/dpkg/buffer.h      |  177 ++++++++++++++++++++++++++++++
 lib/dpkg/compression.c |    1 +
 lib/dpkg/dpkg.h        |  126 ----------------------
 lib/dpkg/mlib.c        |  194 ---------------------------------
 lib/dpkg/myopt-util.c  |    1 +
 lib/dpkg/parse.c       |    1 +
 po/POTFILES.in         |    1 +
 src/archives.c         |    1 +
 src/configure.c        |    1 +
 src/filesdb.c          |    1 +
 src/processarc.c       |    1 +
 src/statdb.c           |    1 +
 17 files changed, 468 insertions(+), 320 deletions(-)

commit 9d81008a303b5510601063363a40c8961b769339
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 21 07:00:17 2009 +0200

    dpkg: Add new invoke hooks support
    
    Call pre-invoke and post-invoke hooks before and after unpack,
    configure, install, triggers-only, remove and purge actions.
    Set the DPKG_HOOK_ACTION environment variable to the current dpkg
    action.

 debian/changelog |    1 +
 man/dpkg.1       |   14 +++++++++++
 src/main.c       |   66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main.h       |    5 ++++
 4 files changed, 86 insertions(+), 0 deletions(-)

commit 355dbdf36096cd3d1854bc3fd1f814e27796c493
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Sep 5 03:12:28 2009 +0200

    libdpkg: Allow quoting values in configuration file options

 debian/changelog  |    1 +
 lib/dpkg/myopt.c  |    5 +++++
 man/dpkg.cfg.5    |    6 +++---
 man/dselect.cfg.5 |    6 +++---
 4 files changed, 12 insertions(+), 6 deletions(-)

commit 5410b4904eeb830c858daaf30420523122ec4042
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 4 14:26:32 2009 +0200

    libdpkg: Add new str_strip_quotes function

 lib/dpkg/string.c        |   22 +++++++++++++++++++++-
 lib/dpkg/string.h        |    3 ++-
 lib/dpkg/test/t-string.c |   43 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 66 insertions(+), 2 deletions(-)

commit dc43d2bb115cf5da809708ce6cfb3d78c9de503a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 4 20:50:04 2009 +0200

    libdpkg: On configuration error print file name and line number

 debian/changelog |    1 +
 lib/dpkg/myopt.c |   13 ++++++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)

commit 5e29cc4c725c26754e0e88917c7a0a18a58238b9
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Sep 4 20:34:00 2009 +0200

    libdpkg: Refactor config error printing into a new function

 lib/dpkg/myopt.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

commit 0bcb1b5d7cc20c05c3fe2cd5e3940cdb9403ee2d
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Sep 6 08:46:50 2009 +0200

    German dpkg translation update
    
    Update to 966t7f.

 po/de.po | 1951 ++++++++++++++++++++++----------------------------------------
 1 files changed, 703 insertions(+), 1248 deletions(-)

commit 02fb454c08270ee9c11f78ad2968fab84d8960c2
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Sep 1 01:30:35 2009 +0200

    Fix translation error in german manpage of dpkg-buildpackage
    
    Reported-by: Joachim Breitner <nomeata@debian.org>

 debian/changelog |    2 ++
 man/po/de.po     |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit aac9f4df22a9291a284fe1523aea8a0bd8ae086a
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Sep 1 00:59:26 2009 +0200

    Tightening the Breaks for the install-info transition
    
    The versions of info-browsers that dpkg breaks are a bit too
    loose in some cases, namely when it "Breaks: foobar (<= x.y-z)", where
    x.y-z is the Lenny version of info-browser foobar.  The problem is that
    there might be an update of foobar in Lenny, say to x.y-zlenny1, which
    dpkg also needs to break.

 debian/control |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 1b5a009da6fdd38b2b51bd551c09880f890566f7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Aug 29 15:36:07 2009 +0200

    Update German translation of manual pages and fix French debian/changelog entry
    
    Update to 1632t.

 debian/changelog |    4 ++--
 man/po/de.po     |   17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

commit 059d3fe50087676a00513c2063bf39d9ef7d43cc
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Aug 28 18:22:03 2009 +0200

    dpkg-source(1): small improvement
    
    Give the section name listing source packages formats when we're
    referring to it. Thanks to Jari Aalto for the idea.

 debian/changelog  |    2 ++
 man/dpkg-source.1 |    4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 5efc4dbeb2a53a9eb92c94997010890a191ed40f
Author: Peter Krefting <peterk@debian.org>
Date:   Thu Aug 27 12:11:18 2009 +0100

    Update Swedish translation.
    
    po/sv.po: Update to 973t0f0u.
    scripts/po/sv.po: Update to 476t0f0u.

 po/sv.po         |  271 ++++++++++++++++++++++++++++--------------------------
 scripts/po/sv.po |  183 +++++++++++++++++++-----------------
 2 files changed, 237 insertions(+), 217 deletions(-)

commit df0845efa08dfb711699f175b4d97e3cc438cc17
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 17:17:39 2009 +0200

    man: Use po4a “--previous” support when updating the man pages
    
    Suggested-by: Christian Perrier <bubulle@debian.org>

 debian/changelog |    2 ++
 man/Makefile.am  |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 3e95f425157141289f0780df0da6435b8931444a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 17:10:47 2009 +0200

    man: Refactor common po4a options into common variables

 man/Makefile.am |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit d9618be8ee1ab10dd174562be06e52bd38918571
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 16:56:47 2009 +0200

    man: Always run po4a from source dir regardless of out or in-tree builds
    
    Switch to use builddir for the destination files instead of srcdir for
    the source files, therefore avoiding unneeded changes in the paths in
    po files regardless of where the object files get stored during build.

 debian/changelog |    2 +
 man/Makefile.am  |   14 ++--
 man/po/po4a.cfg  |  212 +++++++++++++++++++++++++++---------------------------
 3 files changed, 115 insertions(+), 113 deletions(-)

commit 75cd1fb8b0e6733fa6ccddf7de74fdfeeea5a634
Author: Jiri Palecek <jpalecek@web.de>
Date:   Wed Jul 15 13:53:03 2009 +0200

    Dpkg::Shlibs::SymbolFile: cache the minimum version for a particular soname
    
    Afer profiling, I discovered that dpkg-shlibdeps spent a large part
    of his time in the get_smallest_version() version. This patch improves
    the performance by caching the resulting value.

 debian/changelog                  |    3 +++
 scripts/Dpkg/Shlibs/SymbolFile.pm |   16 +++++++++++++---
 2 files changed, 16 insertions(+), 3 deletions(-)

commit 8cedeb37fa29e3b8ae8c42b0874c662c9385dbe6
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 12:17:39 2009 +0200

    Use double instead of single quotes to allow backticks to expand
    
    Missed in commit 5e83d054b1a790d49bc88e3dd0e8fbb872d51d8f.

 scripts/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 6fbfd91779aba1b2c3987d7e10da7debe404b6b6
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 12:15:42 2009 +0200

    libdpkg: Rename dpkg-test.h to test.h in libdpkg_a_SOURCES
    
    Missed in commit 4a7010fe5e3573cc919788d354fdbccdedce249d.

 lib/dpkg/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4a95a69523f7260842a3bcc1b52c355f9bb28f3a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 12:14:15 2009 +0200

    Add missing files in EXTRA_DIST
    
    Missed in commits a27d14c4423c44b400764c99b669824f4ba6e9a1 and
    6c785595d189f65a59284796a9b1f60f16686e85.

 Makefile.am         |    1 +
 scripts/Makefile.am |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit 51012b34dccedcd21fa6a28255486a2bca54cb64
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 11:39:22 2009 +0200

    libdpkg: Move varbuf declarations to varbuf.h

 lib/dpkg/Makefile.am |    2 +-
 lib/dpkg/dpkg-db.h   |   51 +------------------
 lib/dpkg/dpkg.h      |    1 -
 lib/dpkg/varbuf.h    |  142 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 144 insertions(+), 52 deletions(-)

commit d854ad08565b9286022add4d79e70a4d8c0c6d84
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 11:37:01 2009 +0200

    Remove redundant extern storage class specifier in functions

 dselect/method.h   |    6 +++---
 lib/dpkg/dpkg-db.h |    2 +-
 lib/dpkg/tarfn.h   |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 6da79ad047c910fec2209e7bdd8c6cfe3bcf8209
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 26 00:44:49 2009 +0200

    Change dpkg specific m4 macros prefix from SJR_ to DPKG_

 configure.ac   |    6 +++---
 m4/compiler.m4 |    8 ++++----
 m4/linker.m4   |    6 +++---
 3 files changed, 10 insertions(+), 10 deletions(-)

commit ae1c223bcfdc3fe613b46af53810447e974e96c1
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Aug 23 08:21:10 2009 +0200

    Update german translation of manual pages
    
    Update to 1633t.

 man/po/de.po |   36 +++++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

commit fb19987b470000badb3c55a674f66244e12d8f7a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 22 02:18:59 2009 +0200

    man: Document DPKG_MAINTSCRIPT_PACKAGE environment variable

 debian/changelog |    2 ++
 man/dpkg.1       |    4 ++++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit 06b7239212a27ea8f38599b6743d88d40b9cdd0e
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 22 02:11:14 2009 +0200

    Set DPKG_MAINTSCRIPT_ARCH env var with the .deb architecture
    
    This allows maintainer scripts to know which architecture the package
    got built for.

 debian/changelog |    2 ++
 lib/dpkg/dpkg.h  |    1 +
 man/dpkg.1       |    4 ++++
 src/help.c       |    1 +
 4 files changed, 8 insertions(+), 0 deletions(-)

commit ab95f0bb2f53452994f3d48a0802ab34622c8d67
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 22 01:43:57 2009 +0200

    Pass ‘struct pkginfoperfile’ from maint script functions to do_script
    
    This allows us to retrieve package information from either the installed
    package or the one being installed from the maintainer script invoking
    functions.

 src/help.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

commit dd1780342ab9fb7fecf4a81e8809504814f03787
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 22 01:41:14 2009 +0200

    Pass ‘struct pkginfo’ instead of pkg name to maint script functions
    
    This allows us to retrieve package information from the maintainer
    script invoking functions.

 src/cleanup.c    |    6 +++---
 src/help.c       |   25 ++++++++++++++++---------
 src/main.h       |    2 +-
 src/processarc.c |    6 +++---
 4 files changed, 23 insertions(+), 16 deletions(-)

commit 4e646e10e1ec1fd7e686001fc6c26cca80f0afb1
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 22 02:27:43 2009 +0200

    Fix typo in German man page
    
    Introduced in commit b05b38151980f0d2f390bf5f91a7ceb206dbe9c8.
    
    Spotted-by: Steve Langasek <vorlon@debian.org>

 man/po/de.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b05b38151980f0d2f390bf5f91a7ceb206dbe9c8
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Aug 21 17:40:46 2009 +0200

    Update german translation of manual pages, including a fix from Felix Zielcke
    
    Update to 1635t.

 man/po/de.po |   42 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 40 insertions(+), 2 deletions(-)

commit bbf6bc906ca53d45a96b9860f541c6973edd4541
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 21 07:09:57 2009 +0200

    Add support for config.d style directory fragment loading
    
    Open the system config.d directory before the system configuration file,
    /etc/dpkg/dpkg.cfg.d for dpkg and /etc/dpkg/dselect.cfg.d for dselect,
    and load fragments with filenames matching the run-parts standard Debian
    constraints (^[a-zA-Z0-9_-]+$).
    
    This will allow external programs to drop configuration fragments on
    those directories.

 debian/changelog       |    2 +
 debian/dpkg.install    |    1 +
 debian/dselect.install |    1 +
 dselect/Makefile.am    |    5 ++++
 lib/dpkg/myopt.c       |   56 ++++++++++++++++++++++++++++++++++++++++++++++++
 man/dpkg.1             |    5 ++-
 man/dpkg.cfg.5         |    4 ++-
 man/dselect.1          |    5 ++-
 man/dselect.cfg.5      |    4 ++-
 src/Makefile.am        |    3 ++
 10 files changed, 80 insertions(+), 6 deletions(-)

commit cf6f6916131e87daa4506661011b11404dbd3adb
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 21 00:04:24 2009 +0200

    libdpkg: Use ohshit instead of ohshite on config parsing errors
    
    Parsing errors do not set errno, so it will either get a bogus value
    from an old error, or Success, which is uninteresting.

 lib/dpkg/myopt.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 310cea12e94be5b7979ead4969df88cded749352
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Aug 19 18:54:29 2009 +0200

    Update german translation of manual pages
    
    Update to 1631t.

 man/po/de.po |   86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 85 insertions(+), 1 deletions(-)

commit 267a2238b9ad28979cf3e6e3e25ed34642ffdfda
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Aug 19 18:37:00 2009 +0200

    Update german scripts translation
    
    Update to 476t.

 scripts/po/de.po |  169 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 88 insertions(+), 81 deletions(-)

commit 1e93ee6fac346aecc0a0aa307931284a5d8f5395
Merge: 66abf29 41d56b3
Author: Christian Perrier <bubulle@debian.org>
Date:   Wed Aug 19 08:53:45 2009 +0200

    Merged changes

commit 66abf29395eea02e861ed41cd43092c6a29d6d45
Author: Yuri Kozlov <yuray@komyakino.ru>
Date:   Wed Aug 19 08:04:27 2009 +0200

    Updated Russian translations

 debian/changelog |    5 +-
 dselect/po/ru.po |   61 +-------
 po/ru.po         |   34 ++---
 scripts/po/ru.po |  460 +++++++++++++++++++++++++-----------------------------
 4 files changed, 231 insertions(+), 329 deletions(-)

commit 41d56b350b196aaca09d3901741aaada1138e862
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 16 18:20:53 2009 +0200

    dselect: Use top_builddir instead of top_srcdir to create curkeys.h
    
    The <config.h> file is generated in the top_builddir, and there's
    nothing we need from the top_srcdir.

 dselect/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 00b1d9dce71ff7b73ecba3b38d65c4a9ace7a9da
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri May 15 18:09:25 2009 +0200

    dpkg-source/dpkg-genchanges: split long Binary: field values

 debian/changelog           |    2 ++
 scripts/dpkg-genchanges.pl |    2 ++
 scripts/dpkg-source.pl     |    2 ++
 3 files changed, 6 insertions(+), 0 deletions(-)

commit 22049e15c9b844f3ebef480dfebc588fbd5a301e
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Aug 16 15:40:11 2009 +0200

    deb-extra-override(5): new manual page
    
    Factorize description of the extra override file in a new manual page.
    Refer to this manpage in dpkg-scanpackages(1) and dpkg-scansources(1).

 debian/changelog         |    2 ++
 man/Makefile.am          |    1 +
 man/deb-extra-override.5 |   40 ++++++++++++++++++++++++++++++++++++++++
 man/dpkg-scanpackages.1  |    6 ++++--
 man/dpkg-scansources.1   |    6 ++++--
 man/po/po4a.cfg          |    5 +++++
 6 files changed, 56 insertions(+), 4 deletions(-)

commit b636de1a3e9b1e131c055c2c0e8bcd1097736925
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Aug 16 15:16:58 2009 +0200

    dpkg-scansources: implement --extra-override

 debian/changelog            |    1 +
 man/dpkg-scansources.1      |    4 ++++
 scripts/dpkg-scansources.pl |   31 +++++++++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 0 deletions(-)

commit d2d24e8b2f901ecd76ceb733b2cea963eb935b04
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sun Aug 16 13:47:58 2009 +0200

    dpkg-scanpackages: rename --extraoverride into --extra-override
    
    Also fix the help output to be properly indented and fix
    load_extra_override() to use its parameter.

 man/dpkg-scanpackages.1      |    2 +-
 man/po/de.po                 |    4 ++--
 scripts/dpkg-scanpackages.pl |   14 ++++++++------
 3 files changed, 11 insertions(+), 9 deletions(-)

commit 5e83d054b1a790d49bc88e3dd0e8fbb872d51d8f
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 16 15:06:08 2009 +0200

    Use backticks instead of non-portable make $(shell ...) function
    
    The backticks are treated like text, until the shell expands them, thus
    making this solution portable.

 scripts/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fe29af206be39edabc5107330745b97da7cadbb7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 16 15:00:51 2009 +0200

    Cast field width function arguments to int

 lib/dpkg/fields.c |    2 +-
 src/main.c        |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 5b44e3de7a0cc640aefe1c5e5e42857f56f2e8d7
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 16 14:54:32 2009 +0200

    Set action_todo as volatile to avoid possible clobbering on longjmp

 src/packages.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 31843aafa7912c9fc591ddcd8e0fd2e79331e28a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 16 14:53:02 2009 +0200

    Use AC_*_IFELSE instead of obsolete AC_TRY_* macros

 m4/compiler.m4 |   15 ++++++++-------
 m4/funcs.m4    |   17 +++++++++--------
 m4/types.m4    |    7 ++-----
 3 files changed, 19 insertions(+), 20 deletions(-)

commit 0a8ed560cc38f47c08503857977ea5cb9753ca00
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Aug 16 09:28:37 2009 +0200

    Update german translation of manual pages
    
    Update to 1619t.

 man/po/de.po |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 1 deletions(-)

commit 57aafd682b597c8d4a462502644e47bb75e46f5a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 15 22:32:26 2009 +0200

    Do not match sparc architecture with sparc64-*-* triplet
    
    A sparc64 userland needs a different Debian architecture, as each
    GNU triplet should maps 1:1 to a Debian architecture.

 cputable         |    2 +-
 debian/changelog |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

commit efafe7724aab4484b3df424e8d3b7fc0272c9dcc
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 15 22:30:41 2009 +0200

    Use AC_USE_SYSTEM_EXTENSIONS instead of deprecated AC_GNU_SOURCE
    
    Bump minimum required autoconf to 2.60.

 configure.ac |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 93f043e69f1d44913a1ec265eece7099ae3db884
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 15 20:38:48 2009 +0200

    Check for host system instead of target at build time
    
    Using AC_CANONICAL_TARGET is needed when wanting to support building
    cross-compiling software. But there's too many assumptions in dpkg that
    the host system in dpkg-dev is going to match the build system.

 m4/arch.m4 |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit 934a97e6ef744501d48cfd39fa0a38e715b2bde1
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 15 20:23:03 2009 +0200

    Use AC_CANONICAL_TARGET instead of deprecated AC_CANONICAL_SYSTEM

 m4/arch.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit be6cd02aed8d86239a0f300f71dee91f89c7ab1a
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 15 20:21:19 2009 +0200

    Do not directly use AC_CANONICAL_SYSTEM from configure.ac
    
    The macro is only needed because of DPKG_ARCHITECTURE which it already
    requires.

 configure.ac |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 5921a827603dbc938f4b283f0008e6d8a88172bc
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Aug 15 20:15:47 2009 +0200

    Use AM_CPPFLAGS instead of deprecated INCLUDES in Makefile.am files

 dpkg-deb/Makefile.am      |    2 +-
 dpkg-split/Makefile.am    |    2 +-
 dselect/Makefile.am       |    2 +-
 lib/compat/Makefile.am    |    2 +-
 lib/dpkg/Makefile.am      |    2 +-
 lib/dpkg/test/Makefile.am |    2 +-
 src/Makefile.am           |    2 +-
 utils/Makefile.am         |    2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

commit ef51c154b0c4d37c7c6726ce5b4e903397b76c26
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Sat Aug 15 21:45:20 2009 +0200

    dpkg-architecture: finish support of DEB_{HOST,BUILD}_ARCH_{BITS,ENDIAN}
    
    Enhanced cputable to describe the new columns.
    
    Let dpkg-dev depend on dpkg (>= 1.15.4) to ensure that we have an updated
    cputable (and so that a versioned build-dependency on dpkg-dev is enough to use
    this new feature).
    
    Document the new variables in the manual page dpkg-architecture(1).

 cputable                     |    2 ++
 debian/changelog             |    7 +++++++
 debian/control               |    2 +-
 man/dpkg-architecture.1      |   21 ++++++++++++++++-----
 scripts/dpkg-architecture.pl |    8 ++++----
 5 files changed, 30 insertions(+), 10 deletions(-)

commit 126fcaac1eff9b5ae52e9ab80c158fd3aaf214d6
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 28 09:13:10 2009 +0200

    dpkg-architecture: Add support for bits and endianness variables
    
    Add new DEB_(HOST|BUILD)_ARCH_(BITS|ENDIANNESS) variables to ease work
    for porters.

 cputable                     |   44 +++++++++++++++++++++---------------------
 scripts/Dpkg/Arch.pm         |   18 ++++++++++++++++-
 scripts/dpkg-architecture.pl |    6 +++++
 3 files changed, 45 insertions(+), 23 deletions(-)

commit 86823d5792af8328107c3d86e486d2cf373da128
Author: Ian Jackson <ian@davenant.greenend.org.uk>
Date:   Sat Aug 15 12:42:03 2009 +0200

    dpkg: change behaviour of --merge-avail
    
    With this change, dpkg --merge-avail does not update a package's
    information if the version provided is older than the one already listed
    in the available file.

 debian/changelog   |    4 ++++
 lib/dpkg/dpkg-db.h |    3 ++-
 lib/dpkg/parse.c   |    5 +++++
 src/update.c       |    3 ++-
 4 files changed, 13 insertions(+), 2 deletions(-)

commit 333f41304e610a1b2a44b715c6359783632a73c1
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Aug 15 18:16:15 2009 +0200

    Update german translation of manual pages
    
    Update to 1611t.

 man/po/de.po |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

commit a04109f53bcff5e53ece983a7fc95c000b86ad6f
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Aug 15 17:53:18 2009 +0200

    Sort language updates by alphabet.

 debian/changelog |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b6b67fa54b54364d2410ad653fd3b7708a4bd159
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Aug 15 17:51:58 2009 +0200

    Update german scripts translation
    
    Update to 476t.

 scripts/po/de.po |   60 +++++++++++++++++++++++++++--------------------------
 1 files changed, 31 insertions(+), 29 deletions(-)

commit 34db30e1d20eb6953d822677e846fdf45fd3d361
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Aug 15 17:50:22 2009 +0200

    Add missing full stop

 scripts/dpkg-scanpackages.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6c785595d189f65a59284796a9b1f60f16686e85
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Aug 14 21:41:44 2009 +0200

    Add a dpkg cron.daily script to backup the status file
    
    Create /etc/cron.daily/dpkg to handle the backup of /var/lib/dpkg/status
    in /var/backups. This is taken out of the cron package and need no
    conflicts/breaks as the code does nothing if the current status file is
    already backupped.
    
    Moving it out of the cron package makes it more visible for users
    inspecting the content of the dpkg package.
    
    Based-on-patch-by: Leo 'costela' Antunes <costela@debian.org>

 debian/changelog       |    5 +++++
 debian/dpkg.cron.daily |   10 ++++++++++
 debian/rules           |    3 ++-
 man/dpkg.1             |    3 +++
 4 files changed, 20 insertions(+), 1 deletions(-)

commit d31094b551ec0e7eea5e389f6791ff835eab6760
Author: Julien Cristau <jcristau@debian.org>
Date:   Fri Aug 7 17:49:30 2009 +0200

    dpkg-gensymbols(1): add kfreebsd-amd64 to the "64bit arches" symbol example
    
    This makes it less likely that this arch will be forgotten when
    maintainers copy/paste from the example.

 debian/changelog      |    2 ++
 man/dpkg-gensymbols.1 |    6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

commit 8a28be4f25166624a455134171515b3a0fc36774
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Aug 14 19:27:31 2009 +0200

    dpkg-scanpackages(1): correctly refer to the deb-overrides manual page

 man/dpkg-scanpackages.1 |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 121197a1efdb4e19d8b09cdceaea69262f1dd46b
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Fri Aug 14 19:25:07 2009 +0200

    dpkg-scanpackages: add support for extra override file
    
    Based-on-patch-by: Robert Millan <rmh@aybabtu.com>

 debian/changelog             |    2 ++
 man/dpkg-scanpackages.1      |    4 ++++
 scripts/dpkg-scanpackages.pl |   29 +++++++++++++++++++++++++++--
 3 files changed, 33 insertions(+), 2 deletions(-)

commit b97451856dece57d2fba7d3a7dda1a63297b7874
Author: Steve Petruzzello <dlist@bluewin.ch>
Date:   Fri Aug 14 17:21:21 2009 +0200

    man: Fix typo, wrong space

 man/po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 870db3e790f187464713a97c0a00b72b60747963
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Aug 14 10:05:54 2009 +0200

    update-alternatives: add a missing mark for translation

 scripts/update-alternatives.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d8432dde9f3901370e0ff72b5bef2dda6e18d78f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 13 21:24:35 2009 +0200

    Use MD5HASHLEN instead of literals

 TODO               |    1 -
 dpkg-split/info.c  |    4 ++--
 dpkg-split/queue.c |   12 +++++++-----
 lib/dpkg/mlib.c    |    2 +-
 4 files changed, 10 insertions(+), 9 deletions(-)

commit 2e7cc3f958eefca81c68a74b896279fdd133d981
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Aug 13 21:09:49 2009 +0200

    Remove double slash in database path creation
    
    Visible to the user in some error conditions.

 debian/changelog |    2 ++
 src/processarc.c |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 15cad2dc636e7efa871104e54de2c225d3676c5d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 11 20:19:50 2009 +0200

    Add forgotten bug closure
    
    Closes: #472208

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e3ef990f83a74130246b439b2e257e33c017758a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 9 14:33:38 2009 +0200

    dpkg: On file conflicts print the version of the conflicted package
    
    Makes it easier to report bugs, without needed to additionally check
    the installed version of the conflicted package.
    
    Closes: #540019

 debian/changelog |    2 ++
 src/archives.c   |   16 +++++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

commit 9e40c4a19bc193d07c934ead1cc0454226688969
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Aug 7 13:57:56 2009 +0200

    Fix typo in Swedish manual translation
    
    This was producing a build failure.
    
    Introduced in commit e27721cc8ae336dff1c3139bb6736f2b40597803.

 man/po/sv.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 2cbe23e4295b76939e58a84547191161861d36ed
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Aug 5 16:40:47 2009 +0200

    Bump install-info related versioned Breaks for konqueror
    
    Last version of konqueror before the fix is 4:4.2.96-1, thus change the
    dependency accordingly.

 debian/control |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e27721cc8ae336dff1c3139bb6736f2b40597803
Author: Peter Krefting <peterk@debian.org>
Date:   Mon Aug 3 20:30:22 2009 +0100

    Update Swedish translation.
    
    po/sv.po: Updated to 971t0f0u.
    man/po/sv.po: Update to 1608t0f0u.
    scripts/po/sv.po: Update to 476t0f0u.

 debian/changelog |    3 +
 man/po/sv.po     |   45 +-
 po/sv.po         | 1841 ++++++++++++++++++++++++++----------------------------
 scripts/po/sv.po |  245 ++++----
 4 files changed, 1032 insertions(+), 1102 deletions(-)

commit 28a8ec9ba082a6eeba9ed853d043bf17639d0399
Author: Simon Richter <sjr@debian.org>
Date:   Sun Aug 2 18:06:54 2009 +0200

    Add uClinux support to ostable and triplettable

 debian/changelog |    2 ++
 ostable          |    2 ++
 triplettable     |    2 ++
 3 files changed, 6 insertions(+), 0 deletions(-)

commit 9d015f4fb71cc13c9920c8d62f64f3c2f097389a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Aug 2 18:04:01 2009 +0200

    Add uClibc Linux support to ostable and triplettable
    
    Closes: #455501

 debian/changelog |    1 +
 ostable          |    2 ++
 triplettable     |    2 ++
 3 files changed, 5 insertions(+), 0 deletions(-)

commit 173652e75fad004c42906608fe0ff4556be29b19
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Thu Jul 30 18:38:57 2009 +0200

    Fix errors in a paragraph in the German man page translation.

 man/po/de.po |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 37a7407d040e5e6c33ebad6c029cc36d2a2768d5
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jul 25 15:49:35 2009 +0200

    update-alternatives: fix a warning message
    
    Mention the correct slave link that can't be installed due to a
    conflicting file instead of quoting the master link.

 debian/changelog               |    2 ++
 scripts/update-alternatives.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 74b5b92eaed9566565f522bd896187ed2920310c
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jul 25 00:48:14 2009 +0200

    Fix apply_patches() funtion of 3.0 (quilt) format to properly skip auto patch
    
    When quilt was used, it was applying the automatic patch even
    when $skip_auto was set to 1. This bug was introduced while fixing
    bug #518453 (commit ea1530fe45c8b1ad61d91c0791c53ecf363899bf).

 scripts/Dpkg/Source/Package/V3/quilt.pm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit cc6d3a6b1c5910fb89f85659bafba80816975859
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 22 18:11:39 2009 +0200

    po: Change path for libdpkg files in POTFILES to lib/dpkg/
    
    Missed in commit 01d05324e0669e3f3585d6aacde696333e49f087, was
    producing empty po files.

 po/POTFILES.in |   48 ++++++++++++++++++++++++------------------------
 1 files changed, 24 insertions(+), 24 deletions(-)

commit 4eb5386c09b26346b8e30604b070a6d34832d838
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 22 18:09:19 2009 +0200

    man: Fix typo in French translation breaking the build
    
    Introduced in commit f96f650bffaeb949a96107fcb188f9927be42171.

 man/po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 51029b602a3f75af00bcaf9b35ef3c2325d58460
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Wed Jul 22 10:39:43 2009 +0200

    Update german scripts translation
    
    Update to 476t.

 scripts/po/de.po |   58 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 24 deletions(-)

commit c2d042c2fbba96839ac21e42b2724027e3642420
Merge: 8ea582f 3fe3521
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Jul 21 23:16:52 2009 +0200

    Merge branch 'master' of ssh://git.debian.org/git/dpkg/dpkg

commit 8ea582ffda28c90865c5a8951189b16b946d5edb
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Jul 21 19:27:27 2009 +0200

    Completed French translation for scripts

 debian/changelog |    3 +-
 scripts/po/fr.po |  169 ++++++++++++++++++++++++++++--------------------------
 2 files changed, 90 insertions(+), 82 deletions(-)

commit fb757470ce13c38a41f325e5c428cae9d0aae4c6
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Jul 21 19:02:12 2009 +0200

    Recomplete French translation

 man/po/fr.po |  202 ++++++++++++++++++++--------------------------------------
 1 files changed, 70 insertions(+), 132 deletions(-)

commit d013b8b6163d064caabcf0fdd5fdc9e0371450a2
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Jul 21 18:58:17 2009 +0200

    Drop accidentally added file

 man/po/fr2.po |15925 ---------------------------------------------------------
 1 files changed, 0 insertions(+), 15925 deletions(-)

commit 7fb5b0e12692150f5ecd3507ef6005fef96ea3bd
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Jul 21 18:57:43 2009 +0200

    Regenerate POT file and resync PO files

 man/po/de.po             | 5248 ++++++++++++++++++++++++++++---------------
 man/po/dpkg-man.pot      | 5626 +++++++++++++++++-----------------------------
 man/po/es.po             | 4141 ++++++++++++++++-------------------
 man/po/fr.po             | 4825 +++++++++++++++++++--------------------
 man/po/{fr.po => fr2.po} | 4825 +++++++++++++++++++--------------------
 man/po/hu.po             | 4107 +++++++++++++++------------------
 man/po/ja.po             | 4640 +++++++++++++++++++--------------------
 man/po/pl.po             | 4653 +++++++++++++++++++--------------------
 man/po/pt_BR.po          | 4126 +++++++++++++++-------------------
 man/po/ru.po             | 4120 +++++++++++++++-------------------
 man/po/sv.po             | 4624 +++++++++++++++++++-------------------
 11 files changed, 24549 insertions(+), 26386 deletions(-)

commit f96f650bffaeb949a96107fcb188f9927be42171
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Jul 21 18:54:33 2009 +0200

    Updated French translation

 debian/changelog |    1 +
 man/po/fr.po     | 2011 ++++++++++++++++++++++++++++++------------------------
 2 files changed, 1114 insertions(+), 898 deletions(-)

commit 3fe3521d247a524a41018486aa2496c7803abed2
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue Jul 21 10:14:00 2009 +0200

    Dpkg::Changelog: fix heuristic to identify correct start entry
    
    The heuristic to identify the version number that is most approaching
    was not working properly for the case where the version number was smaller
    than the oldest version (for example "0"). Add a non-regression test for
    this case.
    
    Also add supplementary warnings message so that people notice when
    the parameters are discarded.

 debian/changelog               |    2 ++
 scripts/Dpkg/Changelog.pm      |   15 +++++++++++++--
 scripts/t/600_Dpkg_Changelog.t |    7 ++++++-
 3 files changed, 21 insertions(+), 3 deletions(-)

commit c2a3bc470b047c447d686b5d40a9d2b039ddcdd8
Author: Ivan Masár <helix84@centrum.sk>
Date:   Mon Jul 20 18:10:25 2009 +0200

    Slovak translation update

 debian/changelog |    1 +
 po/sk.po         |   24 ++++++++++++------------
 2 files changed, 13 insertions(+), 12 deletions(-)

commit 45af858b38518639fc8e5bc65d9e248d420f773e
Author: Ivan Masár <helix84@centrum.sk>
Date:   Mon Jul 20 18:08:07 2009 +0200

    Slovak translation update

 debian/changelog |    3 +
 dselect/po/sk.po |  255 +++++++++++++++++++++++++++---------------------------
 2 files changed, 129 insertions(+), 129 deletions(-)

commit b866c02dfc669dd170680c1bd13b8c0f9898bea5
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Jul 20 08:47:09 2009 +0200

    Fix preinst to not fail on read on broken alternatives status files
    
    The internal structure of alternatives status file is line based.
    Empty lines end each section. read call can fail if the file is truncated
    at some unexpected point. Thus protect all read calls with "|| continue"
    or "|| break" depending on the case.

 debian/changelog    |    2 ++
 debian/dpkg.preinst |    8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

commit 3417f25ffe2c2ea36640952af0e2c1885edaaa5b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jul 19 09:38:27 2009 +0200

    Update german translation of manual pages
    
    Update to 1608t.

 man/po/de.po | 3105 +++++++++++++---------------------------------------------
 1 files changed, 698 insertions(+), 2407 deletions(-)

commit 2ff362a3b623555657309df89482093a3d0d8c83
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 16 22:53:41 2009 +0200

    dselect: Add builddir to the quoted include search path
    
    The curkeys.h file gets generated at build time, and if we use an out
    of tree build directory, it cannot be found in the current search path.
    But we don't want to add the builddir to the system include search path
    as it will give file collisions when builddir is the same as srcdir.
    Hence we only add it for quoted includes.

 dselect/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 952faba871d51799d52b267889a17d16381e6ddd
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 23:06:05 2009 +0200

    libdpkg: Move subproc related declarations to subproc.h

 dpkg-deb/build.c   |    1 +
 dpkg-deb/extract.c |    1 +
 dpkg-deb/info.c    |    1 +
 lib/dpkg/dpkg.h    |    6 ------
 lib/dpkg/subproc.h |    9 +++++++++
 src/archives.c     |    1 +
 src/processarc.c   |    1 +
 7 files changed, 14 insertions(+), 6 deletions(-)

commit 605162178fe6e6b5c0a675003391635512b0af33
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 16:34:59 2009 +0200

    libdpkg: Split dpkg-priv.h into smaller pieces
    
    Make the dependencies on other modules explicit, and avoid clutter by
    not including unneeded stuff.

 dpkg-deb/build.c                    |    2 +-
 dselect/method.cc                   |    2 +-
 lib/dpkg/Makefile.am                |    7 +++----
 lib/dpkg/fields.c                   |    2 +-
 lib/dpkg/parsehelp.c                |    2 +-
 lib/dpkg/path.c                     |    2 +-
 lib/dpkg/{dpkg-priv.h => path.h}    |   21 +++++----------------
 lib/dpkg/string.c                   |    2 +-
 lib/dpkg/{string.c => string.h}     |   26 ++++++++------------------
 lib/dpkg/subproc.c                  |    2 +-
 lib/dpkg/{dpkg-priv.h => subproc.h} |   23 ++++-------------------
 lib/dpkg/test/t-path.c              |    2 +-
 lib/dpkg/test/t-string.c            |    2 +-
 src/filesdb.c                       |    2 +-
 src/help.c                          |    3 ++-
 src/query.c                         |    2 +-
 16 files changed, 33 insertions(+), 69 deletions(-)

commit 7fa96f351b61259f741bcd952beb9468f0c7516c
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 15:42:48 2009 +0200

    Disable default automake preprocessor include paths
    
    Tell automake not to add “-I.” to the preprocessor flags, to avoid
    file collisions with system headers. Re-add the path where config.h
    is located. Namespace and use bracketed file inclusions for libdpkg
    headers, and use quoted inclusions for program headers.

 configure.ac              |    2 +-
 dpkg-deb/Makefile.am      |    2 +-
 dpkg-deb/build.c          |    9 +++++----
 dpkg-deb/extract.c        |    7 ++++---
 dpkg-deb/info.c           |    7 ++++---
 dpkg-deb/main.c           |    6 +++---
 dpkg-split/Makefile.am    |    2 +-
 dpkg-split/info.c         |    7 ++++---
 dpkg-split/join.c         |    7 ++++---
 dpkg-split/main.c         |    6 +++---
 dpkg-split/queue.c        |    7 ++++---
 dpkg-split/split.c        |    7 ++++---
 dselect/Makefile.am       |    4 ++--
 dselect/basecmds.cc       |    4 ++--
 dselect/baselist.cc       |    4 ++--
 dselect/basetop.cc        |    2 +-
 dselect/bindings.cc       |    4 ++--
 dselect/curkeys.cc        |    2 +-
 dselect/dselect.h         |    3 ++-
 dselect/main.cc           |    6 +++---
 dselect/methkeys.cc       |    2 +-
 dselect/methlist.cc       |    4 ++--
 dselect/method.cc         |    6 +++---
 dselect/methparse.cc      |    4 ++--
 dselect/pkgcmds.cc        |    4 ++--
 dselect/pkgdepcon.cc      |    4 ++--
 dselect/pkgdisplay.cc     |    4 ++--
 dselect/pkginfo.cc        |    4 ++--
 dselect/pkgkeys.cc        |    2 +-
 dselect/pkglist.cc        |    4 ++--
 dselect/pkgsublist.cc     |    4 ++--
 dselect/pkgtop.cc         |    4 ++--
 lib/dpkg/Makefile.am      |    1 +
 lib/dpkg/cleanup.c        |    3 ++-
 lib/dpkg/compression.c    |    4 ++--
 lib/dpkg/database.c       |    4 ++--
 lib/dpkg/dbmodify.c       |    4 ++--
 lib/dpkg/dump.c           |    6 +++---
 lib/dpkg/ehandle.c        |    4 ++--
 lib/dpkg/fields.c         |    8 ++++----
 lib/dpkg/lock.c           |    4 ++--
 lib/dpkg/log.c            |    4 ++--
 lib/dpkg/mlib.c           |    6 +++---
 lib/dpkg/myopt-util.c     |    4 ++--
 lib/dpkg/myopt.c          |    4 ++--
 lib/dpkg/nfmalloc.c       |    7 +++----
 lib/dpkg/parse.c          |    6 +++---
 lib/dpkg/parsehelp.c      |    9 ++++-----
 lib/dpkg/path.c           |    3 ++-
 lib/dpkg/showpkg.c        |    7 +++----
 lib/dpkg/string.c         |    2 +-
 lib/dpkg/subproc.c        |    4 ++--
 lib/dpkg/tarfn.c          |    4 ++--
 lib/dpkg/test.h           |    2 +-
 lib/dpkg/test/Makefile.am |    2 +-
 lib/dpkg/test/t-path.c    |    2 +-
 lib/dpkg/test/t-pkginfo.c |    2 +-
 lib/dpkg/test/t-string.c  |    2 +-
 lib/dpkg/test/t-varbuf.c  |    2 +-
 lib/dpkg/test/t-version.c |    2 +-
 lib/dpkg/trigdeferred.l   |    4 ++--
 lib/dpkg/triglib.c        |    6 +++---
 lib/dpkg/utils.c          |    4 +++-
 lib/dpkg/varbuf.c         |    4 ++--
 lib/dpkg/vercmp.c         |    6 +++---
 src/Makefile.am           |    2 +-
 src/archives.c            |    8 ++++----
 src/cleanup.c             |    8 ++++----
 src/configure.c           |    4 ++--
 src/depcon.c              |    4 ++--
 src/divertdb.c            |    4 ++--
 src/enquiry.c             |    6 +++---
 src/errors.c              |    6 +++---
 src/filesdb.c             |    8 ++++----
 src/help.c                |    6 +++---
 src/main.c                |    6 +++---
 src/packages.c            |    6 +++---
 src/pkg-array.c           |    4 ++--
 src/pkg-array.h           |    2 +-
 src/pkg-show.c            |    4 ++--
 src/processarc.c          |    8 ++++----
 src/query.c               |    8 ++++----
 src/remove.c              |    6 +++---
 src/select.c              |    6 +++---
 src/statdb.c              |    4 ++--
 src/trigcmd.c             |    6 +++---
 src/trigproc.c            |    4 ++--
 src/update.c              |    6 +++---
 utils/Makefile.am         |    2 +-
 89 files changed, 209 insertions(+), 199 deletions(-)

commit 4a7010fe5e3573cc919788d354fdbccdedce249d
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 11:27:26 2009 +0200

    libdpkg: Rename dpkg-test.h to test.h

 lib/dpkg/{dpkg-test.h => test.h} |    2 +-
 lib/dpkg/test/t-macros.c         |    2 +-
 lib/dpkg/test/t-path.c           |    2 +-
 lib/dpkg/test/t-pkginfo.c        |    2 +-
 lib/dpkg/test/t-string.c         |    2 +-
 lib/dpkg/test/t-test.c           |    2 +-
 lib/dpkg/test/t-varbuf.c         |    2 +-
 lib/dpkg/test/t-version.c        |    2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

commit 289c2911844317dfdd0c4b8d9034820502da483e
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 11:21:05 2009 +0200

    libdpkg: Rename dpkg-i18n.h to i18n.h

 dpkg-deb/build.c                 |    2 +-
 dpkg-deb/extract.c               |    2 +-
 dpkg-deb/info.c                  |    2 +-
 dpkg-deb/main.c                  |    2 +-
 dpkg-split/info.c                |    2 +-
 dpkg-split/join.c                |    2 +-
 dpkg-split/main.c                |    2 +-
 dpkg-split/queue.c               |    2 +-
 dpkg-split/split.c               |    2 +-
 dselect/basecmds.cc              |    2 +-
 dselect/baselist.cc              |    2 +-
 dselect/bindings.cc              |    2 +-
 dselect/helpmsgs.cc              |    2 +-
 dselect/main.cc                  |    2 +-
 dselect/methlist.cc              |    2 +-
 dselect/method.cc                |    2 +-
 dselect/methparse.cc             |    2 +-
 dselect/pkgdisplay.cc            |    2 +-
 dselect/pkginfo.cc               |    2 +-
 dselect/pkglist.cc               |    2 +-
 dselect/pkgsublist.cc            |    2 +-
 dselect/pkgtop.cc                |    2 +-
 lib/dpkg/Makefile.am             |    2 +-
 lib/dpkg/compression.c           |    2 +-
 lib/dpkg/database.c              |    2 +-
 lib/dpkg/dbmodify.c              |    2 +-
 lib/dpkg/dump.c                  |    2 +-
 lib/dpkg/ehandle.c               |    2 +-
 lib/dpkg/fields.c                |    2 +-
 lib/dpkg/{dpkg-i18n.h => i18n.h} |    2 +-
 lib/dpkg/lock.c                  |    2 +-
 lib/dpkg/log.c                   |    2 +-
 lib/dpkg/mlib.c                  |    2 +-
 lib/dpkg/myopt-util.c            |    2 +-
 lib/dpkg/myopt.c                 |    2 +-
 lib/dpkg/nfmalloc.c              |    2 +-
 lib/dpkg/parse.c                 |    2 +-
 lib/dpkg/parsehelp.c             |    2 +-
 lib/dpkg/progress.c              |    2 +-
 lib/dpkg/showpkg.c               |    2 +-
 lib/dpkg/subproc.c               |    2 +-
 lib/dpkg/trigdeferred.l          |    2 +-
 lib/dpkg/triglib.c               |    2 +-
 lib/dpkg/utils.c                 |    2 +-
 src/archives.c                   |    2 +-
 src/cleanup.c                    |    2 +-
 src/configure.c                  |    2 +-
 src/depcon.c                     |    2 +-
 src/divertdb.c                   |    2 +-
 src/enquiry.c                    |    2 +-
 src/errors.c                     |    2 +-
 src/filesdb.c                    |    2 +-
 src/help.c                       |    2 +-
 src/main.c                       |    2 +-
 src/packages.c                   |    2 +-
 src/pkg-show.c                   |    2 +-
 src/processarc.c                 |    2 +-
 src/query.c                      |    2 +-
 src/remove.c                     |    2 +-
 src/select.c                     |    2 +-
 src/statdb.c                     |    2 +-
 src/trigcmd.c                    |    2 +-
 src/trigproc.c                   |    2 +-
 src/update.c                     |    2 +-
 64 files changed, 64 insertions(+), 64 deletions(-)

commit 935c3d7bc6adbf721091c0a6e48e0967e9b61e00
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 11:11:07 2009 +0200

    s-s-d: Use sizeof_array instead of ad-hoc calculation

 utils/start-stop-daemon.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e37532e80f4db81dda48401513d5fee4c85d2083
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 15:43:52 2009 +0200

    Remove unused dpkg-priv.h header includes

 src/divertdb.c  |    1 -
 src/enquiry.c   |    1 -
 src/pkg-array.c |    1 -
 src/statdb.c    |    1 -
 4 files changed, 0 insertions(+), 4 deletions(-)

commit 105ba53cc13950a9fc9186ae8fab7ad4a7b05e01
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 12:14:39 2009 +0200

    libdpkg: Move C language definition macros to macros.h

 dpkg-deb/main.c                   |    2 +-
 dpkg-split/main.c                 |    2 +-
 lib/dpkg/Makefile.am              |    2 +-
 lib/dpkg/dpkg-db.h                |    2 +-
 lib/dpkg/dpkg-i18n.h              |    2 +-
 lib/dpkg/dpkg-priv.h              |   16 +---------------
 lib/dpkg/dpkg.h                   |    2 +-
 lib/dpkg/ehandle.c                |    2 +-
 lib/dpkg/{dpkg-def.h => macros.h} |   23 +++++++++++++++++++----
 lib/dpkg/myopt.h                  |    2 +-
 lib/dpkg/parse.c                  |    2 +-
 lib/dpkg/progress.h               |    2 +-
 lib/dpkg/tarfn.c                  |    3 ++-
 lib/dpkg/test/t-macros.c          |    2 +-
 src/configure.c                   |    2 +-
 src/main.c                        |    2 +-
 src/pkg-show.c                    |    2 +-
 utils/start-stop-daemon.c         |    2 +-
 18 files changed, 37 insertions(+), 35 deletions(-)

commit da17101a4aa8950d2927dd9e0d823fb36d5057b5
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 01:36:06 2009 +0200

    libdpkg: Rename and namespace compiler attributes
    
    Prefix them all with DPKG_ATTR_, and use shorter but still meaningful
    names.

 dpkg-deb/dpkg-deb.h       |    2 +-
 dpkg-deb/extract.c        |    2 +-
 dpkg-split/dpkg-split.h   |    6 +++---
 dselect/methparse.cc      |    4 ++--
 lib/dpkg/dpkg-db.h        |    2 +-
 lib/dpkg/dpkg-def.h       |   16 ++++++++--------
 lib/dpkg/dpkg.h           |   26 +++++++++++++-------------
 lib/dpkg/ehandle.c        |    2 +-
 lib/dpkg/mlib.c           |    2 +-
 lib/dpkg/myopt.h          |    8 ++++----
 lib/dpkg/parsedump.h      |    4 ++--
 src/main.c                |    2 +-
 src/main.h                |    6 +++---
 utils/start-stop-daemon.c |    4 ++--
 14 files changed, 43 insertions(+), 43 deletions(-)

commit 17432e273992d023fe17ab423aec051ea7727c6b
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 01:41:49 2009 +0200

    libdpkg: Change PRINTFFORMAT to take only one argument
    
    Always assume the variable arguments go just after the format string.

 lib/dpkg/dpkg-db.h        |    2 +-
 lib/dpkg/dpkg-def.h       |    4 ++--
 lib/dpkg/dpkg.h           |   20 ++++++++++----------
 lib/dpkg/myopt.h          |    2 +-
 lib/dpkg/parsedump.h      |    4 ++--
 src/main.h                |    4 ++--
 utils/start-stop-daemon.c |    2 +-
 7 files changed, 19 insertions(+), 19 deletions(-)

commit 01d05324e0669e3f3585d6aacde696333e49f087
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 15 12:14:29 2009 +0200

    Move libraries to subdirectories under lib/
    
    This will allow to use the same include path than the future system
    one, for example “#include <dpkg/dpkg.h>”. It also unclutters the source
    topdir.

 Makefile.am                           |    1 -
 configure.ac                          |    7 ++--
 dpkg-deb/Makefile.am                  |    7 ++--
 dpkg-split/Makefile.am                |    7 ++--
 dselect/Makefile.am                   |    7 ++--
 lib/Makefile.am                       |   51 ++-------------------------------
 {libcompat => lib/compat}/Makefile.am |    2 +-
 {libcompat => lib/compat}/alphasort.c |    0
 {libcompat => lib/compat}/compat.h    |    0
 {libcompat => lib/compat}/getopt.c    |    0
 {libcompat => lib/compat}/getopt.h    |    0
 {libcompat => lib/compat}/getopt1.c   |    0
 {libcompat => lib/compat}/gettext.h   |    0
 {libcompat => lib/compat}/obstack.c   |    0
 {libcompat => lib/compat}/obstack.h   |    0
 {libcompat => lib/compat}/scandir.c   |    0
 {libcompat => lib/compat}/snprintf.c  |    0
 {libcompat => lib/compat}/strerror.c  |    0
 {libcompat => lib/compat}/strnlen.c   |    0
 {libcompat => lib/compat}/strnlen.h   |    0
 {libcompat => lib/compat}/strsignal.c |    0
 {libcompat => lib/compat}/unsetenv.c  |    0
 {libcompat => lib/compat}/vsnprintf.c |    0
 lib/{ => dpkg}/.gitignore             |    0
 lib/{ => dpkg}/Makefile.am            |    3 +-
 lib/{ => dpkg}/cleanup.c              |    0
 lib/{ => dpkg}/compression.c          |    0
 lib/{ => dpkg}/database.c             |    0
 lib/{ => dpkg}/dbmodify.c             |    0
 lib/{ => dpkg}/dlist.h                |    0
 lib/{ => dpkg}/dpkg-db.h              |    0
 lib/{ => dpkg}/dpkg-def.h             |    0
 lib/{ => dpkg}/dpkg-i18n.h            |    0
 lib/{ => dpkg}/dpkg-priv.h            |    0
 lib/{ => dpkg}/dpkg-test.h            |    0
 lib/{ => dpkg}/dpkg.h                 |    0
 lib/{ => dpkg}/dump.c                 |    0
 lib/{ => dpkg}/ehandle.c              |    0
 lib/{ => dpkg}/fields.c               |    0
 lib/{ => dpkg}/lock.c                 |    0
 lib/{ => dpkg}/log.c                  |    0
 lib/{ => dpkg}/md5.c                  |    0
 lib/{ => dpkg}/md5.h                  |    0
 lib/{ => dpkg}/mlib.c                 |    0
 lib/{ => dpkg}/myopt-util.c           |    0
 lib/{ => dpkg}/myopt.c                |    0
 lib/{ => dpkg}/myopt.h                |    0
 lib/{ => dpkg}/nfmalloc.c             |    0
 lib/{ => dpkg}/parse.c                |    0
 lib/{ => dpkg}/parsedump.h            |    0
 lib/{ => dpkg}/parsehelp.c            |    0
 lib/{ => dpkg}/path.c                 |    0
 lib/{ => dpkg}/progress.c             |    0
 lib/{ => dpkg}/progress.h             |    0
 lib/{ => dpkg}/showpkg.c              |    0
 lib/{ => dpkg}/string.c               |    0
 lib/{ => dpkg}/subproc.c              |    0
 lib/{ => dpkg}/tarfn.c                |    0
 lib/{ => dpkg}/tarfn.h                |    0
 lib/{ => dpkg}/test/.gitignore        |    0
 lib/{ => dpkg}/test/Makefile.am       |    3 +-
 lib/{ => dpkg}/test/t-macros.c        |    0
 lib/{ => dpkg}/test/t-path.c          |    0
 lib/{ => dpkg}/test/t-pkginfo.c       |    0
 lib/{ => dpkg}/test/t-string.c        |    0
 lib/{ => dpkg}/test/t-test.c          |    0
 lib/{ => dpkg}/test/t-varbuf.c        |    0
 lib/{ => dpkg}/test/t-version.c       |    0
 lib/{ => dpkg}/trigdeferred.l         |    0
 lib/{ => dpkg}/triglib.c              |    0
 lib/{ => dpkg}/utils.c                |    0
 lib/{ => dpkg}/varbuf.c               |    0
 lib/{ => dpkg}/vercmp.c               |    0
 src/Makefile.am                       |   15 +++++----
 utils/Makefile.am                     |   10 ++++--
 75 files changed, 39 insertions(+), 74 deletions(-)

commit 439f77d84e2d98bfc363fa5b21cae97225df2cef
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Wed Jul 15 21:03:49 2009 +0200

    Dpkg::Shlibs::SymbolFile::load(): use a single object reference everywhere
    
    Instead of keeping two variables synchronized (one being the ref of the
    other), use the reference everywhere. And simplify creation of the
    initial reference.

 scripts/Dpkg/Shlibs/SymbolFile.pm |   29 ++++++++++++++---------------
 1 files changed, 14 insertions(+), 15 deletions(-)

commit e411b5732dd76a157a50778ce96c81115b49332a
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Wed Jul 15 19:38:45 2009 +0300

    Replace local with my in SymbolFile::load() and use strict.
    
    Rather than creating an alias with local, manually do $current_object_ref
    re-referencing. This allows to use 'my $object' and to enable 'use strict'.
    
    Signed-off-by: Modestas Vainius <modestas@vainius.eu>

 scripts/Dpkg/Shlibs/SymbolFile.pm |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 77f7292128f315e0cd95177241184252604347ce
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Wed Jul 15 16:44:21 2009 +0200

    deb-substvars(5): list fields where substvars do not work

 debian/changelog    |    2 ++
 man/deb-substvars.5 |    5 +++++
 2 files changed, 7 insertions(+), 0 deletions(-)

commit 8e70b9b2f9d16010c614496c0f8f7e9a0d6ced15
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Mon Jun 29 00:18:17 2009 +0300

    dpkg-gensymbols: improve diff label again.
    
    Use "$source_file ($package $arch)".
    
    Signed-off-by: Modestas Vainius <modestas@vainius.eu>

 debian/changelog           |    3 +++
 scripts/dpkg-gensymbols.pl |    5 ++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit a27d14c4423c44b400764c99b669824f4ba6e9a1
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Wed Jul 15 15:59:03 2009 +0200

    Add new test case for symbols file parsing
    
    Ensure that an #include can change the name of the currently parsed
    library (ELF object).

 scripts/t/200_Dpkg_Shlibs.t                 |    8 +++++++-
 scripts/t/200_Dpkg_Shlibs/symbols.fake-3    |    5 +++++
 scripts/t/200_Dpkg_Shlibs/symbols.include-1 |    2 ++
 3 files changed, 14 insertions(+), 1 deletions(-)

commit 4bd14c490b63e58798108969ac3a5a1aa2fa04f3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 14 12:51:40 2009 +0200

    dselect: Fix typo in package deselection condition
    
    The test was always false due to the typo.

 debian/changelog     |    2 ++
 dselect/pkgdepcon.cc |   10 +++++-----
 2 files changed, 7 insertions(+), 5 deletions(-)

commit e60e66ecf721c971f952a7ce095a545c9e7b718b
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 14 12:37:58 2009 +0200

    Remove TODO item

 TODO |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 6b0af3e6fa73e9e30f67dc885164244e13ec5d6c
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 14 12:35:51 2009 +0200

    Add fakeroot to dpkg-dev Recommends
    
    Since version 1.14.7, dpkg-buildpackage uses fakeroot by default to
    obtain (emulated) root privileges.
    
    Reported-by: Sven Joachim <svenjoac@gmx.de>
    Closes: #536821

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 08463d3cafdad1c25b95d23daa16cb70e6bc84a3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 14 12:32:53 2009 +0200

    Cleanup eflag value names
    
    Remove f and v from value names. Remove duplicated value for reinstreq.

 dselect/pkgdepcon.cc |    7 +++++--
 lib/database.c       |    4 ++--
 lib/dpkg-db.h        |    5 ++---
 lib/dump.c           |    2 +-
 lib/parse.c          |    2 +-
 lib/parsehelp.c      |    6 +++---
 src/archives.c       |    2 +-
 src/cleanup.c        |   12 ++++++------
 src/configure.c      |    4 ++--
 src/enquiry.c        |    5 +++--
 src/processarc.c     |    8 ++++----
 src/remove.c         |    4 ++--
 12 files changed, 32 insertions(+), 29 deletions(-)

commit fb6c4a7a7a46b8ba7d6e6ff959bf6b23058690bb
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jul 14 12:04:47 2009 +0200

    Remove obsolete ‘hold’ and ‘hold-reinstreq’ internal status flags
    
    These flags have been obsolete for a long time, and the ‘hold’ part
    has been converted to the ‘want_hold’ value on database parse. No
    current system having been upgraded through several Debian releases
    should have those values in their status database anymore.

 debian/changelog      |    1 +
 dselect/pkgdisplay.cc |    2 +-
 lib/dpkg-db.h         |    5 +----
 lib/dump.c            |    2 +-
 lib/fields.c          |    4 ----
 lib/parsehelp.c       |    2 --
 src/query.c           |    4 ++--
 7 files changed, 6 insertions(+), 14 deletions(-)

commit 5bd53bc1a8d179ff1891b0362ac1968b36d31faa
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 13 15:10:21 2009 +0200

    Move filesdbinit declaration to filesdb.h

 src/filesdb.h |    2 ++
 src/main.c    |    1 +
 src/main.h    |    4 ----
 3 files changed, 3 insertions(+), 4 deletions(-)

commit 85a398c3d086424508bcc07abbb1bc678bb130fc
Author: Branden Robinson <branden@debian.org>
Date:   Thu Nov 20 07:00:02 2008 +0200

    Fix typo in macro argument

 src/main.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 7f10797af7cda2a8855f6e132ce0163b46c05ada
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Nov 20 07:02:50 2008 +0200

    Fix typo in comment

 src/processarc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2efaf5ff4af2653bbb69d05568d8628d7cb0e97b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 13 14:32:34 2009 +0200

    Inline CONFFOPTCELLS into conffoptcells definition
    
    The values in CONFFOPTCELLS are dpkg specific, and not to be found in
    libdpkg so there's no much point in defining the macro there. Also this
    makes for clearer code.

 lib/dpkg.h      |    6 ------
 src/configure.c |    6 +++++-
 2 files changed, 5 insertions(+), 7 deletions(-)

commit 1dbc6b9f37317966a956158bca3798328a4f525b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 13 14:29:31 2009 +0200

    dpkg: Make conffoptcells static

 src/configure.c |    2 +-
 src/main.h      |    1 -
 2 files changed, 1 insertions(+), 2 deletions(-)

commit 9a979e68fa47c0288e77102e935fa0703821207e
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 13 13:56:01 2009 +0200

    dpkg: Remove unused cfom_main enum value

 src/main.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 2a7cbd9bbad67021e447068521fd60d42e02cb46
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 13 02:44:48 2009 +0200

    dpkg-split: Properly check error condition on open when splitting

 dpkg-split/split.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit de24e8d710686a4e271caaccfe3f46a4619ecba1
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jul 13 02:27:15 2009 +0200

    dpkg-deb: Remove trailing ‘/’ and ‘/.’ from the directory name on -b
    
    When using “dpkg-deb -b” and specifiyng only the directory name to be
    used as the base name for the package name, remove any trailing
    characters that would make dpkg-deb create the destination file inside
    the directory.
    
    Closes: #218018, #373602

 debian/changelog |    2 ++
 dpkg-deb/build.c |    5 ++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit 9d8edc5884220596d612f7274ec77a3aba701545
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 12 23:55:05 2009 +0200

    Remove unused assert.h includes

 dpkg-split/split.c  |    1 -
 dselect/basecmds.cc |    2 --
 dselect/bindings.cc |    1 -
 src/cleanup.c       |    1 -
 src/divertdb.c      |    1 -
 src/statdb.c        |    1 -
 src/trigcmd.c       |    1 -
 src/update.c        |    1 -
 8 files changed, 0 insertions(+), 9 deletions(-)

commit 410a4e08a6eec83000c8c974d98f64523ee8a973
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 12 23:05:03 2009 +0200

    man: Document “hold” as package selection state instead of flag

 debian/changelog |    1 +
 man/dpkg.1       |    8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

commit 7043dca96e2d568242558b457b79ac805c46113f
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 12 22:45:49 2009 +0200

    Update TODO list

 TODO |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

commit f09acc9d384bd85cd9b3f87ba8d57edbbf64661b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 12 22:19:45 2009 +0200

    Reschedule roadmap and feature removals in relation to versions
    
    Use versions instead of Debian specific releases, although we map minor
    versions to Debian releases.

 README.feature-removal-schedule |   10 +++++-----
 TODO                            |   24 +++++++++---------------
 2 files changed, 14 insertions(+), 20 deletions(-)

commit a9761ebe6bd5b99bece2a156e717b2af94d0eab0
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 12 21:38:16 2009 +0200

    dpkg: Coalesce similar “takes no arguments” strings
    
    Move the option name to an argument to reuse existing translations.

 src/trigcmd.c |    3 ++-
 src/update.c  |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 224f0285abc304bec059e6144778177c2eed06ee
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 12 20:11:53 2009 +0200

    Obsolete --forget-old-unavail
    
    On parse mark not-installed leftover packages for automatic removal from
    the database on next dump. The states we consider for removal are
    want_purge, want_deinstall and want_hold. The latter being the ancient
    default for not-installed packages.
    
    This makes the --forget-old-unavail option not useful anymore, so switch
    it to be a no-op, and target it for future removal as obsolescent.
    
    Closes: #33394, #429262

 README.feature-removal-schedule |    9 +++++++++
 debian/changelog                |    3 +++
 dselect/methods/disk/update     |    2 --
 lib/parse.c                     |   13 +++++++++++++
 man/dpkg.1                      |    3 ++-
 src/update.c                    |   31 ++-----------------------------
 6 files changed, 29 insertions(+), 32 deletions(-)

commit 6c6ec4a438f889e90f4741fd7780eb6626e933e1
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jul 12 20:02:56 2009 +0200

    dpkg: Properly mark packages being purged for disappearance
    
    When a package has been purged, it should be marked as want_unknown
    and the configversion blanked, otherwise dpkg considers it to still
    be informative and keeps it around, which needs later on manual
    intervention from the user to clean up the database.

 debian/changelog |    3 +++
 src/processarc.c |    3 ++-
 src/remove.c     |    2 ++
 3 files changed, 7 insertions(+), 1 deletions(-)

commit 896b469211b21a01c847946240f2d003d3dfb71b
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 10 21:50:56 2009 +0200

    libdpkg: Use isblank instead of ad-hoc comparisons

 lib/parsehelp.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 66dff5a82489c9daf85876492fb1969041c181e9
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Sat Jul 11 07:24:31 2009 +0200

    Italian translation updated

 debian/changelog |    1 +
 po/it.po         | 3421 +++++++++++++++++++++++++-----------------------------
 2 files changed, 1553 insertions(+), 1869 deletions(-)

commit f0525ce3409b3dc5422a5b0c5cc28197c55cb015
Merge: 939b0c0 30f797c
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jul 10 12:12:03 2009 +0200

    Merge branch 'sid' (through tag '1.15.3.1')
    
    Conflicts:
    	configure.ac
    	debian/changelog

commit 939b0c0f90d145dda2918beec6bfb48694528503
Author: Holger Wansing <linux@wansing-online.de>
Date:   Thu Jul 9 21:23:25 2009 +0200

    Fix poor wording in German dpkg translation

 po/de.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 30f797c7c1fa1bac2388e47d1c28302804a9c53b
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 8 11:26:55 2009 +0200

    Release 1.15.3.1

 configure.ac     |    2 +-
 debian/changelog |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit fd4d99862af837ccf12e83d13da73e8ffb24aa17
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sun Jun 28 23:59:06 2009 +0300

    Fix wildcard support in symbol files
    
    They were broken due to typo. Also add a test for wildcards.
    
    Signed-off-by: Modestas Vainius <modestas@vainius.eu>

 debian/changelog                  |    3 ++-
 scripts/Dpkg/Shlibs/SymbolFile.pm |    2 +-
 scripts/t/200_Dpkg_Shlibs.t       |   13 ++++++++++++-
 3 files changed, 15 insertions(+), 3 deletions(-)

commit 9d0fe91f2291dc5b9ceed8f63a1fc006f20e36ed
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 8 11:13:54 2009 +0200

    Bump version to 1.15.3.1~

 configure.ac     |    2 +-
 debian/changelog |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

commit fd2fd13cb3d63e6fbe55eab75a26f5ac217f55c7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Jul 6 18:20:38 2009 +0200

    Update german translation of manual pages
    
    Update to 1664t0u0f.

 man/po/de.po |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

commit 932d6ff120001545f0e39a89a77b294744274591
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jul 5 08:35:28 2009 +0200

    Update German scripts translation
    
    Update to 474t.

 debian/changelog |    3 +
 scripts/po/de.po |  181 ++++++++++++++++++++++++++----------------------------
 2 files changed, 90 insertions(+), 94 deletions(-)

commit 30269085225c9b0a6bfd972cc2dda562cae7be0b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jul 4 15:24:37 2009 +0200

    Fix minor translation error in scripts/po/de.po

 scripts/po/de.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e48d19ed49520effe79af9ed5c9dc7e744cb1137
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Jul 3 17:34:22 2009 +0200

    Fix typo (unexecpted -> unexpected)

 src/statdb.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cdd6ef8d473bdae7a7c1166075c8355ddb6d0361
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Jul 3 17:31:21 2009 +0200

    German dpkg translation update
    
    Update to 1005t8f.

 debian/changelog |    3 ++-
 po/de.po         |   18 +++++++++---------
 2 files changed, 11 insertions(+), 10 deletions(-)

commit 724ddc2dd8ce11dc30249dcb6023b0b8f56a739d
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Jul 3 15:58:20 2009 +0200

    Update Standards-Version to 3.8.2

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 4a1e8173f63c1c7a6807aa76280fc8aec128bc81
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Jul 3 15:43:29 2009 +0200

    Fix dpkg's preinst when alternatives dir contains unexpected subdirs
    
    Adjust the lintian overrides accordingly.

 debian/changelog              |    2 ++
 debian/dpkg.lintian-overrides |    6 +++---
 debian/dpkg.preinst           |    5 +++--
 3 files changed, 8 insertions(+), 5 deletions(-)

commit 49c5d0bbe00b3922fb07efae60fd65bb91c64bb1
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Jul 3 15:35:50 2009 +0200

    Add changelog entry for the install-info transition

 TODO             |    1 +
 debian/changelog |    7 +++++++
 2 files changed, 8 insertions(+), 0 deletions(-)

commit 72d4a9154d0f7ac2d9a1adad3dd59368d9d86c2f
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue Jun 30 12:20:30 2009 +0200

    Breaks: xemacs21-support instead instead of all xemacs21-*
    
    The maintainer decided to factorize the install-info dependency
    in the xemacs21-support package so we should ensure that this
    package gets upgraded and not only the other ones.

 debian/control |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

commit dd7baf825098209e1b311b3b5e19eaf8c18fe800
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Thu Jun 25 23:17:18 2009 +0200

    Add breaks against all info-browsers that do not depend on install-info

 debian/control |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit 1b5209ec9b15a3ccccdf80f5e9ebfe102116a6d8
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 17 02:48:38 2009 +0200

    install-info: Improve a bit the warning messages

 utils/install-info.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit 06065fb42580849874dc94a7b7a2bcc0bd2798c3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 17 02:41:21 2009 +0200

    install-info: Print buggy maintainer script package in warning

 utils/install-info.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 6859b8af0f9ce00cc25e84d6d1fcb4fb4eae09f7
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 17 02:39:12 2009 +0200

    install-info: Use macros for warn and error output

 utils/install-info.c |   38 ++++++++++++++++++++------------------
 1 files changed, 20 insertions(+), 18 deletions(-)

commit 20dcd4f212fe9cfe928349de2d5a1ace735e18e9
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 17 02:35:33 2009 +0200

    install-info: Generalize by using macros for paths

 utils/install-info.c |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

commit ee31b22c9f3ccde710110e8512a2223b2ce35795
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 17 02:20:16 2009 +0200

    install-info: Add missing stdlib.h
    
    Fix build failure, getenv is declared in stdlib.h.

 utils/install-info.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit e1f03a94a08efb9de3736ff8b9c7c3fe24cda50e
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 17 02:18:18 2009 +0200

    Use autoconf AC_ARG_PROGRAM support to rename install-info
    
    Rename the binary on install to avoid colliding with autoconf's
    install-info builtin targets.

 utils/.gitignore  |    3 +--
 utils/Makefile.am |   17 +++++++----------
 2 files changed, 8 insertions(+), 12 deletions(-)

commit c23407d285734d66aca07ecfbb45d7f8604ce706
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Mar 13 15:47:52 2009 +0100

    Replace install-info by a simple wrapper (or no-op command)
    
    In order to properly transition to GNU's install-info, dpkg's install-info
    is modified to be a simple wrapper around /usr/bin/install-info. That
    wrapper warns when the user explicitely calls /usr/sbin/install-info since
    the new install-info is in /usr/bin/.
    
    This wrapper is meant to be removed at some point when all references
    to /usr/sbin/install-info have gone (most probably in squeeze+1).
    
    Also remove the manual page since there's nothing to document any more
    and add a lintian override until the wrapper is removed.
    
    Reference: http://wiki.debian.org/Transitions/DpkgToGnuInstallInfo

 TODO                          |    2 -
 debian/dpkg.install           |    1 -
 debian/dpkg.lintian-overrides |    2 +
 man/Makefile.am               |    1 -
 man/install-info.8            |  295 -----------------------
 man/po/po4a.cfg               |    5 -
 po/POTFILES.in                |    1 -
 scripts/.gitignore            |    2 -
 scripts/Makefile.am           |   16 +--
 scripts/install-info.pl       |  524 -----------------------------------------
 utils/.gitignore              |    2 +
 utils/Makefile.am             |   13 +
 utils/install-info.c          |   65 +++++
 13 files changed, 83 insertions(+), 846 deletions(-)

commit 645a9e329f874a470ae837d93525c769a0df4ec8
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 2 11:24:08 2009 +0200

    libdpkg: Refactor parsedb_state into a new structure
    
    Move state variables into a new struct and pass that instead of each of
    them to the error, warning and field parsing functions. This is cleaner,
    and should be “marginally” faster.

 TODO            |    1 -
 lib/fields.c    |  159 +++++++++++++++++++++++++-----------------------------
 lib/parse.c     |   66 +++++++++++++----------
 lib/parsedump.h |   25 +++++----
 lib/parsehelp.c |   33 ++++++------
 5 files changed, 142 insertions(+), 142 deletions(-)

commit bfb8cccada43b32dee587da80f38ce1b207aa9b1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 2 10:50:43 2009 +0200

    libdpkg: Initialize parse lno to 0 to avoid decrementing it on rcall

 lib/parse.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 2fa9eb87bba4fdb33635228f60a54b89f59292da
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jul 2 10:50:25 2009 +0200

    Add dpkg-vendor to .gitignore

 scripts/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 6aaa8c10678d5af3dd6e2026c0a48ac9cb1da789
Author: Marcos Alvarez Costales <marcos.alvarez.costales@gmail.com>
Date:   Wed Jul 1 20:57:03 2009 +0200

    Asturian translation update

 debian/changelog |    1 +
 po/ast.po        |   25 +++++++++++++------------
 2 files changed, 14 insertions(+), 12 deletions(-)

commit ebb721df8997021b6f6a3fcaa8be1450949e6dd4
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 1 10:23:19 2009 +0200

    dpkg-scanpackages: Do not handle the Revision field
    
    This field has already been parsed and handled by “dpkg-deb -I”.
    The code is doubly useless, as additionally the version comparison is
    done before the Revision has been folded into the Version field.

 debian/changelog             |    2 +-
 scripts/dpkg-scanpackages.pl |    5 -----
 2 files changed, 1 insertions(+), 6 deletions(-)

commit e6c2713bd4d59a88d1ae5234a4224416e0e9fa08
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 1 10:09:46 2009 +0200

    dpkg-scanpackages: Do not remap obsolete fields
    
    Those fields have been remappedd already by “dpkg-deb -I”.

 debian/changelog             |    2 ++
 scripts/dpkg-scanpackages.pl |    7 -------
 2 files changed, 2 insertions(+), 7 deletions(-)

commit ee157886303518ef56598f843d29c63349232391
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 1 09:21:18 2009 +0200

    dpkg-scansources: Reduce variable scope in process_dsc
    
    Move them closer to their actual usage.

 scripts/dpkg-scansources.pl |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

commit 7602026aff2452f6d723a87146340f4ed3e3d863
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jul 1 09:17:47 2009 +0200

    dpkg-scansources: Switch to use Dpkg::Cdata
    
    Use our modules instead of duplicating the .dsc parsing code. As a
    side effect it now handles properly bogus files.

 debian/changelog            |    2 +
 scripts/dpkg-scansources.pl |  273 +++++++++++--------------------------------
 2 files changed, 70 insertions(+), 205 deletions(-)

commit 396d3c27c10884d758b434a9ac637e709bf320b5
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Jun 30 21:46:10 2009 +0200

    Update german translation of manual pages
    
    Update to 1662t0u2f.

 debian/changelog    |    3 +
 man/po/de.po        |   21 +-
 man/po/dpkg-man.pot | 2093 +++++++++++++++++++++++++++++++++++++--------------
 3 files changed, 1556 insertions(+), 561 deletions(-)

commit a15532403f172d790031a71044f585578366e605
Author: Jens Seidel <jensseidel@users.sf.net>
Date:   Tue Jun 30 21:38:01 2009 +0200

    Proofreading

 man/po/de.po |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

commit 0b413ae85fda839c47cfc35a9ffd0189889e0b67
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Jun 30 07:29:12 2009 +0200

    French translation update

 debian/changelog |    4 +++
 po/fr.po         |   77 +++++++++++++++++++----------------------------------
 2 files changed, 32 insertions(+), 49 deletions(-)

commit ed4065c246bba34784b6babaff3a9a6b93fcc793
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 29 09:34:20 2009 +0200

    dpkg-name: Do not handle Revision and Package_Revision fields
    
    Those fields have already been parsed and handled by “dpkg-deb -I”.

 debian/changelog     |    2 ++
 scripts/dpkg-name.pl |    5 -----
 2 files changed, 2 insertions(+), 5 deletions(-)

commit afcdfe571e8d20832996ec8d4593744fab3b52c1
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 29 09:23:17 2009 +0200

    dpkg-name: Fix inverted logic when deciding to assume the architecture
    
    This gets triggered when the package does not have such field.

 debian/changelog     |    2 ++
 scripts/dpkg-name.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit e9c3e59475b7bcf0201b3c5a936c1f4f87382022
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 29 09:20:00 2009 +0200

    dpkg-name: Call _g instead of g_

 debian/changelog     |    1 +
 scripts/dpkg-name.pl |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 34181ce3a1cf466af9ac2e94f68b60cbdfaf57c8
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 27 19:26:03 2009 +0200

    Bump version to 1.15.4~

 configure.ac     |    2 +-
 debian/changelog |    5 +++++
 2 files changed, 6 insertions(+), 1 deletions(-)

commit 16199a8951e656bf3ef2fda67cb554a26fad785d
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 27 19:07:16 2009 +0200

    Release 1.15.3

 configure.ac     |    2 +-
 debian/changelog |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit d8338f3164508f8f4c1b6276c9c381e06acf663d
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 27 19:04:56 2009 +0200

    Add new scripts test cases to EXTRA_DIST

 scripts/Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b75b971b90c2d31d5fc3a675966f29c99d6f0cde
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 27 18:50:52 2009 +0200

    Regenerate .pot files and merge .po files with them

 man/po/de.po            | 1752 +++++++++++++++++++++++++++++++++++++++++++++-
 man/po/dpkg-man.pot     |  217 ++++---
 man/po/es.po            |  238 ++++---
 man/po/fr.po            |  244 ++++---
 man/po/hu.po            |  239 ++++---
 man/po/ja.po            |  237 ++++---
 man/po/pl.po            |  241 ++++---
 man/po/pt_BR.po         |  239 ++++---
 man/po/ru.po            |  236 ++++---
 man/po/sv.po            |  288 +++++----
 po/ast.po               |  701 ++++++++++----------
 po/bs.po                |  690 ++++++++++---------
 po/ca.po                |  714 ++++++++++----------
 po/cs.po                |  724 ++++++++++----------
 po/da.po                |  717 ++++++++++----------
 po/de.po                |  701 ++++++++++----------
 po/dpkg.pot             |  690 ++++++++++---------
 po/dz.po                |  717 ++++++++++----------
 po/el.po                |  719 ++++++++++----------
 po/eo.po                |  701 ++++++++++----------
 po/es.po                |  718 ++++++++++----------
 po/et.po                |  711 ++++++++++----------
 po/eu.po                |  701 ++++++++++----------
 po/fr.po                |  735 ++++++++++----------
 po/gl.po                |  719 ++++++++++----------
 po/hu.po                |  717 ++++++++++----------
 po/id.po                |  717 ++++++++++----------
 po/it.po                |  717 ++++++++++----------
 po/ja.po                |  717 ++++++++++----------
 po/km.po                |  717 ++++++++++----------
 po/ko.po                |  719 ++++++++++----------
 po/ku.po                |  694 ++++++++++----------
 po/lt.po                |  719 ++++++++++----------
 po/mr.po                |  717 ++++++++++----------
 po/nb.po                |  719 ++++++++++----------
 po/ne.po                |  717 ++++++++++----------
 po/nl.po                |  717 ++++++++++----------
 po/nn.po                |  719 ++++++++++----------
 po/pa.po                |  694 ++++++++++----------
 po/pl.po                |  718 ++++++++++----------
 po/pt.po                |  719 ++++++++++----------
 po/pt_BR.po             |  717 ++++++++++----------
 po/ro.po                |  724 ++++++++++----------
 po/ru.po                |  703 ++++++++++----------
 po/sk.po                |  703 ++++++++++----------
 po/sv.po                |  233 ++++---
 po/th.po                |  717 ++++++++++----------
 po/tl.po                |  717 ++++++++++----------
 po/vi.po                |  717 ++++++++++----------
 po/zh_CN.po             |  701 ++++++++++----------
 po/zh_TW.po             |  717 ++++++++++----------
 scripts/po/ca.po        |  606 +++++++++--------
 scripts/po/de.po        |  125 ++--
 scripts/po/dpkg-dev.pot |  583 ++++++++--------
 scripts/po/fr.po        |  661 ++++++++++--------
 scripts/po/pl.po        |  655 ++++++++++--------
 scripts/po/ru.po        |  655 ++++++++++--------
 scripts/po/sv.po        |  423 ++++++------
 58 files changed, 19371 insertions(+), 17012 deletions(-)

commit 3cc5a5bf4b6da9facf36c52bb97889a5ce2fd681
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 27 19:04:14 2009 +0200

    Add new files to POTFILES

 po/POTFILES.in |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 4401640147126170df7d188545b8ecd4ffd21d29
Author: Guillem Jover <guillem@debian.org>
Date:   Sat Jun 27 18:46:36 2009 +0200

    man: Remove non dot prefixed type field
    
    This seems to be obsolete and now the field has the form “#. type: ”.
    Which gets duplicated with the old form.

 man/po/de.po    | 1798 -----------------------------------------------------
 man/po/es.po    | 1862 -------------------------------------------------------
 man/po/fr.po    | 1855 ------------------------------------------------------
 man/po/hu.po    | 1708 --------------------------------------------------
 man/po/ja.po    | 1812 -----------------------------------------------------
 man/po/pl.po    | 1683 -------------------------------------------------
 man/po/pt_BR.po | 1743 ---------------------------------------------------
 man/po/ru.po    | 1740 ---------------------------------------------------
 man/po/sv.po    | 1718 --------------------------------------------------
 9 files changed, 0 insertions(+), 15919 deletions(-)

commit c5b980dacefe000cc09694e0e7313fea5a43acfe
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 20:02:27 2009 +0200

    dpkg-deb: Remove unused FILE variable
    
    Now that we are not closing gzfd indirectly by fclosing gz, we close it
    explicitly.

 dpkg-deb/build.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit 4308a347c5c17ab627f10bb77a98388162646d18
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sat Jun 27 16:32:13 2009 +0200

    Fix quotation marks in German dpkg translation

 debian/changelog |    5 +++--
 po/de.po         |    6 +++---
 2 files changed, 6 insertions(+), 5 deletions(-)

commit a3e560fe5d095e989dcfcda1935e51d72b82b780
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 05:16:05 2009 +0200

    libdpkg-perl: Move unknown() from Dpkg::ErrorHandling to Dpkg::Fields

 debian/changelog              |    1 +
 scripts/Dpkg/ErrorHandling.pm |   10 +---------
 scripts/Dpkg/Fields.pm        |   12 +++++++++++-
 scripts/dpkg-genchanges.pl    |    4 ++--
 scripts/dpkg-gencontrol.pl    |    4 ++--
 scripts/dpkg-source.pl        |    4 ++--
 6 files changed, 19 insertions(+), 16 deletions(-)

commit b05060cb961a6dcb1eac5cc1796058dbc2bdbfad
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 05:05:49 2009 +0200

    Dpkg::ErrorHandling: Explicitly pass field argument to unknown()

 debian/changelog              |    1 +
 scripts/Dpkg/ErrorHandling.pm |    8 ++++----
 scripts/dpkg-genchanges.pl    |    6 +++---
 scripts/dpkg-gencontrol.pl    |    6 +++---
 scripts/dpkg-source.pl        |    6 +++---
 5 files changed, 14 insertions(+), 13 deletions(-)

commit 3862c3e7fe882c61c53f62294fd84dddee9d2f46
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 04:50:33 2009 +0200

    libdpkg-perl: Import Exporter with ‘use base’
    
    We don't need to set @ISA now.

 scripts/Dpkg/Arch.pm             |    3 +--
 scripts/Dpkg/Cdata.pm            |    3 +--
 scripts/Dpkg/Deps.pm             |    2 +-
 scripts/Dpkg/Fields.pm           |    3 +--
 scripts/Dpkg/IPC.pm              |    3 +--
 scripts/Dpkg/Path.pm             |    3 +--
 scripts/Dpkg/Source/Functions.pm |    3 +--
 scripts/Dpkg/Vars.pm             |    3 +--
 scripts/Dpkg/Vendor.pm           |    3 +--
 scripts/Dpkg/Version.pm          |    3 +--
 10 files changed, 10 insertions(+), 19 deletions(-)

commit 0e1e63afa089bca6f70a574f11033b724a6fc3c8
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 04:04:16 2009 +0200

    dpkg-scanpackages: Remove commented out code

 scripts/dpkg-scanpackages.pl |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 0d887820bcb55b60aa423a428eb4919c12acf577
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 03:32:12 2009 +0200

    Unclaim bug closure

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e29457dd5f8bfc8f6fc913b1899919f98be93bd7
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 03:30:57 2009 +0200

    man:  Mark argument names in dpkg-statoverride.1 in italic

 debian/changelog        |    1 +
 man/dpkg-statoverride.8 |   10 +++++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

commit ee21a3b9443f7a7a643fa1d41bf1ba2b93e32ccb
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 02:10:53 2009 +0200

    man: Document in dpkg-statoverride the format to specify mode
    
    Closes: #534551

 debian/changelog        |    2 ++
 man/dpkg-statoverride.8 |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit a3454abb5b83ac12aec5c52f2ae4492faf6890c8
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 26 01:52:58 2009 +0200

    dpkg-split: Use the correct units (KiB) when referring to partsize

 debian/changelog  |    1 +
 dpkg-split/main.c |    2 +-
 man/dpkg-split.1  |    4 ++--
 3 files changed, 4 insertions(+), 3 deletions(-)

commit d30fdccff56e8ed63e81e7e114c421d5c806d8e7
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 21 16:46:30 2008 +0200

    libdpkg: Do not try to close already closed files

 debian/changelog |    1 +
 lib/triglib.c    |   11 +++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

commit d5ad25d85434acd7a4532334db2381a03d288ccd
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jun 24 05:51:33 2009 +0200

    libdpkg: Suffix path related function names with ‘path_’

 lib/dpkg-priv.h   |    4 ++--
 lib/fields.c      |    2 +-
 lib/path.c        |    4 ++--
 lib/test/t-path.c |   26 +++++++++++++-------------
 src/filesdb.c     |    2 +-
 src/help.c        |    2 +-
 src/query.c       |    2 +-
 7 files changed, 21 insertions(+), 21 deletions(-)

commit fe930e9bb3e195825cce98e4abe825459a7e81e7
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Thu Jun 25 21:43:29 2009 +0200

    Dpkg::Deps: fix dependency parsing code
    
    Fix dependency parsing code in Dpkg::Deps to not accept "foo\nbar"
    even if foo is valid. A regex was improperly matching "\n" as
    end of string due to usage of the "m" modifier.
    
    Also improve the warning displayed when the dependency can't be parsed.
    
    Add a non-regression test to ensure that this problem doesn't come back.
    
    Reported-by: Andrew Sayers <andrew-dpkg@pileofstuff.org>

 debian/changelog          |    3 +++
 scripts/Dpkg/Deps.pm      |    4 ++--
 scripts/t/400_Dpkg_Deps.t |    7 ++++++-
 3 files changed, 11 insertions(+), 3 deletions(-)

commit 2cf5b0f90d4fae8c6287fa0a44e84270ad5326d6
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue Jun 23 08:58:35 2009 +0200

    Remove all invalid master alternatives found
    
    Initially I wanted to cleanup only problematic cases thinking that there
    would be few. But apparently there must be an old version of
    update-alternatives that created improper entries for slave alternatives
    in /var/lib/dpkg/alternatives so I do a full scan once when we upgrade
    from a version older than 1.15.3 and hope that we can forget about those
    upgrade issues after that.

 debian/changelog              |    4 ++--
 debian/dpkg.lintian-overrides |    5 +++++
 debian/dpkg.preinst           |   38 ++++++++++++++++++++++++++------------
 3 files changed, 33 insertions(+), 14 deletions(-)

commit 85f2eb4dca5ad99cbbb014a5ab88019b06839068
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Jun 22 11:35:58 2009 +0200

    Fix a spelling error in changelog (thanks lintian)

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 52ff937b5b8028dfa0745daafe913397a4e0b7cd
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Jun 22 11:21:19 2009 +0200

    Dpkg::Shlibs::Objdump::get_symbol(): try fallback name for version-less symbols
    
    This also fixes the test suite as it was broken by the rename
    of version-less symbols in "<name>@Base".

 scripts/Dpkg/Shlibs/Objdump.pm |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit a3587e15b82e0f3a7367769307fe181c8151ce79
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Jun 21 22:29:48 2009 +0200

    Dpkg::Shlibs::Objdump: assume version Base when no associated version
    
    This completes the fix started in
    211c62c45d5f3d5f8ee3dc26668cd5a04e889076.

 scripts/Dpkg/Shlibs/Objdump.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d9c6694ce42d0e26b6c8dd06a74a26d55a6124c6
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Jun 21 21:49:05 2009 +0200

    Update german scripts translation
    
    Update to 481t0f0u.

 scripts/po/de.po |  349 +++++++++++++++++++++++++++---------------------------
 1 files changed, 174 insertions(+), 175 deletions(-)

commit 63af4da6d1a2842df53db2e93e1ceca58d1b7615
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sun Jun 21 10:52:09 2009 +0200

    Dpkg::Shlibs::SymbolFile: support subclassing of Symbol object
    
    This change makes it easier to replace Dpkg::Shlibs::Symbol with
    a derivative class by passing an appropriate $base_symbol parameter
    in load().

 scripts/Dpkg/Shlibs/SymbolFile.pm |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

commit da815b18f46b56b4897153b68041cafda21d087f
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sun Jun 21 10:50:31 2009 +0200

    dpkg-gensymbols(1): escape more minus signs

 man/dpkg-gensymbols.1 |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

commit 1ae77b82cff5462acffad67e2999973df880f0b7
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Jun 21 02:35:04 2009 +0200

    dpkg-scan(packages|sources): support all checksums algo
    
    Use Dpkg::Checksums to generate all supported checksums when possible.

 debian/changelog             |    2 +
 scripts/dpkg-scanpackages.pl |   33 +++++++++++++++---------
 scripts/dpkg-scansources.pl  |   56 ++++++++++++++++++------------------------
 3 files changed, 46 insertions(+), 45 deletions(-)

commit f60b961d1909103eb6ab68efe9009c4b9580ebda
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Jun 21 00:42:37 2009 +0200

    dpkg-genchanges: skip warning about lower version for backports
    
    Backports have by definition a version number lower than the original
    version (to enable upgrades from backports to official packages). So skip
    the corresponding warning when backports are detected thanks to the
    usual version suffixes ~bpo (backports.org) and ~vola (volatile.d.o).

 debian/changelog           |    2 ++
 scripts/dpkg-genchanges.pl |    4 +++-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 012ac74f876b7031165a782dbfeb3f43692bf382
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Jun 21 00:27:44 2009 +0200

    Dpkg::Vendor::get_vendor_file(): replaces spaces by dashes
    
    Also lookup filenames with dashes replacing spaces in the name
    of the vendor.

 debian/changelog       |    2 ++
 scripts/Dpkg/Vendor.pm |    6 +++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 0a3d3fe21b629b55005c14889faaf8f84c4967c7
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Jun 21 00:16:54 2009 +0200

    dpkg-source: ensure trustedkeys.gpg is used to check signatures

 debian/changelog               |    3 +++
 scripts/Dpkg/Source/Package.pm |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit ffc5049d6a0faa7b63c423bbb256e7d70662bc7c
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 23:39:53 2009 +0200

    Dpkg::Shlibs::SymbolFile: add missing explanation

 scripts/Dpkg/Shlibs/SymbolFile.pm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 0bdf342a69be47a5d7654114539854ea87702216
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 23:08:09 2009 +0200

    Dpkg::Substvars: restructure to have a separate namespace for variables
    
    The addition of “_used” in the structure was in conflict with
    a possible variable of the same name. So put the variables in
    a dedicated hash to avoid this conflict and rename “_used” into
    “used”.
    
    Correct the warning message too.
    
    Also add Joachim in the THANKS file for his contribution.

 THANKS                         |    1 +
 scripts/Dpkg/Substvars.pm      |   64 ++++++++++++++++++++-------------------
 scripts/t/750_Dpkg_Substvars.t |    2 +-
 3 files changed, 35 insertions(+), 32 deletions(-)

commit d60bb3e211d9496653d5061c112ce3092998fe11
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Sat Jun 13 23:33:08 2009 +0200

    dpkg-gencontrol: warn about unused substvars (closes: #532760)
    
    The change to Dpkg/Fields.pm is required to avoid unwanted warnings
    on the F:<fieldname> substitutions.

 debian/changelog           |    3 +++
 scripts/Dpkg/Fields.pm     |    1 +
 scripts/dpkg-gencontrol.pl |    2 ++
 3 files changed, 6 insertions(+), 0 deletions(-)

commit 69bee88969bc7766a4e2066927f1069b551fba2b
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Sat Jun 13 23:25:23 2009 +0200

    Dpkg::Substvars: track unused substitutions and add warning function
    
    This commit adds tracking of used variables in Dpkg::Substvars. It adds
    two new methods, no_warn() to disable warnings about one of the
    variables, warn_about_unused() to issue warnings (via
    Dpkg::ErrorHandling::warning()).
    
    The test suite is extended accordingly.

 scripts/Dpkg/Substvars.pm      |   46 ++++++++++++++++++++++++++++++++++++++++
 scripts/t/750_Dpkg_Substvars.t |   18 ++++++++++++++-
 2 files changed, 63 insertions(+), 1 deletions(-)

commit 38b79ccbca7460f0f39daf5baa1d7036464f5b0d
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Sat Jun 13 22:54:49 2009 +0200

    Dpkg::Substvars: add non-regression test suite

 scripts/t/750_Dpkg_Substvars.t          |   74 +++++++++++++++++++++++++++++++
 scripts/t/750_Dpkg_Substvars/substvars1 |    9 ++++
 2 files changed, 83 insertions(+), 0 deletions(-)

commit bf4582423b44556f05744e7633d7d56a75fc77c9
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Sat Jun 13 22:38:06 2009 +0200

    Dpkg::Substvars: allow spaces in front of comments in substvars
    
    Principle of least surprise.

 scripts/Dpkg/Substvars.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c43ba8d76c43514206e467211295d8532944a61f
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 21:45:48 2009 +0200

    dpkg-gensymbols: add new “ignore-blacklist” tag
    
    Add new tag "ignore-blacklist" to force-include symbols which are
    normally blacklisted. This can be useful for libgcc to include symbols
    that the toolchain allows to be shared but that are often static
    (and hence are blacklisted for this reason). Closes: #533642

 debian/changelog                  |    4 ++++
 man/dpkg-gensymbols.1             |    8 ++++++++
 scripts/Dpkg/Shlibs/SymbolFile.pm |   13 +++++++------
 3 files changed, 19 insertions(+), 6 deletions(-)

commit b8b229b61746b5bc5ecd51ccc961687f318e278d
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 22:07:47 2009 +0200

    Dpkg::Shlibs::Symbol: add new has_tag() and get_tag_value() functions

 scripts/Dpkg/Shlibs/Symbol.pm |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

commit 211c62c45d5f3d5f8ee3dc26668cd5a04e889076
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 20:55:46 2009 +0200

    Dpkg::Shlibs::SymbolFile: assume an implicit version "Base" for unversioned symbols

 debian/changelog                  |    2 ++
 scripts/Dpkg/Shlibs/SymbolFile.pm |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 49f9f9617800f2b4565e01e51d6481c61c6314ef
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 20:30:59 2009 +0200

    dpkg-gensymbols: do not output deprecated symbols
    
    The deprecated symbols appear commented with “#MISSING:”, they should
    appear in the explanatory diff but not in the file generated.

 debian/changelog           |    2 ++
 scripts/dpkg-gensymbols.pl |    6 ++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 9093cf1d97b544f2a8400b57fd1eaff69b9c5551
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 19:28:29 2009 +0200

    Add changelog entry for new dpkg-gensymbols feature

 debian/changelog |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 2585b24fc60840db17f33db593087e03840f801c
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 20 18:42:49 2009 +0200

    Dpkg::Shlibs: code cleanup after merge and documentation update

 man/dpkg-gensymbols.1             |   77 +++++++++++++-----------
 scripts/Dpkg/Shlibs/Symbol.pm     |   11 +--
 scripts/Dpkg/Shlibs/SymbolFile.pm |  115 ++++++++++++++++++++-----------------
 3 files changed, 108 insertions(+), 95 deletions(-)

commit 5dec937e782343fb810a237fddfef3660bddfea9
Author: Modestas Vainius <modestas@vainius.eu>
Date:   Sat Jun 20 01:28:57 2009 +0300

    Symbol tagging support and implementation of optional and arch tags
    
    Symbols might be tagged with arbitary number of tags which are separated by '|'
    (aka pipe) character. Tags (only if there are any) must be enclosed in the ()
    brackets right before a symbol name. Each tag can appear only once in the tag
    specification for each symbol. A tag can optionally have a value. The tag value
    is separated from the tag name by character '='. Tag names and values can be
    arbitrary strings except they cannot contain any of the special ()|=
    characters. A name of the tagged symbol can optionally be quoted with either '
    or " characters (e.g. to allow whitespaces in the symbol name). If there are no
    tags specified, symbol name cannot be quoted and symbol name continues up until
    the first whitespace.
    
    Example of the quoted symbol with 2 tags (the first tag has a value while the
    second does not):
    
     (tag1=value of the first tag|tag2)"Foo::Bar::foobar()"@Base 1.0 1
    
    Tags serve two purposes:
    
    * they can be used for symbol marking (e.g. when a symbol must be treated
      specially under certain circumstances);
    * they tell the parser that the specified symbol name must be processed in
      certain way to become a raw symbol name as found in the object files.
      Such tags are processed in the order they are specified.
    
    Symbol files with tags are not backwards compatible, so a new parameter
    'template_mode' has been added to SymbolFile::dump(). If template_mode is not
    set (default), dump() emits a fully post-processed symbol specifications as
    directed by their tags. Tags themselves are ommited from output and unknown
    tags are ignored. If template_mode is set, dump() keeps tags in the output and
    emits symbol specifications as they were read from the symbol file.
    
    As a result, a new parameter -t was added to dpkg-gensymbols to support writing
    the symbol file in template mode. Default is to write in non-template mode.
    
    (tag|...|tagN)#include "file_to_include"
    
    All symbols in the "file_to_include" will be tagged with #include tags by
    default. A symbol in "file_to_include" can specify additional tags in its tag
    specification or even override the tag value inherited from #include tags by
    specifying another one in its own tag specifaction. There is no way for the
    symbol to untag itself, even if the tag was inherited from #include.  #include
    tags are assumed to go always before (in tagorder) symbol specific tags even if
    the symbol overrides the tag. Recursive tagged #includes are supported.
    
    The patch also adds support for 2 tags:
    
    * optional - a symbol marked as optional can disappear from the object file at
      any time and that will never cause dpkg-gensymbols to fail (just emit the
      diff).  If optional symbol disappears, it is dumped as MISSING with
      deprecated string set to the current package version (hence it always appears
      in the dpkg-gensymbols diff). If optional symbol reappears, it gets
      undeprecated but its minver is kept unchanged (contrary to reappearing
      MISSING symbols).
    
      Example: C++ template instantiation which disappearance is not ABI breaking
      (i.e. basically it is a private symbol).
    
      (optional)_ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EE11qt_metacastEPKc@Base 4:4.2.0
    
    * arch=<list of architectures as in Build-Depend dep> - allows to
      mark a symbol as arch-specific. When dumping in non-templace mode, only
      symbols concerned for the current host architecture are dumped. When dumping
      in template mode, all arch-specific symbols are always dumped (including
      proper tags). If arch-specific symbol appears on the arch that it is not
      supposed to appear, it is made arch neutral (hence it appears in the
      dpkg-gensymbols diff). If arch-specific symbol disappears from its arch, it
      gets declared as MISSING.
    
      Example: armel specific symbol due to qreal mangling as float on arm(el)
      and double on other arches.
    
      (arch=arm armel)_ZN6Phonon11AudioOutput13volumeChangedEd@Base 4:4.2.0
      (arch=!armel !arm)_ZN6Phonon11AudioOutput13volumeChangedEf@Base 4:4.2.0

 man/dpkg-gensymbols.1                        |  130 +++++++++++++--
 scripts/Dpkg/Shlibs/Symbol.pm                |  239 ++++++++++++++++++++++++++
 scripts/Dpkg/Shlibs/SymbolFile.pm            |  153 ++++++++++-------
 scripts/Makefile.am                          |   22 ++-
 scripts/dpkg-gensymbols.pl                   |   23 ++-
 scripts/dpkg-shlibdeps.pl                    |    2 +-
 scripts/t/200_Dpkg_Shlibs.t                  |  199 +++++++++++++++++++---
 scripts/t/200_Dpkg_Shlibs/objdump.tags-amd64 |   70 ++++++++
 scripts/t/200_Dpkg_Shlibs/objdump.tags-i386  |   71 ++++++++
 scripts/t/200_Dpkg_Shlibs/symbols.include-3  |    5 +
 scripts/t/200_Dpkg_Shlibs/symbols.tags.in    |    8 +
 scripts/t/200_Dpkg_Shlibs/symboltags.c       |   23 +++
 12 files changed, 837 insertions(+), 108 deletions(-)

commit e8698e08a1cca4949020cf12e26c4d189e3ba306
Author: Peter Krefting <peterk@debian.org>
Date:   Sat Jun 20 17:05:11 2009 +0100

    Update Swedish translation.
    
    po/sv.po: Updated to 993t0f0u.
    scripts/po/sv.po: Updated to 488t0f08.

 po/sv.po         |  584 ++++++++++++++++++++++++++----------------------------
 scripts/po/sv.po |  420 ++++++++++++++++++++++-----------------
 2 files changed, 518 insertions(+), 486 deletions(-)

commit bce7972fbdff34d7ecd868753c61e1e9382f17a7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jun 20 14:13:36 2009 +0200

    Update german scripts translation
    
    Update to 488t0f0u.

 scripts/po/de.po |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

commit 213b91e7a511ef55be7c51db60846993a9f452b5
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jun 20 12:00:26 2009 +0200

    Update german scripts translation
    
    Update to 487t0f1u.

 debian/changelog |    1 +
 scripts/po/de.po |  412 ++++++++++++++++++++++++++++++------------------------
 2 files changed, 228 insertions(+), 185 deletions(-)

commit 6a55f357c4cb88a547fe1557b3b9ad847da19700
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sat Jun 20 09:44:52 2009 +0200

    Update german translation of manual pages
    
    Update to 1663t.

 debian/changelog |    1 +
 man/po/de.po     | 1829 +++---------------------------------------------------
 2 files changed, 89 insertions(+), 1741 deletions(-)

commit 2c92025405471a5866fe12bd4bbd6014f0928466
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Jun 19 17:36:30 2009 +0200

    Add another alternative that needs to be cleaned up

 debian/dpkg.preinst |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 7c44ddee45c21d3695fd73f5bd3a2ba88b4dbdc1
Author: Miroslav Kure <kurem@debian.cz>
Date:   Fri Jun 19 11:33:26 2009 +0200

    Update Czech translation of dpkg/dselect
    
    po/cs.po: 1012t
    dselect/po/cs.po: 279t

 debian/changelog |    4 +
 dselect/po/cs.po |    6 +-
 po/cs.po         | 1216 ++++++++++++++++++++++++++----------------------------
 3 files changed, 593 insertions(+), 633 deletions(-)

commit f40457f44f442d1394859e0c003b6d7437eb8386
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Jun 19 11:24:49 2009 +0200

    Use NUL character instead of 0

 dpkg-deb/build.c          |    4 ++--
 dpkg-deb/extract.c        |   14 ++++++++------
 dpkg-deb/info.c           |    7 ++++---
 dpkg-split/info.c         |    8 ++++----
 dpkg-split/queue.c        |    3 ++-
 dpkg-split/split.c        |    2 +-
 lib/dbmodify.c            |    2 +-
 lib/fields.c              |   18 ++++++++++--------
 lib/mlib.c                |    2 +-
 lib/myopt.c               |   10 ++++++----
 lib/parse.c               |    6 ++++--
 lib/parsehelp.c           |    5 +++--
 lib/tarfn.c               |    2 +-
 lib/triglib.c             |    8 ++++----
 lib/utils.c               |    2 +-
 src/archives.c            |    6 +++---
 src/configure.c           |    2 +-
 src/depcon.c              |    2 +-
 src/filesdb.c             |    2 +-
 src/main.c                |    8 ++++----
 src/processarc.c          |    9 +++++----
 src/query.c               |    2 +-
 src/remove.c              |    2 +-
 src/statdb.c              |    8 ++++----
 utils/start-stop-daemon.c |    2 +-
 25 files changed, 74 insertions(+), 62 deletions(-)

commit 77b545df95ad92ee7ea1a8934a7953e9393031fa
Author: Peter Krefting <peterk@debian.org>
Date:   Thu Jun 18 21:47:36 2009 +0100

    Update Swedish translation.
    
    Updated po/sv.po to 1012t0f0u.
    Updated man/po/sv.po to 1661t0f0u.
    Updated scripts/po/sv.po to 479t0f0u.

 debian/changelog |    7 ++++
 man/po/sv.po     |   87 ++++++++++++++++++++++++++++++++---------------------
 po/sv.po         |    6 ++--
 scripts/po/sv.po |   45 +++++++++++++++------------
 4 files changed, 87 insertions(+), 58 deletions(-)

commit 95740341e95db8ac78fad3139ec3b58d3feb2f37
Author: Guillem Jover <guillem@debian.org>
Date:   Thu Jun 18 16:35:03 2009 +0200

    dpkg-architecture: Remove unused variable

 scripts/dpkg-architecture.pl |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 9e6f2f0791022ac8c3b1e3694509bdc1726b17b8
Author: David Stansby <dstansby@googlemail.com>
Date:   Thu Jun 18 08:30:26 2009 +0200

    Fix english mistake (“as you request” → “as you requested”)

 debian/changelog |    2 ++
 po/ast.po        |   10 +++++-----
 po/bs.po         |   10 +++++-----
 po/ca.po         |   10 +++++-----
 po/cs.po         |   10 +++++-----
 po/da.po         |   10 +++++-----
 po/de.po         |   10 +++++-----
 po/dpkg.pot      |   10 +++++-----
 po/dz.po         |   10 +++++-----
 po/el.po         |   10 +++++-----
 po/eo.po         |   10 +++++-----
 po/es.po         |   10 +++++-----
 po/et.po         |   10 +++++-----
 po/eu.po         |   10 +++++-----
 po/fr.po         |   10 +++++-----
 po/gl.po         |   10 +++++-----
 po/hu.po         |   10 +++++-----
 po/id.po         |   10 +++++-----
 po/it.po         |   10 +++++-----
 po/ja.po         |   10 +++++-----
 po/km.po         |   10 +++++-----
 po/ko.po         |   10 +++++-----
 po/ku.po         |   10 +++++-----
 po/lt.po         |   10 +++++-----
 po/mr.po         |   10 +++++-----
 po/nb.po         |   10 +++++-----
 po/ne.po         |   10 +++++-----
 po/nl.po         |   10 +++++-----
 po/nn.po         |   10 +++++-----
 po/pa.po         |   10 +++++-----
 po/pl.po         |   10 +++++-----
 po/pt.po         |   10 +++++-----
 po/pt_BR.po      |   10 +++++-----
 po/ro.po         |   10 +++++-----
 po/ru.po         |   10 +++++-----
 po/sk.po         |   10 +++++-----
 po/sv.po         |   10 +++++-----
 po/th.po         |   10 +++++-----
 po/tl.po         |   10 +++++-----
 po/vi.po         |   10 +++++-----
 po/zh_CN.po      |   10 +++++-----
 po/zh_TW.po      |   10 +++++-----
 src/archives.c   |    2 +-
 src/configure.c  |    4 ++--
 src/errors.c     |    2 +-
 src/processarc.c |    2 +-
 src/remove.c     |    2 +-
 47 files changed, 213 insertions(+), 211 deletions(-)

commit 8e9df75625168c0a7631fdbd5f5e27f05cd56b95
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Jun 17 03:32:25 2009 +0200

    dpkg-name: Rewrite in perl

 debian/changelog       |    1 +
 scripts/Makefile.am    |    9 +--
 scripts/dpkg-name.pl   |  256 ++++++++++++++++++++++++++++++++++++++++++++++++
 scripts/dpkg-name.sh   |  207 --------------------------------------
 scripts/po/POTFILES.in |    1 +
 5 files changed, 259 insertions(+), 215 deletions(-)

commit db05f74c3fad40c90b5a8a48930ceeecc2a00d80
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 16 22:11:11 2009 +0200

    Refactor statdb field parsing functions

 src/filesdb.h |    4 ++
 src/statdb.c  |   88 +++++++++++++++++++++++++++++++++++++++-----------------
 2 files changed, 65 insertions(+), 27 deletions(-)

commit 4fb7afa06cbfef51a67b3e6da7648fa126e9f84c
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 16 22:07:58 2009 +0200

    Move diversion db parsing into a new file

 src/Makefile.am |    2 +
 src/divertdb.c  |  134 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/filesdb.c   |   72 -----------------------------
 3 files changed, 136 insertions(+), 72 deletions(-)

commit 133bc9b2039b1804ff291aefd595ade7b8317741
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Jun 16 22:05:09 2009 +0200

    Move statoverride db parsing into a new file

 src/Makefile.am |    1 +
 src/filesdb.c   |  127 -------------------------------------
 src/statdb.c    |  188 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 189 insertions(+), 127 deletions(-)

commit 644aa62b334863671f881dc3ece4da9e6491d5ad
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Jun 13 21:50:46 2009 +0200

    dpkg-buildpackage(1): add missing paragraph separator
    
    Reported-by: Per Andersson <avtobiff@gmail.com>

 debian/changelog        |    2 ++
 man/dpkg-buildpackage.1 |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

commit 48a20395d3406b655844057315868748dceada2d
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 15 02:19:12 2009 +0200

    dpkg-scanpackages: Mark string for translation

 scripts/dpkg-scanpackages.pl |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 1c18298e7510ffb2dab453293528ecd219d6a2b2
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 14 20:34:22 2009 +0200

    dpkg-scanpackages: Use info instead of ad-hoc printing
    
    Redirect it to STDERR to not pollute STDOUT where the Packages file is
    being outputted.

 scripts/dpkg-scanpackages.pl |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit d07ecdda8a1af8aeec8bba68fec5b25365e3ae5b
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 14 20:32:41 2009 +0200

    Dpkg::ErrorHandling: Support changing the file handle for info()
    
    Sometimes we need not clutter STDOUT when outputting data there.

 scripts/Dpkg/ErrorHandling.pm |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit b299dad5ad3eb8bbcf75b0891f87744399e75574
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 14 19:57:05 2009 +0200

    Dpkg::ErrorHandling: Add new report_options()
    
    Set report options via this new function instead of directly exporting
    private variables.

 scripts/Dpkg/ErrorHandling.pm     |   15 ++++++++++++---
 scripts/dpkg-source.pl            |    4 ++--
 scripts/t/100_Dpkg_Version.t      |    6 +++---
 scripts/t/300_Dpkg_BuildOptions.t |    3 ++-
 4 files changed, 19 insertions(+), 9 deletions(-)

commit 288aa90e881c1aaa8ddacdeeed8a5631142ffe67
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 14 19:02:55 2009 +0200

    Dpkg::ErrorHandling: Remove unused warnerror() and $warnable_error
    
    Do not pass over -W and -E from dpkg-buildpackage to dpkg-source anymore
    and warn directly about its deprecated status.

 scripts/Dpkg/ErrorHandling.pm |   14 ++------------
 scripts/dpkg-buildpackage.pl  |   13 ++++---------
 2 files changed, 6 insertions(+), 21 deletions(-)

commit 3c6f5516c9656d39003eafc45221a2a3eaa467d8
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 14 13:52:12 2009 +0200

    dpkg-scansources: Use Dpkg::ErrorHandling instead of ad-hoc code
    
    Replace local reporting functionality with standard error and warning
    Dpkg functions.

 scripts/dpkg-scansources.pl |   93 ++++++++++++++++---------------------------
 1 files changed, 35 insertions(+), 58 deletions(-)

commit 7df211874ca2223d8d3e6554ad611ad6ac26e530
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 15 01:18:02 2009 +0200

    dpkg-scanpackages: Move missing override warning near the spurious one
    
    They are related so better to have them closer.

 scripts/dpkg-scanpackages.pl |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit bc7279dd447b47d6175258cf2af47f53c1c6d23b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Jun 15 01:12:48 2009 +0200

    dpkg-scanpackages: Use warning() instead of ad-hoc printing
    
    Remove now unused writelist().

 scripts/dpkg-scanpackages.pl |   70 +++++++++++++++---------------------------
 1 files changed, 25 insertions(+), 45 deletions(-)

commit f2d0f89f806829b39629e01016a774f25ef93a01
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 14 21:43:28 2009 +0200

    dpkg-scanpackages: Fix spurious overrides output
    
    Split each package name and indent to the right.

 scripts/dpkg-scanpackages.pl |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 8e3f26ad2d330da7269e77a097b8eefb3f148e02
Author: Guillem Jover <guillem@debian.org>
Date:   Sun Jun 14 21:41:24 2009 +0200

    dpkg-scanpackages: Properly detect spurious overrides
    
    The detection was being done too late as no overriden information is
    kept if the packages is not on the archive.

 debian/changelog             |    1 +
 scripts/dpkg-scanpackages.pl |    8 +++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

commit 82304f1f29964a56cb498ed937c4fd5a97d23a7a
Author: Guillem Jover <guillem@debian.org>
Date:   Fri Nov 21 11:38:04 2008 +0200

    dpkg-source: Use default compressor values from Dpkg::Source::Compressor

 debian/changelog       |    1 +
 scripts/dpkg-source.pl |   13 +++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

commit 4bca5ba4f9d0cebdfdfff8daf2b46097dc901271
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Thu Jun 11 13:10:38 2009 +0200

    Add one more case of alternative to cleanup (Closes: #532739)

 debian/changelog    |    2 +-
 debian/dpkg.preinst |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit f49da9f283b7cfa21ee833cc04cd274600bcd535
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Jun 8 18:05:39 2009 +0200

    Dpkg::Source::CompressedFile::cleanup_after_open(): fix error message
    
    The $compressor->{cmdline} variable is removed by
    $compressor->wait_end_process() so store it first in case we have to
    display an error message.

 scripts/Dpkg/Source/CompressedFile.pm |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 4690e08e95871ac1fc0498749466cf255a840e0c
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Jun 7 21:05:41 2009 +0200

    update-alternatives: handle dangling alternative symlink
    
    update-alternatives did not properly handle when the
    alternative symlink in /etc/alternatives was dangling
    and pointing to a choice that does not exist currently.
    Fix by switching the alternative to automatic mode so
    that it's replaced by the best choice.

 debian/changelog               |    2 ++
 scripts/update-alternatives.pl |    8 +++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 057523d0a806a3cb5be38c8da1a2fc3f044ef4cc
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Jun 7 18:05:20 2009 +0200

    Remove invalid master alternatives on upgrade
    
    update-alternatives was very laxist in its past and allowed things that
    are now rightfully forbidden. For example, you can't use alternatives as
    slave when it's a master alternative already. However there is sometimes
    cruft files in /var/lib/dpkg/alternatives/ due to historical changes (or
    bugs) that incorrectly trigger this check.
    
    We avoid this problem by removing the conflicting files on upgrade.

 debian/changelog    |    2 ++
 debian/dpkg.preinst |   15 +++++++++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)

commit ab964156eedce0067078b3d4371651275d7dc4c9
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun Jun 7 14:47:05 2009 +0200

    Updated Catalan translation

 debian/changelog |    1 +
 po/ca.po         |  232 +++++++++++++++++++++++++++---------------------------
 2 files changed, 117 insertions(+), 116 deletions(-)

commit 3fe4e86fc9835013529ca29ae9577edc87296fef
Author: Deng Xiyue <manphiz-guest@users.alioth.debian.org>
Date:   Mon Jun 1 10:52:48 2009 +0200

    Simplified Chinese translation update

 debian/changelog |    3 +
 po/zh_CN.po      |  555 +++++++++++++++++++++++++-----------------------------
 2 files changed, 259 insertions(+), 299 deletions(-)

commit bbb33e5b828a2b237399def5ff15cd818245f4d3
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Thu May 28 15:31:32 2009 +0200

    Unset TAR_OPTIONS when handling tar archives for source packages
    
    The command line interface is the only way that should control tar's
    behaviour in its usage by dpkg as we want the same behaviour for
    everybody.

 debian/changelog               |    5 +++++
 scripts/Dpkg/Source/Archive.pm |    2 ++
 2 files changed, 7 insertions(+), 0 deletions(-)

commit 24f7107e9815e90931fbccd1299757494431dd75
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 28 14:33:53 2009 +0200

    Unset TAR_OPTIONS when extracting .deb archives
    
    We don't want the extraction to be affected by user settable environment
    variables either. The command line tool is considered an interface for
    which we want as much control as possible to guarantee no unintentional
    behaviour changes to the format or they way it's being handled.
    
    Closes: #530860

 debian/changelog   |    2 +-
 dpkg-deb/extract.c |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 1f975373036a3f9e2cd441d205d307e25f639311
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 26 01:26:44 2009 +0200

    Bump version to 1.15.3~

 configure.ac     |    2 +-
 debian/changelog |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

commit f4ab87b29a4abfe372395d66679d526e888d3559
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 26 01:02:00 2009 +0200

    Release 1.15.2

 configure.ac     |    2 +-
 debian/changelog |    8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 62fef21ce9a5679cf5deaa2afa2d1261f4577f8f
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 26 01:19:07 2009 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po       |  126 +++++++++++++++++++------------------------
 dselect/po/ca.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/cs.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/da.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/de.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/dselect.pot |  126 +++++++++++++++++++------------------------
 dselect/po/el.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/es.po       |  142 +++++++++++++++++++++++-------------------------
 dselect/po/et.po       |  132 +++++++++++++++++++++------------------------
 dselect/po/eu.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/fr.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/gl.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/hu.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/id.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/it.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/ja.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/ko.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/nb.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/nl.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/nn.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/pl.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/pt.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/pt_BR.po    |  138 +++++++++++++++++++++++------------------------
 dselect/po/ro.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/ru.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/sk.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/sv.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/tl.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/vi.po       |  138 +++++++++++++++++++++++------------------------
 dselect/po/zh_CN.po    |  138 +++++++++++++++++++++++------------------------
 dselect/po/zh_TW.po    |  138 +++++++++++++++++++++++------------------------
 po/ast.po              |   56 ++++++++++----------
 po/bs.po               |   56 ++++++++++----------
 po/ca.po               |   56 ++++++++++----------
 po/cs.po               |   56 ++++++++++----------
 po/da.po               |   56 ++++++++++----------
 po/de.po               |   56 ++++++++++----------
 po/dpkg.pot            |   56 ++++++++++----------
 po/dz.po               |   56 ++++++++++----------
 po/el.po               |   56 ++++++++++----------
 po/eo.po               |   56 ++++++++++----------
 po/es.po               |   56 ++++++++++----------
 po/et.po               |   56 ++++++++++----------
 po/eu.po               |   62 +++++++++++----------
 po/fr.po               |   56 ++++++++++----------
 po/gl.po               |   56 ++++++++++----------
 po/hu.po               |   56 ++++++++++----------
 po/id.po               |   56 ++++++++++----------
 po/it.po               |   56 ++++++++++----------
 po/ja.po               |   56 ++++++++++----------
 po/km.po               |   56 ++++++++++----------
 po/ko.po               |   56 ++++++++++----------
 po/ku.po               |   56 ++++++++++----------
 po/lt.po               |   56 ++++++++++----------
 po/mr.po               |   56 ++++++++++----------
 po/nb.po               |   56 ++++++++++----------
 po/ne.po               |   56 ++++++++++----------
 po/nl.po               |   56 ++++++++++----------
 po/nn.po               |   56 ++++++++++----------
 po/pa.po               |   56 ++++++++++----------
 po/pl.po               |   56 ++++++++++----------
 po/pt.po               |   56 ++++++++++----------
 po/pt_BR.po            |   56 ++++++++++----------
 po/ro.po               |   56 ++++++++++----------
 po/ru.po               |   56 ++++++++++----------
 po/sk.po               |   56 ++++++++++----------
 po/sv.po               |   56 ++++++++++----------
 po/th.po               |   56 ++++++++++----------
 po/tl.po               |   56 ++++++++++----------
 po/vi.po               |   56 ++++++++++----------
 po/zh_CN.po            |   56 ++++++++++----------
 po/zh_TW.po            |   56 ++++++++++----------
 scripts/po/de.po       |   16 ++++--
 73 files changed, 3211 insertions(+), 3359 deletions(-)

commit aeac662959cb1aa129a2a188dafdd896a6e05888
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 25 08:03:29 2009 +0200

    Fix memory leaks due to not destroying pkg iterators

 debian/changelog |    1 +
 src/depcon.c     |    1 +
 src/trigproc.c   |    1 +
 3 files changed, 3 insertions(+), 0 deletions(-)

commit fa9b6e6133cdb9e1519efef3929c2d6eb2b73a4c
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 25 07:55:14 2009 +0200

    s-s-d: Refactor process schedule priority range checks
    
    Move into a new function, so we avoid warnings due to unused variables.

 utils/start-stop-daemon.c |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

commit 5ccdc88f40ec8bea792874b97596cda8368aff4d
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 24 22:08:58 2009 +0200

    dselect: Properly parse fdisk output in disk setup method
    
    util-linux's fdisk has not emitted the Begin column since 1998-06-10
    version 2.8. Change the parsing code accordingly to make it actually
    work.

 debian/changelog           |    2 ++
 dselect/methods/disk/setup |    6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

commit 328b98fff19dbafcb90008a0711672ded9c71401
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 24 21:18:30 2009 +0200

    dselect: Fix bashism (“echo -e”) in disk setup method
    
    Closes: #530071

 debian/changelog           |    1 +
 dselect/methods/disk/setup |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 885726e7585b081eca172df9cda2a57134564922
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 24 21:13:26 2009 +0200

    dselect: Refactor partition printing in disk setup method
    
    Move code into its own function.

 dselect/methods/disk/setup |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

commit 93bb330136c95fd0f5e4ed1d29987dc64e4ba218
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun May 24 14:44:10 2009 +0200

    Fix typo and unfuzzy translations

 man/dpkg-vendor.1   |    2 +-
 man/po/de.po        |    2 +-
 man/po/dpkg-man.pot |    2 +-
 man/po/es.po        |    2 +-
 man/po/fr.po        |    2 +-
 man/po/hu.po        |    2 +-
 man/po/ja.po        |    2 +-
 man/po/pl.po        |    2 +-
 man/po/pt_BR.po     |    2 +-
 man/po/ru.po        |    2 +-
 man/po/sv.po        |    2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

commit 4b8978b3a418bf409dffc212da41ff84b0a8d8bc
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun May 24 09:45:30 2009 +0200

    Remove extra \n. Thanks to Helge Kreutzmann
    Assign copyright for changes since 2005 to the French team
    Drop upstream copyright

 po/fr.po |   19 ++++---------------
 1 files changed, 4 insertions(+), 15 deletions(-)

commit 747648c88dff4a4644917f5aeec80dc87d51658f
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun May 24 09:42:21 2009 +0200

    Updated French translation
    Removed dpkg copyright at the head of the file. Only copyrights
    for translations should be kept there

 debian/changelog |    3 +++
 dselect/po/fr.po |   24 ++++++------------------
 2 files changed, 9 insertions(+), 18 deletions(-)

commit ad40a4332aa20ab633ad5d2a94c9b32b97d064cc
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun May 24 09:39:19 2009 +0200

    Convert to UTF-8

 dselect/po/fr.po |  752 +++++++++++++++++++++++++++---------------------------
 1 files changed, 376 insertions(+), 376 deletions(-)

commit 6c9ee12dcf8fce3526fe2cbda61b390e9597d5bd
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun May 24 09:33:31 2009 +0200

    Update german scripts translation
    
    Update to 479t.

 debian/changelog |    3 +-
 scripts/po/de.po |   62 ++++++++++++++++++++++++++---------------------------
 2 files changed, 32 insertions(+), 33 deletions(-)

commit 52d7b734f46e618efc966b28312b55cdcf3604d9
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun May 24 08:37:30 2009 +0200

    French translation update for scripts

 debian/changelog |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

commit a09ffe0761431195d8ea99363aba1657fedbf1d6
Author: Piarres Beobide <pi@beobide.net>
Date:   Fri May 22 12:17:19 2009 +0200

    Updated Basque translation

 po/eu.po |   60 +++++++++++++++++++++++++++++-------------------------------
 1 files changed, 29 insertions(+), 31 deletions(-)

commit 2ee037d786c178451135f4c68fdaef88da5419a0
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun May 24 08:05:22 2009 +0200

    Update german translation of manual pages
    
    Update to 1661t.

 debian/changelog |    3 ++
 man/po/de.po     |   82 ++++++++++++++++++++++++++++++++---------------------
 2 files changed, 52 insertions(+), 33 deletions(-)

commit 79bf96576c4f4570681128b449c6a3b816bd3786
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri May 22 09:32:14 2009 +0200

    German dpkg translation update
    
    Update to 1005t7f.

 debian/changelog |    5 +++--
 po/de.po         |   16 +++++++---------
 2 files changed, 10 insertions(+), 11 deletions(-)

commit 09ef46c7941def6905d2664f916d72a4b14c960d
Author: Christian Perrier <bubulle@debian.org>
Date:   Fri May 22 08:56:24 2009 +0200

    French translation update

 debian/changelog |    1 +
 po/fr.po         |    9 ++++-----
 2 files changed, 5 insertions(+), 5 deletions(-)

commit d3bd0b6d96436adc76a09a06d2b9a915e401a3c3
Author: Marcos <marcos.alvarez.costales@gmail.com>
Date:   Fri May 22 08:53:55 2009 +0200

    Asturian translation update
    Closes: #529889

 debian/changelog |    1 +
 po/ast.po        |    8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)

commit c410dce7c24c183be9e01df14dc0f8029bd00848
Author: Piarres Beobide <pi+debian@beobide.net>
Date:   Fri May 22 08:52:15 2009 +0200

    Basque translation update. Closes: #529857

 debian/changelog |    3 +
 po/eu.po         |  881 +++++++++++++++++-------------------------------------
 2 files changed, 270 insertions(+), 614 deletions(-)

commit e2e412977aefafa7df6f84c8cb6fe645dae85215
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri May 22 05:04:00 2009 +0200

    dselect: Remove obsolete priorities support
    
    dselect shows wrong package priorities in the package selection screen.
    This is because the string representations arrays haven't been updated
    to reflect the removal of the “Recommended” and “Contrib” priorities
    in commit c8d3938be127e256fd593f234858fb9d474b2353.

 debian/changelog      |    2 ++
 dselect/pkgdisplay.cc |    4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)

commit 2251827c000ba901d0027194f6d9281184ede701
Author: Guillem Jover <guillem@debian.org>
Date:   Fri May 22 04:44:22 2009 +0200

    s-s-d: Use the same exact name for all Hurd OS macros
    
    Use the properly capitalized version of the macro. This fixes a FTBFS
    on GNU/Hurd due to a missmatched define usage.
    
    Regression introduced in fc860a55b26aee3d774ed010c43822491852bbc2.

 debian/changelog          |    3 ++-
 utils/start-stop-daemon.c |   18 +++++++++---------
 2 files changed, 11 insertions(+), 10 deletions(-)

commit 0ea0cb5405b828afb1ffdd39e0ef96e562aba86f
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 07:02:42 2009 +0200

    Bump version to 1.15.2~

 configure.ac     |    2 +-
 debian/changelog |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 588381c24ec54f97ad980618778df19ac86ffc10
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 06:53:44 2009 +0200

    Release 1.15.1

 configure.ac     |    2 +-
 debian/changelog |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit bd1812a0af338e9ea574f9fc1efe7a7d99aa4fa9
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 06:35:16 2009 +0200

    Regenerate .pot files and merge .po files with them

 dselect/po/bs.po        |   96 +-
 dselect/po/ca.po        |   96 +-
 dselect/po/cs.po        |   96 +-
 dselect/po/da.po        |   96 +-
 dselect/po/de.po        |   96 +-
 dselect/po/dselect.pot  |   96 +-
 dselect/po/el.po        |   96 +-
 dselect/po/es.po        |   96 +-
 dselect/po/et.po        |   96 +-
 dselect/po/eu.po        |   96 +-
 dselect/po/fr.po        |   96 +-
 dselect/po/gl.po        |   96 +-
 dselect/po/hu.po        |   96 +-
 dselect/po/id.po        |   96 +-
 dselect/po/it.po        |   96 +-
 dselect/po/ja.po        |   96 +-
 dselect/po/ko.po        |   96 +-
 dselect/po/nb.po        |   96 +-
 dselect/po/nl.po        |   96 +-
 dselect/po/nn.po        |   96 +-
 dselect/po/pl.po        |   96 +-
 dselect/po/pt.po        |   96 +-
 dselect/po/pt_BR.po     |   96 +-
 dselect/po/ro.po        |   96 +-
 dselect/po/ru.po        |   96 +-
 dselect/po/sk.po        |   96 +-
 dselect/po/sv.po        |   96 +-
 dselect/po/tl.po        |   96 +-
 dselect/po/vi.po        |   96 +-
 dselect/po/zh_CN.po     |   96 +-
 dselect/po/zh_TW.po     |   96 +-
 man/po/de.po            | 5681 +++++++++++++++++++++++++++++++----------------
 man/po/dpkg-man.pot     | 4015 +++++++++++++++++-----------------
 man/po/es.po            | 2702 ++++++++++++++++++----
 man/po/fr.po            | 2738 +++++++++++++++++++-----
 man/po/hu.po            | 2575 ++++++++++++++++++----
 man/po/ja.po            | 2623 ++++++++++++++++++----
 man/po/pl.po            | 2682 ++++++++++++++++++----
 man/po/pt_BR.po         | 2584 ++++++++++++++++++----
 man/po/ru.po            | 2627 ++++++++++++++++++----
 man/po/sv.po            | 5698 +++++++++++++++++++++++++++++++----------------
 po/ast.po               |  184 +-
 po/bs.po                |  181 +-
 po/ca.po                |  184 +-
 po/cs.po                |  184 +-
 po/da.po                |  184 +-
 po/de.po                |  193 +-
 po/dpkg.pot             |  181 +-
 po/dz.po                |  184 +-
 po/el.po                |  184 +-
 po/eo.po                |  184 +-
 po/es.po                |  184 +-
 po/et.po                |  184 +-
 po/eu.po                |  184 +-
 po/fr.po                |  184 +-
 po/gl.po                |  184 +-
 po/hu.po                |  184 +-
 po/id.po                |  184 +-
 po/it.po                |  184 +-
 po/ja.po                |  184 +-
 po/km.po                |  184 +-
 po/ko.po                |  184 +-
 po/ku.po                |  181 +-
 po/lt.po                |  184 +-
 po/mr.po                |  184 +-
 po/nb.po                |  184 +-
 po/ne.po                |  184 +-
 po/nl.po                |  184 +-
 po/nn.po                |  184 +-
 po/pa.po                |  181 +-
 po/pl.po                |  184 +-
 po/pt.po                |  184 +-
 po/pt_BR.po             |  184 +-
 po/ro.po                |  184 +-
 po/ru.po                |  184 +-
 po/sk.po                |  184 +-
 po/sv.po                |  184 +-
 po/th.po                |  184 +-
 po/tl.po                |  184 +-
 po/vi.po                |  184 +-
 po/zh_CN.po             |  184 +-
 po/zh_TW.po             |  184 +-
 scripts/po/ca.po        |  750 ++++---
 scripts/po/de.po        |  499 +++--
 scripts/po/dpkg-dev.pot |  740 ++++---
 scripts/po/fr.po        |  778 ++++---
 scripts/po/pl.po        |  770 ++++---
 scripts/po/ru.po        |  774 ++++---
 scripts/po/sv.po        |  503 +++--
 89 files changed, 32683 insertions(+), 16573 deletions(-)

commit 432925334746c722ef957d692c901eeb84c7d8f1
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 06:16:33 2009 +0200

    dpkg-deb: Do not warn when parsing unknown fields with “Private-” prefix
    
    Fields prefixed with “Private-” are intended to be used privately by
    individuals, organizations or companies, and are expected to never be
    standardized. This guarantees them to never collide with any official
    field in the future. Because there's still the danger that different
    organizations might end up using the same field name, those should
    never be visible in any public repository.
    
    Closes: #353040
    
    Based-on-patch-by: Nils Rennebarth <nils.rennebarth@funkwerk-ec.com>

 debian/changelog |    2 ++
 dpkg-deb/build.c |    6 ++++++
 2 files changed, 8 insertions(+), 0 deletions(-)

commit adaf5c43dc21083aa89341dd78a573dcc1e12be5
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 06:12:12 2009 +0200

    Revert "dpkg-deb: don't warn on unknown fields starting with "X-""
    
    This reverts commit 66835c07b3eb5c6a5a1374e60e93dfaf12538323.
    
    Conflicts:
    
    	debian/changelog

 debian/changelog |    3 ---
 dpkg-deb/build.c |    3 ---
 2 files changed, 0 insertions(+), 6 deletions(-)

commit bfda32490d1ff730322636c97a4ce4d65bbd69c5
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 06:02:17 2009 +0200

    s-s-d: Warn if --name argument is longer than supported by kernel
    
    Most kernels have a length limit on the process name stored in-kernel.
    For now the checks done on Linux compatible procfs might hit this limit
    and be unable to properly track the correct process. So warn in that
    case and recommend switching to the more reliable --exec.
    
    Closes: #353015, #519128

 debian/changelog          |    2 ++
 utils/start-stop-daemon.c |   12 ++++++++++++
 2 files changed, 14 insertions(+), 0 deletions(-)

commit 3bbdfa787d98084a682a404921e8bed6b5be8442
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 06:00:41 2009 +0200

    s-s-d: Add new warning function
    
    Switch a previous ad-hoc warning message to use the new warning
    function, which additionally properly prints to stderr.

 utils/start-stop-daemon.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

commit 46184f85cdddbbc879b4aebe105b7125e169a23d
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 21 05:26:51 2009 +0200

    Fix typo (one ‘the’ too many)

 README.translators |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ba2706754570efecb9cfba05ebcf2765d222c8a2
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue May 19 16:41:47 2009 +0200

    dpkg-scanpackages: be less annoying with warning about overrides
    
    If the user doesn't specify an override file, then he doesn't care
    about the fact that all packages are missing from the (non-existing)
    override file. Disable the warning in this case.
    
    In other cases, when the override file is explicitely given, it's a
    normal feature that the packages missing from it are listed; exactly like
    other weirdness are reported (incorrect maintainer info, spurious override
    entries).
    
    Based-on-patch-by: Piotr Engelking <inkerman42@gmail.com>

 debian/changelog             |    3 +++
 scripts/dpkg-scanpackages.pl |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit a4d87d52a10f7726934bc8d1a607dc28721a7a4d
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 19 07:56:01 2009 +0200

    dpkg-source: Do not state in --help there is a default substvar file

 debian/changelog       |    2 ++
 scripts/dpkg-source.pl |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit bf8ae12d0ec3710f409f7b2a533f496a15347da7
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 19 07:49:15 2009 +0200

    Make deprecated dpkg-scanpackages --udeb option produce a warning
    
    Callers should use -tudeb instead.

 README.feature-removal-schedule |    2 +-
 debian/changelog                |    1 +
 scripts/dpkg-scanpackages.pl    |   11 ++++++++---
 3 files changed, 10 insertions(+), 4 deletions(-)

commit 655872184c55febb2299eb6a19aa4d0612d2da60
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 19 07:39:08 2009 +0200

    Remove deprecated status for substvars in dpkg-source and dpkg-genchanges
    
    Even if there's no use at all for substvars or they are (currently)
    undesirable making the source not easily reproducible for Debian and
    most derivatives using the same build processesor, it might be
    interesting for uses like templated source package generation and
    similar, or other interesting ideas we might not have thought about.
    
    Also the same logic we applied for the removal of the substvar support
    could be applied to most of the “Build options” as well, as those do not
    make sense in the normal build for official packages (like -U, or -D).
    
    Changed the code to stop producing warnings, and remove deprecated notes
    from man page.

 README.feature-removal-schedule |    9 ---------
 debian/changelog                |    2 ++
 man/dpkg-source.1               |    4 ++--
 scripts/dpkg-genchanges.pl      |    1 -
 scripts/dpkg-source.pl          |    2 --
 5 files changed, 4 insertions(+), 14 deletions(-)

commit 3582817fd91ceab77cdd25d14ea2add1abe0be61
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 19 07:13:35 2009 +0200

    Do not right justify the database reading progress percent counter
    
    There's an odd space most for most of the progress, which will never be
    actually seen filled by the 100%. Seems slightly better to just not
    indent it.

 debian/changelog |    1 +
 lib/progress.c   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 398fd2848c4ea056ae4a0a9c404de436aa2f71e4
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue May 19 00:10:46 2009 +0200

    dpkg-parsechangelog: documentation update
    
    Update dpkg-parsechangelog's documentation to make it clearer that spaces
    are not allowed between single characters options and their values.
    
    For example, "-v1.14" works but "-v 1.14" doesn't. However "--since 1.14"
    works. Long options can have values as the next command line argument but
    not short ones.

 debian/changelog               |    3 +++
 man/dpkg-parsechangelog.1      |   12 ++++++------
 scripts/dpkg-parsechangelog.pl |   20 +++++++++++---------
 3 files changed, 20 insertions(+), 15 deletions(-)

commit 5962f9d2b2f5e70b223d04638302c0f2239af36e
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon May 18 23:22:04 2009 +0200

    dpkg-parsechangelog: handle better non-existing versions
    
    When a non-existing version is passed in one of the --since, --until,
    --to, --from options, the code will now replace them by a closely related
    version that really exists.

 debian/changelog          |    3 ++
 scripts/Dpkg/Changelog.pm |   77 ++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 73 insertions(+), 7 deletions(-)

commit 12c75eb567675b6498b333a416929431c55a558a
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon May 18 22:10:05 2009 +0200

    Fix changelog parsing code to differentiate the empty string from 0
    
    In many places, the code tested for a false version instead of
    an empty version string. Fixing all those enabled dpkg-buildpackage -v0 to
    work as expected.

 debian/changelog             |    2 +
 scripts/Dpkg/Changelog.pm    |   50 ++++++++++++++++++++++++-----------------
 scripts/changelog/debian.pl  |    6 +++-
 scripts/dpkg-buildpackage.pl |    8 +++---
 scripts/dpkg-genchanges.pl   |    2 +-
 5 files changed, 40 insertions(+), 28 deletions(-)

commit 9d1697bcc1ba87322a3ea6b2c7129656c52524de
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun May 17 19:16:48 2009 +0200

    dpkg-buildpackage: error out properly when dpkg-checkbuilddeps is killed
    
    Use the standard function subprocerr() to error out when
    dpkg-checkbuilddeps has not exited normally. Otherwise interpret the exit
    code as usual.

 debian/changelog             |    2 ++
 scripts/dpkg-buildpackage.pl |    6 +++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit 61eae73be741d724a282302fb68417c247ac2780
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun May 17 16:10:55 2009 +0200

    dpkg-buildpackage: don't set DEB_VENDOR anymore
    
    Packages should use the new dpkg-vendor interface and not rely
    on this environment variable.

 debian/changelog             |    2 ++
 man/dpkg-buildpackage.1      |    6 ------
 scripts/dpkg-buildpackage.pl |    8 --------
 3 files changed, 2 insertions(+), 14 deletions(-)

commit ffc27eb2fa5e00f65cd6c170fb9083738c125f17
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri May 15 18:17:18 2009 +0200

    dpkg-genchanges: use same error string than in dpkg-buildpackage
    
    Reusing the same error message "cannot combine %s and %s" between
    dpkg-genchanges and dpkg-buildpackage simplifies the work of translators.

 scripts/dpkg-genchanges.pl |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 77270d7bf4dbffba0060635ca58a51f7e66b475c
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri May 15 16:41:31 2009 +0200

    dpkg-buildpackage: factorize a command line sanity check

 scripts/dpkg-buildpackage.pl |   15 +++------------
 1 files changed, 3 insertions(+), 12 deletions(-)

commit 18dacea0fab9d81e85a5a7d4e9ec25435df7aa5b
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri May 15 16:28:45 2009 +0200

    dpkg-buildpackage: allow options -nc and -S together
    
    This combination is generally not recommended as you want to ensure
    that a source package contains only source and not any intermediary files
    left-over by the previous build. Nevertheless it can be useful from time
    to time and instead of bluntly refusing, we now simply warn the user
    and let the build proceed.
    
    -nc still implies -b if nothing else has been specified as it's routinely
    used to test if a fix is working by restarting a previously interrupted
    build where it failed.

 debian/changelog             |    2 ++
 man/dpkg-buildpackage.1      |    3 ++-
 scripts/dpkg-buildpackage.pl |   14 ++++++++------
 3 files changed, 12 insertions(+), 7 deletions(-)

commit edb5b7598366738eb4d3b48ddff2dcef9cda4c54
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 14 07:49:59 2009 +0200

    Remove obsolete 822-date program
    
    It has long been superseeded by ‘date -R’.

 README.feature-removal-schedule |   13 +++++------
 debian/changelog                |    1 +
 debian/dpkg-dev.install         |    2 -
 debian/usertags                 |    2 -
 man/822-date.1                  |   40 ---------------------------------------
 man/Makefile.am                 |    1 -
 man/po/po4a.cfg                 |    5 ----
 scripts/.gitignore              |    1 -
 scripts/822-date.pl             |   17 ----------------
 scripts/Makefile.am             |    2 -
 scripts/po/POTFILES.in          |    1 -
 11 files changed, 7 insertions(+), 78 deletions(-)

commit c8d3938be127e256fd593f234858fb9d474b2353
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 12 21:58:29 2009 +0200

    Remove obsolete priorities support

 README.feature-removal-schedule |   15 +++++++--------
 debian/changelog                |    1 +
 lib/dpkg-db.h                   |    7 +++++--
 lib/parsehelp.c                 |    6 ------
 4 files changed, 13 insertions(+), 16 deletions(-)

commit 9f6671925f3403900bb3a2f74cd4b6683a189052
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 12 20:21:55 2009 +0200

    Remove obsolete --force-auto-select dpkg option

 README.feature-removal-schedule |   17 +++++++----------
 debian/changelog                |    1 +
 src/main.c                      |    2 --
 3 files changed, 8 insertions(+), 12 deletions(-)

commit 4b8061f8583220089eda1611fb7c55efd0cb41b5
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 12 16:24:58 2009 +0200

    Remove obsolete --largemem and --smallmem dpkg options

 README.feature-removal-schedule |   10 +++++-----
 debian/changelog                |    1 +
 src/main.c                      |    2 --
 src/main.h                      |    2 +-
 4 files changed, 7 insertions(+), 8 deletions(-)

commit a7a2de0e76049ac238cf70140dec2e39fb9a553b
Author: Guillem Jover <guillem@debian.org>
Date:   Mon May 11 18:14:12 2009 +0200

    Print a warning when using obsolete --print-installation-architecture
    
    Packages should be switched to use --print-architecture. This option
    will be removed sometime in the future.
    
    Closes: #528171

 README.feature-removal-schedule |    8 ++++++++
 debian/changelog                |    2 ++
 src/enquiry.c                   |    8 ++++++++
 src/main.c                      |    2 +-
 4 files changed, 19 insertions(+), 1 deletions(-)

commit 58b04d8f75a8b59bc2ec0f54429e3a47b060ecb6
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun May 10 21:31:40 2009 +0200

    dpkg-buildpackage: add execute right on debian/rules when missing
    
    That right should normally not be missing as dpkg-source -x automatically
    sets it. However manually applying a Debian diff doesn't restore
    that right so let dpkg-buildpackage restore it in that case and display a
    warning to let the user know that it was not really normal.

 debian/changelog             |    2 ++
 scripts/dpkg-buildpackage.pl |    5 +++++
 2 files changed, 7 insertions(+), 0 deletions(-)

commit 70c760198f9d116d85f20a587f60bb4bc3fff776
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun May 10 19:18:05 2009 +0200

    dpkg-source: do not try to apply empty patch set
    
    In format 2.0 and 3.0 (quilt), do not try to apply the patches if
    there are none.

 scripts/Dpkg/Source/Package/V2.pm       |    2 ++
 scripts/Dpkg/Source/Package/V3/quilt.pm |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 57c5a9dd52955d5b2fd55f224d70cb4f3f40f437
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun May 10 19:15:29 2009 +0200

    dpkg-source: minor update to "3.0 (quilt)" format
    
    Do not update/create debian/patches/.dpkg-source-applied during build,
    it's only meant to document what patches have been applied at extraction
    time.
    
    Also try to cleanup in case the patch serie is empty after removal of the
    automatic patch. First remove debian/patches/series if it's empty and then
    debian/patches/ itself in case it's empty as well.

 debian/changelog                        |    3 +++
 scripts/Dpkg/Source/Package/V2.pm       |    1 +
 scripts/Dpkg/Source/Package/V3/quilt.pm |    5 ++---
 3 files changed, 6 insertions(+), 3 deletions(-)

commit 50e6ea1dc0193eacc95ec47f2d175c6bfcda14fc
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun May 10 17:30:02 2009 +0200

    dpkg-source: fix automatic patch registration in format 3.0 (quilt)
    
    When the automatic patch is updated due to a second call to
    dpkg-source, it's not always properly registered with quilt.
    It must be applied with quilt itself otherwise quilt pop
    then quilt push might fail when supplementary files have been modified
    outside of quilt's knowledge.
    
    Furthermore quilt import was not a good choice as it failed trying to copy
    the patch over itself. The new approach is to revert the patch and let
    quilt reapply it with quilt fold. It will go over the list of files
    modified by the new patch and add those which were not yet part of the
    previous patch (hence adding the required unmodified files in
    .pc/<patch-name>/).
    
    Based-on-patch-by: Goswin von Brederlow <goswin-v-b@web.de>

 debian/changelog                        |    4 ++++
 scripts/Dpkg/Source/Package/V3/quilt.pm |   22 ++++++++++++++++++----
 2 files changed, 22 insertions(+), 4 deletions(-)

commit 170fd06d3573238bab92594afe4d49b61bf77407
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 10 19:59:25 2009 +0200

    dpkg-vendor: Error out when no action option is provided
    
    It was previously giving perl warnings due to uninitialized variables.

 scripts/dpkg-vendor.pl |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 289c179ef6d91ad4daec4abff7762d5b17a010c9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 10 19:53:08 2009 +0200

    dpkg-vendor: Use usageerr instead of non-existent badusage

 scripts/dpkg-vendor.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1b075bd34bf8c2362b0999b29ec5c2ab88429db9
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 10 19:07:06 2009 +0200

    s-s-d: Print valid values for IO scheduler class in --help output

 debian/changelog          |    2 ++
 utils/start-stop-daemon.c |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 384f6d131f07110db4807cab02fefc02ccab7430
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 10 18:59:35 2009 +0200

    s-s-d: Only print fatal errno string if it was non-zero

 debian/changelog          |    1 +
 utils/start-stop-daemon.c |    6 +++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit f40d17f3b7e7eeea80023762dc782791ffff8514
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 10 18:52:30 2009 +0200

    s-s-d: Preserve faulting errno when printing reason in fatal function

 debian/changelog          |    2 ++
 utils/start-stop-daemon.c |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit 4a0c79171400847ea97ebd66384fde21f497964c
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 10 18:33:09 2009 +0200

    Fix POD errors detected by podchecker in perl modules
    
    Add missing blank lines after =cut, close =over section with =back and
    add a FIXME comment to an empty section.

 scripts/Dpkg/Cdata.pm          |    2 ++
 scripts/Dpkg/Changelog.pm      |    5 ++++-
 scripts/Dpkg/Control.pm        |    9 +++++++++
 scripts/Dpkg/Deps.pm           |    9 +++++++++
 scripts/Dpkg/Fields.pm         |    7 +++++++
 scripts/Dpkg/Path.pm           |    4 ++++
 scripts/Dpkg/Substvars.pm      |    7 +++++++
 scripts/Dpkg/Vendor.pm         |    9 +++++++++
 scripts/Dpkg/Vendor/Default.pm |    3 +++
 scripts/Dpkg/Vendor/Ubuntu.pm  |    3 +++
 scripts/Dpkg/Version.pm        |    1 +
 11 files changed, 58 insertions(+), 1 deletions(-)

commit 2b125e6ed96d88e0f352eba9bfc746a9640dc01a
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 10 17:54:05 2009 +0200

    Do not set the Arch substvar in dpkg-source
    
    Avoid setting the variable by default as it is expensive, and not
    really needed for dpkg-source anyway. Split the setting into a new
    member set_arch_substvars().
    
    Regression introduced in 120ecd5161f4cf468d611b3dea05ac8a43313a75.
    
    Closes: #526132

 debian/changelog           |    2 ++
 scripts/Dpkg/Substvars.pm  |   17 ++++++++++++++---
 scripts/dpkg-genchanges.pl |    1 +
 scripts/dpkg-gencontrol.pl |    1 +
 4 files changed, 18 insertions(+), 3 deletions(-)

commit 70bf111c9a1060ada8eabe8787e149f25157f714
Author: Guillem Jover <guillem@debian.org>
Date:   Thu May 7 18:30:26 2009 +0200

    Move Debian keyrings to the Debian vendor keyring hook
    
    As Ubuntu is a derivative from Debian, make it inherit the Debian vendor
    class when running the keyrings hook.

 debian/changelog               |    2 ++
 scripts/Dpkg/Source/Package.pm |    6 ------
 scripts/Dpkg/Vendor/Debian.pm  |   17 +++++++++++++++--
 scripts/Dpkg/Vendor/Ubuntu.pm  |    8 +++++---
 4 files changed, 22 insertions(+), 11 deletions(-)

commit 349aeaa4f2673678cf09d5a31d4b80db1f534639
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Thu Apr 9 18:07:09 2009 +0200

    dpkg-vendor: new script to query various vendor information
    
    This tool is meant to be used in debian/rules files to have common source
    packages across multiple distributions and yet still have slightly
    different binary packages.
    
    To automatically conserve customizations across derivatives of a given
    distribution, one can use “dpkg-vendor --derives-from vendor” so that all
    derivatives keep the same customizations when they rebuild the source
    package even if the current vendor is no more the same.

 debian/changelog        |    4 ++
 debian/dpkg-dev.install |    2 +
 man/Makefile.am         |    1 +
 man/dpkg-vendor.1       |   53 ++++++++++++++++++++++
 man/po/po4a.cfg         |    5 ++
 scripts/Makefile.am     |    2 +
 scripts/dpkg-vendor.pl  |  113 +++++++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 180 insertions(+), 0 deletions(-)

commit 780d969788cbc639b75e876d010fbc0e80956aa0
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 5 17:40:32 2009 +0200

    Do not install dselect and s-s-d man pages if disabled on configure
    
    When configuring with --without-dselect or --without-start-stop-daemon,
    do not install the man pages related to those programs.

 debian/changelog |    2 ++
 man/Makefile.am  |   48 +++++++++++++++++++++++++++++++-----------------
 2 files changed, 33 insertions(+), 17 deletions(-)

commit f8f681790429aec59d8fc3771fa2d6ec78ed77f6
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 5 15:48:27 2009 +0200

    Use backticks instead of non-portable make $(shell) function
    
    The backticks are treated like text, until the shell expands them, thus
    making this solution portable.

 debian/changelog |    1 +
 man/Makefile.am  |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 618b6cd27b04c50e3e5b21b035b45aef58e6affb
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 5 15:39:46 2009 +0200

    Declare the ChangeLog file to be removed on distclean
    
    This fixes ‘make distcheck’.

 Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 6f165c4579b53597583305394cd4e1cb377d5fa8
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 5 15:21:45 2009 +0200

    Changelog police: Esperanto is a new language

 debian/changelog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d61abe87252a6a6b234c8eb59a8926c8f9887d32
Author: Guillem Jover <guillem@debian.org>
Date:   Tue May 5 15:20:21 2009 +0200

    Enable Esperanto and Asturian languages
    
    Missed in commits ce04415c6b809e4936f9b69d5ea60daa06f0657d and
    8ab2d4a31934027a1824f8ba6458e8de175ccdb5.

 po/LINGUAS |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 45a7adc8ac5e8864d3a3865b7c0c9cb4ef3b4388
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon May 4 20:49:42 2009 +0200

    update-alternatives: don't remove real files conflicting with link
    
    When an alternative is installed and a real file is in conflict, the real
    file is kept. When the same alternative is fully removed, the real file
    should be kept according to the same logic (but currently it was removed).
    This commit modifies update-alternatives to follow this expected
    behaviour.
    
    Also add a non-regression test.

 debian/changelog                    |    3 +++
 scripts/t/900_update_alternatives.t |    5 ++++-
 scripts/update-alternatives.pl      |    4 ++--
 3 files changed, 9 insertions(+), 3 deletions(-)

commit da0538290b7dbbfb3c537441470767fd0879c985
Author: Guillem Jover <guillem@debian.org>
Date:   Sun May 3 14:07:00 2009 +0200

    Add '.hgtags' to the default dpkg-source -i regex and -I pattern
    
    Closes: #525854

 debian/changelog               |    2 ++
 scripts/Dpkg/Source/Package.pm |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit b5b8fb2f78d60ec9836eb7120ec38ffa6962b1dc
Author: Yuri Kozlov <yuray@komyakino.ru>
Date:   Sat May 2 18:18:05 2009 +0200

    Updated Russian translation

 debian/changelog |    1 +
 po/ru.po         | 1034 +++++++++++++++++-------------------------------------
 2 files changed, 329 insertions(+), 706 deletions(-)

commit 3624a4b0eb5499f367c1d8077240f151903cd70a
Author: Philipp Kern <pkern@debian.org>
Date:   Sat May 2 11:39:00 2009 +0200

    dpkg-source: do not set arch:any in dsc on arch-restricted packages
    
    dpkg-source was pretty liberal in setting 'Architecture: any' in the
    dsc: as soon as there are two binary packages, one being arch:all and
    one being arch-restricted, you get arch:any in the dsc. This is
    incorrect because the package will only build on the autobuilders
    if there are architecture-dependent binary packages available.
    
    Thus this patch only produces arch:any if at least one binary package
    specifies it. Otherwise it outputs the set of all binary architectures
    (including arch:all).
    
    Closes: #526617
    
    Signed-off-by: Philipp Kern <pkern@debian.org>

 debian/changelog       |    2 ++
 scripts/dpkg-source.pl |   43 ++++++++++++++++++++-----------------------
 2 files changed, 22 insertions(+), 23 deletions(-)

commit 0e8fe98658d63a07a1449cee61f16a67136134e6
Author: Philipp Kern <pkern@debian.org>
Date:   Sat May 2 11:26:25 2009 +0200

    Fix format string in German translation
    
    Signed-off-by: Philipp Kern <pkern@debian.org>

 scripts/po/de.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 38a231cc468837a6a1db306a77dff1ca1d31d2e8
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Apr 27 22:26:51 2009 +0200

    Update german scripts translation
    
    Update to 477t.

 scripts/po/de.po |  475 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 249 insertions(+), 226 deletions(-)

commit ada924df6df039f66770d454b5e803169dc2b31b
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Mon Apr 27 22:20:42 2009 +0200

    Update german translation of manual pages
    
    Update to 1659t.

 man/po/de.po | 3869 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 1892 insertions(+), 1977 deletions(-)

commit cbde6f587130724749c23908cce129380dc7652d
Author: Colin Watson <cjwatson@canonical.com>
Date:   Mon Apr 27 11:56:22 2009 +0100

    dpkg-source: Add "keyrings" vendor hook
    
    Add "keyrings" vendor hook, used by dpkg-source to allow vendors to
    supply additional keyrings against which source package signatures will
    be verified. Implement this for Ubuntu.

 debian/changelog               |    5 +++++
 man/dpkg-source.1              |    2 +-
 scripts/Dpkg/Source/Package.pm |    6 ++++++
 scripts/Dpkg/Vendor/Default.pm |    8 ++++++++
 scripts/Dpkg/Vendor/Ubuntu.pm  |    3 +++
 5 files changed, 23 insertions(+), 1 deletions(-)

commit 609294de1074556ac6194fff7ddbfef0fec80841
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Apr 19 22:05:34 2009 +0200

    dpkg-source: do not store user/group names in generated tarballs
    
    Do not store usernames and group names when creating tarballs
    and use numeric UID/GID 0 instead. This concerns native source packages,
    debian tarballs in "3.0 (quilt)" source packages, and any other source
    format creating new tarballs with Dpkg::Source::Archive.

 debian/changelog               |    2 ++
 scripts/Dpkg/Source/Archive.pm |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

commit f805a6546e7050a1024d924b805cff75cfd082d8
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Apr 19 20:54:12 2009 +0200

    Add lintian override for embedded-zlib
    
    dpkg-deb links statically with zlib so that it can still work
    even if the shared library is broken or unavailable. It's a facility
    to be able to recover from difficult situations without having
    to manually unpack debian packages.
    
    See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=139320 for
    one discussion about this.

 debian/dpkg.lintian-overrides |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 0f6f1016aa501387f60ec9f8b750263904fbf306
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Apr 19 20:51:10 2009 +0200

    Update Standards-Version to 3.8.1

 debian/changelog |    1 +
 debian/control   |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit 3525f79792cff51757d99d45f51c96a15e6fa779
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Apr 19 20:08:44 2009 +0200

    dpkg-source: don't complain on binary files that are ignored
    
    To avoid mistakes with "3.0 (quilt)" source packages, dpkg-source fails if
    it finds binary files that have not been whitelisted in the debian
    directory. Unfortunately it also fails on binary files that are ignored
    and that will not be included in the debian tarball. This commit fixes
    that although not completely.
    
    The exclude patterns passed to tar --exclude are used to match filenames
    and also full path names inside the tarball. This commit only adds support
    for simple filename match. It is enough for all realistic cases.

 debian/changelog                  |    3 +++
 scripts/Dpkg/Source/Package/V2.pm |   24 +++++++++++++++++++++++-
 2 files changed, 26 insertions(+), 1 deletions(-)

commit 64439508ccaf2c9a98fa11b7cce4df4d314cc334
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Apr 17 22:24:19 2009 +0200

    dpkg-source: accept dashes in component name of additional tarballs
    
    The regular expression used to identify additional tarballs (used in
    formats "2.0" and "3.0 (quilt)") was too strict and refused dashes. This
    commit fixes that and documents the set of allowed characters in the
    dpkg-source manual page.

 debian/changelog                  |    2 ++
 man/dpkg-source.1                 |    1 +
 scripts/Dpkg/Source/Package.pm    |    2 +-
 scripts/Dpkg/Source/Package/V2.pm |    4 ++--
 4 files changed, 6 insertions(+), 3 deletions(-)

commit fee30cd37c83bd85465edba36546a3661d273d7d
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Apr 17 22:08:24 2009 +0200

    Dpkg::Deps::parse(): parse properly an empty dep with spaces only
    
    Leading and trailing spaces were not stripped and when no further parsing
    was done (because there's no valid dependency to parse) it was improperly
    erroring out.

 debian/changelog     |    2 ++
 scripts/Dpkg/Deps.pm |    4 ++++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit 100a2a29c7718613d97a8ae9543c69faf0da0436
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Apr 14 09:40:42 2009 +0100

    Update Swedish translation.
    
    Update man/po/sv.po to 1659t0f0u.
    Update scripts/po/sv.po to 477t0f0u.

 man/po/sv.po     | 3736 ++++++++++++++++++++++++++----------------------------
 scripts/po/sv.po |  465 ++++----
 2 files changed, 2070 insertions(+), 2131 deletions(-)

commit f3b72bc149660a938d7d147ce19d656aeee4cad2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 13 06:14:42 2009 +0200

    Fix typos in u-a man page
    
    Add a missing paragraph with heading tag.
    Replace reference to ‘link’ with ‘name’ in --auto.
    
    Reported-by: Helge Kreutzmann <debian@helgefjell.de>

 man/update-alternatives.8 |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 51926eebbba1f20c3bf994e7364512a1c63a25f2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 13 04:57:43 2009 +0200

    Detect the curses headers to use instead of hardcoding them
    
    Wrap the curses headers to use and select them through the config.h macros
    detected at configure time. This way we can also cleanly detect the path
    needed by mkcurkeys.pl w/o duplicating the selection logic.

 TODO                     |    1 -
 debian/changelog         |    1 +
 dselect/Makefile.am      |    6 ++++--
 dselect/dselect-curses.h |   40 ++++++++++++++++++++++++++++++++++++++++
 dselect/dselect.h        |    3 +--
 dselect/main.cc          |    6 ++++++
 m4/libs.m4               |    2 ++
 7 files changed, 54 insertions(+), 5 deletions(-)

commit f8ff44b68dbec2457bd3dbe0e9c891f73534f7b2
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 13 04:42:53 2009 +0200

    Add avr32 to cputable
    
    Closes: #523456

 cputable         |    1 +
 debian/changelog |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit e2d3483c9d297823e8917196925a00927d5d1afe
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Apr 13 04:38:20 2009 +0200

    Sync archtable with architectures currently present in Debian sid
    
    Remove m68k.
    Add kfreebsd-i386 and kfreebsd-amd64.

 debian/archtable |    3 ++-
 debian/changelog |    3 +++
 2 files changed, 5 insertions(+), 1 deletions(-)

commit e5235b174b04cd3662e9b189cd7502fc58a031a6
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Thu Apr 9 18:35:10 2009 +0200

    dpkg-source: don't die on SIGPIPE of uncompressors
    
    Modify Dpkg::Source::CompressedFile to not die when uncompressors
    processes (gunzip, bunzip, etc.) are killed by SIGPIPE. Recent tar
    versions close the pipe before having read everything sent by the
    uncompressor process when they encounter the end of the tar file.
    This was of course problematic for Dpkg::Source::Archive.
    This is a regression compared to etch's dpkg-source which dealt with
    SIGPIPE properly.
    
    The Dpkg::Source::Compressor::wait_end_process() function had to be
    extended to be able to forward options to Dpkg::IPC::wait_child().

 debian/changelog                      |    3 +++
 scripts/Dpkg/Source/CompressedFile.pm |   10 +++++++++-
 scripts/Dpkg/Source/Compressor.pm     |    5 +++--
 3 files changed, 15 insertions(+), 3 deletions(-)

commit f8cc0115a8d326416eb0fd968db86e0cb4f5a408
Author: Christian Perrier <bubulle@debian.org>
Date:   Wed Apr 8 18:24:50 2009 +0200

    Slovak translation update

 po/sk.po |   67 +++++++++++++++++++++++++++++++------------------------------
 1 files changed, 34 insertions(+), 33 deletions(-)

commit 8ab2d4a31934027a1824f8ba6458e8de175ccdb5
Author: Felipe Castro <fefcas@gmail.com>
Date:   Wed Apr 8 06:44:58 2009 +0200

    Esperanto translation update
    
    Closes: #523023

 debian/changelog |    1 +
 po/eo.po         | 5870 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 5871 insertions(+), 0 deletions(-)

commit c40bbd831c32b257001bbe6f5d88df16ea20bb07
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Apr 5 11:04:48 2009 +0200

    Recomplete german translation of manual pages

 man/po/de.po |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)

commit 2cd5f33d4808b912f649fb662f1235d21cd5e64e
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Apr 3 20:34:53 2009 +0200

    Update german translation of manual pages
    
    Update to 1654t3u.

 man/po/de.po |  154 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 112 insertions(+), 42 deletions(-)

commit 28322a61ea6a17f8220dd0f9c7454ee9d03ec588
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue Mar 31 12:16:12 2009 +0200

    Fix a translation mistake in french version of dpkg(1)
    
    Reported-by: Jonathan Gibert <jokot3@gmail.com>

 debian/changelog |    2 ++
 man/po/fr.po     |    2 +-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 1b1a8a5773e94a014fc2093436bd1509ad53ff4f
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 30 15:35:38 2009 +0200

    Fix syntax in german translation.
    
    Reported-by: Modestas Vainius <modestas@vainius.eu>

 man/po/de.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 734a784e75b71b31179327a7f284f76e3bbcb14e
Author: Frank Lichtenheld <djpig@debian.org>
Date:   Sun Mar 29 13:18:39 2009 +0200

    Simplify Dpkg::Version
    
    Remove unnecessary function next_elem which just replicates the
    standard shift behaviour. The additional function calls affect
    performance negatively.

 debian/changelog        |    6 +++++-
 scripts/Dpkg/Version.pm |   18 +++++++-----------
 2 files changed, 12 insertions(+), 12 deletions(-)

commit 3fe876365cc62f3cf9b74fb5b23150fe6d307d20
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Mar 27 21:27:10 2009 +0100

    Unify (where applicable) translation of "create" as in po/de and fix typos

 man/po/de.po     |   44 ++++++++++++++++++++++----------------------
 scripts/po/de.po |   18 +++++++++---------
 2 files changed, 31 insertions(+), 31 deletions(-)

commit 557be89bdb3547ba1233d022b81ce3b29b3581aa
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Fri Mar 27 20:14:10 2009 +0100

    Unify translation of "create"

 po/de.po |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

commit 66835c07b3eb5c6a5a1374e60e93dfaf12538323
Author: Nils Rennebarth <nils.rennebarth@funkwerk-ec.com>
Date:   Fri Mar 27 19:31:18 2009 +0100

    dpkg-deb: don't warn on unknown fields starting with "X-"
    
    The fields named "X-" are never going to collide with official
    fields and there's no need to warn that they are unknown.
    Users are already explicitely creating them with XB-X-* fields
    in debian/control.

 debian/changelog |    3 +++
 dpkg-deb/build.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit 1e1038d76a201b179f900fcfc442a94e4aa3b3eb
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 23 16:01:22 2009 +0100

    Global review of error checking associated to strtol functions
    
    Several calls to strtol() or strtoul() are not followed by a
    proper check that ensures that they have parsed an integer value
    (and not an empty string).

 dpkg-split/info.c         |    2 +-
 dpkg-split/main.c         |    2 ++
 src/filesdb.c             |    6 +++---
 src/main.c                |   17 ++++++++++-------
 utils/start-stop-daemon.c |    2 +-
 5 files changed, 17 insertions(+), 12 deletions(-)

commit da116193fa0ec00f0c477614e5178c874a323753
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Fri Mar 27 18:21:07 2009 +0100

    Update german translation of manual pages
    
    Update to 1635t6f16u.

 man/po/de.po |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

commit c1b9a3e2b1ddfc97deefb812c6689ad6b3629f46
Author: Peter Krefting <peter@softwolves.pp.se>
Date:   Sun Mar 22 15:12:12 2009 +0100

    Fixed typo and incorrect translation in the dpkg-dev translation.
    
    Spotted by Daniel Nylander.

 scripts/po/sv.po |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit d80d6958a20f3664b7bb0ef49f5fe5b8056836e6
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 22 11:45:10 2009 +0100

    dpkg: refuses empty parameters when integer expected
    
    Fix setinteger() funtion used for parsing integer options to
    refuse empty parameters. Currently only affects --abort-after.
    
    Based-on-patch-by: Bill Allombert <ballombe@debian.org>

 THANKS           |    1 +
 debian/changelog |    2 ++
 src/main.c       |    2 +-
 3 files changed, 4 insertions(+), 1 deletions(-)

commit 5ddae0e36402c8694ed63b7caf5018e311129047
Author: Bill Allombert <ballombe@debian.org>
Date:   Sun Mar 22 12:22:22 2009 +0100

    dpkg: separate arguments with "--" when calling dpkg-{deb,query}
    
    This is needed because any user-supplied argument separator is stripped by
    the option parser such as "dpkg -S -- -pic" ends up calling "dpkg-query
    --search -pic" which fails. With this patch, it calls "dpkg-query --search
    -- -pic" and works as expected.

 debian/changelog |    5 +++++
 src/main.c       |    7 ++++++-
 2 files changed, 11 insertions(+), 1 deletions(-)

commit cb4288636728df2a9187d042eea8f57f24790d29
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sat Mar 21 18:05:03 2009 +0100

    Small fixes so that a build from a clean checkout works again
    
    Remove origin/Makefile from configure.ac.
    
    Fix debian/rules so that it works even if the auto-generated ChangeLog is
    not there yet.
    
    Reported-by: Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr>

 configure.ac |    1 -
 debian/rules |    4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)

commit c3e6b6dfdb10d5883330fa314c0df7d85d7905d0
Author: Christian Perrier <bubulle@debian.org>
Date:   Thu Mar 19 19:45:30 2009 +0100

    Reviewed by Stéphane Blondon. Drop joke...

 po/fr.po |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 981ccbf39a1b903d5c7dfc056b15bfe4dc563b96
Author: Christian Perrier <bubulle@debian.org>
Date:   Wed Mar 18 20:13:01 2009 +0100

    French translation completed

 po/fr.po |  378 ++++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 233 insertions(+), 145 deletions(-)

commit dd977bc0ecb6ad9e8b8e727e4aa6aaabea04457a
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 19:50:23 2009 +0100

    Fix another typo.

 man/po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 9b585a4607bf6aa97d547e2afd559de9b9129991
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 19:49:06 2009 +0100

    Fix another typo.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8aea716c734e42b809d5146a6cdad863662bdcd5
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 19:48:28 2009 +0100

    *Possibly* fix another typo.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8939ce325c8cd5e1ba42b8aa8dd73756843d3882
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 19:47:44 2009 +0100

    Another wrapping problem.

 man/po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d1f5ea901c829bad0bc4c75b6f5c1b2854bd29ae
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 19:47:02 2009 +0100

    Fix typos.

 man/po/fr.po |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 2cb8374d47f393911fe5843a75a8faa4d2abd85b
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 19:46:19 2009 +0100

    Fix typo in a French manpage.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e154e909781d3b266bd746c8e77b1dd6967934b8
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 02:02:56 2009 +0100

    Fix typos.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 16ed3e573e1c9233a3366ea262bea7a871c737e7
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 02:02:55 2009 +0100

    *Possibly* fix another typo.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e3f72b6d2feedcf95aaf00453fb0a52e5cf5968e
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 02:02:53 2009 +0100

    Fix typo.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d0b749781b8c70f853e13359e287073809906e29
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 02:02:50 2009 +0100

    Adopt another style.

 man/po/fr.po |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 62edf2b5613e73364b106be2f902d3c850ce4b3d
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 02:02:47 2009 +0100

    Rephrase some bits (kind of “too much”) in a French manpage.

 man/po/fr.po |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 6dba9d6d178df4529928978c709911b15fdfa733
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 02:02:46 2009 +0100

    Workaround rendering bug in a French manpage.
    
    Non-breaking spaces seem not to be taken into account when the PO-file
    lines are wrapped. Try and reformat in another way.

 man/po/fr.po |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit a20f920fa416a8c2493b78f6a7d2779831b9e957
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Mar 18 02:02:45 2009 +0100

    Fix typo in a French manpage.

 man/po/fr.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d145e4e7990e8acf090a3766cb6008f70475f425
Author: Christian Perrier <bubulle@debian.org>
Date:   Tue Mar 17 22:13:47 2009 +0100

    French translation update

 po/fr.po |  420 ++++++++++++++++++++++++--------------------------------------
 1 files changed, 163 insertions(+), 257 deletions(-)

commit 80716257ffb9674d78a606fe7f8e5b035d1dfdf3
Author: Marcos <marcos.alvarez.costales@gmail.com>
Date:   Tue Mar 17 07:12:21 2009 +0100

    Completed Asturian translation
    
    Closes: #519998

 debian/changelog |    2 +-
 po/ast.po        |   12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

commit d8c47b9b7ddd60b74fb8a502f45000068c4669f8
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Mar 17 22:13:00 2009 +0100

    Update german translation of manual pages
    
    Update to 1626t6f25u.

 man/po/de.po |  175 ++++++++++++++++++++++++++-------------------------------
 1 files changed, 80 insertions(+), 95 deletions(-)

commit 9b525629d5b318246a4b8cfb352fdf3d13d08afc
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Mar 17 21:43:26 2009 +0100

    Add debian/changelog entry for the German dpkg translation update
    
    Bring translation updates back into alphabetical order.

 debian/changelog |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 69c003759ab6d8b538062705b2da7a4714b04e16
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Tue Mar 17 21:34:36 2009 +0100

    Update German dpkg translation
    
    Update to 1001t11f.

 po/de.po |  565 ++++++++++++++++++++++++++++----------------------------------
 1 files changed, 251 insertions(+), 314 deletions(-)

commit ed4e04ccef996d5ef715fc9c1da5da6ca9fa372f
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue Mar 17 18:44:12 2009 +0100

    dpkg-shlibdeps: improve debug messages displayed in verbose mode

 scripts/dpkg-shlibdeps.pl |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

commit 02e3de2f1d687b19d305f7623e08742f6896ae7a
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Tue Mar 17 16:51:44 2009 +0100

    dpkg-shlibdeps: fix code to find out minimal version among all symbols
    
    dpkg-shlibdeps did not always correctly initialize symbol-based
    dependencies for libraries having symbols associated with a version "0".
    
    “$minver ||= $sym->{minver};” changed $minver to the first non-null version
    that followed a null version. Because the null version is evidently
    selected as the minimal version but that code considers it unset and
    replaces it with whatever it has.
    
    Add a non-regression test for this part of the code.

 debian/changelog                            |    4 ++++
 scripts/Dpkg/Shlibs/SymbolFile.pm           |    2 +-
 scripts/t/200_Dpkg_Shlibs.t                 |   12 +++++++++---
 scripts/t/200_Dpkg_Shlibs/symbols.fake-2    |    2 +-
 scripts/t/200_Dpkg_Shlibs/symbols.include-1 |    2 +-
 5 files changed, 16 insertions(+), 6 deletions(-)

commit 4eaf5de367581c2a3cf3debafbc21e072a519ef2
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 16 18:54:05 2009 +0100

    Drop /etc/dpkg/origins as it's taken over by base-files (see #487437)

 Makefile.am                   |    1 -
 debian/changelog              |    1 +
 debian/dpkg.install           |    1 -
 debian/dpkg.lintian-overrides |    1 -
 origins/Makefile.am           |   10 ----------
 origins/debian                |    3 ---
 6 files changed, 1 insertions(+), 16 deletions(-)

commit 5badd6d7165d2ac04b7b4b47d1c37986f33d5528
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 16 11:12:00 2009 +0100

    Dpkg::Deps: refuse to parse ORed deps only when union deps are requested
    
    This was the intended behaviour when that change was made
    in f65e9c9a2e521e32b0de6a963ab1e58790001366.

 scripts/Dpkg/Deps.pm |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 22f2ea26d7b848a9dc8b66a9c8fa264f5aa29b74
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 16 11:00:16 2009 +0100

    dpkg-buildpackage: add back an erroneously removed use statement
    
    “use Dpkg::Version qw(check_version);” should not have been removed
    in this file.

 scripts/dpkg-buildpackage.pl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f1d3f2dae6581d04743fa4877f78d44be66502df
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 16 10:54:05 2009 +0100

    Dpkg::IPC: add sanity check for timeout parameter and a non-regression test

 scripts/Dpkg/IPC.pm      |    5 +++++
 scripts/t/800_Dpkg_IPC.t |   12 ++++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

commit 5b0024349ddbfefdcd45fd9382cc113234ba0f39
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 22:15:41 2009 +0100

    dpkg-source: switch to standard info() function for output
    
    All buildd should use an updated sbuild by now, we can update the
    format of dpkg-source's output without problems.

 scripts/dpkg-source.pl |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

commit 7d7a32b36791ba9c458930c537875c32e9e3a57c
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 22:11:43 2009 +0100

    Misc updates concerning gpg and dpkg-source
    
    * Always display a warning when the signature verification failed.
    * Update the dpkg-source's manual page to document that only the user's
      trustedkeys.gpg keyring is used for signature verification.

 debian/changelog               |    2 ++
 man/dpkg-source.1              |    3 ++-
 scripts/Dpkg/Source/Package.pm |    2 ++
 3 files changed, 6 insertions(+), 1 deletions(-)

commit 09721c437877afd1549b1028c4f830898db6c57e
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 21:53:14 2009 +0100

    Update dpkg-dev dependencies
    
    - Move gnupg to Recommends. It's needed to sign .dsc and .changes.
    - Add gpgv to Recommends. Useful to check signatures of extracted packages.
    - Add debian-maintainers to Suggests. Together with debian-keyring they
      contain all the GPG keys required to verify official Debian packages.

 debian/changelog |    5 +++++
 debian/control   |    4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

commit eb23ea12c4599ec93c9c5e21929a5dd966991bb7
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 21:44:09 2009 +0100

    dpkg-source: don't block indefinitely on gpg
    
    dpkg-source's signature check is now done with gpgv if possible and
    timeouts if not completed within 10 seconds.

 debian/changelog               |    2 ++
 scripts/Dpkg/Source/Package.pm |   12 +++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

commit eecd200a7aa51058c950345e60092c7fdd0ec1e2
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 21:14:18 2009 +0100

    Dpkg::IPC: implement timeout for subprocesses
    
    Add a new option timeout for Dpkg::IPC::wait_child(). It implements
    an alarm() based timeout for subprocesses and allows us to
    fail if some processes do not return as expected.

 scripts/Dpkg/IPC.pm |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

commit fe67e29f17678678091e2ba318d4ec8c0e6bef47
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 21:13:34 2009 +0100

    Let git ignore vim swap files

 .gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f65e9c9a2e521e32b0de6a963ab1e58790001366
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 19:34:17 2009 +0100

    dpkg-gencontrol: improve error message with a bad union dependency
    
    dpkg-gencontrol displays a better error message when an ORed dependency
    is used in a union field like Conflicts, Replaces or Breaks.

 debian/changelog           |    3 +++
 scripts/Dpkg/Deps.pm       |    8 +++++++-
 scripts/dpkg-gencontrol.pl |    6 ++++--
 3 files changed, 14 insertions(+), 3 deletions(-)

commit acb9b6e9f20eec9d3799b50cb17c2e192c47c692
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 18:55:03 2009 +0100

    dpkg-source: improve ignore regexp to catch vi swap files
    
    dpkg-source now ignores all possible vi swap file extensions (and not only
    .swp). The corresponding exclude pattern for -I also got tightened to only
    catch filenames starting with a dot. Closes: #515540

 debian/changelog               |    3 +++
 scripts/Dpkg/Source/Package.pm |    4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

commit edbbd18df03628407f3d3628d0e49014dbc9ba48
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 18:18:44 2009 +0100

    Dpkg::Version::check_version() should not die by default
    
    Add a new parameter to Dpkg::Version::check_version() to control whether
    we should die in case of illegal version.
    
    Update all check_version() calls to pass this parameter and factorize some
    duplicate calls in Dpkg::Source::Package::* with a single check in
    the parent class Dpkg::Source::Package.

 debian/changelog                      |    2 ++
 scripts/Dpkg/Source/Package.pm        |    4 +++-
 scripts/Dpkg/Source/Package/V1.pm     |    3 ---
 scripts/Dpkg/Source/Package/V2.pm     |    3 ---
 scripts/Dpkg/Source/Package/V3/bzr.pm |    3 ---
 scripts/Dpkg/Source/Package/V3/git.pm |    3 ---
 scripts/Dpkg/Version.pm               |   20 ++++++++++++++------
 scripts/dpkg-buildpackage.pl          |    3 +--
 scripts/dpkg-source.pl                |    2 +-
 9 files changed, 21 insertions(+), 22 deletions(-)

commit 646c8876609072af7f456a78b046b0432e2c44d1
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun Mar 15 15:28:53 2009 +0100

    Completed Asturian translation

 debian/changelog |    2 +-
 po/ast.po        |  807 +++++++++++++++++++-----------------------------------
 2 files changed, 287 insertions(+), 522 deletions(-)

commit 9520a890c2459186ddc7137d119b50cfa1cf1e40
Author: Christian Perrier <bubulle@debian.org>
Date:   Sun Mar 15 14:44:15 2009 +0100

    Partial French translation update

 debian/changelog |    1 +
 po/fr.po         |  479 +++++++++++++++++++++++++-----------------------------
 2 files changed, 221 insertions(+), 259 deletions(-)

commit 4f761d89c84cee18e16da472daea38769fbcce0e
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 10:49:52 2009 +0100

    dpkg-genchanges, dpkg-gencontrol: avoid perl warnings
    
    Fix dpkg-genchanges and dpkg-gencontrol to not trigger perl warnings
    when the Architecture field is missing.

 debian/changelog           |    2 ++
 scripts/dpkg-genchanges.pl |    2 +-
 scripts/dpkg-gencontrol.pl |    6 +++---
 3 files changed, 6 insertions(+), 4 deletions(-)

commit b02e87457ceb9c849915180034b9247d0c228df8
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 15 10:30:26 2009 +0100

    Update deb-triggers(5) and dpkg-trigger(1)
    
    Update deb-triggers(5) and dpkg-trigger(1) to add a reference to
    /usr/share/doc/dpkg/triggers.txt.gz.

 debian/changelog   |    2 ++
 man/deb-triggers.5 |    3 ++-
 man/dpkg-trigger.1 |    2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

commit 7d0ea44e98bfa20f6e5a16a3201f8a4cb1037710
Author: Christian Perrier <bubulle@debian.org>
Date:   Fri Mar 13 20:33:46 2009 +0100

    Updated French translation

 scripts/po/fr.po |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit ce04415c6b809e4936f9b69d5ea60daa06f0657d
Author: Marcos <marcos.alvarez.costales@gmail.com>
Date:   Fri Mar 13 20:32:45 2009 +0100

    Add Asturian translation
    
    Closes: #519478

 debian/changelog |    3 +
 po/ast.po        | 6509 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 6512 insertions(+), 0 deletions(-)

commit 6e9f17ba8fa0ae75aee08579d08ba3fae8175869
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Fri Mar 13 18:02:35 2009 +0100

    Fix Swedish translation so that it doesn't make po4a fail

 man/po/sv.po |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c81e27d8d841199be246cd9e0b41f7ea44160afe
Author: Peter Krefting <peterk@debian.org>
Date:   Wed Mar 11 14:38:07 2009 +0100

    Update Swedish translation
    
    Updated po/sv.po to 1012t0f0u.
    Updated man/po/sv.po to 1657t0f0u.

 debian/changelog |    1 +
 man/po/sv.po     |  765 +++++++++++++++++++++++++++++++-----------------------
 po/sv.po         |   14 +-
 3 files changed, 444 insertions(+), 336 deletions(-)

commit ea2fc2fc25e4b3bd7481100cc449fa023a44ba51
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 11 02:57:32 2009 +0200

    Regenerate dpkg-man.pot and merge .po files with it

 man/po/de.po        |  581 +++++++++++++++++++++++++++++----------------------
 man/po/dpkg-man.pot |  498 +++++++++++++++++++++++++------------------
 man/po/es.po        |  524 ++++++++++++++++++++++++++--------------------
 man/po/fr.po        |  529 +++++++++++++++++++++++++++--------------------
 man/po/hu.po        |  525 ++++++++++++++++++++++++++--------------------
 man/po/ja.po        |  526 +++++++++++++++++++++++++++--------------------
 man/po/pl.po        |  527 +++++++++++++++++++++++++++--------------------
 man/po/pt_BR.po     |  525 ++++++++++++++++++++++++++--------------------
 man/po/ru.po        |  526 +++++++++++++++++++++++++++--------------------
 man/po/sv.po        |  527 +++++++++++++++++++++++++++--------------------
 10 files changed, 3047 insertions(+), 2241 deletions(-)

commit 2c43c07e599d2f26ef7cebf5f9adaaa4bb9c279f
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 11 02:51:33 2009 +0200

    u-a: Fix typo in man page (‘values’ → ‘value’)
    
    Introduced in commit 7277e7e87af9cf4313880f228c693aa78ad46a03.
    
    Reported-by: Helge Kreutzmann <debian@helgefjell.de>

 man/update-alternatives.8 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2ad24268349afa6cdc56a14bf872a624e3f871a1
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 11 02:19:58 2009 +0200

    Add missing bug closure for Slovak translation
    
    Missed in commit d95c2b580e4db994e5ad51e13baa3192fd8827d6.
    
    Closes: #519084

 debian/changelog |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit b9be5e2b188d3a02929ebd9faa6ab52fc71d4183
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 11 02:17:46 2009 +0200

    Change Slovak maintainer to Ivan Masár

 dselect/po/LINGUAS |    2 +-
 po/LINGUAS         |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 96ac92ab3f5439ab1ab510a55fb6e8a805269e04
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Tue Mar 10 21:40:54 2009 +0100

    Update german translation of manual pages
    
    Update to 1600t25f20u.

 debian/changelog |    3 +
 man/po/de.add    |    2 +-
 man/po/de.po     |  480 +++++++++++++++++++++++++++++-------------------------
 3 files changed, 260 insertions(+), 225 deletions(-)

commit ab12b07d0575bc9a7a02311fee4447a247914d1b
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 10 16:13:45 2009 +0200

    Regenerate dpkg.pot and merge .po files with it

 po/bs.po    |    8 ++------
 po/ca.po    |   15 +++++++--------
 po/cs.po    |   13 ++++++-------
 po/da.po    |   13 ++++++-------
 po/de.po    |   13 ++++++-------
 po/dpkg.pot |    8 ++------
 po/dz.po    |   13 ++++++-------
 po/el.po    |   13 ++++++-------
 po/es.po    |   13 ++++++-------
 po/et.po    |   13 ++++++-------
 po/eu.po    |   13 ++++++-------
 po/fr.po    |   13 ++++++-------
 po/gl.po    |   13 ++++++-------
 po/hu.po    |   13 ++++++-------
 po/id.po    |   13 ++++++-------
 po/it.po    |   13 ++++++-------
 po/ja.po    |   13 ++++++-------
 po/km.po    |   13 ++++++-------
 po/ko.po    |   13 ++++++-------
 po/ku.po    |    8 ++------
 po/lt.po    |   13 ++++++-------
 po/mr.po    |   13 ++++++-------
 po/nb.po    |   13 ++++++-------
 po/ne.po    |   13 ++++++-------
 po/nl.po    |   13 ++++++-------
 po/nn.po    |   13 ++++++-------
 po/pa.po    |    8 ++------
 po/pl.po    |   13 ++++++-------
 po/pt.po    |   13 ++++++-------
 po/pt_BR.po |   13 ++++++-------
 po/ro.po    |   13 ++++++-------
 po/ru.po    |   13 ++++++-------
 po/sk.po    |    9 ++++-----
 po/sv.po    |   11 +++++------
 po/th.po    |   13 ++++++-------
 po/tl.po    |   13 ++++++-------
 po/vi.po    |   13 ++++++-------
 po/zh_CN.po |   13 ++++++-------
 po/zh_TW.po |   13 ++++++-------
 39 files changed, 216 insertions(+), 267 deletions(-)

commit d95c2b580e4db994e5ad51e13baa3192fd8827d6
Author: Ivan Masár <helix84@centrum.sk>
Date:   Tue Mar 10 16:11:22 2009 +0200

    Update Slovak dpkg translation
    
    Update to 1013t.

 po/sk.po |  571 ++++++++++++++++++++++++++++----------------------------------
 1 files changed, 260 insertions(+), 311 deletions(-)

commit c473bbca60d67ee9d64a4fbe63507e8c9d73bb93
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Mar 10 15:55:56 2009 +0200

    Fix typo in dpkg output (‘unexecpted’ → ‘unexpected’)
    
    Closes: #519082
    Reported-by: Ivan Masár <helix84@centrum.sk>

 debian/changelog |    4 ++++
 src/filesdb.c    |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 8c651a05314924ed5823a8d995e515d34d0cfa4c
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 9 22:54:13 2009 +0100

    dpkg-source: add --skip-debianization extract option
    
    Extracting a source package with --skip-debianization can be interesting
    when you want to import a source package in a VCS and want to import
    the upstream sources without having precise knowledge of the internals
    of all source package formats. This option is only supported for the
    source formats "1.0", "2.0" and "3.0 (quilt)" that handle clearly
    identified upstream sources.

 man/dpkg-source.1                 |    6 ++++++
 scripts/Dpkg/Source/Package.pm    |   10 ++++++++--
 scripts/Dpkg/Source/Package/V1.pm |    6 +++++-
 scripts/Dpkg/Source/Package/V2.pm |    9 ++++++++-
 4 files changed, 27 insertions(+), 4 deletions(-)

commit 1463ac71babf0432b5753c20eebc060363694e34
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 9 22:21:28 2009 +0100

    dpkg-source: drop support of debian/control's Format field
    
    There are no interesting use case where it makes sense to hardcode
    the source format directly in debian/control. So drop that feature
    before people start abusing this field instead of using
    debian/source/format (which dpkg-source can have to create in some cases).

 debian/changelog       |    3 +++
 man/dpkg-source.1      |    4 +---
 scripts/dpkg-source.pl |    6 ++----
 3 files changed, 6 insertions(+), 7 deletions(-)

commit 758986f4ed29e24270f89dc3f53e53f5782be2dd
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 9 21:11:58 2009 +0100

    dpkg-source(1): document format of debian/source/* files
    
    Also fix parsing of debian/source/include-binaries to ignore empty lines
    in Dpkg::Source::Package::V2::do_build().

 man/dpkg-source.1                 |   22 ++++++++++++++++++++--
 scripts/Dpkg/Source/Package/V2.pm |    2 +-
 2 files changed, 21 insertions(+), 3 deletions(-)

commit 492feedb3e75d99e9003105f5312d052d1156bc2
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 9 20:43:26 2009 +0100

    Add missing changelog entry.

 debian/changelog |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit b67df30f27c89bcba8ada8b916f13a135daeda7e
Author: Christian Perrier <bubulle@debian.org>
Date:   Mon Mar 9 07:01:36 2009 +0100

    Recomplete French translations
    
    Update to 473t.

 debian/changelog |    1 +
 scripts/po/fr.po |   46 +++++++++++++++++++++++++++++-----------------
 2 files changed, 30 insertions(+), 17 deletions(-)

commit 3ebe1d45258628e9138ba65903e56b571dbf4bd7
Author: Helge Kreutzmann <debian@helgefjell.de>
Date:   Sun Mar 8 20:42:42 2009 +0100

    Recomplete german scripts translation
    
    Update to 473t.

 debian/changelog |    1 +
 scripts/po/de.po |   42 ++++++++++++++++++++++++++----------------
 2 files changed, 27 insertions(+), 16 deletions(-)

commit 5ee2d60084f43f1b51907e77dd9f07dc4d810618
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 8 19:13:49 2009 +0100

    dpkg-shlibdeps: make shlibs.local override symbols files too
    
    As discussed in http://lists.debian.org/debian-devel/2009/03/msg00428.html
    dropping the shlibs.local package override for symbols files was not
    necessarily a good idea. So this commit makes dpkg-shlibdeps skip
    the symbols files for a library if it detects that the relevant dependency
    is available in the shlibs.local file.

 man/dpkg-shlibdeps.1      |    3 ++-
 scripts/dpkg-shlibdeps.pl |    9 ++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

commit 5fd387999d92ef1f47560980cffb54565a72a96b
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 8 16:11:53 2009 +0100

    dpkg-shlibdeps: don't fail on binaries outside of a package's dir
    
    Dpkg 1.15.0 introduced a regression by trying to deduce the target
    directory in order to adjust some warnings. This check failed when
    dpkg-shlibdeps was run on files not (yet) installed in the package's
    directory (debian/package/). Fix that and emit a warning so that
    maintainers are encouraged to analyze the binaries once they have
    been installed in their target directory.

 debian/changelog          |    2 ++
 scripts/dpkg-shlibdeps.pl |   10 ++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

commit ea1530fe45c8b1ad61d91c0791c53ecf363899bf
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Sun Mar 8 15:50:58 2009 +0100

    dpkg-source: call quilt only once to apply all patches
    
    Refactor Dpkg::Source::Package::V3::quilt::apply_patches() to
    call quilt only once (quilt push -a -q) instead of once per package. This
    dramatically improves performance for packages like glibc that
    have a large number of patches.

 debian/changelog                        |    2 +
 scripts/Dpkg/Source/Package/V3/quilt.pm |   45 ++++++++++++++++++------------
 2 files changed, 29 insertions(+), 18 deletions(-)

commit 1a01979e7607a068c7d33acfa238a08547b5b69a
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 4 23:26:33 2009 +0200

    Regenerate .pot files and merge .po files with them

 po/bs.po    |  132 +++++++++++++++++++++++++------------
 po/ca.po    |  153 +++++++++++++++++++++++++------------------
 po/cs.po    |  153 +++++++++++++++++++++++++------------------
 po/da.po    |  153 +++++++++++++++++++++++++------------------
 po/de.po    |  153 +++++++++++++++++++++++++------------------
 po/dpkg.pot |  132 +++++++++++++++++++++++++------------
 po/dz.po    |  153 +++++++++++++++++++++++++------------------
 po/el.po    |  153 +++++++++++++++++++++++++------------------
 po/es.po    |  153 +++++++++++++++++++++++++------------------
 po/et.po    |  141 +++++++++++++++++++++++++---------------
 po/eu.po    |  153 +++++++++++++++++++++++++------------------
 po/fr.po    |  153 +++++++++++++++++++++++++------------------
 po/gl.po    |  153 +++++++++++++++++++++++++------------------
 po/hu.po    |  150 +++++++++++++++++++++++++------------------
 po/id.po    |  150 +++++++++++++++++++++++++------------------
 po/it.po    |  153 +++++++++++++++++++++++++------------------
 po/ja.po    |  153 +++++++++++++++++++++++++------------------
 po/km.po    |  153 +++++++++++++++++++++++++------------------
 po/ko.po    |  153 +++++++++++++++++++++++++------------------
 po/ku.po    |  138 +++++++++++++++++++++++++--------------
 po/lt.po    |  150 +++++++++++++++++++++++++------------------
 po/mr.po    |  154 +++++++++++++++++++++++++-------------------
 po/nb.po    |  153 +++++++++++++++++++++++++------------------
 po/ne.po    |  153 +++++++++++++++++++++++++------------------
 po/nl.po    |  153 +++++++++++++++++++++++++------------------
 po/nn.po    |  150 +++++++++++++++++++++++++------------------
 po/pa.po    |  132 +++++++++++++++++++++++++------------
 po/pl.po    |  153 +++++++++++++++++++++++++------------------
 po/pt.po    |  153 +++++++++++++++++++++++++------------------
 po/pt_BR.po |  153 +++++++++++++++++++++++++------------------
 po/ro.po    |  153 +++++++++++++++++++++++++------------------
 po/ru.po    |  153 +++++++++++++++++++++++++------------------
 po/sk.po    |  153 +++++++++++++++++++++++++------------------
 po/sv.po    |  209 ++++++++++++++++++++++++++++++++---------------------------
 po/th.po    |  153 +++++++++++++++++++++++++------------------
 po/tl.po    |  151 +++++++++++++++++++++++++------------------
 po/vi.po    |  153 +++++++++++++++++++++++++------------------
 po/zh_CN.po |  156 +++++++++++++++++++++++++-------------------
 po/zh_TW.po |  153 +++++++++++++++++++++++++------------------
 39 files changed, 3458 insertions(+), 2465 deletions(-)

commit d111d026a51110f95cc1661efaa99e2650843a5f
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Mar 4 23:24:44 2009 +0200

    Add new files missed on code refactoring
    
    Reported-by: Sven Joachim <svenjoac@gmx.de>

 po/POTFILES.in |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 9b5eebb259cd074f0b175bdaeb60cf35397eb049
Author: Peter Krefting <peterk@debian.org>
Date:   Tue Mar 3 14:20:44 2009 +0100

    Update Swedish translation.
    
    Updated dselect/po/sv.po to 283t0f0u.
    Updated scripts/po/sv.po to 473t0f0u.
    Updated po/sv.po to 1004t0f0u.

 debian/changelog |    7 +
 dselect/po/sv.po |    8 +-
 po/sv.po         |  546 +++++++++++++++++++++++++-----------------------------
 scripts/po/sv.po |   39 ++--
 4 files changed, 282 insertions(+), 318 deletions(-)

commit b53a6a7e6651e82eeb8cfafa1981b1c5d33b4e04
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 11 03:31:24 2009 +0200

    Add new pkg_array_free function
    
    Use it to free the arrays after use, so that we do not leak.

 src/pkg-array.c |    8 ++++++++
 src/pkg-array.h |    1 +
 src/query.c     |    4 ++++
 src/select.c    |    2 ++
 4 files changed, 15 insertions(+), 0 deletions(-)

commit 45e5ee9e4c9195a488c2e0e246b855e4bcbe6b4f
Author: Guillem Jover <guillem@debian.org>
Date:   Wed Feb 11 03:28:19 2009 +0200

    Refactor package array handling
    
    Create a new pkg_array structure, and two new functions to initialize
    from the db, and to sort the array.

 src/Makefile.am                  |    4 +-
 src/pkg-array.c                  |   29 ++++++++++++++++
 src/{pkg-array.c => pkg-array.h} |   27 ++++++++-------
 src/query.c                      |   69 ++++++++++++++-----------------------
 src/select.c                     |   27 +++++----------
 5 files changed, 80 insertions(+), 76 deletions(-)

commit 2c0667d06a38c3a31ab43b79a979f29e5fcf0cf3
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Feb 10 03:23:36 2009 +0200

    Rename pkg-list.c to pkg-array.c

 src/Makefile.am                 |    4 ++--
 src/{pkg-list.c => pkg-array.c} |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 4da4f0145a451a13eab2cdb6b1d5e46d857fd93b
Author: Raphael Hertzog <hertzog@debian.org>
Date:   Mon Mar 2 18:10:40 2009 +0100

    dpkg-genchanges: correctly handles additional upstream tarballs
    
    The source format 3.0 (quilt) allows additional upstream tarballs
    named <pkg>_<upstreamversion>.orig-<component>.tar.<ext>. They
    should be treated like normal .orig tarballs and be left out
    like them in normal "binary and diff upload".

 debian/changelog           |    5 +++++
 scripts/dpkg-genchanges.pl |    5 +++--
 2 files changed, 8 insertions(+), 2 deletions(-)

commit 06665a08379c3a3054906602703077793f1bd048
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Mon Mar 2 17:21:57 2009 +0100

    Update german dselect translation
    
    Update to 283t.

 debian/changelog |    3 ++-
 dselect/po/de.po |   50 ++++----------------------------------------------
 2 files changed, 6 insertions(+), 47 deletions(-)

commit 1a0b8ade8f5f5130f77415f86f1686e8c097b768
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 2 06:56:25 2009 +0200

    Switch to automatically generating the ChangeLog file
    
    Keep the old ChangeLog files as ChangeLog.old, and distribute them.
    Automatically genereate the ChangeLog from “git log”. And update the
    information for translators.

 .gitignore                              |    1 +
 ChangeLog => ChangeLog.old              |    0
 Makefile.am                             |    6 ++++
 README.translators                      |   44 +++++++++---------------------
 debian/rules                            |    4 +-
 dselect/po/{ChangeLog => ChangeLog.old} |    0
 dselect/po/Makevars                     |    2 +
 man/Makefile.am                         |    2 +-
 man/po/{ChangeLog => ChangeLog.old}     |    0
 po/{ChangeLog => ChangeLog.old}         |    0
 po/Makevars                             |    2 +
 scripts/po/{ChangeLog => ChangeLog.old} |    0
 scripts/po/Makevars                     |    2 +
 13 files changed, 29 insertions(+), 34 deletions(-)

commit 883b6e840f06e7d05e1c6a23824c5aefd3466754
Author: Guillem Jover <guillem@debian.org>
Date:   Mon Mar 2 06:23:10 2009 +0200

    Bump version to 1.15.1~

 configure.ac     |    2 +-
 debian/changelog |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)
