Debian Bug report logs - #474092
dpkg: please support ustar prefix field for long names

version graph

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

Reported by: Mathieu Malaterre <mathieu.malaterre@gmail.com>

Date: Thu, 3 Apr 2008 08:54:02 UTC

Severity: important

Found in version dpkg/1.13.25

Fixed in version dpkg/1.15.0

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 Developers <debian-dpkg@lists.debian.org>:
Bug#474092; Package dpkg. Full text and rfc822 format available.

Acknowledgement sent to Mathieu Malaterre <mathieu.malaterre@gmail.com>:
New Bug report received and forwarded. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: dpkg: filepath with > 100 characters do not get installed
Date: Thu, 03 Apr 2008 11:48:41 +0200
Package: dpkg
Version: 1.13.25
Severity: grave
Justification: renders package unusable


long file path (>100 characters) do not get installed. 
Steps to reproduce:

$ wget http://gdcm.sourceforge.net/thingies/debpackage-0.0.0-Linux-x86_64.deb

$ dpkg -c debpackage-0.0.0-Linux-x86_64.deb
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/long/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/long/pathname/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/long/pathname/foobar/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/long/pathname/foobar/hello_world/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-03 11:31 ./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-03 11:28 ./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/do_not_install_me.txt
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-03 11:28 ./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt

while after installation:

$ sudo dpkg -i debpackage-0.0.0-Linux-x86_64.deb
Selecting previously deselected package debpackage.
(Reading database ... 147313 files and directories currently installed.)
Unpacking debpackage (from .../debpackage-0.0.0-Linux-x86_64.deb) ...
Setting up debpackage (0.0.0) ...
$ find /tmp/very
/tmp/very
/tmp/very/long
/tmp/very/long/pathname
/tmp/very/long/pathname/foobar
/tmp/very/long/pathname/foobar/hello_world
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt

You can see that install_me.txt get installed but a filename just slightly longer do not.

Thanks
-Mathieu

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-6-amd64
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages dpkg depends on:
ii  coreutils                     5.97-5.3   The GNU core utilities
ii  libc6                         2.7-6      GNU C Library: Shared libraries

dpkg recommends no packages.

-- no debconf information




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

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Raphael Hertzog <hertzog@debian.org>
To: Mathieu Malaterre <mathieu.malaterre@gmail.com>, 474092@bugs.debian.org
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Thu, 3 Apr 2008 12:42:04 +0200
On Thu, 03 Apr 2008, Mathieu Malaterre wrote:
> long file path (>100 characters) do not get installed. 
> Steps to reproduce:
> 
> $ wget http://gdcm.sourceforge.net/thingies/debpackage-0.0.0-Linux-x86_64.deb

I checked with the current version (in git repo) and the problem is present
too. In fact the file do_not_install_me.txt is installed but not at the
right place:
$ dpkg -L debpackage
/tmp
/tmp/very
/tmp/very/long
/tmp/very/long/pathname
/tmp/very/long/pathname/foobar
/tmp/very/long/pathname/foobar/hello_world
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123
/do_not_install_me.txt
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt

It's installed in the root directory...

It's strange that dpkg -c shows the right path name but that during
installation, it sees another path.


Here's a debug log:
$ sudo dpkg -D10 --force-all -i debpackage-0.0.0-Linux-x86_64.deb 
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting running rm -rf
dpkg - avertissement, problème contourné à cause de --force :
 l'architecture du paquet (amd64) ne correspond pas à celle du système (i386)
(Lecture de la base de données... 301119 fichiers et répertoires déjà installés.)
Préparation du remplacement de debpackage 0.0.0 (en utilisant debpackage-0.0.0-Linux-x86_64.deb) ...
Dépaquetage de la mise à jour de debpackage ...
D000010: tarobject ti->Name=`./tmp' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long/pathname' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123.dpkg-tmp'
D000010: tarobject ti->Name=`do_not_install_me.txt' Mode=100644 owner=1002.1002 Type=48(-) ti->LinkName=`' namenode=`/do_not_install_me.txt' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/do_not_install_me.txt.dpkg-new'
D000010: ensure_pathname_nonexisting `/do_not_install_me.txt.dpkg-tmp'
D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt' Mode=100644 owner=1002.1002 Type=48(-) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt' flags=2 instead=`<none>'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt.dpkg-new'
D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt.dpkg-tmp'
D000010: process_archive looking for overwriting `/do_not_install_me.txt'
D000010: process_archive looking for overwriting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt'
D000010: ensure_pathname_nonexisting `//tmp.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//do_not_install_me.txt.dpkg-tmp'
D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt.dpkg-tmp'
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting running rm -rf
D000010: ensure_pathname_nonexisting `/var/lib/dpkg/reassemble.deb'


Cheers,
-- 
Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/




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

Acknowledgement sent to Jon Dowland <jon@alcopop.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Jon Dowland <jon@alcopop.org>
To: control@bugs.debian.org
Cc: 474092@bugs.debian.org
Subject: retitle 474092 to dpkg: filepath with > 100 characters do not get installed on amd64
Date: Thu, 03 Apr 2008 16:38:26 +0100
# Automatically generated email from bts, devscripts version 2.10.20
# works for i386
retitle 474092 dpkg: filepath with > 100 characters do not get installed on amd64





Changed Bug title to `dpkg: filepath with > 100 characters do not get installed on amd64' from `dpkg: filepath with > 100 characters do not get installed'. Request was from Jon Dowland <jon@alcopop.org> to control@bugs.debian.org. (Thu, 03 Apr 2008 15:42:05 GMT) Full text and rfc822 format available.

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

Acknowledgement sent to "Mathieu Malaterre" <mathieu.malaterre@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: "Mathieu Malaterre" <mathieu.malaterre@gmail.com>
To: "Jon Dowland" <jon@alcopop.org>
Cc: 474092@bugs.debian.org
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Thu, 3 Apr 2008 20:51:23 +0200
Hi Jon,

> # Automatically generated email from bts, devscripts version 2.10.20
> # works for i386
> retitle 474092 dpkg: filepath with > 100 characters do not get installed on amd64

Could you please double-check -again- but with the following deb file:

http://gdcm.sourceforge.net/thingies/debpackage-0.0.0-Linux-i386.deb

At least on my debian i386 sarge (oldstable) I can still reproduce the issue.

Thanks
-Mathieu



On Thu, Apr 3, 2008 at 12:42 PM, Raphael Hertzog <hertzog@debian.org> wrote:
> On Thu, 03 Apr 2008, Mathieu Malaterre wrote:
>  > long file path (>100 characters) do not get installed.
>  > Steps to reproduce:
>  >
>  > $ wget http://gdcm.sourceforge.net/thingies/debpackage-0.0.0-Linux-x86_64.deb
>
>  I checked with the current version (in git repo) and the problem is present
>  too. In fact the file do_not_install_me.txt is installed but not at the
>  right place:
>  $ dpkg -L debpackage
>  /tmp
>  /tmp/very
>  /tmp/very/long
>  /tmp/very/long/pathname
>  /tmp/very/long/pathname/foobar
>  /tmp/very/long/pathname/foobar/hello_world
>  /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg
>  /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider
>  /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123
>  /do_not_install_me.txt
>  /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt
>
>  It's installed in the root directory...
>
>  It's strange that dpkg -c shows the right path name but that during
>  installation, it sees another path.
>
>
>  Here's a debug log:
>  $ sudo dpkg -D10 --force-all -i debpackage-0.0.0-Linux-x86_64.deb
>  D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
>  D000010: ensure_pathname_nonexisting running rm -rf
>  dpkg - avertissement, problème contourné à cause de --force :
>   l'architecture du paquet (amd64) ne correspond pas à celle du système (i386)
>  (Lecture de la base de données... 301119 fichiers et répertoires déjà installés.)
>  Préparation du remplacement de debpackage 0.0.0 (en utilisant debpackage-0.0.0-Linux-x86_64.deb) ...
>  Dépaquetage de la mise à jour de debpackage ...
>  D000010: tarobject ti->Name=`./tmp' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long/pathname' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123' Mode=40755 owner=1002.1002 Type=53(d) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123.dpkg-tmp'
>  D000010: tarobject ti->Name=`do_not_install_me.txt' Mode=100644 owner=1002.1002 Type=48(-) ti->LinkName=`' namenode=`/do_not_install_me.txt' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/do_not_install_me.txt.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/do_not_install_me.txt.dpkg-tmp'
>  D000010: tarobject ti->Name=`./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt' Mode=100644 owner=1002.1002 Type=48(-) ti->LinkName=`' namenode=`/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt' flags=2 instead=`<none>'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt.dpkg-new'
>  D000010: ensure_pathname_nonexisting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt.dpkg-tmp'
>  D000010: process_archive looking for overwriting `/do_not_install_me.txt'
>  D000010: process_archive looking for overwriting `/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt'
>  D000010: ensure_pathname_nonexisting `//tmp.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//do_not_install_me.txt.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `//tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt.dpkg-tmp'
>  D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci'
>  D000010: ensure_pathname_nonexisting running rm -rf
>  D000010: ensure_pathname_nonexisting `/var/lib/dpkg/reassemble.deb'
>
>
>  Cheers,
>  --
>  Raphaël Hertzog
>
>  Le best-seller français mis à jour pour Debian Etch :
>  http://www.ouaza.com/livre/admin-debian/
>



-- 
Mathieu




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

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Sven Joachim <svenjoac@gmx.de>
To: "Mathieu Malaterre" <mathieu.malaterre@gmail.com>
Cc: 474092@bugs.debian.org, "Jon Dowland" <jon@alcopop.org>
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Thu, 03 Apr 2008 21:25:46 +0200
On 2008-04-03 20:51 +0200, Mathieu Malaterre wrote:

> Hi Jon,
>
>> # Automatically generated email from bts, devscripts version 2.10.20
>> # works for i386
>> retitle 474092 dpkg: filepath with > 100 characters do not get installed on amd64
>
> Could you please double-check -again- but with the following deb file:
>
> http://gdcm.sourceforge.net/thingies/debpackage-0.0.0-Linux-i386.deb
>
> At least on my debian i386 sarge (oldstable) I can still reproduce the issue.

I can confirm the bug on i386 with dpkg 1.14.16.6: the
do_not_install_me.txt file gets installed under /.

Sven




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

Acknowledgement sent to "Mathieu Malaterre" <mathieu.malaterre@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: "Mathieu Malaterre" <mathieu.malaterre@gmail.com>
To: "Sven Joachim" <svenjoac@gmx.de>
Cc: 474092@bugs.debian.org, "Jon Dowland" <jon@alcopop.org>
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Thu, 3 Apr 2008 21:31:51 +0200
On Thu, Apr 3, 2008 at 9:25 PM, Sven Joachim <svenjoac@gmx.de> wrote:
> On 2008-04-03 20:51 +0200, Mathieu Malaterre wrote:
>
>  > Hi Jon,
>  >
>  >> # Automatically generated email from bts, devscripts version 2.10.20
>  >> # works for i386
>  >> retitle 474092 dpkg: filepath with > 100 characters do not get installed on amd64
>  >
>  > Could you please double-check -again- but with the following deb file:
>  >
>  > http://gdcm.sourceforge.net/thingies/debpackage-0.0.0-Linux-i386.deb
>  >
>  > At least on my debian i386 sarge (oldstable) I can still reproduce the issue.
>
>  I can confirm the bug on i386 with dpkg 1.14.16.6: the
>  do_not_install_me.txt file gets installed under /.

Sven


  Do you know how to revert back the old the title (remove ref to amd64) ?

thx
-- 
Mathieu




Changed Bug title to `filepath with > 100 characters do not get installed' from `dpkg: filepath with > 100 characters do not get installed on amd64'. Request was from "Mathieu Malaterre" <mathieu.malaterre@gmail.com> to control@bugs.debian.org. (Thu, 03 Apr 2008 20:00:40 GMT) Full text and rfc822 format available.

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

Acknowledgement sent to Jon Dowland <jon+bts@alcopop.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Jon Dowland <jon+bts@alcopop.org>
To: control@bugs.debian.org
Cc: 474092@bugs.debian.org
Subject: retitle 474092 to dpkg: filepath with > 100 characters do not get installed
Date: Thu, 03 Apr 2008 22:17:34 +0100
# Automatically generated email from bts, devscripts version 2.10.19
# seemingly not amd64 specific afterall
retitle 474092 dpkg: filepath with > 100 characters do not get installed





Changed Bug title to `dpkg: filepath with > 100 characters do not get installed' from `filepath with > 100 characters do not get installed'. Request was from Jon Dowland <jon+bts@alcopop.org> to control@bugs.debian.org. (Thu, 03 Apr 2008 21:18:10 GMT) Full text and rfc822 format available.

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

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Raphael Hertzog <hertzog@debian.org>
To: Mathieu Malaterre <mathieu.malaterre@gmail.com>, 474092@bugs.debian.org
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Tue, 8 Apr 2008 12:35:05 +0200
severity 474092 important
thanks

On Thu, 03 Apr 2008, Mathieu Malaterre wrote:
> long file path (>100 characters) do not get installed. 

For reference, while browsing the history I found this commit:

commit 3252594427f5285ab4091a6beca2adaa5082a883
Author: Wichert Akkerman <wakkerma@debian.org>
Date:   Thu Oct 21 13:36:28 1999 +0000

    Add support for GNU tar extension for long filenames


So it might have been supported once... that said it hasn't caused troubles in
several releases, so it's not really RC anyway. Downgrading to important so
that it doesn't get in the way of testing migration or anything else.

Would be nice to have it fixed for lenny though.

Cheers,
-- 
Raphaël Hertzog

Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/




Severity set to `important' from `grave' Request was from Raphael Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Wed, 09 Apr 2008 20:30:19 GMT) Full text and rfc822 format available.

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

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Sven Joachim <svenjoac@gmx.de>
To: Raphael Hertzog <hertzog@debian.org>
Cc: 474092@bugs.debian.org, Mathieu Malaterre <mathieu.malaterre@gmail.com>
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Wed, 16 Apr 2008 22:51:48 +0200
[Message part 1 (text/plain, inline)]
On 2008-04-08 12:35 +0200, Raphael Hertzog wrote:

> On Thu, 03 Apr 2008, Mathieu Malaterre wrote:
>> long file path (>100 characters) do not get installed. 
>
> For reference, while browsing the history I found this commit:
>
> commit 3252594427f5285ab4091a6beca2adaa5082a883
> Author: Wichert Akkerman <wakkerma@debian.org>
> Date:   Thu Oct 21 13:36:28 1999 +0000
>
>     Add support for GNU tar extension for long filenames

Unfortunately this commit only deals with tar archives in (old) GNU
format, not with POSIX tar archives (which were only described later in
POSIX.1-2001, according to the GNU tar info docs).

> So it might have been supported once...

It still is, actually.  I took the steps to extract and uncompress the
data.tar from Mathieu's archive, and file reports it as “POSIX tar
archive”.  However, tar currently does not create POSIX archives by
default; when I repacked the data.tar, file said “POSIX tar archive
(GNU)”.  Then I reassembled the .deb with ar, and dpkg installed it
correctly.  It is attached for reference.

Mathieu, how did you create the deb?  Do you have TAR_OPTIONS set so
that tar creates POSIX archives?

> that said it hasn't caused troubles in
> several releases, so it's not really RC anyway. Downgrading to important so
> that it doesn't get in the way of testing migration or anything else.
>
> Would be nice to have it fixed for lenny though.

Especially as tar will switch to creating POSIX archives by default some
day.  We should also try to assure that dpkg-deb creates GNU tar
archives until the dpkg in the stable Debian release supports POSIX tar
archives with filenames > 99 characters.

There are files with that long (> 100 characters) names in the archive;
to see some of them, download and unzip (e.g.) Contents-i386.gz and run
the following script on it to sort it by line length (needs several 100
Megabyte RAM; beware!):

--8<---------------cut here---------------start------------->8---
#!/usr/bin/perl
my @lines = <>;
print reverse sort { length($a) <=> length($b) } @lines;
--8<---------------cut here---------------end--------------->8---

Pipe this through head -n 1000 or something like that and enjoy.

Cheers,
       Sven


[debpackage_i386.deb (application/x-debian-package, attachment)]

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

Acknowledgement sent to "Mathieu Malaterre" <mathieu.malaterre@gmail.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: "Mathieu Malaterre" <mathieu.malaterre@gmail.com>
To: "Sven Joachim" <svenjoac@gmx.de>
Cc: "Raphael Hertzog" <hertzog@debian.org>, 474092@bugs.debian.org
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Thu, 17 Apr 2008 12:28:52 +0200
Hi Sven,

  Thanks a bunch for tracking the issue down ! I am making some
progress. See the new debian package (still not quite there yet):

http://gdcm.sourceforge.net/thingies/debpackage-0.0.2-Linux-x86_64.deb

  After installation I am getting:

$ dpkg -L debpackage
/tmp
/tmp/very
/tmp/very/long
/tmp/very/long/pathname
/tmp/very/long/pathname/foobar
/tmp/very/long/pathname/foobar/hello_world
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me1.txt
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/do_not_install_me.txt,.+
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me112.txtnsq
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me11.txt
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_m.txt
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me1123.txt
/tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt

  You can clearly see that there are some garbage at the end of the
filepath, while this is not reported by dpkg -c:

$ dpkg -c debpackage-0.0.2-Linux-x86_64.deb
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23 ./tmp/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23 ./tmp/very/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23 ./tmp/very/long/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23 ./tmp/very/long/pathname/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23
./tmp/very/long/pathname/foobar/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23
./tmp/very/long/pathname/foobar/hello_world/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/
drwxr-xr-x mmalaterre/mmalaterre 0 2008-04-17 12:23
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-17 12:10
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me1.txt
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-03 11:28
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/do_not_install_me.txt
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-17 12:10
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me112.txt
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-17 12:10
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me11.txt
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-17 12:10
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_m.txt
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-17 12:10
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me1123.txt
-rw-r--r-- mmalaterre/mmalaterre 0 2008-04-03 11:28
./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt


See my comments interlaced:

On Wed, Apr 16, 2008 at 10:51 PM, Sven Joachim <svenjoac@gmx.de> wrote:
> On 2008-04-08 12:35 +0200, Raphael Hertzog wrote:
>
>  > On Thu, 03 Apr 2008, Mathieu Malaterre wrote:
>  >> long file path (>100 characters) do not get installed.
>  >
>  > For reference, while browsing the history I found this commit:
>  >
>  > commit 3252594427f5285ab4091a6beca2adaa5082a883
>  > Author: Wichert Akkerman <wakkerma@debian.org>
>  > Date:   Thu Oct 21 13:36:28 1999 +0000
>  >
>  >     Add support for GNU tar extension for long filenames
>
>  Unfortunately this commit only deals with tar archives in (old) GNU
>  format, not with POSIX tar archives (which were only described later in
>  POSIX.1-2001, according to the GNU tar info docs).
>
>
>  > So it might have been supported once...
>
>  It still is, actually.  I took the steps to extract and uncompress the
>  data.tar from Mathieu's archive, and file reports it as "POSIX tar
>  archive".  However, tar currently does not create POSIX archives by
>  default; when I repacked the data.tar, file said "POSIX tar archive
>  (GNU)".  Then I reassembled the .deb with ar, and dpkg installed it
>  correctly.  It is attached for reference.
>
>  Mathieu, how did you create the deb?  Do you have TAR_OPTIONS set so
>  that tar creates POSIX archives?

So for record I am using CMake & its debian package plugin. The real
issue is that by default 'cmake -E tar cvfz' will create POSIX (non
TAR_GNU) tarball, unless you are runnning cmake on cygwin (??).

>
>  > that said it hasn't caused troubles in
>  > several releases, so it's not really RC anyway. Downgrading to important so
>  > that it doesn't get in the way of testing migration or anything else.
>  >
>  > Would be nice to have it fixed for lenny though.
>
>  Especially as tar will switch to creating POSIX archives by default some
>  day.  We should also try to assure that dpkg-deb creates GNU tar
>  archives until the dpkg in the stable Debian release supports POSIX tar
>  archives with filenames > 99 characters.
>
>  There are files with that long (> 100 characters) names in the archive;
>  to see some of them, download and unzip (e.g.) Contents-i386.gz and run
>  the following script on it to sort it by line length (needs several 100
>  Megabyte RAM; beware!):
>
>  --8<---------------cut here---------------start------------->8---
>  #!/usr/bin/perl
>  my @lines = <>;
>  print reverse sort { length($a) <=> length($b) } @lines;
>  --8<---------------cut here---------------end--------------->8---
>
>  Pipe this through head -n 1000 or something like that and enjoy.
>
>  Cheers,
>        Sven
>
>
>


Regards and thanks again for your help !
-- 
Mathieu




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

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. Full text and rfc822 format available.

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

From: Sven Joachim <svenjoac@gmx.de>
To: "Mathieu Malaterre" <mathieu.malaterre@gmail.com>
Cc: 474092@bugs.debian.org, "Raphael Hertzog" <hertzog@debian.org>
Subject: Re: Bug#474092: dpkg: filepath with > 100 characters do not get installed
Date: Thu, 17 Apr 2008 13:59:05 +0200
On 2008-04-17 12:28 +0200, Mathieu Malaterre wrote:

> Hi Sven,
>
>   Thanks a bunch for tracking the issue down ! I am making some
> progress. See the new debian package (still not quite there yet):
>
> http://gdcm.sourceforge.net/thingies/debpackage-0.0.2-Linux-x86_64.deb

Thanks.  If possible, try to create “Architecture: all” packages so that
I can (try to) install them without using the “--force-architecture”
switch.

>   After installation I am getting:
>
> $ dpkg -L debpackage
> /tmp
> /tmp/very
> /tmp/very/long
> /tmp/very/long/pathname
> /tmp/very/long/pathname/foobar
> /tmp/very/long/pathname/foobar/hello_world
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me1.txt
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/do_not_install_me.txt,.+
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me112.txtnsq
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me11.txt
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_m.txt
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me1123.txt
> /tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me.txt

I was not able to install the package at all, here is what I got with dpkg
1.14.18 on i386:

,----
|# dpkg --force-architecture -i debpackage-0.0.2-Linux-x86_64.deb 
| dpkg - warning, overriding problem because --force enabled:
|  package architecture (amd64) does not match system (i386)
| (Reading database ... 134335 files and directories currently installed.)
| Unpacking debpackage (from debpackage-0.0.2-Linux-x86_64.deb) ...
| dpkg: error processing debpackage-0.0.2-Linux-x86_64.deb (--install):
|  unable to create `./tmp/very/long/pathname/foobar/hello_world/toreproduceabugindpkg/pleaseconsider/123/install_me112.txt/man/mq': No such file or directory
| Errors were encountered while processing:
|  debpackage-0.0.2-Linux-x86_64.deb
`----

Apparently dpkg puts random junk at the end of the filenames, and in my
case that junk included a slash.  So dpkg cannot handle this type of
archive either.  While file reports your data.tar as “POSIX tar archive
(GNU)” it is probably rather a USTAR archive, since I found the string
“ustar” between the filenames, but no “LONGLINK” entry that is
characteristic of GNU archives with long filenames.  (No, I'm not an
expert on tar archive formats -- it was only yesterday evening that I
became aware of their differences!)

>   You can clearly see that there are some garbage at the end of the
> filepath, while this is not reported by dpkg -c:

dpkg -c (aka dpkg-deb -c) uses tar to list the contents, while dpkg uses
its own implementation when installing packages, that explains the
discrepancy.

Sven




Changed Bug title to `dpkg: please support ustar prefix field for long names' from `dpkg: filepath with > 100 characters do not get installed'. Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Mon, 05 Jan 2009 12:51:04 GMT) Full text and rfc822 format available.

Tags added: pending Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Fri, 27 Feb 2009 05:27:02 GMT) Full text and rfc822 format available.

Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Mon, 02 Mar 2009 05:45:32 GMT) Full text and rfc822 format available.

Notification sent to Mathieu Malaterre <mathieu.malaterre@gmail.com>:
Bug acknowledged by developer. (Mon, 02 Mar 2009 05:45:32 GMT) Full text and rfc822 format available.

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

From: Guillem Jover <guillem@debian.org>
To: 474092-close@bugs.debian.org
Subject: Bug#474092: fixed in dpkg 1.15.0
Date: Mon, 02 Mar 2009 05:17:05 +0000
Source: dpkg
Source-Version: 1.15.0

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

dpkg-dev_1.15.0_all.deb
  to pool/main/d/dpkg/dpkg-dev_1.15.0_all.deb
dpkg_1.15.0.dsc
  to pool/main/d/dpkg/dpkg_1.15.0.dsc
dpkg_1.15.0.tar.gz
  to pool/main/d/dpkg/dpkg_1.15.0.tar.gz
dpkg_1.15.0_i386.deb
  to pool/main/d/dpkg/dpkg_1.15.0_i386.deb
dselect_1.15.0_i386.deb
  to pool/main/d/dpkg/dselect_1.15.0_i386.deb



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

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 474092@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@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Mon, 02 Mar 2009 06:13:53 +0200
Source: dpkg
Binary: dpkg dpkg-dev dselect
Architecture: source i386 all
Version: 1.15.0
Distribution: experimental
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
Closes: 21659 58735 87677 98822 99870 100135 102144 107098 129577 141325 143701 149961 160848 175740 216606 250258 273406 281057 336091 342566 368000 381219 388313 390282 392429 392430 395140 395556 412487 423176 426752 437060 441904 443535 445270 457135 457371 457863 465340 474092 474671 476899 477916 480556 481165 481185 481716 481805 482834 485012 485365 487455 488293 490693 492052 499924 502258 502496 503954 505172 506028 507568 509312 509578 514106 514106 514490 516481 517264
Changes: 
 dpkg (1.15.0) experimental; urgency=low
 .
   [ Guillem Jover ]
   * Do not suggest manually changing the alternative symlinks on
     update-alternative's verbose mode. Closes: #412487
   * Refactor subprocess signal setup.
   * Mark and coalesce similar strings for translation.
   * Add '.be' to the default dpkg-source -i regex. Closes: #481716
     Based on a patch by Ben Finney.
   * Fix link order when using libcompat.a and libintl.a by placing them after
     libdpkg.a. Based on a patch by Martin Koeppe. Closes: #481805
   * Remove duplicate program name from dpkg-trigger badusage output.
   * Trim trailing slash and slash dot from 'dpkg -S' arguments when those
     are path names, but not on patterns. Closes: #129577
   * Fix the support for passing more than one --status-fd option to dpkg.
     Until now only the last one was being used.
   * Replace realloc plus error checking usage with m_realloc.
   * Add '.hgignore' to the default dpkg-source -i regex and -I pattern.
     Closes: #485365
   * Support diverting files when origin and destination are on different file
     systems. Based on a patch by Juergen Kreileder. Closes: #102144, #149961
   * Do not silently enable --rename on dpkg-divert --remove. Closes: #160848
   * Do not allocate memory when lstat fails during package upgrade.
   * Properly lstat the correct file when using --root on package upgrade.
     Thanks to Egmont Koblinger. Closes: #281057
   * Print a longer string when a disallowed field value is found when parsing.
   * Use $(filter ...) instead of $(findstring ...) to extract space separated
     options from DEB_BUILD_OPTIONS in debian/rules.
   * Do not leave new conffile as .dpkg-new when it has been diverted, also
     properly activate the file trigger for the diverted conffile.
     Based on a patch by Timothy G Abbott. Closes: #58735, #476899
   * Improve comment on BUGS section in dpkg-deb.1 about lack of authentication
     and checksum support in .deb files. Closes: #492052
   * Use a troff special character for the copyright symbol on man pages.
   * Mark program names in dpkg-trigger.1 in bold.
   * Unmark dselect debug messages for translation.
   * Use a the warning function to uniformly print all warning messages.
   * Properly use internerr to report about programming bugs.
   * Do not log repeated strings when the write call wrote partial data.
   * Change dir to / after chroot when using --instdir.
     Thanks to Colin Watson <cjwatson@ubuntu.com>. Closes: #509578
   * Make dpkg log files user readable. Closes: #480556
   * Clarify in the start-stop-daemon man page that the signal sent by default
     is TERM not KILL. Closes: #507568
   * Warn in dpkg-deb man page that -x will modify the extraction directory
     permissions. Closes: #502496
   * Make start-stop-daemon behave the same way whether --chuid gets a user
     name or a uid. Closes: #368000
   * Add new option --procsched to start-stop-daemon to be able to set the
     process scheduling policy and priority. Closes: #175740
   * Add initial C unit test suite for libdpkg.
   * Sanitize --status-fd output by replacing newlines with spaces.
     Closes: #505172
   * Remove unneeded cpio dependency from dpkg-dev.
   * Add kopensolaris support to ostable and triplettable. Closes: #509312
   * Document in deb.5 in detail the currently supported format, ar member
     names, types of tar archives and data.tar members.
   * Print correct feature name on «dpkg --assert-*» failures.
   * Add progress reporting to dpkg while reading the file list database.
     Based on a patch by Romain Francoise.
   * Add new option --iosched to start-stop-daemon to be able to set the
     IO scheduling class and priority. Closes: #443535
     Thanks to Chris Coulson <chrisccoulson@googlemail.com>.
   * Add tar format detection support to the internal extractor.
   * Add support for ustar long names using the prefix field. Closes: #474092
   * Code refactoring and cleanup, some of the major changes include:
     - Use standard interfaces instead of ad-hoc ones.
     - Fix memory leaks.
     - Fix compilation warnings.
     - Constify string members in structures and arguments in functions.
     - Make local functions static.
     - Remove unused functions, macros and variables.
     - Fix and cleanup libcompat broken replacement implementations.
     - Reduction of module interdependencies.
     - Rename function and variable names to make them more clear.
     - Cleanup and split of header files.
 .
   [ Raphael Hertzog ]
   * Enhance dpkg-shlibdeps's error message when a library can't be found to
     include the ELF format of the desired library. Closes: #474671
   * dpkg-gensymbols now refuses empty values for the the -v -P and -e
     parameters.
   * Update dpkg(1) to refer to conffile whenever we speak of configuration
     file handled by dpkg. Thus harmonize vocabulary with the policy. Thanks
     to Helge Kreutzmann <debian@helgefjell.de>. Closes: #381219
   * Improve error message stating that dpkg is unable to create a file so that
     it also refers to the real filename instead of the non-diverted name only.
     Thanks to Daniel Hahler for the patch. Closes: #457135
   * dpkg-gencontrol can now again read the control file from its standard
     input with "-c-". Closes: #465340
   * Add DEB_VENDOR environment variable in the build environment to be able
     to change behaviour dynamically depending on the vendor of the current
     system (or target system when the user overrides DEB_VENDOR by setting
     it himself). Closes: #457371
   * dpkg-shlibdeps give less strong warnings for symbols not found in NEEDED
     libraries when the shared library is a non-public directory and is likely
     to be a plugin. Closes: #481165
   * Clarify list of packages displayed by dpkg --get-selections and
     dpkg-query -l. Thanks to Jidanni. Closes: #487455
   * Document -A option in dpkg-buildpackage(1). Closes: #482834
   * Add some warning concerning the available file and the related commands.
     They are mostly obsolete for APT users. Closes: #481185
   * Add new option --listpackage to dpkg-divert. Thanks to Timothy G Abbott
     <tabbott@MIT.EDU> for the patch. Closes: #485012
   * Add new option --require-valid-signature to dpkg-source. Closes: #390282
   * In dpkg-query(1) document the origin of the various fields and warn that
     they are not always available. Closes: #488293
   * Improve error message in install-info when the file doesn't exist.
     Thanks to Thomas Hood <jdthood@yahoo.co.uk>. Closes: #107098
   * Use description of installed package as fallback in dselect.
     Based on a patch from Bruce Sass <bmsass@shaw.ca>. Closes: #21659
   * Reduce memory usage of dselect by avoiding usage of a big infopad.
     Thanks to Michel Lespinasse <walken@zoy.org> for the patch.
     Closes: #395140
   * Largely improve and update dpkg-buildpackage's manual page.
   * Clarify two points in dpkg-source(1). Closes: #490693
   * Support RUNPATH exactly like RPATH in dpkg-shlibdeps. Closes: #502258
     Thanks to Javier Serrano Polo <jasp00@terra.es>.
   * Set Standards-Version to 3.8.0 (no changes needed).
   * Drop some unneeded lintian overrides.
   * Fix a chmod call in dpkg-source to not fail when POSIXLY_CORRECT is set.
     Closes: #506028
   * Optimize dpkg-shlibdeps by caching parsed symbols files and
     objdump objects. Thanks to Modestas Vainius <modestas@vainius.eu> for the
     patch. Closes: #503954
   * Add new framework to hook vendor-specific logic (see
     module Dpkg::Vendor::Default).
   * Add Ubuntu vendor object implementing lookup of launchpad bugs in
     changelogs and a safety-check for Maintainer fields of forked packages
     (launched during source build). Closes: #426752, #499924
   * Improve behaviour of update-alternatives --config. Thanks to
     Osamu Aoki <osamu@debian.org> for the initial patch. We can know
     select between manual and auto in --config and --all. Closes: #392430
   * Fix update-alternatives to not switch to manual mode an alternative
     with a broken symlink (instead let the current action fix it).
     Also ensure that a message is displayed by default when such a switch is
     made. Closes: #141325, #87677
   * Fix update-alternatives' logic to rename files. It failed to ignore errors
     in some cases where it wanted to when the source file didn't exist.
     Closes: #99870
     This also makes update-alternatives less noisy when this happens since we
     don't call mv when we know that it's going to fail.
     Closes: #98822
   * Properly remove inappropriate slave links in update-alternatives even when
     we switch to manual mode with --set or --config. Closes: #388313
   * Modify update-alternatives to always remove the alternative group when the
     last alternative is removed (even in manual mode).
   * Ensure that update-alternative --install fix the links if the alternative
     installed is the one currently selected. Closes: #100135
   * Let update-alternatives deal with empty files in its administrative
     directory by ignoring them. Closes: #457863
   * Add new --target and --as-root options to dpkg-buildpackage to call
     any debian/rules target with the proper build environment.
     Closes: #477916
   * Move update-alternatives, dpkg-divert and dpkg-statoverride to /usr/bin
     but keep compatibility symlinks in /usr/sbin for the squeeze release
     until all maintainer scripts are fixed (see
     http://lintian.debian.org/tags/command-with-path-in-maintainer-script.html).
     Closes: #216606
   * Use dh_lintian to install lintian overrides. Build-Depends on debhelper
     (>= 6.0.7) for this. Update debhelper compatility level to 6 at the same
     time.
   * Drop cleanup-info script.
   * Reset umask to 0022 in dpkg-gencontrol and dpkg-gensymbols to ensure that
     files created in the DEBIAN directory have sane permissions.
     Closes: #516481
   * Rewrite update-alternatives (so that we can understand it again) and
     implement new features on top of it:
     - the --config output is now sorted. Closes: #437060
     - it now logs information to /var/log/dpkg.log. Closes: #445270
     - it forbids reusing master alternative as slave and vice-versa.
       Closes: #342566
     - it forbids reusing alternative links managed by other alternatives
     - new sanity checks on --install parameters. Closes: #423176
     - install slave link only if the corresponding slave file is available.
       Closes: #143701
     - new option --get-selections to export the configuration of all
       alternatives. It's a simple way to discover the name of all available
       alternatives. Closes: #273406, #392429
     - new option --set-selections to reconfigure a set of alternatives in
       a single command.
   * Document in update-alternatives(8) how one can repair all broken
     alternatives with a single command. Closes: #250258, #395556
   * Modify dpkg-gensymbols to replace #PACKAGE# on the fly while installing
     symbols files so that package having libraries whose name varies between
     architectures do not need to hardcode the package name. Closes: #517264
 .
   [ Pierre Habouzit ]
   * Add a --query option to update-alternatives. Closes: #336091, #441904
 .
   [ Updated scripts translations ]
   * Polish (Wiktor Wandachowicz). Closes: #514106
 .
   [ Updated manpages translations ]
   * Polish (Wiktor Wandachowicz). Closes: #514106
 .
   [ Updated dpkg translations ]
   * Portuguese (Miguel Figueiredo).
   * Korean (Changwoo Ryu).
   * Romanian (Eddy Petrișor)
   * Slovak (Ivan Masár). Closes: #514490
Checksums-Sha1: 
 59c1f788d8b6159d101972648c0bc52c3adb4d39 1210 dpkg_1.15.0.dsc
 5810eb92225882112bae82b09cb02a345f0b2b57 6707886 dpkg_1.15.0.tar.gz
 03c092c6bb37ec2442ccd20940d97f7fa6c485cd 2144406 dpkg_1.15.0_i386.deb
 31126fb08151e11bed6323b4d4318b7f5e4f84ba 810768 dselect_1.15.0_i386.deb
 16b00c67eaa4158a880c083d7a6a36d7a7d96217 760490 dpkg-dev_1.15.0_all.deb
Checksums-Sha256: 
 bb77a5243d55c3143678dbcc7787242a85f511ea8e188ab7fe7370d899333e25 1210 dpkg_1.15.0.dsc
 3ace352953112783e4018ca43e1cd50a2ec362dcd39e762fe335e9a0bb8c8ceb 6707886 dpkg_1.15.0.tar.gz
 f7b65682b91403e9abd3b035e71c6a6766128fb8f9875f30246901d21be1ef21 2144406 dpkg_1.15.0_i386.deb
 e173282bcdc225fdc17338a77f639bbbb54404c92b851cb6f19e2104fe9e608e 810768 dselect_1.15.0_i386.deb
 d724e5da724f6274c55af3455426446b1f8154f57d664b3c1c35d5d5d42523ab 760490 dpkg-dev_1.15.0_all.deb
Files: 
 50d034e664af9527d8a8e4749e1ee3ae 1210 admin required dpkg_1.15.0.dsc
 e4067113a967ada30c57ba4bf1c819e2 6707886 admin required dpkg_1.15.0.tar.gz
 11ab0f2db795e645683c79ed2ad8b36c 2144406 admin required dpkg_1.15.0_i386.deb
 d723ae29b3b7348aeea9c3a6c1eab901 810768 admin optional dselect_1.15.0_i386.deb
 891ac5149a544d72f57646d9a1686c51 760490 utils optional dpkg-dev_1.15.0_all.deb

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

iEYEARECAAYFAkmrXocACgkQuW9ciZ2SjJs3zACeLx6FY1rU208M9gxYEK2qFuV8
n3QAn1eOPFBB9frdQlYs2+9YGyvf80PQ
=Tspn
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 23 Jun 2009 07:48: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: Mon Apr 21 15:56:06 2014; Machine Name: beach.debian.org

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