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

 
 

You are not allowed to post comments on this tracker with your current authentication level.

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

Submitted by:  Patrick McFarland <diablod3>
Submitted on:  Tue 04 Jul 2006 04:04:57 PM UTC  
 
Category: MakefilesSeverity: 3 - Normal
Item Group: BugStatus: None
Privacy: PublicAssigned to: None
Open/Closed: Closed

(Jump to the original submission 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project 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>

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 18 Jan 2008 01:41:52 AM UTCnicoOpen/ClosedOpen=>Closed
    Thu 17 Jan 2008 01:57:01 AM UTCnicoSummarybase/SSL\'s makefile uses incorrect gnutar usage=>'gnutar' might actually be 'star'
    Tue 04 Jul 2006 05:31:05 PM UTCCaSCategoryBase/Foundation=>Makefiles

    Back to the top


    Powered by Savane 3.1-cleanup1