bugGNUstep - Bugs: bug #17000, 'gnutar' might actually be 'star'

Group
 
 

bug #17000: 'gnutar' might actually be 'star'

Submitter:  Patrick McFarland <diablod3>
Submitted:  Tue 04 Jul 2006 04:04:57 PM UTC
   
 
Category:  Makefiles Severity:  3 - Normal
Item Group:  Bug Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 18 Jan 2008 01:41:52 AM UTC, comment #8: 

I installed 'star' and found out that it now supports the
exclude-from option, like GNU tar. :-)

I tried both a standard 'yum install star', and downloading
the latest star and compiling it by hand.  'yum install star'
didn't create the 'gnutar' symlink (even better as it prevents
the whole confusion in the first place), while compiling by hand
did.

Anyway I configured my gnustep-make to use star and it seems
to work fine in both cases.

I don't think it's worth spending more time on this problem,
which seems rather unusual.  Since 'star' now includes the
exclude-from option, the problem (already rare) will become
more and more infrequent as new versions of 'star' get
rolled out.

Thanks

Nicola Pero <nico>
Group Member
Thu 17 Jan 2008 01:57:01 AM UTC, comment #7: 

This is tricky.

So we have this alternative 'tar' program called 'star'
which has slightly different options than GNU tar, but pretends
to be GNU tar by installing 'gnutar' as a symlink to itself.

So you may end up with a system where 'tar' is GNU tar,
while 'gnutar' is actually 'star'!  That sounds crazy. :-)

I suppose the only real workaround is to write a configure
test to check that the tar program that we choose supports
the option --exclude-from that we need.  That would definitely
work.

Another option, less safer, would be to check the output
of --version.  Presumably star, even when invoked as 'gnutar',
doesn't cheat to the point of replicating the output
of GNU tar's --version ?

Thanks

Nicola Pero <nico>
Group Member
Fri 07 Jul 2006 07:07:26 PM UTC, comment #6: 

Yuck, I wonder where star come from. And apparently, it's written by Joerg Schilling. I wonder how many tars of mine it's screwed up, since Joerg can't write worth of shit.

That said, the real tar seems to properly implement --exclude-from.

Someone needs to implement a test to complain if star is being used, as to not let the user use it.

Patrick McFarland <diablod3>
Fri 07 Jul 2006 12:12:58 PM UTC, comment #5: 

i see that in the original bug report its saying 'gnutar' which probably comes from argv[0] yet in the follow up you run

tar --version

in the original report there are mentions of See 'man star'

it seems possible that star is installed and has installed a gnutar emulation binary or symlink or something (which would seem to be incomplete)

matt rice <ratmice>
Group Member
Wed 05 Jul 2006 07:39:57 AM UTC, comment #4: 

I downloaded the gnu tar souce and looked through the ChangeLog ... it seems that the --exclude-from option was introduced in 1990.

I don't think it makes sense to try and support or even check for earlier versions ...if we can't assume that systems we are building for are at least from the last decade we are in real trouble :-)

That leaves the question of how you managed to get that error message on your system. The 'old version' hypothesis now seems vanishingly unlikely.

Looks like 1.15.1 is buggy, or at some point around then the --exclude-from option was removed and re-added!
If that's the case, perhaps you could provide a script to test for the option and we could add it to the configure script for the make package.

Richard Frith-Macdonald <CaS>
Group Member
Wed 05 Jul 2006 05:45:55 AM UTC, comment #3: 

I just checked on old Redhat-6 system (vintage 1999).  This has gnu tar version 1.13.11 and works perfectly well with the --exclude-from option.

I guess that means that either you have an older version actually being used (eg two versions installed on your system) or there is a bug in the 1.15.1 version you are using.

Richard Frith-Macdonald <CaS>
Group Member
Tue 04 Jul 2006 04:40:24 PM UTC, comment #2: 

[diablo@infinity ~]$ tar --version
tar (GNU tar) 1.15.1

Patrick McFarland <diablod3>
Tue 04 Jul 2006 04:09:38 PM UTC, comment #1: 

What version of tar are you using ?

Thanks

Nicola Pero <nico>
Group Member
Tue 04 Jul 2006 04:04:57 PM UTC, original submission:  

Making install in SSL...
make[1]: Entering directory `/home/diablo/code/gnustep/core/base/SSL'
Making install for bundle SSL...
 Installing bundle directory...
gnutar: The --exclude-from option is not yet implemented.
Usage:  gnutar cmd [options] file1 ... filen

Use     gnutar --help
and     gnutar --xhelp
to get a list of valid cmds and options.

Use     gnutar -H help
to get a list of valid archive header formats.

For a more complete user interface use the star type command interface.
See 'man star'. The gnutar command is more or less limited to the
GNU tar command line interface.
gnutar: Hard EOF on input, first EOF block is missing at -1.
gnutar: 0 blocks + 0 bytes (total of 0 bytes = 0.00k).
make[1]: Leaving directory `/home/diablo/code/gnustep/core/base/SSL'

Patrick McFarland <diablod3>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by nico (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2008-01-18 nico Open/ClosedOpen Closed
    2008-01-17 nico Summarybase/SSL\'s makefile uses incorrect gnutar usage 'gnutar' might actually be 'star'
    2006-07-04 CaS CategoryBase/Foundation Makefiles

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code