Daniel Macks <[EMAIL PROTECTED]> wrote:

> dpkg-deb uses tar internally to create a .deb archive:
> 
>   execlp(TAR,"tar","-cf", "-", "-T", "-", "--null", "--no-recursion", 
> (char*)0);
> 
> When I upgraded my tar from 1.15.1 to 1.16.1, that command started
> giving a warning:
> 
>   tar: -: file name read contains nul character

The order of options is important in this case.  Tar first reads file
names from stdin (which appears to be null-separated), and only after
this does it see the --null option.  Place this option before -T and it
will remain silent:

execlp(TAR,"tar","-cf", "-", "--null", "-T", "-", "--no-recursion", (char*)0);
 
>   execlp(TAR,"tar","-cf", "-", "--null", "-T", "-", "--null", 
> "--no-recursion", (char*)0);
> 
> So first a question: is it true that that's the correct patch for
> compatibility with the new tar?

Not quite so, there is no use giving the --null option twice.  The only
requirement is that it appears before any options it affects (in this
case -T option).  

Regards,
Sergey


Reply via email to