Opened 19 months ago

Last modified 2 months ago

#71180 new defect

port test p5.34-class-data-inheritable fails with: tar: Ignoring malformed pax extended attribute

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.2
Keywords: highsierra Cc: larryv (Lawrence Velázquez), potmj (Michael Pot)
Port: p5.34-class-data-inheritable

Description

--->  Computing dependencies for p5.34-class-data-inheritable.
--->  Fetching distfiles for p5.34-class-data-inheritable
--->  Class-Data-Inheritable-0.10.tar.gz does not exist in /opt/local/var/macports/distfiles/perl5
--->  Attempting to fetch Class-Data-Inheritable-0.10.tar.gz from https://www.cpan.org/modules/by-module/Class
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6462  100  6462    0     0   488k      0 --:--:-- --:--:-- --:--:--  485k
--->  Verifying checksums for p5.34-class-data-inheritable
--->  Checksumming Class-Data-Inheritable-0.10.tar.gz
--->  Extracting p5.34-class-data-inheritable
--->  Extracting Class-Data-Inheritable-0.10.tar.gz
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-class-data-inheritable/p5.34-class-data-inheritable/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/perl5/Class-Data-Inheritable-0.10.tar.gz' | /usr/bin/tar -xf - 
tar: Ignoring malformed pax extended attribute
tar: Error exit delayed from previous errors.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-class-data-inheritable/p5.34-class-data-inheritable/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/perl5/Class-Data-Inheritable-0.10.tar.gz' | /usr/bin/tar -xf - 
Exit code: 1
Error: Failed to extract p5.34-class-data-inheritable: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-class-data-inheritable/p5.34-class-data-inheritable/main.log for details.
root 284 /\ file /opt/local/var/macports/distfiles/perl5/Class-Data-Inheritable-0.10.tar.gz
/opt/local/var/macports/distfiles/perl5/Class-Data-Inheritable-0.10.tar.gz: gzip compressed data, was "Class-Data-Inheritable-0.10.tar", last modified: Thu Oct 24 01:47:28 2024, max compression, from Unix
root 285 /\ /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/perl5/Class-Data-Inheritable-0.10.tar.gz' | /usr/bin/tar -vtf - 
drwxr-xr-x  0 ryan   staff       0 24 Okt 03:47 Class-Data-Inheritable-0.10/
tar: Ignoring malformed pax extended attribute
-rw-r--r--  0 ryan   staff    1019 24 Okt 03:43 Class-Data-Inheritable-0.10/Changes
-rw-r--r--  0 ryan   staff     269 18 Dez  2021 Class-Data-Inheritable-0.10/MANIFEST
drwxr-xr-x  0 ryan   staff       0 24 Okt 03:47 Class-Data-Inheritable-0.10/t/
-rw-r--r--  0 ryan   staff    3613 20 Dez  2021 Class-Data-Inheritable-0.10/README
-rw-r--r--  0 ryan   staff     357 18 Dez  2021 Class-Data-Inheritable-0.10/MANIFEST.SKIP
-rw-r--r--  0 ryan   staff     531 24 Okt 03:47 Class-Data-Inheritable-0.10/META.yml
drwxr-xr-x  0 ryan   staff       0 24 Okt 03:47 Class-Data-Inheritable-0.10/lib/
-rw-r--r--  0 ryan   staff     237 18 Dez  2021 Class-Data-Inheritable-0.10/Makefile.PL
drwxr-xr-x  0 ryan   staff       0 24 Okt 03:47 Class-Data-Inheritable-0.10/doc/
-rw-r--r--  0 ryan   staff     881 24 Okt 03:47 Class-Data-Inheritable-0.10/META.json
drwxr-xr-x  0 ryan   staff       0 24 Okt 03:47 Class-Data-Inheritable-0.10/doc/jp/
-rw-r--r--  0 ryan   staff    5577 18 Dez  2021 Class-Data-Inheritable-0.10/doc/jp/Class-Data-Inheritable.pod
drwxr-xr-x  0 ryan   staff       0 24 Okt 03:47 Class-Data-Inheritable-0.10/lib/Class/
drwxr-xr-x  0 ryan   staff       0 24 Okt 03:47 Class-Data-Inheritable-0.10/lib/Class/Data/
-rw-r--r--  0 ryan   staff    4051 24 Okt 03:33 Class-Data-Inheritable-0.10/lib/Class/Data/Inheritable.pm
-rw-r--r--  0 ryan   staff     129 18 Dez  2021 Class-Data-Inheritable-0.10/t/pod.t
-rw-r--r--  0 ryan   staff    1347 18 Dez  2021 Class-Data-Inheritable-0.10/t/Inheritable.t
-rw-r--r--  0 ryan   staff     161 18 Dez  2021 Class-Data-Inheritable-0.10/t/pod-coverage.t
tar: Error exit delayed from previous errors.
root 286 /\ echo $status
1
root 287 /\ which tar gtar
/usr/bin/tar
/opt/local/bin/gtar
root 292 /\ /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/perl5/Class-Data-Inheritable-0.10.tar.gz' | env LANG=C gtar -vtf -
drwxr-xr-x ryan/staff        0 2024-10-24 03:47 Class-Data-Inheritable-0.10/
gtar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.lastuseddate#PS'
-rw-r--r-- ryan/staff     1019 2024-10-24 03:43 Class-Data-Inheritable-0.10/Changes
-rw-r--r-- ryan/staff      269 2021-12-18 08:43 Class-Data-Inheritable-0.10/MANIFEST
drwxr-xr-x ryan/staff        0 2024-10-24 03:47 Class-Data-Inheritable-0.10/t/
-rw-r--r-- ryan/staff     3613 2021-12-20 00:19 Class-Data-Inheritable-0.10/README
-rw-r--r-- ryan/staff      357 2021-12-18 08:43 Class-Data-Inheritable-0.10/MANIFEST.SKIP
-rw-r--r-- ryan/staff      531 2024-10-24 03:47 Class-Data-Inheritable-0.10/META.yml
drwxr-xr-x ryan/staff        0 2024-10-24 03:47 Class-Data-Inheritable-0.10/lib/
-rw-r--r-- ryan/staff      237 2021-12-18 08:43 Class-Data-Inheritable-0.10/Makefile.PL
drwxr-xr-x ryan/staff        0 2024-10-24 03:47 Class-Data-Inheritable-0.10/doc/
-rw-r--r-- ryan/staff      881 2024-10-24 03:47 Class-Data-Inheritable-0.10/META.json
drwxr-xr-x ryan/staff        0 2024-10-24 03:47 Class-Data-Inheritable-0.10/doc/jp/
-rw-r--r-- ryan/staff     5577 2021-12-18 08:43 Class-Data-Inheritable-0.10/doc/jp/Class-Data-Inheritable.pod
drwxr-xr-x ryan/staff        0 2024-10-24 03:47 Class-Data-Inheritable-0.10/lib/Class/
drwxr-xr-x ryan/staff        0 2024-10-24 03:47 Class-Data-Inheritable-0.10/lib/Class/Data/
-rw-r--r-- ryan/staff     4051 2024-10-24 03:33 Class-Data-Inheritable-0.10/lib/Class/Data/Inheritable.pm
-rw-r--r-- ryan/staff      129 2021-12-18 08:43 Class-Data-Inheritable-0.10/t/pod.t
-rw-r--r-- ryan/staff     1347 2021-12-18 08:43 Class-Data-Inheritable-0.10/t/Inheritable.t
-rw-r--r-- ryan/staff      161 2021-12-18 08:43 Class-Data-Inheritable-0.10/t/pod-coverage.t

Attachments (1)

main.log (15.7 KB) - added by ballapete (Peter "Pete" Dyballa) 19 months ago.
Main.log from High Sierra 10.13.6

Download all attachments as: .zip

Change History (17)

Changed 19 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from High Sierra 10.13.6

comment:1 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)

Another one:

--->  Computing dependencies for p5.34-module-pluggable.
--->  Fetching distfiles for p5.34-module-pluggable
--->  Module-Pluggable-6.2.tar.gz does not exist in /opt/local/var/macports/distfiles/perl5
--->  Attempting to fetch Module-Pluggable-6.2.tar.gz from https://www.cpan.org/modules/by-module/Module
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 28427  100 28427    0     0  1742k      0 --:--:-- --:--:-- --:--:-- 1850k
--->  Verifying checksums for p5.34-module-pluggable
--->  Checksumming Module-Pluggable-6.2.tar.gz
--->  Extracting p5.34-module-pluggable
--->  Extracting Module-Pluggable-6.2.tar.gz
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-module-pluggable/p5.34-module-pluggable/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/perl5/Module-Pluggable-6.2.tar.gz' | /usr/bin/tar -xf - 
tar: Ignoring malformed pax extended attribute
tar: Ignoring malformed pax extended attribute
tar: Ignoring malformed pax extended attribute
tar: Ignoring malformed pax extended attribute
tar: Ignoring malformed pax extended attribute
tar: Ignoring malformed pax extended attribute
tar: Ignoring malformed pax extended attribute
tar: Ignoring malformed pax extended attribute
tar: Error exit delayed from previous errors.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_perl_p5-module-pluggable/p5.34-module-pluggable/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/perl5/Module-Pluggable-6.2.tar.gz' | /usr/bin/tar -xf - 
Exit code: 1
Error: Failed to extract p5.34-module-pluggable: command execution failed

comment:2 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

See #68047, #67905. Contact the developers of the affected software to issue fixed tarballs.

comment:3 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)

root 418 /\  bsdtar --version
bsdtar 3.7.6 - libarchive 3.7.6 zlib/1.3.1 liblzma/5.4.7 bz2lib/1.0.8 liblz4/1.10.0 libzstd/1.5.6 

does not report any problems when working on these archives. Is there a way to substitute /usr/bin/tar with bsdtar?

comment:4 in reply to:  3 ; Changed 19 months ago by jmroot (Joshua Root)

Replying to ballapete:

Is there a way to substitute /usr/bin/tar with bsdtar?

depends_extract port:libarchive
extract.post_args-replace ${portutil::autoconf::tar_command} ${prefix}/bin/bsdtar

comment:5 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)

To be put into Portfile?

comment:6 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)

Yes but I'm not delighted about the prospect of putting that incantation into every affected port in a platform darwin 8 block. Granted, that kind of is what I suggested in comment:ticket:61276:11 but it would be nice if base could extract these distfiles properly since they're apparently common now. Josh pointed out elsewhere that Tcllib has a way to read/write tar files that might not be susceptible to this problem. Rewriting the extract phase to use Tcllib instead of gnu or bsd tar might be an option, and might be a step toward a fix for other issues like #50969 and #61276 — although in #61276 we did discover that the software producing the tarballs was faulty and that software has since been fixed. And if these distfiles you're encountering with malformed pax extended attributes are also faulty, then the ideal solution here would also be to fix the software that produced the files.

Last edited 19 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:7 in reply to:  6 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)

Replying to ryandesign:

platform darwin 8

I moved testing to darwin 17, macOS High Sierra, version 10.13.6. Here I encountered the two failures.

comment:8 in reply to:  4 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)

Replying to jmroot:

Replying to ballapete:

depends_extract port:libarchive
extract.post_args-replace ${portutil::autoconf::tar_command} ${prefix}/bin/bsdtar

Works!

comment:9 in reply to:  6 Changed 19 months ago by jmroot (Joshua Root)

Replying to ryandesign:

although in #61276 we did discover that the software producing the tarballs was faulty and that software has since been fixed.

Less "faulty" and more "only targeting unarchivers that correctly handle pax extended timestamps".

comment:10 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

Perl's Module-Find-0.16.tar.gz from p5-module-find has the same problem. Found on macOS High Sierra, Version 10.13.6.

ptar from installed Perl is another option that works. Even Apple's /usr/bin/ptar 5.18.2 does so.

comment:11 Changed 18 months ago by ballapete (Peter "Pete" Dyballa)

Still port 2.10.2.

comment:12 Changed 18 months ago by larryv (Lawrence Velázquez)

Cc: larryv added

comment:13 Changed 4 months ago by potmj (Michael Pot)

Cc: potmj added

comment:14 Changed 4 months ago by potmj (Michael Pot)

Also currently a problem with p5.30-unicode-utf8 on 10.11.6.

I guess "info:extract tar: Ignoring malformed pax extended attribute" is going to be an ongoing issue with no-arch ports, at least from time to time. This is my general onetime temporary work around that saves editing the portfile, when a problem is found (example):-

sudo port upgrade  p5.30-unicode-utf8  'extract.cmd=${prefix}/bin/bsdtar'

It might be the easiest temporary solution for the MacPorts end user while waiting for the upstream dist files to get fixed or individual portfiles are patched.

comment:15 in reply to:  14 Changed 2 months ago by potmj (Michael Pot)

Replying to potmj:

Also currently a problem with p5.30-unicode-utf8 on 10.11.6.

Something has changed recently for p5.30-unicode-utf8 (perhaps now gzip instead of bz2, or maybe a port base upgrade). The above example workaround no longer works. This command line example better targets the troublesome /usr/bin/tar invocation:-

sudo port install p5.30-unicode-utf8 +universal 'extract.post_args=| /opt/local/bin/bsdtar -xf -'

${prefix} seems not expanded in this case, so the path is hard coded.

comment:16 Changed 2 months ago by ballapete (Peter "Pete" Dyballa)

I have put the line

extract.post_args   "| ptar -x -v -f -"

into Portfile (and of some more Perl modules). Presumingly ptar (port provides which ptar >= /opt/local/bin/ptar is provided by: perl5) is often used to build the archive files since ptar is a natural part of Perl 5. So IMO it should be used to extract the software…

For my solution gzip or gunzip is still used to uncompress the archive file. This data stream is then 'piped' to ptar for extraction (and -verbosely listing the archive's contents).

Note: See TracTickets for help on using tickets.