Project

General

Profile

Backport #18312

'make dist' fails because tar uses `--format=ustar`

Added by Alfredo Deza about 7 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
Release:
jewel
Crash signature (v1):
Crash signature (v2):

Description

Build output:

tardir=ceph-10.2.5 && tar --format=ustar -chf - "$tardir" | BZIP2=${BZIP2--9} bzip2 -c >ceph-10.2.5.tar.bz2
tar: ceph-10.2.5/src/test/debian-jessie/debian: File removed before we read it
tar: ceph-10.2.5/src/test/ubuntu-14.04/debian: File removed before we read it
tar: ceph-10.2.5/src/test/ubuntu-12.04/debian: File removed before we read it
tar: ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml: link name is too long; not dumped
tar: ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=2-m=1.yaml: link name is too long; not dumped
tar: ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml: link name is too long; not dumped
tar: ceph-10.2.5/qa/suites/upgrade/hammer-x/stress-split-erasure-code-x86_64/9-workload/ec-rados-plugin=isa-k=2-m=1.yaml: link name is too long; not dumped
tar: ceph-10.2.5/qa/suites/upgrade/hammer-x/stress-split-erasure-code-x86_64/9-workload/ec-rados-plugin=isa-k=2-m=1.yaml: link name is too long; not dumped
tar: ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=2-m=1.yaml: link name is too long; not dumped
tar: ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml: link name is too long; not dumped
tar: Exiting with failure status due to previous errors
if test -d "ceph-10.2.5"; then find "ceph-10.2.5" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "ceph-10.2.5" || { sleep 5 && rm -rf "ceph-10.2.5"; }; else :; fi
++ ls ceph-10.2.5.tar.gz
++ cut -c 6-
++ sed s/.tar.gz//
+ vers=10.2.5
+ extension=tar.gz
+ extract_flags=zxf
+ compress_flags=zcf
+ echo tarball vers 10.2.5
tarball vers 10.2.5
+ echo extracting
extracting
+ mkdir -p release/10.2.5-5526-g8a213ac/rpm
+ cp 'rpm/*.patch' release/10.2.5-5526-g8a213ac/rpm
cp: cannot stat 'rpm/*.patch': No such file or directory
+ true
+ cd release/10.2.5-5526-g8a213ac
+ tar zxf /home/jenkins-build/build/workspace/ceph-dev-new-setup/ceph-10.2.5.tar.gz
tar: ceph-10.2.5/qa/suites/upgrade/hammer-x/stress-split-erasure-code/9-workload/ec-rados-plugin=jerasure-k=3-m=1.yaml: Cannot hard link to 'ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=': No such file or directory
tar: ceph-10.2.5/qa/suites/rados/thrash-erasure-code/workloads/ec-rados-plugin=jerasure-k=2-m=1.yaml: Cannot hard link to 'ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=': No such file or directory
tar: ceph-10.2.5/qa/suites/rados/thrash-erasure-code/workloads/ec-rados-plugin=jerasure-k=3-m=1.yaml: Cannot hard link to 'ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=': No such file or directory
tar: ceph-10.2.5/qa/suites/rados/thrash-erasure-code-isa/workloads/ec-rados-plugin=isa-k=2-m=1.yaml: Cannot hard link to 'ceph-10.2.5/qa/suites/upgrade/hammer-x/stress-split-erasure-code-x86_64/9-workload/ec-rados-plugin=i': No such file or directory
tar: ceph-10.2.5/qa/erasure-code/ec-rados-plugin=isa-k=2-m=1.yaml: Cannot hard link to 'ceph-10.2.5/qa/suites/upgrade/hammer-x/stress-split-erasure-code-x86_64/9-workload/ec-rados-plugin=i': No such file or directory
tar: ceph-10.2.5/qa/erasure-code/ec-rados-plugin=jerasure-k=2-m=1.yaml: Cannot hard link to 'ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=': No such file or directory
tar: ceph-10.2.5/qa/erasure-code/ec-rados-plugin=jerasure-k=3-m=1.yaml: Cannot hard link to 'ceph-10.2.5/qa/suites/upgrade/firefly-hammer-x/parallel/7-final-workload/ec-rados-plugin=jerasure-k=': No such file or directory
tar: Exiting with failure status due to previous errors
Build step 'Execute shell' marked build as failure

This is a limitation on `ustar` on path length which is 100 characters. Now that the qa suite has been merged into Ceph, I think this is causing these long paths to be issues with the tar flag.

The `--format=posix` option could probably help here, but I am unsure where/what to change to make that happen or what the side effect would be (if any).

0001-automake-convert-to-tar-pax.patch View - patch -- use "pax" format for tar instead of ustar (976 Bytes) Jeff Layton, 12/20/2016 04:55 PM

History

#1 Updated by Jeff Layton about 7 years ago

It looks like this is part of automake. Can we try this patch to jewel?

I just repushed my current test branch that had the failing builds. We can see if it helps there,

#3 Updated by Jeff Layton about 7 years ago

  • Assignee set to Jeff Layton

#4 Updated by Jeff Layton about 7 years ago

Ok, so I think this patch will work around the problem, but I have to wonder...

I have two different branches up right now. The one that failed is wip-18307-jewel. wip-18308-jewel, built just fine however. They are both based on the same jewel tip commit, and have just small C++ changes that differ between them.

I suspect that we may have different versions of autotools on different builders. Should we worry about trying to hunt down the root cause here, or just change the tarball format and move on?

#5 Updated by Nathan Cutler about 7 years ago

  • Tracker changed from Bug to Backport
  • Status changed from New to Resolved
  • Release set to jewel

#6 Updated by Loïc Dachary about 7 years ago

  • Target version set to v10.2.6

Also available in: Atom PDF