You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Reser <be...@reser.org> on 2004/03/10 05:10:53 UTC

[PATCH] Produce POSIX.1 compliant tarballs.

On Mon, Mar 08, 2004 at 04:47:22PM -0800, Ben Reser wrote:
> * Stop using GNU tar for creating the tar archives and start using GNU
> cpio.  GNU cpio supports creating tar formats in the ustar format (i.e.
> POSIX.1 format).  This gives a maximum filename of 255 characters.
> Which is more than twice as long as what we are using.  Does not require
> changes to anything other than dist.sh.  The following command can
> replace our usage of tar and produce a POSIX.1 compatable tar file:
> find subversion-1.0.0 -print | cpio -H ustar -o  > subversion-1.0.0.tar
> 
> I recommend using GNU cpio.  I've tested the output with Solaris and GNU
> tar and it works perfectly.  If everyone is okay with this I'll post a
> patch to effect this change.

As promised here is the patch.  I've tested this.  It produces tarballs
that work on Solaris 7.

[[[
Fix dist.sh to produce tarballs that can be read on platforms without
GNU tar.

Patch by Ben Reser <be...@reser.org>

* dist.sh
  Use cpio instead of tar to produce the tarballs.
]]]


-- 
Ben Reser <be...@reser.org>
http://ben.reser.org

"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by "Jostein Chr. Andersen" <jo...@josander.net>.
On Wednesday 10 March 2004 21.06, Justin Erenkrantz wrote:
...
> +1 for using for 1.0.1 *if* Jostein/Karl/RM-of-day agrees.  -- justin

+1

I'm finally at home again (downloaded more that 3200 emails (17 MB+) on 
my V90 modem, included spam :-( so I have a lot to emails to read.

Please forgive me if I respond in a non linear way this day(s)..

Jostein

-- 
http://www.josander.net/kontakt/ ||
http://www.josander.net/en/contact/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Ben Reser <be...@reser.org>.
On Thu, Mar 11, 2004 at 03:33:34AM +0100, Benjamin Pflugmann wrote:
> PS: I could test more Mandrake platforms when I come home, but since
>     you, Ben, have access to more Mandrake platforms than I do and I
>     already cross-checked for one of them, I won't bother except if I
>     am asked to.

Yeah I was more concerned about platforms without GNU tar.

-- 
Ben Reser <be...@reser.org>
http://ben.reser.org

"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Ben Reser <be...@reser.org>.
On Wed, Mar 10, 2004 at 09:44:30PM -0600, Travis P wrote:
> The tar man page on AIX had this to say about length (which is probably  
> not news to you, but I thought it interesting -- the 255 limit not  
> being a simple in-total limit):
> --
> When specifying path names that are greater than 100 characters for the  
> United States Tape Archiver (USTAR) format, remember that the path name  
> is composed of a prefix buffer, a / (slash), and a name buffer.
> 
> The prefix buffer can be a maximum of 155 bytes and the name buffer can  
> hold a maximum of 100 bytes. If the path name cannot be split into  
> these two parts by a slash, it cannot be archived. This limitation is  
> due to the structure of the tar archive headers, and must be maintained  
> for compliance with standards and backwards compatibility. In addition,  
> the length of a destination for a hard or symbolic link ( the 'link  
> name') cannot exceed 100 bytes.
> --

Yup, the GNU tar documentation I pointed to explains this (although not
as clearly).  This isn't a problem for us because currently our maximum
path is well under 155 chars.  If we surpase 155 chars and the 155th
char isn't a / then we should get an error from cpio.  In which case we
need to simply reconsider our directory structure.  There is no portable
way to go beyond 155 chars without some hoop jumping in our pathnaming.

-- 
Ben Reser <be...@reser.org>
http://ben.reser.org

"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Travis P <sv...@castle.fastmail.fm>.
On Wed 2004-03-10 at 09:53:05 -0800, Ben Reser wrote:
[...]
> I've put up test tarballs that I built last night in my testing of this
> patch here:
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL- 
> TEST.tar.bz2
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL- 
> TEST.tar.gz
>
> They were made off the 1.0.x branch last night.
>
> If people can test these and let us know if they extract okay on their
> platform.  That would be really helpful.

AIX 5.1's non-GNU-tar appears to work on the the TARBALL-TEST.tar.bz2
There were no errors during untarring and I checked that
subversion-1.0.1/subversion/bindings/java/javahl/src/org/tigris/ 
subversion/javahl/SVNClientSynchronized.java
looks okay.

The tar man page on AIX had this to say about length (which is probably  
not news to you, but I thought it interesting -- the 255 limit not  
being a simple in-total limit):
--
When specifying path names that are greater than 100 characters for the  
United States Tape Archiver (USTAR) format, remember that the path name  
is composed of a prefix buffer, a / (slash), and a name buffer.

The prefix buffer can be a maximum of 155 bytes and the name buffer can  
hold a maximum of 100 bytes. If the path name cannot be split into  
these two parts by a slash, it cannot be archived. This limitation is  
due to the structure of the tar archive headers, and must be maintained  
for compliance with standards and backwards compatibility. In addition,  
the length of a destination for a hard or symbolic link ( the 'link  
name') cannot exceed 100 bytes.
--

-Travis


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Benjamin Pflugmann <be...@pflugmann.de>.
On Wed 2004-03-10 at 09:53:05 -0800, Ben Reser wrote:
[...]
> I've put up test tarballs that I built last night in my testing of this
> patch here:
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.bz2
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.gz
> 
> They were made off the 1.0.x branch last night.
> 
> If people can test these and let us know if they extract okay on their
> platform.  That would be really helpful.

Nothing suprising here.

Both tarballs extract fine on
 - Debian Woody, GNU tar 1.13.24
 - Debian unstable, GNU tar 1.13.93
 - Mandrake 9.1 (with some updates), same tar version

The gzip version (no bzip2 installed) works fine on
 - QNX 6.2.1B PE, GNU tar 1.13 (sic, without any patch-level) 

Bye,

	Benjamin.


PS: I could test more Mandrake platforms when I come home, but since
    you, Ben, have access to more Mandrake platforms than I do and I
    already cross-checked for one of them, I won't bother except if I
    am asked to.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by kf...@collab.net.
Justin Erenkrantz <ju...@erenkrantz.com> writes:
> I'm sold.
> 
> +1 for using for 1.0.1 *if* Jostein/Karl/RM-of-day agrees.  -- justin

I agree.

If we hear of any problem, we can simply unpack the tarball (somewhere
where that's not a problem), and repackage it two ways: the old way,
and the new way, giving the "new" archive a special component in its
name, e.g.:

   subversion-1.0.1.tar.gz
   subversion-1.0.1.tar.bz2
   subversion-1.0.1.cpio-tar.gz
   subversion-1.0.1.cpio-tar.bz2

It's fine to release repackagings of the same good stuff -- the
"subversion-1.0.1" is what defines the release, not the ".tar.gz"
part.

(There might be better names available, this was just an example.  And
remember, I'm not proposing we do this first.  First, we should just
try the new system, and if there are no problems, then great.)

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Wednesday, March 10, 2004 9:53 AM -0800 Ben Reser <be...@reser.org> 
wrote:

> If people can test these and let us know if they extract okay on their
> platform.  That would be really helpful.

Tested on Red Hat 8.0, FreeBSD {4.9|5.2}, Solaris {2.6|7|8|9}, and Mac OS X 
10.3.2.

I'm sold.

+1 for using for 1.0.1 *if* Jostein/Karl/RM-of-day agrees.  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Christian Schaffner <ch...@users.sourceforge.net>.
On 10.03.2004, at 18:53, Ben Reser wrote:

> On Wed, Mar 10, 2004 at 09:14:37AM -0800, Justin Erenkrantz wrote:
>> It'll look like it should work on Solaris 6 as well.  So, yah, I'm +1  
>> to
>> this. Can you please commit to the trunk?
>
> Done in r8966.
>
>> We'll need to sanity test the produced tarballs once this goes in.   
>> Even
>> though what we have now produces corrupted source distros on Solaris  
>> (w/o
>> GNU tar), I'm sort of thinking this should go into 1.0.2 - not 1.0.1  
>> coming
>> out this week.  This would allow us enough time to test this widely;  
>> so
>> being conservative would be good.
>
> Per the conversation on IRC.
>
> I've put up test tarballs that I built last night in my testing of this
> patch here:
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL- 
> TEST.tar.bz2
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL- 
> TEST.tar.gz

Both extracted fine on Mac OS X using Finks GNU tar 1.13.25-12 and also  
Apples tar:

%  /usr/bin/tar --version
tar (GNU tar) 1.13.25

% /sw/bin/tar --version
tar (GNU tar) 1.13.25

Thanks, Chris.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Anyone with access to an HP/UX box? was Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Thursday, March 11, 2004 6:34 AM -0500 "Philip W. Dalrymple III" 
<pw...@mdtsoft.com> wrote:

> I just untared the gz version (after gunziping it) on a 10.20 HP/UX and
> a 11.00 HP/UX system and the untar had no errors, I did not try to
> compile (I use gnu c anyway) but the tar worked without errors (this was
> the tar as shipped with the OS from /usr/bin).
>
> So this looks good for these two version of HP/UX

Thanks!  I think we're reasonably safe for 1.0.1 then.  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Anyone with access to an HP/UX box? was Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by "Philip W. Dalrymple III" <pw...@mdtsoft.com>.
I just untared the gz version (after gunziping it) on a 10.20 HP/UX and
a 11.00 HP/UX system and the untar had no errors, I did not try to
compile (I use gnu c anyway) but the tar worked without errors (this was
the tar as shipped with the OS from /usr/bin).

So this looks good for these two version of HP/UX

On Thu, 2004-03-11 at 03:08, Justin Erenkrantz wrote:
> --On Wednesday, March 10, 2004 9:53 AM -0800 Ben Reser <be...@reser.org> wrote:
> 
> > I've put up test tarballs that I built last night in my testing of this
> > patch here:
> > http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.
> > bz2
> > http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.
> > gz
> >
> > They were made off the 1.0.x branch last night.
> >
> > If people can test these and let us know if they extract okay on their
> > platform.  That would be really helpful.
> 
> The one OS I'd like to see tested is HP/UX.  I think it's the other tar that 
> is picky.  Unfortunately, I don't have access to an HP/UX box anymore.
> 
> Can anyone assist?  Thanks!  -- justin
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
> 
-- 
It is MDT, Inc's policy to delete mail containing unsolicited file
attachments.
Please be sure to contact the MDT staff member BEFORE sending an e-mail
with
any file attachments; they will be able to arrange for the files to be
received.

This email, and any files transmitted with it, is confidential and
intended
solely for the use of the individual or entity to whom they are
addressed.
If you have received this email in error, please advise
postmaster@mdtsoft.com
<ma...@mdtsoft.com>.

Philip W. Dalrymple III <pw...@mdtsoft.com>
MDT Software - The Change Management Company
+1 678 297 1001
Fax +1 678 297 1003


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Anyone with access to an HP/UX box? was Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Wednesday, March 10, 2004 9:53 AM -0800 Ben Reser <be...@reser.org> wrote:

> I've put up test tarballs that I built last night in my testing of this
> patch here:
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.
> bz2
> http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.
> gz
>
> They were made off the 1.0.x branch last night.
>
> If people can test these and let us know if they extract okay on their
> platform.  That would be really helpful.

The one OS I'd like to see tested is HP/UX.  I think it's the other tar that 
is picky.  Unfortunately, I don't have access to an HP/UX box anymore.

Can anyone assist?  Thanks!  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Ben Reser <be...@reser.org>.
On Wed, Mar 10, 2004 at 09:14:37AM -0800, Justin Erenkrantz wrote:
> It'll look like it should work on Solaris 6 as well.  So, yah, I'm +1 to 
> this. Can you please commit to the trunk?

Done in r8966.

> We'll need to sanity test the produced tarballs once this goes in.  Even 
> though what we have now produces corrupted source distros on Solaris (w/o 
> GNU tar), I'm sort of thinking this should go into 1.0.2 - not 1.0.1 coming 
> out this week.  This would allow us enough time to test this widely; so 
> being conservative would be good.

Per the conversation on IRC.

I've put up test tarballs that I built last night in my testing of this
patch here:
http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.bz2
http://mirror.brain.org/linux/breser/temp/subversion-1.0.1-TARBALL-TEST.tar.gz

They were made off the 1.0.x branch last night.

If people can test these and let us know if they extract okay on their
platform.  That would be really helpful.

THESE ARE NOT REAL 1.0.1 TARBALLS.  THEY ARE NOT BETAS OR RCS.  USE THEM
AT YOUR OWN RISK!

-- 
Ben Reser <be...@reser.org>
http://ben.reser.org

"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] Produce POSIX.1 compliant tarballs.

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Tuesday, March 9, 2004 9:10 PM -0800 Ben Reser <be...@reser.org> wrote:

> On Mon, Mar 08, 2004 at 04:47:22PM -0800, Ben Reser wrote:
>> * Stop using GNU tar for creating the tar archives and start using GNU
>> cpio.  GNU cpio supports creating tar formats in the ustar format (i.e.
>> POSIX.1 format).  This gives a maximum filename of 255 characters.
>> Which is more than twice as long as what we are using.  Does not require
>> changes to anything other than dist.sh.  The following command can
>> replace our usage of tar and produce a POSIX.1 compatable tar file:
>> find subversion-1.0.0 -print | cpio -H ustar -o  > subversion-1.0.0.tar
>>
>> I recommend using GNU cpio.  I've tested the output with Solaris and GNU
>> tar and it works perfectly.  If everyone is okay with this I'll post a
>> patch to effect this change.
>
> As promised here is the patch.  I've tested this.  It produces tarballs
> that work on Solaris 7.

It'll look like it should work on Solaris 6 as well.  So, yah, I'm +1 to this. 
Can you please commit to the trunk?

We'll need to sanity test the produced tarballs once this goes in.  Even 
though what we have now produces corrupted source distros on Solaris (w/o GNU 
tar), I'm sort of thinking this should go into 1.0.2 - not 1.0.1 coming out 
this week.  This would allow us enough time to test this widely; so being 
conservative would be good.  -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org