Debian Bug report logs - #257505
dpkg: patch to fix the wrong output of dpkg-query --list in UTF-8 locales

version graph

Package: dpkg; Maintainer for dpkg is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for dpkg is src:dpkg.

Reported by: Changwoo Ryu <cwryu@debian.org>

Date: Sat, 3 Jul 2004 22:03:03 UTC

Severity: normal

Tags: patch

Merged with 718541

Found in versions dpkg/1.17.0, dpkg/1.10.22

Fixed in version dpkg/1.17.2

Done: Guillem Jover <guillem@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Dpkg Development <debian-dpkg@lists.debian.org>:
Bug#257505; Package dpkg. Full text and rfc822 format available.

Acknowledgement sent to Changwoo Ryu <cwryu@debian.org>:
New Bug report received and forwarded. Copy sent to Dpkg Development <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Changwoo Ryu <cwryu@debian.org>
To: submit@bugs.debian.org
Subject: dpkg: patch to fix the wrong output of dpkg-query --list in UTF-8 locales
Date: Sun, 04 Jul 2004 06:57:24 +0900
[Message part 1 (text/plain, inline)]
Package: dpkg
Version: 1.10.22
Severity: normal
Tags: patch

In my ko_KR.UTF-8 locale and with the new Korean translation added
(#254590), 
dpkg-query --list prints each fields in wrong columns (see attached
dpkg-list-before.png file).


This is because dpkg assumes that a string's length (strlen) is the
width it occupies 
in text terminals, which is not true in UTF-8 locales.  (A Korean hangul
character 
is 3 bytes long but width is 2.)   I fixed this problem by adjusting the
string lengths 
in *printf() formats according  to the their actual widths in text
terminal (see the 
attached patch).

With attached patch applied, it displays each fiels with Hangul
characters correctly.
(attached dpkg-list-after.png file)



Thanks,

[dpkg-list-before.png (image/png, attachment)]
[dpkg-list-after.png (image/png, attachment)]
[dpkg-list-utf8.diff (text/x-patch, attachment)]

Tags added: l10n Request was from Christian Perrier <bubulle@debian.org> to control@bugs.debian.org. Full text and rfc822 format available.

Tags removed: l10n Request was from Changwoo Ryu <cwryu@debian.org> to control@bugs.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#257505; Package dpkg. (Tue, 05 Jun 2012 22:33:03 GMT) Full text and rfc822 format available.

Message #12 received at 257505@bugs.debian.org (full text, mbox):

From: Carsten Hey <carsten@debian.org>
To: 257505@bugs.debian.org
Cc: Changwoo Ryu <cwryu@debian.org>
Subject: Re: dpkg: patch to fix the wrong output of dpkg-query --list in UTF-8 locales
Date: Wed, 6 Jun 2012 00:32:15 +0200
Hi,

I saw this old bug report yesterday whilst looking for the convention
for bug subjects used in dpkg.


* Changwoo Ryu [2004-07-04 06:57 +0900]:
> In my ko_KR.UTF-8 locale and with the new Korean translation added
> (#254590),
> dpkg-query --list prints each fields in wrong columns (see attached
> dpkg-list-before.png file).
>
>
> This is because dpkg assumes that a string's length (strlen) is the
> width it occupies
> in text terminals, which is not true in UTF-8 locales.  (A Korean hangul
> character
> is 3 bytes long but width is 2.)   I fixed this problem by adjusting the
> string lengths
> in *printf() formats according  to the their actual widths in text
> terminal (see the
> attached patch).
>
> With attached patch applied, it displays each fiels with Hangul
> characters correctly.
> (attached dpkg-list-after.png file)

Just for the record, I wrote a similar function as used in the patch to
align the columns for (non-dpkg) --help output.  I wonder if the rest of
the patch can be simplified.  Maybe I'll have a look at this during the
next release cycle.

The code of my function is:

  static size_t
  mbswidth(const char *s)
  {
  #if ENABLE_NLS
      size_t rv, len, wlen;
      wchar_t *wstr;
      int wcsw;
  
      rv = len = strlen(s);
  
      if ((wstr = (wchar_t *)malloc((len + 1) * sizeof(wchar_t))) != NULL
              && (wlen = mbstowcs(wstr, s, len + 1)) != (size_t)-1
              && (wcsw = wcswidth(wstr, wlen)) >= 0)
          rv = (size_t)wcsw;
  
      free(wstr);
      return rv;
  #else
      return strlen(s);
  #endif
  }

Unlike the function in the patch with the same name, mine returns
strlen(s) as fallback on errors (for example ENOMEM).  Both are not
thread-save nor fast when used in a loop.  Mine assumes that strlen(s)
>= mbstowcs(NULL,s,0).  Both require POSIX 2001 + XSI extensions.
Instead of ENABLE_NLS, dpkg would of course use HAVE_MBSTOWCS or
similar.


Regards
Carsten




Marked as found in versions dpkg/1.17.0 and dpkg/1.10.22; no longer marked as found in versions 1.10.22. Request was from Guillem Jover <guillem@debian.org> to 718541-submit@bugs.debian.org. (Fri, 02 Aug 2013 02:21:06 GMT) Full text and rfc822 format available.

Merged 257505 718541 Request was from Guillem Jover <guillem@debian.org> to 718541-submit@bugs.debian.org. (Fri, 02 Aug 2013 02:21:07 GMT) Full text and rfc822 format available.

Added tag(s) pending. Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Mon, 14 Oct 2013 04:09:08 GMT) Full text and rfc822 format available.

Message sent on to Changwoo Ryu <cwryu@debian.org>:
Bug#257505. (Mon, 14 Oct 2013 04:09:16 GMT) Full text and rfc822 format available.

Message #21 received at 257505-submitter@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: 257505-submitter@bugs.debian.org
Subject: Bug#257505 marked as pending
Date: Mon, 14 Oct 2013 04:06:59 +0000
tag 257505 pending
thanks

Hello,

Bug #257505 reported by you has been fixed in the Git repository. You can
see the changelog below, and you can check the diff of the fix at:

    http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=ab5bdc1

---
commit ab5bdc1fc7bbf225efcbb3376ed309015682e772
Author: Guillem Jover <guillem@debian.org>
Date:   Tue Aug 13 02:52:50 2013 +0200

    dpkg-query: Fix output when using multibyte character strings
    
    When cropping strings, possibly multibyte ones, take into account that
    there's three different counts to be considered, the number of
    characters to display, their screen width and the number of bytes they
    take on the multibyte string.
    
    Closes: #257505, #718541
    
    Based-on-patch-by: Changwoo Ryu <cwryu@debian.org>

diff --git a/debian/changelog b/debian/changelog
index 8cdd437..fbf5987 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -37,6 +37,9 @@ dpkg (1.17.2) UNRELEASED; urgency=low
     Regression introduced in 1.17.0. Closes: #725437
   * Activate file triggers on disappearance more accurately, only when we know
     we are inevitably removing things.
+  * Fix «dpkg-query --list» output when using multibyte character strings,
+    to avoid unaligned columns and mojibake. Closes: #257505, #718541
+    Based on a patch by Changwoo Ryu <cwryu@debian.org>.
 
   [ Updated programs translations ]
   * German (Sven Joachim).



Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Thu, 05 Dec 2013 06:06:11 GMT) Full text and rfc822 format available.

Notification sent to Changwoo Ryu <cwryu@debian.org>:
Bug acknowledged by developer. (Thu, 05 Dec 2013 06:06:11 GMT) Full text and rfc822 format available.

Message #26 received at 257505-close@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: 257505-close@bugs.debian.org
Subject: Bug#257505: fixed in dpkg 1.17.2
Date: Thu, 05 Dec 2013 06:03:48 +0000
Source: dpkg
Source-Version: 1.17.2

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 257505@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 05 Dec 2013 04:56:31 +0100
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.17.2
Distribution: unstable
Urgency: low
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Description: 
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
 libdpkg-dev - Debian package management static library
 libdpkg-perl - Dpkg perl modules
Closes: 32427 71106 143307 187019 257505 583585 615813 661538 667008 681370 717983 718437 718541 718899 718945 719418 719746 719844 720712 725437 726112 726932 729874
Changes: 
 dpkg (1.17.2) unstable; urgency=low
 .
   [ Guillem Jover ]
   * Make Dpkg::Arch debwildcard_to_debtriplet() more robust by matching
     on exact 'any' strings, instead of substrings.
   * Add manpages-it Replaces to dselect and dpkg-dev. Closes: #717983
     Reported by Andreas Beckmann <anbe@debian.org>.
   * Document default dpkg-deb compressor change to xz in man page.
     Thanks to Salvatore Bonaccorso <carnil@debian.org>. Closes: #718437
   * Version manpages-it in Replaces with (<< 2.80-4), now that the package
     does not ship the overlapping paths any more.
   * Automatically prepend needed spaces for continuation --force-help lines.
   * Be more precise on deb format errors with data member in dpkg-deb.
   * Do not allow deb packages with control and data members swapped.
   * Clarify «dpkg-deb --extract» bad usage error message on missing arguments
     by printing all required arguments at once. Closes: #718899
   * Clarify the insertion order of _ members in deb(5) man page.
   * Fix use after free in alternative_parse_fileset() on update-alternatives.
     Reported by Pedro Ribeiro <pedrib@gmail.com>.
   * Fix use after free in dpkg_arch_load_list() on libdpkg.
     Reported by Pedro Ribeiro <pedrib@gmail.com>.
   * Fix theoretical stack buffer overflow in w_dependency() on libdpkg, not
     currently applicable. Reported by Pedro Ribeiro <pedrib@gmail.com>.
   * Add ppc64el support to cputable. Closes: #718945
     Thanks to Jeff Bailey <jeffbailey@google.com>.
   * Use dpkg-gencontrol -c argument as a fallback lock file in case
     debian/control does not exist. Closes: #667008
   * Pass the package reference count (i.e. number of present instances) to
     maintainer scripts via the new variable DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT.
     Closes: #681370
   * Fix field names on error messages in libdpkg, by either capitalizing them
     or by renaming them to match reality.
   * Do not capitalize error and warning messages.
   * When ignoring invalid remove requests in dpkg consider that progress,
     reset the loop detector and avoid the assert. Closes: #143307
   * Activate all path components for file triggers on removal.
     Regression introduced in 1.17.0. Closes: #725437
   * Activate file triggers on disappearance more accurately, only when we know
     we are inevitably removing things.
   * Fix «dpkg-query --list» output when using multibyte character strings,
     to avoid unaligned columns and mojibake. Closes: #257505, #718541
     Based on a patch by Changwoo Ryu <cwryu@debian.org>.
   * Use fully buffered output on non-tty stdout.
     Reported by Shawn Landden <shawnlandden@gmail.com>.
   * Recognize «start-stop-daemon -C» as documented. Closes: #719746
     Reported by Brian S. Julin <bri@abrij.org>.
   * When update-alternatives is told to change slave links, do not warn that
     the link group is broken, just print a notice that the alternative is
     being updated due to the changes.
   * Add a new «dpkg --verify» command to check the integrity of packages
     installed files. Add a --verify-format option to excplicitly select the
     output format, currently only rpm compatible output is supported, but
     the default might change in the future. Closes: #187019
   * Improve dpkg “Preparing to replace” and “Unpacking” progress messages.
     Closes: #32427, #71106
   * Print the package version on main dpkg progress messages.
   * Do not store timestamps in gzip headers when using the command, to try to
     mimic the zlib behavior. This does not affect Debian as it's been using
     zlib for a very long time. Closes: #719844
   * Reset environment variables affecting compressor commands when not using
     the shared library implementations. Namely XZ_DEFAULTS, XZ_OPT, BZIP and
     BZIP2.
   * Use a simple list to track packages owning a file, instead of using a
     list of arrays of pointers which waste 10 pointers per non-shared file,
     instead of 1. This significantly reduces dpkg memory usage.
   * Honor new DEB_SIGN_KEYID environment variable in dpkg-buildpackage.
     Suggested by Harald Dunkel <harri@afaics.de>. Closes: #615813, #719418
   * Always check subprocess exit codes in Dpkg::Source::Package modules.
     Reported by Ian Jackson <ijackson@chiark.greenend.org.uk>.
   * Add support for pie and stack-protector options to dpkg-buildflags FFLAGS,
     and update the man page to mention FFLAGS are a subset of CFLAGS.
     Closes: #726932
   * Improve and unify -O option handling in dpkg-genchanges, dpkg-gensymbols
     and dpkg-shlibdeps, by always taking an optional filename argument and
     describing in the man page the default output files.
   * Use “hyphen” instead of “dash” when we mean the ‘-’ character in the
     documentation and code comments.
   * Do not NULL-terminate the list in the compat scandir(), as this might
     cause a segfault in case the function returns 0 entries.
   * Always return from ensure_statoverrides() if file is NULL, otherwise
     we might get us to read garbage from memory or segfault.
   * Add new symlink_to_dir command to dpkg-maintscript-helper. Closes: #720712
     Based on a patch by Bastien ROUCARIÈS <roucaries.bastien@gmail.com>.
   * Add new dir_to_symlink command to dpkg-maintscript-helper. Closes: #583585
   * Distinguish dpkg error reports between errors while processing packages
     and archives.
   * Fix crashes in the first call to gettext() after fork() on Mac OS X, by
     forcing the initialization at program start of the CoreFoundation cached
     values in libintl.
   * Set a default gettext domain for libdpkg code, so that other programs
     using a different domain can still get correct translations, like dselect.
   * Cleanup libdpkg-perl API:
     - Dpkg::Compression: Deprecate $default_compression_level,
       $default_compression and $compression_re_file_ext package variables.
     - Dpkg::Exit: Deprecate @handlers package variable.
     - Dpkg::Source::Package: Deprecate $diff_ignore_default_regexp and
       @tar_ignore_default_pattern package variables.
     - Dpkg::Changelog::Entry::Debian: Deprecate $regex_header and
       $regex_trailer package variables.
   * Add GnuPG 2.x support. Add gnupg2 and gpgv2 as alternative Recommends to
     gnupg and gpgv (to not pull them by default), but prefer gpgv2 over gpgv,
     and gpg2 over gpg at run-time if they are available.
   * Switch dpkg conflictor tracking from a fixed-size array to a queue,
     fixing several related issues, due to conflictors not being removed from
     the array after processing them. dpkg could fill it due to additions in
     previous package processing producing very confusing error messages; and
     a theoretical problem where a package could get appended to be removed,
     then reinstalled as a new version, to get removed again when revisiting
     the array in a subsequent package processing. Closes: #726112
   * Do not accept empty field names in dpkg.
   * Do not accept an initial hyphen in field names.
   * Add experimental build profiles support:
     - Add support for <!profile.name> build-time restrictions in dependencies.
     - Add support for DEB_BUILD_PROFILES environment variable.
     - Add new option -P to dpkg-buildpackage and dpkg-checbuilddeps.
     - Add new Built-For-Profiles output field in .deb and .changes files.
     Based on a patch by Patrick "P. J." McDermott <pjm@nac.net>,
     Wookey <wookey@debian.org> and Johannes Schauer <j.schauer@email.de>.
     Closes: #661538
   * Bump Standards-Version to 3.9.5.
   * Document interactions of dpkg-source --extend-diff-ignore and -i in the
     man page. Closes: #729874
 .
   [ Updated programs translations ]
   * German (Sven Joachim).
   * Vietnamese (Trần Ngọc Quân).
 .
   [ Updated scripts translations ]
   * German (Helge Kreutzmann).
 .
   [ Updated manpages translations ]
   * French (Christian Perrier): fix incorrectly translated sentence,
     thanks to Fabien Givors.
   * German (Helge Kreutzmann).
Checksums-Sha1: 
 c4f7042c038c3174f6f170e359d59e167788fe03 2005 dpkg_1.17.2.dsc
 ef6d6e3dba5be41b86e1befe1cf86b51adaaaf36 3829700 dpkg_1.17.2.tar.xz
 df8f5ee146fad7af246f627e7f9a338e89e219f8 735532 libdpkg-dev_1.17.2_amd64.deb
 d66336876dd4aac3caa2d2f27a5742f40dc48d4c 2599582 dpkg_1.17.2_amd64.deb
 5391ca8e435ac4c9a9e5e3f4f599e6d0ddfa0ff2 995850 dselect_1.17.2_amd64.deb
 b2ba52087ebbac112b4a2c63700e79e5d91928cb 1376728 dpkg-dev_1.17.2_all.deb
 25356eba113913a90863be668cdf24f2625896a0 905766 libdpkg-perl_1.17.2_all.deb
Checksums-Sha256: 
 c99d474673f45a85156dcdc3173d899ef6decbfead599b87026000770538239f 2005 dpkg_1.17.2.dsc
 0a1c2b4d7a5a485b53263448c0a6f111ca4fe5d774cddf0abd7ce02758db8650 3829700 dpkg_1.17.2.tar.xz
 6812d5ea71c7ba237452589eb81a14ab10fd16e456ebc761063b20c71f61cd35 735532 libdpkg-dev_1.17.2_amd64.deb
 1f667dad1a22f215c762efaaf2d4dc2c3db0c5c61f1bc6982785a6a9b3edc4b9 2599582 dpkg_1.17.2_amd64.deb
 f5cd2208024a044b2c40f3e78ea592f0da312203524d282b79c6f0113ba4e103 995850 dselect_1.17.2_amd64.deb
 ba5198eec4b67ba616197493fc7a143c2a0781910436b49c13003350fae72788 1376728 dpkg-dev_1.17.2_all.deb
 b660b588f508c5a066dd6d995c805bf8896085bb182280343400bae5198b1f25 905766 libdpkg-perl_1.17.2_all.deb
Files: 
 c53e4ebc6dbcde14397a060c1357e569 2005 admin required dpkg_1.17.2.dsc
 35d42dac927d31152a22f50637994d51 3829700 admin required dpkg_1.17.2.tar.xz
 aa991c285663d59e84fa8642bd548ff3 735532 libdevel optional libdpkg-dev_1.17.2_amd64.deb
 3ed7cbafd833e43648984871bb090d05 2599582 admin required dpkg_1.17.2_amd64.deb
 411f6bda343a2df4e7d630b03b99140a 995850 admin optional dselect_1.17.2_amd64.deb
 6c36f5b1450d965afe038b5577730c44 1376728 utils optional dpkg-dev_1.17.2_all.deb
 28900795bce285bf30a5f2f917a271b9 905766 perl optional libdpkg-perl_1.17.2_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)

iQIcBAEBCAAGBQJSoAcoAAoJELlyvz6krlejSNwQAOSerUBsifpUSSPK0rc4YB4E
knkRqIcEEiWmjYKddLHS58fy7h6AXPz/OO55+iiN093eDSaDF1KSM4HT7k2Ev8sq
r7n4MNCLHyVajM/mnvIYnihbm/jJZmHkGmBMLmirsJTY7mpopLE+BRI8QFXb0fiJ
oawlPspvQcs5bFvZUiUxuSyWGhuYs+TIP+3+rMEX0Xe4+//N577lmO8GEUOnBMVf
7jqxn02yAvqE/pIv208WFWW+Go3B/7jhudOeDBPoHIf3JyxMQhSkFEccSYUM+yXB
mvNOi44hrhG9w7J1tQEuMHXqnPmSIp87bcoqTCFGjuDqRJNHM/fTCJuYsYSFbNDl
MlxLqN6Oq0AmWEiakrPYHBgJR5LZDhCMohOlbp4D7GW3wtjz4Z4uddXq4xL8aItE
o+rl44J86iOqwBCkZ/iQYFaIirjosl5souso3AOsg2igumrkdB0y1q1HeKUjtXma
k4byEj0FEpwh03HAbABQv3LDm4UKwL7QF9D8gDZ5emCGH9JbuHFeO+N/6yB9LS+A
rHa1bedUbfLoBiWtBx+eTGfSCLBj0U9mI2MuEusItvR9xsC+KuCnt4sIRwpwuymt
GF8yqMw0FMSDa6Aavcn0U9EPYS+vPtSiV23CKljP5kI8DHSVxUGbto3pkfbtGqtg
sw0ZOWT/NClNjVfpezTY
=5lAo
-----END PGP SIGNATURE-----




Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Thu, 05 Dec 2013 06:06:12 GMT) Full text and rfc822 format available.

Notification sent to Trần Ngọc Quân <vnwildman@gmail.com>:
Bug acknowledged by developer. (Thu, 05 Dec 2013 06:06:12 GMT) Full text and rfc822 format available.

Message #31 received at 718541-close@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: 718541-close@bugs.debian.org
Subject: Bug#718541: fixed in dpkg 1.17.2
Date: Thu, 05 Dec 2013 06:03:48 +0000
Source: dpkg
Source-Version: 1.17.2

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 718541@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 05 Dec 2013 04:56:31 +0100
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.17.2
Distribution: unstable
Urgency: low
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Description: 
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
 libdpkg-dev - Debian package management static library
 libdpkg-perl - Dpkg perl modules
Closes: 32427 71106 143307 187019 257505 583585 615813 661538 667008 681370 717983 718437 718541 718899 718945 719418 719746 719844 720712 725437 726112 726932 729874
Changes: 
 dpkg (1.17.2) unstable; urgency=low
 .
   [ Guillem Jover ]
   * Make Dpkg::Arch debwildcard_to_debtriplet() more robust by matching
     on exact 'any' strings, instead of substrings.
   * Add manpages-it Replaces to dselect and dpkg-dev. Closes: #717983
     Reported by Andreas Beckmann <anbe@debian.org>.
   * Document default dpkg-deb compressor change to xz in man page.
     Thanks to Salvatore Bonaccorso <carnil@debian.org>. Closes: #718437
   * Version manpages-it in Replaces with (<< 2.80-4), now that the package
     does not ship the overlapping paths any more.
   * Automatically prepend needed spaces for continuation --force-help lines.
   * Be more precise on deb format errors with data member in dpkg-deb.
   * Do not allow deb packages with control and data members swapped.
   * Clarify «dpkg-deb --extract» bad usage error message on missing arguments
     by printing all required arguments at once. Closes: #718899
   * Clarify the insertion order of _ members in deb(5) man page.
   * Fix use after free in alternative_parse_fileset() on update-alternatives.
     Reported by Pedro Ribeiro <pedrib@gmail.com>.
   * Fix use after free in dpkg_arch_load_list() on libdpkg.
     Reported by Pedro Ribeiro <pedrib@gmail.com>.
   * Fix theoretical stack buffer overflow in w_dependency() on libdpkg, not
     currently applicable. Reported by Pedro Ribeiro <pedrib@gmail.com>.
   * Add ppc64el support to cputable. Closes: #718945
     Thanks to Jeff Bailey <jeffbailey@google.com>.
   * Use dpkg-gencontrol -c argument as a fallback lock file in case
     debian/control does not exist. Closes: #667008
   * Pass the package reference count (i.e. number of present instances) to
     maintainer scripts via the new variable DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT.
     Closes: #681370
   * Fix field names on error messages in libdpkg, by either capitalizing them
     or by renaming them to match reality.
   * Do not capitalize error and warning messages.
   * When ignoring invalid remove requests in dpkg consider that progress,
     reset the loop detector and avoid the assert. Closes: #143307
   * Activate all path components for file triggers on removal.
     Regression introduced in 1.17.0. Closes: #725437
   * Activate file triggers on disappearance more accurately, only when we know
     we are inevitably removing things.
   * Fix «dpkg-query --list» output when using multibyte character strings,
     to avoid unaligned columns and mojibake. Closes: #257505, #718541
     Based on a patch by Changwoo Ryu <cwryu@debian.org>.
   * Use fully buffered output on non-tty stdout.
     Reported by Shawn Landden <shawnlandden@gmail.com>.
   * Recognize «start-stop-daemon -C» as documented. Closes: #719746
     Reported by Brian S. Julin <bri@abrij.org>.
   * When update-alternatives is told to change slave links, do not warn that
     the link group is broken, just print a notice that the alternative is
     being updated due to the changes.
   * Add a new «dpkg --verify» command to check the integrity of packages
     installed files. Add a --verify-format option to excplicitly select the
     output format, currently only rpm compatible output is supported, but
     the default might change in the future. Closes: #187019
   * Improve dpkg “Preparing to replace” and “Unpacking” progress messages.
     Closes: #32427, #71106
   * Print the package version on main dpkg progress messages.
   * Do not store timestamps in gzip headers when using the command, to try to
     mimic the zlib behavior. This does not affect Debian as it's been using
     zlib for a very long time. Closes: #719844
   * Reset environment variables affecting compressor commands when not using
     the shared library implementations. Namely XZ_DEFAULTS, XZ_OPT, BZIP and
     BZIP2.
   * Use a simple list to track packages owning a file, instead of using a
     list of arrays of pointers which waste 10 pointers per non-shared file,
     instead of 1. This significantly reduces dpkg memory usage.
   * Honor new DEB_SIGN_KEYID environment variable in dpkg-buildpackage.
     Suggested by Harald Dunkel <harri@afaics.de>. Closes: #615813, #719418
   * Always check subprocess exit codes in Dpkg::Source::Package modules.
     Reported by Ian Jackson <ijackson@chiark.greenend.org.uk>.
   * Add support for pie and stack-protector options to dpkg-buildflags FFLAGS,
     and update the man page to mention FFLAGS are a subset of CFLAGS.
     Closes: #726932
   * Improve and unify -O option handling in dpkg-genchanges, dpkg-gensymbols
     and dpkg-shlibdeps, by always taking an optional filename argument and
     describing in the man page the default output files.
   * Use “hyphen” instead of “dash” when we mean the ‘-’ character in the
     documentation and code comments.
   * Do not NULL-terminate the list in the compat scandir(), as this might
     cause a segfault in case the function returns 0 entries.
   * Always return from ensure_statoverrides() if file is NULL, otherwise
     we might get us to read garbage from memory or segfault.
   * Add new symlink_to_dir command to dpkg-maintscript-helper. Closes: #720712
     Based on a patch by Bastien ROUCARIÈS <roucaries.bastien@gmail.com>.
   * Add new dir_to_symlink command to dpkg-maintscript-helper. Closes: #583585
   * Distinguish dpkg error reports between errors while processing packages
     and archives.
   * Fix crashes in the first call to gettext() after fork() on Mac OS X, by
     forcing the initialization at program start of the CoreFoundation cached
     values in libintl.
   * Set a default gettext domain for libdpkg code, so that other programs
     using a different domain can still get correct translations, like dselect.
   * Cleanup libdpkg-perl API:
     - Dpkg::Compression: Deprecate $default_compression_level,
       $default_compression and $compression_re_file_ext package variables.
     - Dpkg::Exit: Deprecate @handlers package variable.
     - Dpkg::Source::Package: Deprecate $diff_ignore_default_regexp and
       @tar_ignore_default_pattern package variables.
     - Dpkg::Changelog::Entry::Debian: Deprecate $regex_header and
       $regex_trailer package variables.
   * Add GnuPG 2.x support. Add gnupg2 and gpgv2 as alternative Recommends to
     gnupg and gpgv (to not pull them by default), but prefer gpgv2 over gpgv,
     and gpg2 over gpg at run-time if they are available.
   * Switch dpkg conflictor tracking from a fixed-size array to a queue,
     fixing several related issues, due to conflictors not being removed from
     the array after processing them. dpkg could fill it due to additions in
     previous package processing producing very confusing error messages; and
     a theoretical problem where a package could get appended to be removed,
     then reinstalled as a new version, to get removed again when revisiting
     the array in a subsequent package processing. Closes: #726112
   * Do not accept empty field names in dpkg.
   * Do not accept an initial hyphen in field names.
   * Add experimental build profiles support:
     - Add support for <!profile.name> build-time restrictions in dependencies.
     - Add support for DEB_BUILD_PROFILES environment variable.
     - Add new option -P to dpkg-buildpackage and dpkg-checbuilddeps.
     - Add new Built-For-Profiles output field in .deb and .changes files.
     Based on a patch by Patrick "P. J." McDermott <pjm@nac.net>,
     Wookey <wookey@debian.org> and Johannes Schauer <j.schauer@email.de>.
     Closes: #661538
   * Bump Standards-Version to 3.9.5.
   * Document interactions of dpkg-source --extend-diff-ignore and -i in the
     man page. Closes: #729874
 .
   [ Updated programs translations ]
   * German (Sven Joachim).
   * Vietnamese (Trần Ngọc Quân).
 .
   [ Updated scripts translations ]
   * German (Helge Kreutzmann).
 .
   [ Updated manpages translations ]
   * French (Christian Perrier): fix incorrectly translated sentence,
     thanks to Fabien Givors.
   * German (Helge Kreutzmann).
Checksums-Sha1: 
 c4f7042c038c3174f6f170e359d59e167788fe03 2005 dpkg_1.17.2.dsc
 ef6d6e3dba5be41b86e1befe1cf86b51adaaaf36 3829700 dpkg_1.17.2.tar.xz
 df8f5ee146fad7af246f627e7f9a338e89e219f8 735532 libdpkg-dev_1.17.2_amd64.deb
 d66336876dd4aac3caa2d2f27a5742f40dc48d4c 2599582 dpkg_1.17.2_amd64.deb
 5391ca8e435ac4c9a9e5e3f4f599e6d0ddfa0ff2 995850 dselect_1.17.2_amd64.deb
 b2ba52087ebbac112b4a2c63700e79e5d91928cb 1376728 dpkg-dev_1.17.2_all.deb
 25356eba113913a90863be668cdf24f2625896a0 905766 libdpkg-perl_1.17.2_all.deb
Checksums-Sha256: 
 c99d474673f45a85156dcdc3173d899ef6decbfead599b87026000770538239f 2005 dpkg_1.17.2.dsc
 0a1c2b4d7a5a485b53263448c0a6f111ca4fe5d774cddf0abd7ce02758db8650 3829700 dpkg_1.17.2.tar.xz
 6812d5ea71c7ba237452589eb81a14ab10fd16e456ebc761063b20c71f61cd35 735532 libdpkg-dev_1.17.2_amd64.deb
 1f667dad1a22f215c762efaaf2d4dc2c3db0c5c61f1bc6982785a6a9b3edc4b9 2599582 dpkg_1.17.2_amd64.deb
 f5cd2208024a044b2c40f3e78ea592f0da312203524d282b79c6f0113ba4e103 995850 dselect_1.17.2_amd64.deb
 ba5198eec4b67ba616197493fc7a143c2a0781910436b49c13003350fae72788 1376728 dpkg-dev_1.17.2_all.deb
 b660b588f508c5a066dd6d995c805bf8896085bb182280343400bae5198b1f25 905766 libdpkg-perl_1.17.2_all.deb
Files: 
 c53e4ebc6dbcde14397a060c1357e569 2005 admin required dpkg_1.17.2.dsc
 35d42dac927d31152a22f50637994d51 3829700 admin required dpkg_1.17.2.tar.xz
 aa991c285663d59e84fa8642bd548ff3 735532 libdevel optional libdpkg-dev_1.17.2_amd64.deb
 3ed7cbafd833e43648984871bb090d05 2599582 admin required dpkg_1.17.2_amd64.deb
 411f6bda343a2df4e7d630b03b99140a 995850 admin optional dselect_1.17.2_amd64.deb
 6c36f5b1450d965afe038b5577730c44 1376728 utils optional dpkg-dev_1.17.2_all.deb
 28900795bce285bf30a5f2f917a271b9 905766 perl optional libdpkg-perl_1.17.2_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)

iQIcBAEBCAAGBQJSoAcoAAoJELlyvz6krlejSNwQAOSerUBsifpUSSPK0rc4YB4E
knkRqIcEEiWmjYKddLHS58fy7h6AXPz/OO55+iiN093eDSaDF1KSM4HT7k2Ev8sq
r7n4MNCLHyVajM/mnvIYnihbm/jJZmHkGmBMLmirsJTY7mpopLE+BRI8QFXb0fiJ
oawlPspvQcs5bFvZUiUxuSyWGhuYs+TIP+3+rMEX0Xe4+//N577lmO8GEUOnBMVf
7jqxn02yAvqE/pIv208WFWW+Go3B/7jhudOeDBPoHIf3JyxMQhSkFEccSYUM+yXB
mvNOi44hrhG9w7J1tQEuMHXqnPmSIp87bcoqTCFGjuDqRJNHM/fTCJuYsYSFbNDl
MlxLqN6Oq0AmWEiakrPYHBgJR5LZDhCMohOlbp4D7GW3wtjz4Z4uddXq4xL8aItE
o+rl44J86iOqwBCkZ/iQYFaIirjosl5souso3AOsg2igumrkdB0y1q1HeKUjtXma
k4byEj0FEpwh03HAbABQv3LDm4UKwL7QF9D8gDZ5emCGH9JbuHFeO+N/6yB9LS+A
rHa1bedUbfLoBiWtBx+eTGfSCLBj0U9mI2MuEusItvR9xsC+KuCnt4sIRwpwuymt
GF8yqMw0FMSDa6Aavcn0U9EPYS+vPtSiV23CKljP5kI8DHSVxUGbto3pkfbtGqtg
sw0ZOWT/NClNjVfpezTY
=5lAo
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 03 Jan 2014 07:25:23 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sat Apr 19 08:06:45 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.