Opened 10 years ago

Closed 9 years ago

Last modified 8 years ago

#42492 closed defect (fixed)

macports doesn't work with gnutar

Reported by: xeron (Ivan Larionov) Owned by: macports-tickets@…
Priority: Normal Milestone: MacPorts 2.3.5
Component: base Version: 2.2.99
Keywords: Cc: neverpanic (Clemens Lang)
Port:

Description

gnutar prints some warnings to STDERR, example:

$ gnutar -xOjf /opt/local/var/macports/software/php55-fpm/php55-fpm-5.5.9_0.darwin_13.x86_64.tbz2 ./+CONTENTS > /dev/null
gnutar: Ignoring unknown extended header keyword 'SCHILY.dev'
gnutar: Ignoring unknown extended header keyword 'SCHILY.ino'
gnutar: Ignoring unknown extended header keyword 'SCHILY.nlink'
gnutar: Ignoring unknown extended header keyword 'SCHILY.dev'
gnutar: Ignoring unknown extended header keyword 'SCHILY.ino'
gnutar: Ignoring unknown extended header keyword 'SCHILY.nlink'
gnutar: Ignoring unknown extended header keyword 'SCHILY.dev'
gnutar: Ignoring unknown extended header keyword 'SCHILY.ino'
gnutar: Ignoring unknown extended header keyword 'SCHILY.nlink'
gnutar: Ignoring unknown extended header keyword 'SCHILY.dev'
gnutar: Ignoring unknown extended header keyword 'SCHILY.ino'
gnutar: Ignoring unknown extended header keyword 'SCHILY.nlink'

in

"exec [findBinary tar ${portutil::autoconf::tar_path}] -xOj${qflag}f $archive_location ./+CONTENTS"
    (procedure "extract_archive_metadata" line 22)
    invoked from within
"extract_archive_metadata $location $type contents"
    (procedure "extract_contents" line 2)
    invoked from within
"extract_contents $location $current_archive_type"
    (procedure "portinstall::install_main" line 17)
    invoked from within
"portinstall::install_main org.macports.install"
    ("eval" body line 1)
    invoked from within
"eval $procedure $targetname"

which results in failed installation.

Change History (7)

comment:1 Changed 10 years ago by xeron (Ivan Larionov)

Example of port which fails to install with gnutar #42485

comment:2 Changed 10 years ago by neverpanic (Clemens Lang)

Cc: cal@… added

Mavericks doesn't come with gnutar, so where does the gnutar apparently referenced in $portutil::autoconf::tar_path come from? What does variable tar_path contain in /opt/local/share/macports/Tcl/macports1.0/macports_autoconf.tcl?

It seems that archives created on the buildbot with /usr/bin/tar (which is BSD tar there) will print these messages when extracted with GNU tar. Now, that shouldn't be a problem, because the only tar that should be present while configuring MacPorts should be this very /usr/bin/tar unless a user modified /usr/bin and created a gnutar file there, which definitely is an unsupported configuration. However, maybe we should still fix this similar to what I've done in r116751 to provide a more robust setup?

comment:3 in reply to:  2 Changed 10 years ago by xeron (Ivan Larionov)

Replying to cal@…:

Mavericks doesn't come with gnutar, so where does the gnutar apparently referenced in $portutil::autoconf::tar_path come from? What does variable tar_path contain in /opt/local/share/macports/Tcl/macports1.0/macports_autoconf.tcl?

I've installed gnutar from macports and temporary replaced OSX's bsdtar with gnutar to play with some software which requires it. After that I just forgot to return an original one.

I understand such configuration is not supported, but fix should be simple since gnutar works as well as bsdtar, just prints some warnings.

comment:4 Changed 9 years ago by neverpanic (Clemens Lang)

Milestone: MacPorts Future
Resolution: fixed
Status: newclosed

Should be fixed in r132312. Will be in the next major MacPorts release.

comment:5 in reply to:  4 Changed 9 years ago by xeron (Ivan Larionov)

Replying to cal@…:

Should be fixed in r132312. Will be in the next major MacPorts release.

Is it ok to ignore stderr here? I mean, if there will be some real error?

comment:6 Changed 9 years ago by neverpanic (Clemens Lang)

If there is a real error, we would expect the tar command to return a non-zero exit value, which will abort the process.

comment:7 Changed 8 years ago by raimue (Rainer Müller)

Milestone: MacPorts FutureMacPorts 2.3.5
Note: See TracTickets for help on using tickets.