[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dpkg --build broken?



Hi, 

At Thu, 9 Sep 1999 00:46:05 -0400,
Hugo Haas <hugo@debian.org> wrote:

> I updated my system (lastest libc, etc) and found the following problem:
> 'dpkg --build' doesn't record the correct path.
> 
> 'dpkg --contents' gives:
> 
> drwxr-xr-x root/root         0 1999-09-09 00:25:49 ./usr/
> drwxr-xr-x root/root         0 1999-09-09 00:25:46 ./usr/X11R6/
> drwxr-xr-x root/root         0 1999-09-09 00:25:39 ./usr/X11R6/bin/
> [..]
> 
> instead of:
> 
> drwxr-xr-x root/root         0 1999-09-09 00:25:49 usr/
> drwxr-xr-x root/root         0 1999-09-09 00:25:46 usr/X11R6/
> drwxr-xr-x root/root         0 1999-09-09 00:25:39 usr/X11R6/bin/
> [..]
> 
> Am I the only one having this problem?

Maybe, this is the same reason that lintian will give the errors:

 tar: control: Not found in archive
 tar: Error exit delayed from previous errors
 internal error: broken input pipe for unpacking 

As I checked the lintian, `ar p foo.deb control.tar.gz | tar xfzO - control' 
in /usr/share/lintian/lib/util.pl failed because control.tar.gz looks like

 drwxr-xr-x root/root         0 1999-09-09 12:09:42 ./
 -rw-r--r-- root/root        38 1999-09-09 12:09:28 ./shlibs
 -rwxr-xr-x root/root       886 1999-09-09 12:09:28 ./postinst
 -rwxr-xr-x root/root       380 1999-09-09 12:09:29 ./preinst
 -rwxr-xr-x root/root       268 1999-09-09 12:09:29 ./prerm
 -rwxr-xr-x root/root       676 1999-09-09 12:09:29 ./postrm
 -rw-r--r-- root/root       859 1999-09-09 12:09:42 ./md5sums
 -rw-r--r-- root/root       782 1999-09-09 12:09:41 ./control

It can be fixed by this patch:

--- /usr/share/lintian/lib/util.pl.old	Thu Sep  9 13:57:11 1999
+++ /usr/share/lintian/lib/util.pl	Thu Sep  9 13:57:31 1999
@@ -109,7 +109,7 @@
     # `dpkg-deb -f $file' is very slow. Instead, we use ar and tar.
     pipeline_open(CONTROL,
 		  (sub { exec 'ar', 'p', $file, 'control.tar.gz' }),
-		  (sub { exec 'tar', 'xfzO', '-', 'control' }))
+		  (sub { exec 'tar', 'xfzO', '-', './control' }))
 	or fail("cannot fork to unpack $file: $!\n");
     my @data = parse_dpkg_control();
     close(CONTROL) or fail("broken input pipe for unpacking $file: $!");

Anyway, I think this is tar's bug.

Regards,
Fumitoshi UKAI


Reply to: