Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#34080 closed defect (fixed)

archive contents can't be extracted when tar is gnutar

Reported by: mklein-de (Michael Klein) Owned by: macports-tickets@…
Priority: Normal Milestone: MacPorts 2.1.0
Component: base Version: 2.0.4
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), mkae (Marko Käning), elizabeth.anne.stock@…
Port:

Description

copied .tbz2 archive to different machine (same OS, architecture and variants) and tried to install;

$ sudo port -v install subversion --->  Computing dependencies for subversion.
--->  Installing subversion @1.7.4_0+no_bdb
Error: Target org.macports.install returned: /usr/bin/tar: +CONTENTS: Not found in archive
/usr/bin/tar: Error exit delayed from previous errors
Warning: the following items did not execute (for subversion): org.macports.activate org.macports.install
Log for subversion is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_svn.macports.org_devel_subversion/subversion/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

$ tar tjvf /opt/local/var/macports/software/subversion/subversion-1.7.4_0+no_bdb.darwin_9.ppc.tbz2 | grep -- +CONTENTS
-rw-r--r-- root/wheel    11361 2012-03-19 00:14:18 ./+CONTENTS

+CONTENTS is not found because of leading ./ in archive; after manually unpacking and re-packing without leading ./, installation went fine.

Change History (14)

comment:1 Changed 12 years ago by mf2k (Frank Schima)

Cc: blair@… added
Owner: changed from macports-tickets@… to dluke@…
Port: subversion-perlbindings added

comment:2 Changed 12 years ago by mf2k (Frank Schima)

In the future, please fill in the Port field and Cc the port maintainer(s).

comment:3 Changed 12 years ago by mf2k (Frank Schima)

Sorry, you are saying this is a base problem.

comment:4 Changed 12 years ago by mf2k (Frank Schima)

Cc: dluke@… added
Owner: changed from dluke@… to macports-tickets@…
Port: subversion-perlbindings removed

comment:5 Changed 12 years ago by mklein-de (Michael Klein)

yes, it happens with other ports as well; all archives here have either metadata files with leading ./ or no metadata at all (some older archives)

comment:6 Changed 12 years ago by danielluke (Daniel J. Luke)

Cc: dluke@… blair@… removed

comment:7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Obviously older archives that have no metadata won't work.

You're saying even a new archive that you create today on one machine won't work when copied to another machine? I don't know how that could be, since that's exactly what we do on http://packages.macports.org

comment:8 Changed 12 years ago by mklein-de (Michael Klein)

Yes, MacPorts 2.0.4 on 10.5.8 PPC.

fjelljo:/tmp $ wget http://packages.macports.org/2Pong/2Pong-1.0.1a_0.darwin_11.x86_64.tbz2
--2012-04-16 22:37:40--  http://packages.macports.org/2Pong/2Pong-1.0.1a_0.darwin_11.x86_64.tbz2
Resolving packages.macports.org (packages.macports.org)... 17.254.20.158
Connecting to packages.macports.org (packages.macports.org)|17.254.20.158|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 217618 (213K) [application/x-bzip2]
Saving to: `2Pong-1.0.1a_0.darwin_11.x86_64.tbz2'

100%[===================================================================>] 217,618     96.2K/s   in 2.2s    

2012-04-16 22:37:43 (96.2 KB/s) - `2Pong-1.0.1a_0.darwin_11.x86_64.tbz2' saved [217618/217618]

proc portinstall::extract_contents (portinstall.tcl) constructs the tar command line without leading ./

fjelljo:/tmp $ tar tjvf 2Pong-1.0.1a_0.darwin_11.x86_64.tbz2 +CONTENTS                     
tar: +CONTENTS: Not found in archive
tar: Error exit delayed from previous errors
fjelljo:/tmp $ tar tjvf 2Pong-1.0.1a_0.darwin_11.x86_64.tbz2 ./+CONTENTS
-rw-r--r-- root/wheel     5951 2012-04-05 00:48:51 ./+CONTENTS

comment:9 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

I'll bet we're inadvertently using a feature that happens to be in the newer version of tar that's on Snow Leopard but not in the one that's on Leopard. On Snow Leopard I get:

$ tar tjvf 2Pong-1.0.1a_0.darwin_11.x86_64.tbz2 +CONTENTS
-rw-r--r--  0 root   wheel    5951 Apr  4 17:48 ./+CONTENTS

I wonder if simply changing the command in MacPorts base to extract "./+CONTENTS" instead fixes the issue. Can you try if that works?

comment:10 Changed 12 years ago by jmroot (Joshua Root)

Summary: Can't install binary archives: (Target org.macports.install returned: /usr/bin/tar: +CONTENTS: Not found in archive)archive contents can't be extracted when tar is gnutar

comment:11 Changed 12 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

comment:12 Changed 12 years ago by jmroot (Joshua Root)

Milestone: MacPorts 2.1.0

comment:13 Changed 12 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:14 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: elizabeth.anne.stock@… added

Has duplicate #32181. Also, this problem was the cause of #31772.

Note: See TracTickets for help on using tickets.