GNU bug report logs - #19616
dist tarball contains hardlinks

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: automake; Reported by: Dimitrios Apostolou <jimis@HIDDEN>; dated Fri, 16 Jan 2015 15:44:02 UTC; Maintainer for automake is bug-automake@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 13 Mar 2015 15:46:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 13 11:46:05 2015
Received: from localhost ([127.0.0.1]:45297 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YWRmm-0000N0-T3
	for submit <at> debbugs.gnu.org; Fri, 13 Mar 2015 11:46:05 -0400
Received: from eggs.gnu.org ([208.118.235.92]:44676)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <jimis@HIDDEN>) id 1YWRml-0000ML-6r
 for submit <at> debbugs.gnu.org; Fri, 13 Mar 2015 11:46:03 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YWRma-0008Kz-DB
 for submit <at> debbugs.gnu.org; Fri, 13 Mar 2015 11:45:57 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: *
X-Spam-Status: No, score=1.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM,
 MALFORMED_FREEMAIL autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:48332)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YWRma-0008JM-B6
 for submit <at> debbugs.gnu.org; Fri, 13 Mar 2015 11:45:52 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:43835)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YWRb4-0000B8-5x
 for bug-automake@HIDDEN; Fri, 13 Mar 2015 11:34:01 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YWRb0-00047s-1r
 for bug-automake@HIDDEN; Fri, 13 Mar 2015 11:33:58 -0400
Received: from mout.gmx.net ([212.227.17.22]:62669)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>)
 id 1YWRar-00046S-Nz; Fri, 13 Mar 2015 11:33:45 -0400
Received: from [10.25.0.194] ([195.159.234.190]) by mail.gmx.com (mrgmx101)
 with ESMTPSA (Nemesis) id 0MEKZg-1Ylu4D44oi-00FWK9; Fri, 13 Mar 2015 16:33:42
 +0100
Date: Fri, 13 Mar 2015 16:33:37 +0100 (CET)
From: Dimitrios Apostolou <jimis@HIDDEN>
To: Pavel Raiskup <praiskup@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
In-Reply-To: <3621057.KQlWb23Qxz@HIDDEN>
Message-ID: <alpine.DEB.2.10.1503131626370.15940@localhost>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <10172624.OcZfR4429Z@HIDDEN>
 <alpine.DEB.2.10.1501261151290.3477@localhost>
 <3621057.KQlWb23Qxz@HIDDEN>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Provags-ID: V03:K0:x9qBec5gifW/DWPmjy0K9wtMDWYggWVXoptLWOmxhhK7mP4Lom7
 TtQM8Yv5sVzT2LUlP32+SAUcZFRYsW5EpugI7mynBVJEp1Iqs4zJHNESudkSAVKnDsTDPG3
 F3RbsmZGzk4kv5b9zpDu/h6RXbxZ+a0QuT7bBqcjWpQvHuRwSoab3KlleERKsCC5shgiWUr
 o6NQjk5KcqvcWFg/rBOFQ==
X-UI-Out-Filterresults: notjunk:1;
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -3.1 (---)
X-Debbugs-Envelope-To: submit
Cc: Joerg Schilling <Joerg.Schilling@HIDDEN>, eggert@HIDDEN,
 bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

On Tue, 27 Jan 2015, Pavel Raiskup wrote:
> On Monday 26 of January 2015 12:12:09 Dimitrios Apostolou wrote:
>> On Fri, 23 Jan 2015, Pavel Raiskup wrote:
>>
>>> On Friday 23 of January 2015 15:45:57 Dimitrios Apostolou wrote:
>>>> Thank you Joerg. If so then it is an issue that must be fixed in
>>>> automake, which is the reason I cross-posted to both projects, because I
>>>> am not sure which one should be changed!
>>>
>>> What solution you exactly propose?  Note that 'h' tar option is used for
>>
>> Maybe adding --hard-dereference? That's how I worked around the issue at
>> least.
>
> From the automake POV, this is not standardized option (could be used only
> for GNU tar if present though).

You are right. I /thought/ I had resolved the problem by exporting 
TAR_OPTIONS=--hard-dereference. Unfortunately the problem persists, "make 
dist" fails on RHEL4 for example because tar sees this unrecognized 
option.

>
>>> dist from Y1996 commit [1] and its removal is unlikely.  It is quite
>>> portable and it, as the "default", works for many packages.
>>
>> It has been there since 1996, so the legacy behaviour of tar has been
>> battle tested. However the new behaviour (hard links in place of
>> symlinks) is probably only tested for a couple of years,
>
> Truth.  The new behavior is in tar from 1.24.  However, if we fixed this
> in tar, GNU tar v1.24 to v1.28 still would not able to mimic the old
> behavior.

I believe my only choice at this point is to forbid "make dist" if tar is 
detected to be old (less than 1.29), and keep doing --hard-dereference. I 
open to new ideas though. :-)

>>
>> Using "tar-ustar" format for distribution you are supposed to raise some
>> of the limits of the "v7" tar format but retain portability. Indeed, the
>> length limit for regular files used to be 256 characters [2], and since
>> all symlinks were stored as files that was universal. Now that symlinks
>> are stored as hard links, the limit is 100 characters for those, thus
>> I've hit this problem.
>>
>> [2] http://www.gnu.org/software/tar/manual/html_section/tar_68.html
>
> Yes, thanks - I see now.  In ustar link name must fit into 100 characters
> and the file path can be theoretically max 256 (if it is splittable
> correctly into prefix/name).
>
> You seem to have *directory* in some distribution sensitive variable,
> like:
>
>  # Directory contains 'file' and 'link -> file'.
>  EXTRA_DIST = directory
>
> .. Because if you had:
>
>  EXTRA_DIST = directory/file directory/link
>
> then automake (via 'cp -p') would follow the link for you.  In case of
> directories (before the actual 'tar ch' happens) automake copies the
> directory recursively by 'cp -fpR' [2] into temporary directory.

I don't think this solution is worth the trouble in my case, since the 
directory included has a deep and complex structure (hence some files 
surpass 100 characters).


Thanks,
Dimitris


>
> Could we add '-L' option to this cp call (dist target is not supposed to
> be portable to everywhere and -L is POSIX)?  Obviously, the archive bloat
> is not something automake tries to avoid.
>
> Anyway, I don't feel the handling of symbolic-links this way is correct.
> Don't we wan't to use something like $LN_S [autoconf manual] in such
> cases?
>
> [1] https://lists.gnu.org/archive/html/bug-tar/2011-01/msg00000.html
> [2] http://git.savannah.gnu.org/cgit/automake.git/tree/lib/am/distdir.am?id=6357a630dc#n193
>
> Pavel
>
>




Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 28 Jan 2015 11:45:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 28 06:45:07 2015
Received: from localhost ([127.0.0.1]:58518 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YGR3S-0008UV-Hi
	for submit <at> debbugs.gnu.org; Wed, 28 Jan 2015 06:45:06 -0500
Received: from eggs.gnu.org ([208.118.235.92]:60261)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YGR3O-0008Tj-6K
 for submit <at> debbugs.gnu.org; Wed, 28 Jan 2015 06:45:03 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YGR3H-0006Nk-NG
 for submit <at> debbugs.gnu.org; Wed, 28 Jan 2015 06:44:56 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:32850)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YGR3H-0006Ng-Kr
 for submit <at> debbugs.gnu.org; Wed, 28 Jan 2015 06:44:55 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:33740)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YGR3G-0000RX-M1
 for bug-automake@HIDDEN; Wed, 28 Jan 2015 06:44:55 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YGR31-0006HI-Fx
 for bug-automake@HIDDEN; Wed, 28 Jan 2015 06:44:54 -0500
Received: from mx-relay31-dus.antispameurope.com ([94.100.134.231]:38328)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YGR31-0006Cn-7L
 for bug-automake@HIDDEN; Wed, 28 Jan 2015 06:44:39 -0500
Received: from smtpsrv1.fokus.fraunhofer.de ([195.37.77.166]) by
 mx-gate31-dus.antispameurope.com; Wed, 28 Jan 2015 12:44:33 +0100
Received: from FEYNMAN.fokus.fraunhofer.de ([IPv6:2001:638:806:9::202])
 by smtpsrv1.fokus.fraunhofer.de (8.14.4/8.14.4) with ESMTP id t0SBiS50005802
 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=OK);
 Wed, 28 Jan 2015 12:44:28 +0100
Received: from rigel (10.147.13.100) by FEYNMAN.fokus.fraunhofer.de
 (10.147.9.202) with Microsoft SMTP Server id 14.3.224.2; Wed, 28 Jan 2015
 12:44:22 +0100
Date: Wed, 28 Jan 2015 12:44:22 +0100
From: Joerg Schilling <Joerg.Schilling@HIDDEN>
To: <praiskup@HIDDEN>, <bug-tar@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
Message-ID: <54c8cb96.z1xiPDxC19dAsZpW%Joerg.Schilling@HIDDEN>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <10172624.OcZfR4429Z@HIDDEN>
 <alpine.DEB.2.10.1501261151290.3477@localhost>
 <3621057.KQlWb23Qxz@HIDDEN>
In-Reply-To: <3621057.KQlWb23Qxz@HIDDEN>
User-Agent: nail 11.22 3/20/05
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-KSE-Antivirus-Interceptor-Info: protection disabled
X-cloud-security-sender: joerg.schilling@HIDDEN
X-cloud-security-recipient: bug-automake@HIDDEN
X-cloud-security-Virusscan: CLEAN
X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on
 mx-gate31-dus with CB57C2018004
X-cloud-security-connect: smtpsrv1.fokus.fraunhofer.de[195.37.77.166], TLS=,
 IP=195.37.77.166
X-cloud-security: scantime:.1298
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
Cc: jimis@HIDDEN, eggert@HIDDEN, bug-automake@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

Pavel Raiskup <praiskup@HIDDEN> wrote:

> On Monday 26 of January 2015 12:12:09 Dimitrios Apostolou wrote:
> > On Fri, 23 Jan 2015, Pavel Raiskup wrote:
> >
> > > On Friday 23 of January 2015 15:45:57 Dimitrios Apostolou wrote:
> > >> Thank you Joerg. If so then it is an issue that must be fixed in
> > >> automake, which is the reason I cross-posted to both projects, because I
> > >> am not sure which one should be changed!
> > >
> > > What solution you exactly propose?  Note that 'h' tar option is used for
> >
> > Maybe adding --hard-dereference? That's how I worked around the issue at
> > least.
>
> From the automake POV, this is not standardized option (could be used only
> for GNU tar if present though).

BTW: the german translation of the help output for that gtar option is rubbish.

Jörg

-- 
 EMail:joerg@HIDDEN                    (home) Jörg Schilling D-13353 Berlin
       joerg.schilling@HIDDEN (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.org/private/ http://sourceforge.net/projects/schilytools/files/'




Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 27 Jan 2015 20:50:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 27 15:50:09 2015
Received: from localhost ([127.0.0.1]:58328 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YGD5M-0001oA-Mt
	for submit <at> debbugs.gnu.org; Tue, 27 Jan 2015 15:50:09 -0500
Received: from eggs.gnu.org ([208.118.235.92]:51664)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <praiskup@HIDDEN>) id 1YGD5K-0001nZ-45
 for submit <at> debbugs.gnu.org; Tue, 27 Jan 2015 15:50:06 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YGD5D-0008WR-OD
 for submit <at> debbugs.gnu.org; Tue, 27 Jan 2015 15:50:00 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:55949)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YGD5D-0008WG-KY
 for submit <at> debbugs.gnu.org; Tue, 27 Jan 2015 15:49:59 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:53358)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YGD5B-0007cB-QF
 for bug-automake@HIDDEN; Tue, 27 Jan 2015 15:49:59 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YGD5A-0008R9-BC
 for bug-automake@HIDDEN; Tue, 27 Jan 2015 15:49:57 -0500
Received: from mx1.redhat.com ([209.132.183.28]:46293)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>)
 id 1YGD55-0008Pk-LA; Tue, 27 Jan 2015 15:49:51 -0500
Received: from int-mx14.intmail.prod.int.phx2.redhat.com
 (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27])
 by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t0RKnfvI006467
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
 Tue, 27 Jan 2015 15:49:41 -0500
Received: from nb.usersys.redhat.com (ovpn-116-32.ams2.redhat.com
 [10.36.116.32])
 by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id
 t0RKncZ2000494
 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO);
 Tue, 27 Jan 2015 15:49:40 -0500
From: Pavel Raiskup <praiskup@HIDDEN>
To: bug-tar@HIDDEN
Subject: Re: [Bug-tar] dist tarball contains hardlinks
Date: Tue, 27 Jan 2015 21:49:37 +0100
Message-ID: <3621057.KQlWb23Qxz@HIDDEN>
User-Agent: KMail/4.14.3 (Linux/3.17.8-300.fc21.x86_64; KDE/4.14.3; x86_64; ; )
In-Reply-To: <alpine.DEB.2.10.1501261151290.3477@localhost>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <10172624.OcZfR4429Z@HIDDEN>
 <alpine.DEB.2.10.1501261151290.3477@localhost>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
Cc: Joerg Schilling <Joerg.Schilling@HIDDEN>,
 Dimitrios Apostolou <jimis@HIDDEN>, eggert@HIDDEN, bug-automake@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

On Monday 26 of January 2015 12:12:09 Dimitrios Apostolou wrote:
> On Fri, 23 Jan 2015, Pavel Raiskup wrote:
>
> > On Friday 23 of January 2015 15:45:57 Dimitrios Apostolou wrote:
> >> Thank you Joerg. If so then it is an issue that must be fixed in
> >> automake, which is the reason I cross-posted to both projects, because I
> >> am not sure which one should be changed!
> >
> > What solution you exactly propose?  Note that 'h' tar option is used for
>
> Maybe adding --hard-dereference? That's how I worked around the issue at
> least.

From the automake POV, this is not standardized option (could be used only
for GNU tar if present though).

> > dist from Y1996 commit [1] and its removal is unlikely.  It is quite
> > portable and it, as the "default", works for many packages.
>
> It has been there since 1996, so the legacy behaviour of tar has been
> battle tested. However the new behaviour (hard links in place of
> symlinks) is probably only tested for a couple of years,

Truth.  The new behavior is in tar from 1.24.  However, if we fixed this
in tar, GNU tar v1.24 to v1.28 still would not able to mimic the old
behavior.

> and I've seen complaints online.

There were posted some complaints here on the list, but these seem to be
not so serious to revert that behavior or add yet another option (like
mentioned in [1] thread).

> > What is not clear to me also is your motivation to change GNU tar to
> > behave differently, or to change something so old in automake.  IMO,
> > the
>
> Using "tar-ustar" format for distribution you are supposed to raise some
> of the limits of the "v7" tar format but retain portability. Indeed, the
> length limit for regular files used to be 256 characters [2], and since
> all symlinks were stored as files that was universal. Now that symlinks
> are stored as hard links, the limit is 100 characters for those, thus
> I've hit this problem.
>
> [2] http://www.gnu.org/software/tar/manual/html_section/tar_68.html

Yes, thanks - I see now.  In ustar link name must fit into 100 characters
and the file path can be theoretically max 256 (if it is splittable
correctly into prefix/name).

You seem to have *directory* in some distribution sensitive variable,
like:

  # Directory contains 'file' and 'link -> file'.
  EXTRA_DIST = directory

.. Because if you had:

  EXTRA_DIST = directory/file directory/link

then automake (via 'cp -p') would follow the link for you.  In case of
directories (before the actual 'tar ch' happens) automake copies the
directory recursively by 'cp -fpR' [2] into temporary directory.

Could we add '-L' option to this cp call (dist target is not supposed to
be portable to everywhere and -L is POSIX)?  Obviously, the archive bloat
is not something automake tries to avoid.

Anyway, I don't feel the handling of symbolic-links this way is correct.
Don't we wan't to use something like $LN_S [autoconf manual] in such
cases?

[1] https://lists.gnu.org/archive/html/bug-tar/2011-01/msg00000.html
[2] http://git.savannah.gnu.org/cgit/automake.git/tree/lib/am/distdir.am?id=6357a630dc#n193

Pavel





Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 26 Jan 2015 11:12:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 26 06:12:56 2015
Received: from localhost ([127.0.0.1]:56622 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YFhbD-0007Ef-Sj
	for submit <at> debbugs.gnu.org; Mon, 26 Jan 2015 06:12:56 -0500
Received: from eggs.gnu.org ([208.118.235.92]:41665)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <jimis@HIDDEN>) id 1YFhbB-0007EP-SS
 for submit <at> debbugs.gnu.org; Mon, 26 Jan 2015 06:12:54 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YFhb5-0001qS-F1
 for submit <at> debbugs.gnu.org; Mon, 26 Jan 2015 06:12:48 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: ***
X-Spam-Status: No, score=3.6 required=5.0 tests=BAYES_50,FREEMAIL_FROM,
 MALFORMED_FREEMAIL autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:44931)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YFhb5-0001qN-Ar
 for submit <at> debbugs.gnu.org; Mon, 26 Jan 2015 06:12:47 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:43310)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YFhb1-0004lQ-L5
 for bug-automake@HIDDEN; Mon, 26 Jan 2015 06:12:47 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YFhax-0001VT-7n
 for bug-automake@HIDDEN; Mon, 26 Jan 2015 06:12:43 -0500
Received: from mout.gmx.net ([212.227.15.19]:56125)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>)
 id 1YFhao-0001QB-Sc; Mon, 26 Jan 2015 06:12:31 -0500
Received: from [10.25.0.194] ([195.159.234.190]) by mail.gmx.com (mrgmx001)
 with ESMTPSA (Nemesis) id 0Lux3h-1XY9Sd3DJh-0106h1; Mon, 26 Jan 2015 12:12:18
 +0100
Date: Mon, 26 Jan 2015 12:12:09 +0100 (CET)
From: Dimitrios Apostolou <jimis@HIDDEN>
To: Pavel Raiskup <praiskup@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
In-Reply-To: <10172624.OcZfR4429Z@HIDDEN>
Message-ID: <alpine.DEB.2.10.1501261151290.3477@localhost>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54bcd080.iC/cGretfaF9A6nr%Joerg.Schilling@HIDDEN>
 <alpine.DEB.2.10.1501231544410.18053@localhost>
 <10172624.OcZfR4429Z@HIDDEN>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Provags-ID: V03:K0:lGdyivj/NPwmNA7rZEsfD29xpwEDYLWJhtRu7mr3fn1kp2qCXCY
 3ARLR4PH3c5woKQCZntYoCSohquy43npgB+lL7U8P3BJQkE1Jf8uHyjcGX3O3sU90Eebpgj
 AB/N6gax5o3y5PMexG7YnlP+7DIeu/HepBIXfRIe6B9A/S+uhtzsoFwGhiF4BG34GV80v6P
 X0g10kK5/D9ZJGzSiczZA==
X-UI-Out-Filterresults: notjunk:1;
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
Cc: Joerg Schilling <Joerg.Schilling@HIDDEN>, eggert@HIDDEN,
 bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

On Fri, 23 Jan 2015, Pavel Raiskup wrote:

> On Friday 23 of January 2015 15:45:57 Dimitrios Apostolou wrote:
>> Thank you Joerg. If so then it is an issue that must be fixed in
>> automake, which is the reason I cross-posted to both projects, because I
>> am not sure which one should be changed!
>
> What solution you exactly propose?  Note that 'h' tar option is used for

Maybe adding --hard-dereference? That's how I worked around the issue at 
least.

> dist from Y1996 commit [1] and its removal is unlikely.  It is quite
> portable and it, as the "default", works for many packages.

It has been there since 1996, so the legacy behaviour of tar has been 
battle tested. However the new behaviour (hard links in place of symlinks) 
is probably only tested for a couple of years, and I've seen complaints 
online.

> What is not clear to me also is your motivation to change GNU tar to
> behave differently, or to change something so old in automake.  IMO, the

Using "tar-ustar" format for distribution you are supposed to raise some 
of the limits of the "v7" tar format but retain portability. Indeed, the 
length limit for regular files used to be 256 characters [2], and since 
all symlinks were stored as files that was universal. Now that symlinks 
are stored as hard links, the limit is 100 characters for those, thus I've 
hit this problem.

[2] http://www.gnu.org/software/tar/manual/html_section/tar_68.html

> reason why you hit this issue is not the "hardlinking" change itself, but
> rather just small mistake of the maintainer who did not read STDERR tar's
> warnings while doing 'make dist'.  We could make those warnings more
> obvious..  is that what you want?

I see this as a separate issue, and my opinion is that automake should 
fail "make dist" when tar returns an error. I've filed a separate bug 
report for that [3].

[3] https://lists.gnu.org/archive/html/bug-automake/2015-01/msg00019.html


Dimitris

>
> [1] http://git.savannah.gnu.org/cgit/automake.git/commit/?id=7930983ab1c620
>
> Pavel
>
>




Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Jan 2015 18:39:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 23 13:39:58 2015
Received: from localhost ([127.0.0.1]:54570 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YEj9C-0008L8-GN
	for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 13:39:58 -0500
Received: from eggs.gnu.org ([208.118.235.92]:43481)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <praiskup@HIDDEN>) id 1YEj99-0008Kq-UI
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 13:39:56 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YEj93-00072D-JC
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 13:39:50 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:55580)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YEj93-000729-Fa
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 13:39:49 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:45185)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YEj92-0006Ov-9e
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 13:39:49 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YEj91-00071U-5q
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 13:39:48 -0500
Received: from mx1.redhat.com ([209.132.183.28]:63484)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>)
 id 1YEj8w-00070F-MT; Fri, 23 Jan 2015 13:39:42 -0500
Received: from int-mx13.intmail.prod.int.phx2.redhat.com
 (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26])
 by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t0NIdPNH018936
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
 Fri, 23 Jan 2015 13:39:26 -0500
Received: from nb.usersys.redhat.com (ovpn-116-49.ams2.redhat.com
 [10.36.116.49])
 by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id
 t0NIdNWD030574
 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO);
 Fri, 23 Jan 2015 13:39:25 -0500
From: Pavel Raiskup <praiskup@HIDDEN>
To: bug-tar@HIDDEN
Subject: Re: [Bug-tar] dist tarball contains hardlinks
Date: Fri, 23 Jan 2015 19:39:22 +0100
Message-ID: <10172624.OcZfR4429Z@HIDDEN>
User-Agent: KMail/4.14.3 (Linux/3.17.8-300.fc21.x86_64; KDE/4.14.3; x86_64; ; )
In-Reply-To: <alpine.DEB.2.10.1501231544410.18053@localhost>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54bcd080.iC/cGretfaF9A6nr%Joerg.Schilling@HIDDEN>
 <alpine.DEB.2.10.1501231544410.18053@localhost>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
Cc: Joerg Schilling <Joerg.Schilling@HIDDEN>,
 Dimitrios Apostolou <jimis@HIDDEN>, eggert@HIDDEN, bug-automake@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

On Friday 23 of January 2015 15:45:57 Dimitrios Apostolou wrote:
> Thank you Joerg. If so then it is an issue that must be fixed in
> automake, which is the reason I cross-posted to both projects, because I
> am not sure which one should be changed!

What solution you exactly propose?  Note that 'h' tar option is used for
dist from Y1996 commit [1] and its removal is unlikely.  It is quite
portable and it, as the "default", works for many packages.

What is not clear to me also is your motivation to change GNU tar to
behave differently, or to change something so old in automake.  IMO, the
reason why you hit this issue is not the "hardlinking" change itself, but
rather just small mistake of the maintainer who did not read STDERR tar's
warnings while doing 'make dist'.  We could make those warnings more
obvious..  is that what you want?

[1] http://git.savannah.gnu.org/cgit/automake.git/commit/?id=7930983ab1c620

Pavel





Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Jan 2015 16:20:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 23 11:20:12 2015
Received: from localhost ([127.0.0.1]:54502 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YEgxw-0004xL-84
	for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 11:20:12 -0500
Received: from eggs.gnu.org ([208.118.235.92]:37868)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eggert@HIDDEN>) id 1YEgxt-0004x8-Sx
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 11:20:10 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YEgxn-0004DJ-OI
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 11:20:04 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:39239)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YEgxn-0004D9-M4
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 11:20:03 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:39566)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YEgxm-0001N6-Ic
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 11:20:03 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YEgxh-000488-KS
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 11:20:02 -0500
Received: from smtp.cs.ucla.edu ([131.179.128.62]:40688)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>)
 id 1YEgxh-000480-FX; Fri, 23 Jan 2015 11:19:57 -0500
Received: from localhost (localhost.localdomain [127.0.0.1])
 by smtp.cs.ucla.edu (Postfix) with ESMTP id 61153A60007;
 Fri, 23 Jan 2015 08:19:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu
Received: from smtp.cs.ucla.edu ([127.0.0.1])
 by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id xvcNnpVgA6Tk; Fri, 23 Jan 2015 08:19:56 -0800 (PST)
Received: from [192.168.1.9] (pool-173-55-11-52.lsanca.fios.verizon.net
 [173.55.11.52])
 by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 2DD18A60001;
 Fri, 23 Jan 2015 08:19:56 -0800 (PST)
Message-ID: <54C274AB.4040704@HIDDEN>
Date: Fri, 23 Jan 2015 08:19:55 -0800
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
 rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Dimitrios Apostolou <jimis@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54B9CD48.8010708@HIDDEN>
 <alpine.LFD.2.11.1501180051340.7816@soupermouf>
 <54BBD989.4090703@HIDDEN>
 <alpine.DEB.2.10.1501231539520.18053@localhost>
In-Reply-To: <alpine.DEB.2.10.1501231539520.18053@localhost>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

Dimitrios Apostolou wrote:
> $ touch blah
> $ ln -s blah link_to_blah
> $ cp --dereference link_to_blah blah2
>
> The result is that "blah" and "blah2" have different inode!

Of course, and that's what one would expect, cp makes copies by default, and the 
copies have a different inode from the original.

I was referring to something like this:

touch blah
ln -s blah link_to_blah
mkdir dir
cp -a --dereference blah link_to_blah dir

This creates two hard links in dir, to the same new file.  ("-a" attempts to 
make "cp" act as much like "tar" as it can.)




Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Jan 2015 14:46:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 23 09:46:28 2015
Received: from localhost ([127.0.0.1]:53697 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YEfVD-0002Qx-4u
	for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:46:27 -0500
Received: from eggs.gnu.org ([208.118.235.92]:39764)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <jimis@HIDDEN>) id 1YEfVB-0002Ql-90
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:46:25 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfV5-000400-E7
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:46:20 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: **
X-Spam-Status: No, score=2.3 required=5.0 tests=BAYES_05,FREEMAIL_FROM,
 MALFORMED_FREEMAIL autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:38350)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfV5-0003zs-Bs
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:46:19 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:41466)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfV4-0005hI-Fx
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 09:46:19 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfV2-0003yx-Te
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 09:46:18 -0500
Received: from mout.gmx.net ([212.227.17.22]:59657)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>)
 id 1YEfUx-0003xY-8T; Fri, 23 Jan 2015 09:46:11 -0500
Received: from [10.25.0.194] ([195.159.234.190]) by mail.gmx.com (mrgmx102)
 with ESMTPSA (Nemesis) id 0MKKaI-1YFDBx1ikw-001ig8; Fri, 23 Jan 2015 15:45:59
 +0100
Date: Fri, 23 Jan 2015 15:45:57 +0100 (CET)
From: Dimitrios Apostolou <jimis@HIDDEN>
To: Joerg Schilling <Joerg.Schilling@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
In-Reply-To: <54bcd080.iC/cGretfaF9A6nr%Joerg.Schilling@HIDDEN>
Message-ID: <alpine.DEB.2.10.1501231544410.18053@localhost>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54B9CD48.8010708@HIDDEN>
 <alpine.LFD.2.11.1501180051340.7816@soupermouf>
 <54bcd080.iC/cGretfaF9A6nr%Joerg.Schilling@HIDDEN>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Provags-ID: V03:K0:xs+Re4mEt1N/P+2khQn55HRigDbxuYHmHvOvs/iGgc0+2Id3nI4
 PkPqdPJhlKJkcalAgGTxPpCCL4G/muHe3eS+FPd5dPL2pO8mPTBQNW+dfBMU90claQu8dhc
 klu6Mtk5phPcqwtiiT/fTtIlxF/Jj43LtBX5Xo0GMlvpSiSC7eH7H/obo1SiKGbXQwakQZC
 tK08SDk8dEJU+Qp1HLMZQ==
X-UI-Out-Filterresults: notjunk:1;
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
Cc: eggert@HIDDEN, bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

On Mon, 19 Jan 2015, Joerg Schilling wrote:
> Dimitrios Apostolou <jimis@HIDDEN> wrote:
>
>> On Fri, 16 Jan 2015, Paul Eggert wrote:
>>
>>> Dimitrios Apostolou wrote:
>>>>  Why is such behaviour desirable?
>>>
>>> It's more logical, since it causes tar to behave as if the symlink were not
>>> there, and the pointed-to file was there instead.
>>
>> But when the tarball is extracted, two files with same inode are created,
>> which is kind of unexpected behaviour - at least for me - after creating
>
> The problem is not the tarball itself but the fact that someone called
>
> 	tar ch ...
>
> This is not the right way to go for collecting files for a distribution.
>
> In former times, I distributed symlinks with my distro tarballs but now I
> include shell scripts that create the symlinks if needed and on platforms that
> do not support symlinks, these shell scripts automatically try to create
> hardlinks.
>
> Maybe you should contact the respobsible person for your distro tarball.

Thank you Joerg. If so then it is an issue that must be fixed in automake, 
which is the reason I cross-posted to both projects, because I am not sure 
which one should be changed!

Dimitris





Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Jan 2015 14:45:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 23 09:45:00 2015
Received: from localhost ([127.0.0.1]:53693 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YEfTn-0002O1-0D
	for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:44:59 -0500
Received: from eggs.gnu.org ([208.118.235.92]:39055)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <jimis@HIDDEN>) id 1YEfTk-0002No-AI
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:44:56 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfTe-0003Ga-Ar
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:44:51 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
 MALFORMED_FREEMAIL autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:46628)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfTe-0003GW-6o
 for submit <at> debbugs.gnu.org; Fri, 23 Jan 2015 09:44:50 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:40767)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfTd-0004DA-5P
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 09:44:50 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YEfTb-0003FW-WE
 for bug-automake@HIDDEN; Fri, 23 Jan 2015 09:44:49 -0500
Received: from mout.gmx.net ([212.227.15.18]:61576)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>)
 id 1YEfTW-0003BV-Jm; Fri, 23 Jan 2015 09:44:42 -0500
Received: from [10.25.0.194] ([195.159.234.190]) by mail.gmx.com (mrgmx002)
 with ESMTPSA (Nemesis) id 0MRWzQ-1Y81ci48gy-00Sdzb; Fri, 23 Jan 2015 15:44:29
 +0100
Date: Fri, 23 Jan 2015 15:44:26 +0100 (CET)
From: Dimitrios Apostolou <jimis@HIDDEN>
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
In-Reply-To: <54BBD989.4090703@HIDDEN>
Message-ID: <alpine.DEB.2.10.1501231539520.18053@localhost>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54B9CD48.8010708@HIDDEN>
 <alpine.LFD.2.11.1501180051340.7816@soupermouf>
 <54BBD989.4090703@HIDDEN>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Provags-ID: V03:K0:9DR7OtyUwdyxp9ffE+GvVcOsMt+NmL1Gf56yH5qmLslPKf4xoqS
 5ALkENbOBvMKPrD24n+SoVs8YHQo/Ps7iJeCpR5SjX8pB+j7qS+mg/fC4AeiZlsT30pV2ax
 mJ3vueZqL4otwtbmUSTW58buqAwNa0mRat7T0JT7iU+MrgVlWEQFt8N3d9oDd+fIqcShvvc
 MH51aoW5V7cDxLnGlKhhQ==
X-UI-Out-Filterresults: notjunk:1;
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

On Sun, 18 Jan 2015, Paul Eggert wrote:

> Dimitrios Apostolou wrote:
>> But when the tarball is extracted, two files with same inode are created, 
>> which
>> is kind of unexpected behaviour - at least for me
>
> Other utilities have similar behavior (e.g., ls, cp, du), in that they 
> pretend the symlink isn't there and behave as if the pointed-to inode is 
> there directly.  Tar's current behavior is compatible with these other 
> utilities, whereas its old behavior was incompatible.

Well out of the utilities you mentioned, only "cp" actually writes 
something, so it's related to the issue with tar. So I tried the behaviour 
of --dereference in cp:

$ touch blah
$ ln -s blah link_to_blah
$ cp --dereference link_to_blah blah2

The result is that "blah" and "blah2" have different inode! So 
--dereference causes the symlink to be dereferenced to a separate file, 
*not* to a hardlink of the source.

But in tar, --dereference causes a symlink to be dereferenced as a 
hardlink to the source file. So how is their behaviour consistent? BTW, my 
version of "cp" is:

$ cp --version
cp (GNU coreutils) 8.21


Thanks,
Dimitris





Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 21 Jan 2015 13:35:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 21 08:35:57 2015
Received: from localhost ([127.0.0.1]:51407 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YDvRt-0000bC-0L
	for submit <at> debbugs.gnu.org; Wed, 21 Jan 2015 08:35:57 -0500
Received: from eggs.gnu.org ([208.118.235.92]:46219)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <praiskup@HIDDEN>) id 1YDvRq-0000b0-O8
 for submit <at> debbugs.gnu.org; Wed, 21 Jan 2015 08:35:55 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YDvRk-000453-HR
 for submit <at> debbugs.gnu.org; Wed, 21 Jan 2015 08:35:49 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:41562)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YDvRk-00044z-EB
 for submit <at> debbugs.gnu.org; Wed, 21 Jan 2015 08:35:48 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:47932)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YDvRg-0007g7-Uc
 for bug-automake@HIDDEN; Wed, 21 Jan 2015 08:35:48 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>) id 1YDvRc-00043F-K3
 for bug-automake@HIDDEN; Wed, 21 Jan 2015 08:35:44 -0500
Received: from mx1.redhat.com ([209.132.183.28]:56574)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <praiskup@HIDDEN>)
 id 1YDvRW-0003ys-Ji; Wed, 21 Jan 2015 08:35:34 -0500
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
 (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23])
 by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t0LDZS41002641
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL);
 Wed, 21 Jan 2015 08:35:28 -0500
Received: from nb.usersys.redhat.com (unused-4-118.brq.redhat.com
 [10.34.4.118])
 by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id
 t0LDZQNT032311
 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO);
 Wed, 21 Jan 2015 08:35:28 -0500
From: Pavel Raiskup <praiskup@HIDDEN>
To: bug-tar@HIDDEN
Subject: Re: [Bug-tar] dist tarball contains hardlinks
Date: Wed, 21 Jan 2015 14:35:26 +0100
Message-ID: <6619757.ZQNkAA2B57@HIDDEN>
User-Agent: KMail/4.14.3 (Linux/3.17.8-300.fc21.x86_64; KDE/4.14.3; x86_64; ; )
In-Reply-To: <alpine.DEB.2.10.1501161641250.5189@localhost>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
Cc: Dimitrios Apostolou <jimis@HIDDEN>, bug-automake@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

On Friday 16 of January 2015 16:43:20 Dimitrios Apostolou wrote:
> (Cross posting to both bug-automake and bug-tar as I can see both projects
> being affected.)
> (Please keep me CC'd as I'm not subscribed.)
>
> Hello,
>
> this bug report is because of the following messages when extracting a
> source tarball generated with "make dist". You can read the full bug
> report at https://dev.cfengine.com/issues/6925.
>
> # tar -xzf core/cfengine-3.7.0a1.5ffcc54.tar.gz
> tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_modify_user_with_same_password.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_modify_user_with_same_password_hpux_tru': No such file or directory
> [...]
>
> Regading automake, it implements "make dist" using "tar -chf" where -h
> stands for --dereference, i.e. it dereferences all symlinks. I believe
> I've read that it is for portability, because symlinks are handled in a
> variety of manners in different tar implementations. However as seen
> above, what actually happens is that GNU tar stores the symlinks as
> hardlinks. Because the total path length of the hardlinks is more than 100
> characters, they get truncated due to "ustar" format limitations (ustar
> format is chosen using the "tar-ustar" automake option).

When using automake, try to use:

  AM_INIT_AUTOMAKE([filename-length-max=99])

That breaks 'make dist' as you would expect.  Maybe this could be done by
default for certain archive formats (or make dist could be silenced a
little to see tar's warnings).

> Please notice that removing "-h" fixes the problem. Symlinks are stored
> properly as their length is much smaller than 100 chars (because they are
> relative symlinks).

Not much - when 'tar chf -' (and in your example) the symlinks are
probably just (with a bit of luck) a bit smaller than not archived files.

> Another workaround (the one I chose to use) is to pass the
> --hard-dereference to GNU tar in order to store the content of the files
> itself, avoiding all kind of links, and maintaining best portability. So
> I've added the following lines in my Makefile.am:

Also, when fighting with 'tar chf -', you may AC_SUBST([am__tar]) to whatever
you want.  This would replace what is automatically detected by m4/tar.m4.

Pavel





Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 19 Jan 2015 09:38:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 19 04:38:47 2015
Received: from localhost ([127.0.0.1]:60987 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YD8nH-0005E6-8F
	for submit <at> debbugs.gnu.org; Mon, 19 Jan 2015 04:38:47 -0500
Received: from eggs.gnu.org ([208.118.235.92]:50545)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YD8nA-0005De-6Z
 for submit <at> debbugs.gnu.org; Mon, 19 Jan 2015 04:38:41 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YD8n0-0007fF-Uu
 for submit <at> debbugs.gnu.org; Mon, 19 Jan 2015 04:38:34 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:43746)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YD8n0-0007f9-Qs
 for submit <at> debbugs.gnu.org; Mon, 19 Jan 2015 04:38:30 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:52252)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YD8mv-0001rD-83
 for bug-automake@HIDDEN; Mon, 19 Jan 2015 04:38:30 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YD8mr-0007X4-43
 for bug-automake@HIDDEN; Mon, 19 Jan 2015 04:38:25 -0500
Received: from mx-relay39-dus.antispameurope.com ([94.100.134.239]:35642)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <joerg.schilling@HIDDEN>)
 id 1YD8mq-0007NM-Ri
 for bug-automake@HIDDEN; Mon, 19 Jan 2015 04:38:21 -0500
Received: from smtpsrv1.fokus.fraunhofer.de ([195.37.77.166]) by
 mx-gate39-dus.antispameurope.com; Mon, 19 Jan 2015 10:38:12 +0100
Received: from DIRAC.fokus.fraunhofer.de ([IPv6:2001:638:806:9::201])
 by smtpsrv1.fokus.fraunhofer.de (8.14.4/8.14.4) with ESMTP id t0J9c9Pc008562
 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=OK);
 Mon, 19 Jan 2015 10:38:09 +0100
Received: from rigel (10.147.13.100) by DIRAC.fokus.fraunhofer.de
 (10.147.9.201) with Microsoft SMTP Server id 14.3.224.2; Mon, 19 Jan 2015
 10:38:07 +0100
Date: Mon, 19 Jan 2015 10:38:08 +0100
From: Joerg Schilling <Joerg.Schilling@HIDDEN>
To: <jimis@HIDDEN>, <eggert@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
Message-ID: <54bcd080.iC/cGretfaF9A6nr%Joerg.Schilling@HIDDEN>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54B9CD48.8010708@HIDDEN>
 <alpine.LFD.2.11.1501180051340.7816@soupermouf>
In-Reply-To: <alpine.LFD.2.11.1501180051340.7816@soupermouf>
User-Agent: nail 11.22 3/20/05
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-KSE-Antivirus-Interceptor-Info: protection disabled
X-cloud-security-sender: joerg.schilling@HIDDEN
X-cloud-security-recipient: bug-automake@HIDDEN
X-cloud-security-Virusscan: CLEAN
X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on
 mx-gate39-dus with B5B2D2018010
X-cloud-security-connect: smtpsrv1.fokus.fraunhofer.de[195.37.77.166], TLS=,
 IP=195.37.77.166
X-cloud-security: scantime:.2649
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

Dimitrios Apostolou <jimis@HIDDEN> wrote:

> On Fri, 16 Jan 2015, Paul Eggert wrote:
>
> > Dimitrios Apostolou wrote:
> >>  Why is such behaviour desirable?
> >
> > It's more logical, since it causes tar to behave as if the symlink were not 
> > there, and the pointed-to file was there instead.
>
> But when the tarball is extracted, two files with same inode are created, 
> which is kind of unexpected behaviour - at least for me - after creating 

The problem is not the tarball itself but the fact that someone called

	tar ch ...

This is not the right way to go for collecting files for a distribution.

In former times, I distributed symlinks with my distro tarballs but now I 
include shell scripts that create the symlinks if needed and on platforms that 
do not support symlinks, these shell scripts automatically try to create 
hardlinks.

Maybe you should contact the respobsible person for your distro tarball.

Jörg

-- 
 EMail:joerg@HIDDEN                    (home) Jörg Schilling D-13353 Berlin
       joerg.schilling@HIDDEN (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.org/private/ http://sourceforge.net/projects/schilytools/files/'




Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 Jan 2015 16:04:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 18 11:04:58 2015
Received: from localhost ([127.0.0.1]:60709 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YCsLS-0003Gf-BT
	for submit <at> debbugs.gnu.org; Sun, 18 Jan 2015 11:04:58 -0500
Received: from eggs.gnu.org ([208.118.235.92]:59071)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eggert@HIDDEN>) id 1YCsLO-0003GO-OB
 for submit <at> debbugs.gnu.org; Sun, 18 Jan 2015 11:04:55 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCsLE-0007EJ-BL
 for submit <at> debbugs.gnu.org; Sun, 18 Jan 2015 11:04:49 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:55890)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCsLE-0007ED-8k
 for submit <at> debbugs.gnu.org; Sun, 18 Jan 2015 11:04:44 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:60776)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCsLD-0005H3-Av
 for bug-automake@HIDDEN; Sun, 18 Jan 2015 11:04:44 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCsL9-0007DC-53
 for bug-automake@HIDDEN; Sun, 18 Jan 2015 11:04:43 -0500
Received: from smtp.cs.ucla.edu ([131.179.128.62]:41184)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>)
 id 1YCsL8-0007B9-Vi; Sun, 18 Jan 2015 11:04:39 -0500
Received: from localhost (localhost.localdomain [127.0.0.1])
 by smtp.cs.ucla.edu (Postfix) with ESMTP id 97B6BA60013;
 Sun, 18 Jan 2015 08:04:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu
Received: from smtp.cs.ucla.edu ([127.0.0.1])
 by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id FUP8ajVAuqhW; Sun, 18 Jan 2015 08:04:29 -0800 (PST)
Received: from [192.168.1.9] (pool-173-55-11-52.lsanca.fios.verizon.net
 [173.55.11.52])
 by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 9FFA939E8013;
 Sun, 18 Jan 2015 08:04:29 -0800 (PST)
Message-ID: <54BBD989.4090703@HIDDEN>
Date: Sun, 18 Jan 2015 08:04:25 -0800
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
 rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Dimitrios Apostolou <jimis@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54B9CD48.8010708@HIDDEN>
 <alpine.LFD.2.11.1501180051340.7816@soupermouf>
In-Reply-To: <alpine.LFD.2.11.1501180051340.7816@soupermouf>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

Dimitrios Apostolou wrote:
> But when the tarball is extracted, two files with same inode are created, which
> is kind of unexpected behaviour - at least for me

Other utilities have similar behavior (e.g., ls, cp, du), in that they pretend 
the symlink isn't there and behave as if the pointed-to inode is there directly. 
  Tar's current behavior is compatible with these other utilities, whereas its 
old behavior was incompatible.




Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 Jan 2015 00:11:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 17 19:11:02 2015
Received: from localhost ([127.0.0.1]:60411 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YCdSH-00010r-Tj
	for submit <at> debbugs.gnu.org; Sat, 17 Jan 2015 19:11:02 -0500
Received: from eggs.gnu.org ([208.118.235.92]:57343)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <jimis@HIDDEN>) id 1YCdSF-00010K-0l
 for submit <at> debbugs.gnu.org; Sat, 17 Jan 2015 19:10:59 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YCdRz-0001hv-TF
 for submit <at> debbugs.gnu.org; Sat, 17 Jan 2015 19:10:53 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_20,FREEMAIL_FROM
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:58289)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YCdRz-0001hr-Pn
 for submit <at> debbugs.gnu.org; Sat, 17 Jan 2015 19:10:43 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:59054)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YCdRv-0007mk-2Y
 for bug-automake@HIDDEN; Sat, 17 Jan 2015 19:10:43 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YCdRq-0001eV-9r
 for bug-automake@HIDDEN; Sat, 17 Jan 2015 19:10:38 -0500
Received: from mout.gmx.net ([212.227.17.22]:53349)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>)
 id 1YCdRp-0001dz-VD; Sat, 17 Jan 2015 19:10:34 -0500
Received: from soupermouf ([84.209.109.55]) by mail.gmx.com (mrgmx101) with
 ESMTPSA (Nemesis) id 0MLB89-1YCuQc0lLl-000JUf; Sun, 18 Jan 2015 01:10:27
 +0100
Date: Sun, 18 Jan 2015 01:10:14 +0100 (CET)
From: Dimitrios Apostolou <jimis@HIDDEN>
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: [Bug-tar] dist tarball contains hardlinks
In-Reply-To: <54B9CD48.8010708@HIDDEN>
Message-ID: <alpine.LFD.2.11.1501180051340.7816@soupermouf>
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
 <54B9CD48.8010708@HIDDEN>
User-Agent: Alpine 2.11 (LFD 23 2013-08-11)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Provags-ID: V03:K0:UDjt3MLXf88ap0xI0JwWtIfF07UBoVY3Y1ICP8S46wixLfznJIN
 FGvt8rXAtpHGCBZqYkNpfxpt1BI8D2VUJHbA1T5I0+1n0x/AqhOCVmg7Gzi4ax+NE7Q+4hB
 wLHzIw2cTRnp14KUK12L+JfKpYEwg0OYnCHPXtBvIlyfCo5jECu89q1ZMIJlTf/qDBthfeQ
 hrxkocwdGLtklggKihRQg==
X-UI-Out-Filterresults: notjunk:1;
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
Cc: bug-automake@HIDDEN, bug-tar@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

On Fri, 16 Jan 2015, Paul Eggert wrote:

> Dimitrios Apostolou wrote:
>>  Why is such behaviour desirable?
>
> It's more logical, since it causes tar to behave as if the symlink were not 
> there, and the pointed-to file was there instead.

But when the tarball is extracted, two files with same inode are created, 
which is kind of unexpected behaviour - at least for me - after creating 
the tarball with --dereference, i.e. I've explicitly asked to follow 
symlinks. And it beats the purpose some users have been using 
--dereference - to avoid storing links which have more restrictions (e.g. 
100 char limit).

> Using -hard-dereference bloats the tar image, but if that's a price you're 
> willing to pay then you have a solution to the problem.

Indeed that's what I chose as workaround, compression deals well with 
duplicated information so size bloating was minimal.


Thanks,
Dimitris





Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 17 Jan 2015 02:48:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 16 21:48:04 2015
Received: from localhost ([127.0.0.1]:59597 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YCJQi-0008Of-GB
	for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 21:48:04 -0500
Received: from eggs.gnu.org ([208.118.235.92]:56455)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eggert@HIDDEN>) id 1YCJQf-0008OA-Nq
 for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 21:48:02 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCJQV-0004D5-CG
 for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 21:47:56 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:37185)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCJQV-0004Cz-8j
 for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 21:47:51 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:58164)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCJQU-0005eN-EA
 for bug-automake@HIDDEN; Fri, 16 Jan 2015 21:47:51 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1YCJQR-0004C1-8r
 for bug-automake@HIDDEN; Fri, 16 Jan 2015 21:47:50 -0500
Received: from smtp.cs.ucla.edu ([131.179.128.62]:53940)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>)
 id 1YCJQR-0004AD-3y; Fri, 16 Jan 2015 21:47:47 -0500
Received: from localhost (localhost.localdomain [127.0.0.1])
 by smtp.cs.ucla.edu (Postfix) with ESMTP id 9EE40A60058;
 Fri, 16 Jan 2015 18:47:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu
Received: from smtp.cs.ucla.edu ([127.0.0.1])
 by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id sG+2BUsnsx4Z; Fri, 16 Jan 2015 18:47:36 -0800 (PST)
Received: from [192.168.1.9] (pool-173-55-11-52.lsanca.fios.verizon.net
 [173.55.11.52])
 by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 67339A60053;
 Fri, 16 Jan 2015 18:47:36 -0800 (PST)
Message-ID: <54B9CD48.8010708@HIDDEN>
Date: Fri, 16 Jan 2015 18:47:36 -0800
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
 rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Dimitrios Apostolou <jimis@HIDDEN>, bug-automake@HIDDEN, bug-tar@HIDDEN
Subject: Re: [Bug-tar] dist tarball contains hardlinks
References: <alpine.DEB.2.10.1501161641250.5189@localhost>
In-Reply-To: <alpine.DEB.2.10.1501161641250.5189@localhost>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)

Dimitrios Apostolou wrote:
> Why is such behaviour desirable?

It's more logical, since it causes tar to behave as if the symlink were not 
there, and the pointed-to file was there instead.

Using -hard-dereference bloats the tar image, but if that's a price you're 
willing to pay then you have a solution to the problem.




Information forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 16 Jan 2015 15:43:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 16 10:43:42 2015
Received: from localhost ([127.0.0.1]:59471 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1YC93l-0007Gs-N1
	for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 10:43:42 -0500
Received: from eggs.gnu.org ([208.118.235.92]:49433)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <jimis@HIDDEN>) id 1YC93h-0007GZ-It
 for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 10:43:38 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YC93a-00036H-VV
 for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 10:43:32 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:57836)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YC93a-00036B-SF
 for submit <at> debbugs.gnu.org; Fri, 16 Jan 2015 10:43:30 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:51129)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YC93Z-0002P2-4e
 for bug-automake@HIDDEN; Fri, 16 Jan 2015 10:43:30 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <jimis@HIDDEN>) id 1YC93V-0002yP-4M
 for bug-automake@HIDDEN; Fri, 16 Jan 2015 10:43:29 -0500
Received: from mout.gmx.net ([212.227.15.18]:52103)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <jimis@HIDDEN>)
 id 1YC93U-0002y4-SD; Fri, 16 Jan 2015 10:43:25 -0500
Received: from [10.25.0.194] ([195.159.234.190]) by mail.gmx.com (mrgmx003)
 with ESMTPSA (Nemesis) id 0McVns-1YToSo3iRU-00HeR2; Fri, 16 Jan 2015 16:43:23
 +0100
Date: Fri, 16 Jan 2015 16:43:20 +0100 (CET)
From: Dimitrios Apostolou <jimis@HIDDEN>
To: bug-automake@HIDDEN, bug-tar@HIDDEN
Subject: dist tarball contains hardlinks
Message-ID: <alpine.DEB.2.10.1501161641250.5189@localhost>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII
X-Provags-ID: V03:K0:RHTJbfQjmW/lTEzr9qhif9pCx1JmCZxSPjx+yGx5SPKqpSFL2E4
 eS0+9Ai6WaNH8XFzEu7mdIO3VmpFBxnSrljC1d2GVBHONZvS2kJcY0FC71QbDVp/e7T8cBi
 7Gz64bFpDNbgEC8HlexONE3pIRtRMzAOgu2l079OrWxTgYgN/wSOd6veYRUtUdOLIPUGAzS
 I82zxocFH0U8J9FsYGABA==
X-UI-Out-Filterresults: notjunk:1;
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

(Cross posting to both bug-automake and bug-tar as I can see both projects 
being affected.)
(Please keep me CC'd as I'm not subscribed.)

Hello,

this bug report is because of the following messages when extracting a 
source tarball generated with "make dist". You can read the full bug 
report at https://dev.cfengine.com/issues/6925.

# tar -xzf core/cfengine-3.7.0a1.5ffcc54.tar.gz
tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_modify_user_with_same_password.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_modify_user_with_same_password_hpux_tru': No such file or directory
tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_modify_user_with_many_attributes_warn.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_modify_user_with_many_attributes_warn_h': No such file or directory
tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_add_user_with_many_attributes_warn.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_add_user_with_many_attributes_warn_hpux': No such file or directory
tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_modify_user_lock_with_password.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_modify_user_lock_with_password_hpux_tru': No such file or directory
tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_newly_created_account_should_not_count_as_locked_hpux_trusted.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_newly_created_account_should_not_count_': No such file or directory
tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_modify_user_unlock_with_password.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_modify_user_unlock_with_password_hpux_t': No such file or directory
tar: cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/10_add_user_with_hashed_password.cf: Cannot hard link to `cfengine-3.7.0a1.5ffcc54/tests/acceptance/17_users/unsafe/20_add_user_with_hashed_password_hpux_trus': No such file or directory
tar: Error exit delayed from previous errors


Regading automake, it implements "make dist" using "tar -chf" where -h 
stands for --dereference, i.e. it dereferences all symlinks. I believe 
I've read that it is for portability, because symlinks are handled in a 
variety of manners in different tar implementations. However as seen 
above, what actually happens is that GNU tar stores the symlinks as 
hardlinks. Because the total path length of the hardlinks is more than 100 
characters, they get truncated due to "ustar" format limitations (ustar 
format is chosen using the "tar-ustar" automake option).

Please notice that removing "-h" fixes the problem. Symlinks are stored 
properly as their length is much smaller than 100 chars (because they are 
relative symlinks). Another workaround (the one I chose to use) is to pass 
the --hard-dereference to GNU tar in order to store the content of the 
files itself, avoiding all kind of links, and maintaining best 
portability. So I've added the following lines in my Makefile.am:

TAR_OPTIONS = --hard-dereference
export TAR_OPTIONS


Regarding GNU tar, I've read at [1] and [2] that this behaviour was 
introduced recently, but is the intended behaviour.

[1] https://bugs.launchpad.net/ubuntu/+source/tar/+bug/887107
[2] http://lists.gnu.org/archive/html/bug-tar/2011-11/msg00025.html

My opinion is that it's really deceiving, given what the man page 
mentions: "follow symlinks; archive and dump the files they point to". It 
took me a while to figure out what those "hard link" messages mean, 
looking if I introduced hard links by accident. And since the hard links 
have no direction, some messages show the linking direction reversed, 
which made the issue even stranger.

Why is such behaviour desirable? Are the reasons important enough to break 
expectations of users?


Thank you in advance,
Dimitris





Acknowledgement sent to Dimitrios Apostolou <jimis@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-automake@HIDDEN. Full text available.
Report forwarded to bug-automake@HIDDEN:
bug#19616; Package automake. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 13 Mar 2015 16:00:04 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.