Re: tar and nodump flag (fwd)

2001-12-06 Thread .

Joerg Schilling writes:
> >From [EMAIL PROTECTED] Thu Dec  6 00:41:54 2001
> 
> >Joerg Schilling writes:
> >.
> >> STAR OptionDescription
> Gnu tar equiv.  Remarks
> >> ======
> =   ===
> >.
> >> file=nm,f=nm   use 'nm' as tape instead of stdin/stdout   
> -f  close to identical
> >May be close to identical in function, but not in convenience
> >What about f=*.[ch] or f=something
> 
> Here is a more complete desciption of the features of the getargs()
> function that is used to parse the command line arguments of all
> schily programs:
> 
> /*--*/
> As a hint for readers to the star manual page, star uses getargs() to parse
> the command line. Getargs() is much more flexible than getopt() and is even
> older than getopt(). The following features 
> 
> - All single char boolean options and all single char increment type
>   options may be combined into a single string starting with a single
>   dash (-).
> 
> - getargs() has a compatibility mode for GNU programs and allows to
>   preceede long options with a double dash (--) instead of the usual
>   single dash (-).
> 
> - All options that take an argument are listed in the man page for
>   better readability of the manual as:
>   
>   option=arg
> 
>   but the following variants may appear in the actual command line:
> 
>   option=arg
>   option= arg
>   -option=arg
>   -option= arg
>   -optionarg
>   -option arg
> 
> - A separate double dash (--) may preceede any argument that looks like
>   an option and specifies that the immediately following argument is
>   a file type argument.
> 
> /*--*/
> 
> I am not shure whether I should ad this to all of my maual pages or whether I
> should add a "SEE ALSO" note in the man page and include the getargs() man page
> with all programs.
There is the first time I install star and I see
no other way to know quikly about getargs.
Yes, I use sometimes sources for investigate some trick
but I am restricted by time.
I think others too.
Any way to include in manual is better then none.
Thanks.

-- 
@BABOLO  http://links.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-12-06 Thread Joerg Schilling

>From [EMAIL PROTECTED] Thu Dec  6 00:41:54 2001

>Joerg Schilling writes:
>.
>> STAR Option  Description Gnu 
>tar equiv.  Remarks
>> ===  === 
>=   ===
>.
>> file=nm,f=nm use 'nm' as tape instead of stdin/stdout-f 
> close to identical
>May be close to identical in function, but not in convenience
>What about f=*.[ch] or f=something

Here is a more complete desciption of the features of the getargs()
function that is used to parse the command line arguments of all
schily programs:

/*--*/
As a hint for readers to the star manual page, star uses getargs() to parse
the command line. Getargs() is much more flexible than getopt() and is even
older than getopt(). The following features 

-   All single char boolean options and all single char increment type
options may be combined into a single string starting with a single
dash (-).

-   getargs() has a compatibility mode for GNU programs and allows to
preceede long options with a double dash (--) instead of the usual
single dash (-).

-   All options that take an argument are listed in the man page for
better readability of the manual as:

option=arg

but the following variants may appear in the actual command line:

option=arg
option= arg
-option=arg
-option= arg
-optionarg
-option arg

-   A separate double dash (--) may preceede any argument that looks like
an option and specifies that the immediately following argument is
a file type argument.

/*--*/

I am not shure whether I should ad this to all of my maual pages or whether I
should add a "SEE ALSO" note in the man page and include the getargs() man page
with all programs.

Jörg

 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED]   (uni)  If you don't have iso-8859-1
   [EMAIL PROTECTED]   (work) chars I am J"org Schilling
 URL:  http://www.fokus.gmd.de/usr/schilling   ftp://ftp.fokus.gmd.de/pub/unix

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-12-05 Thread Joerg Schilling

>From [EMAIL PROTECTED] Thu Dec  6 00:41:54 2001
>.
>> STAR Option  Description Gnu 
>tar equiv.  Remarks
>> ===  === 
>=   ===
>.
>> file=nm,f=nm use 'nm' as tape instead of stdin/stdout-f 
> close to identical
>May be close to identical in function, but not in convenience
>What about f=*.[ch] or f=something

>.
>> C=dirperform a chdir to 'dir' before storing next file  
> -C  identical
>Unconvenient, see above

So you obviously never used star and are only writing about your prejudices.

an option usage

f=value

May be written in the following ways:

f=value
-f=value
f= value
-f= value
-f value
-fvalue

getargs() is a lot more flexible than getopt() and it is even older than 
getopt().


Jörg

 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED]   (uni)  If you don't have iso-8859-1
   [EMAIL PROTECTED]   (work) chars I am J"org Schilling
 URL:  http://www.fokus.gmd.de/usr/schilling   ftp://ftp.fokus.gmd.de/pub/unix

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-12-05 Thread .

Joerg Schilling writes:
.
> STAR Option   Description Gnu 
>tar equiv.  Remarks
> ===   === 
>=   ===
.
> file=nm,f=nm  use 'nm' as tape instead of stdin/stdout-f 
> close to identical
May be close to identical in function, but not in convenience
What about f=*.[ch] or f=something

.
> C=dir perform a chdir to 'dir' before storing next file   -C 
> identical
Unconvenient, see above

.
> Options only found in GNUtar:
> 
> GNUtar option GNUtar description  Star 
>remarks
>   ==  
>===
> Main operation mode:
>   -A, --catenate  append tar files to an archive  low 
>importance
Hm.. Are you shure?

.
>   --remove-files remove files after adding them to the archivenot 
>needed
May be low importance?

-- 
@BABOLO  http://links.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-12-05 Thread Joerg Schilling

>From [EMAIL PROTECTED] Mon Dec  3 20:27:24 2001

>On Thu, Nov 29, 2001 at 09:07:03PM +0100, Joerg Schilling wrote:
>> >> - An idiosyncratic build system.
>> 
>> This is really funny

>Please don't waste time on this issue.  I can bmake and shoe-horn
>anything into our build system.

Right, this is definitely not a topic to put effort on


... but to make it easier to understand problems with star vs. GNU tar
I spend several hours to prepare a comparison (much more than it took to
implement star -nodump ;-)



In order to allow an unbiased discussion, I prepared this comparison. 
It contains some hints for people (currently using Gnu tar) who like to like to 
switch to 'star' and a list of features missing in Gnu tar, a smaller list of 
features missing in star and a list of incompatible options in Gnu tar.
As I am not sure whether I will have the time to keep it in sync with future 
changes, it is valid for December 1st 2001.

First some background notes. Star is several years older than Gnu tar and most
of the options that have different meanings in gnu tar have been in use with
star since 1985. This is about two years before the first versions of Gnu tar
(called PD tar or SUG tar in 1987) have been known. Do not expect that the
meaning of those options will be changed in star in the future.

Star tries to be as compatible as possible with the BSD tar implementation
from 1982 and with the POSIX standard. Of course, it implements a lot of
enhancements. Gnu tar in former times (in 1987 when being called
PD tar / SUG tar)  has been compatible to the BSD tar implementation but this
changed in 1989 when FSF adopted the program as Gnu tar. Gnu tar is not
very POSIX compliant (in command line options as well as in the archive format).
If you know the standard and thus know where Gnu tar is not standard compliant,
it is easy to switch between Gnu tar and star if you only use the basic
functionality. If you don't know the standard and only know Gnu tar you may
get into some problems but this is really a Gnu tar problem.

Now let us compare functionality and options. Star has a lot of functions
that are usually invisible to the user but make the daily use much easier:

-   A FIFO allows to keeps the tape streaming. This gives you faster backups
than you can achieve with ufsdump and with other tar implementations
if the size of the filesystem is > 1 GByte.

-   A powerful pattern matcher for a convenient user interface (see manual
page for more details) to archive/extract a subset of files.

-   A sophisticated diff with a user tailorable interface for comparing
tar archives against file trees. This is one of the most interesting parts
of the star implementation.

-   deals with all 3 times, it stores/restores all 3 times of a file
(even creation time)
On Solaris, it may reset access time after doing the backup without
clobbering the ctime.

-   Star does not clobber files by default. More recent copies on disk will
not be clobbered from tape. This may be the main advantage over other
tar implementations. This allows automatically repairing of corruptions
after a crash & fsck (Check for differences after doing this with the
diff option).

-   Star does automatic byte swapping if needed. Star automatically detects
swapped archives and transparently reads them the right way.

-   Star has automatic compression detection. In the recent case when star
is used to unpack compressed files containing tar archives, star will
transparently detect and call the right decompression program.

-   Star has automatic archive format detection. Star automatically detects
several common archive formats and adopts to them. Supported archive
types are:

tar old tar format
starold star format from 1985
gnutar  gnu tar format
ustar   standard tar (ieee 1003.1) format
xstar   extended standard tar format
xustar  extended standard tar format without tar signature
exustar extended standard tar format without tar signature 
(always x-header)
pax extended POSIX.1-200x standard tar format
suntar  Sun's extended pre-POSIX.1-200x Solaris 7/8 tar format

-   Star is fully ANSI/Posix 1003.1 compatible. See README.otherbugs for a
complete description of bugs found in other tar implementations.

-   Support for the new POSIX.1-200x extended tar format. This new tar 
format allows to archive many new things in a standard compliant way.
These things are currently are implemented in Gnu tar in a proprietary 
way and have in former times been implemented in a proprietary way in 
star. To give an example, the 

Re: tar and nodump flag (fwd)

2001-12-03 Thread David O'Brien

On Thu, Nov 29, 2001 at 09:07:03PM +0100, Joerg Schilling wrote:
> >> - An idiosyncratic build system.
> 
> This is really funny

Please don't waste time on this issue.  I can bmake and shoe-horn
anything into our build system.

-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-11-29 Thread Joerg Schilling

>From [EMAIL PROTECTED] Thu Nov 29 21:25:58 2001

>> >> Of course, if you only know GNUtar Star's standard option handling
>> >> _may_ look strange. But then why did FreBSD switch to GNUtar instead
>> >> of keeping a real tar?
>> 
>> >Because there didn't exist a real tar at the time that FreeBSD was
>> >created.
>> 
>> Well this is from BSD-4.3:

>[ SNIP ]

>> ... And it has no Copyright AT&T inside.
>> 

>That may be, but at the time FreeBSD was created (so many years ago),
>there was no 'real' tar to choose from.  BSD-4.3 tar was not available
>publically.  I'm not sure it's available even now publically.  (Is it
>part of 4.4-Lite/Lite2?)

Look at /old/tar/*

it is there... The first version is from user 'bill' 

^Ac date and time created 80/10/01 17:28:49 by bill 

Don't know who this is... Bill Joy is 'wnj'
... There is even a SCCS log from Guy Haris at Sun in there ,-)

>We tried a number of different versions of tar to distribute initially
>(including the one from Minix, who Andrew Tanenbaum graciously gave us
>permission to use), but we decided that GNU-tar was the best of the
>available versions.


GNUtar has been OK in 1987 when it has been first published as PD-tar & SUG-tar.

SUG is Sun User Group.

I had the same intention (publish star at the SUG december 1987) but for
some reason I didn't.

In 1987, SUGtar was implementing a true subset of the POSIX draft.
It missed long path names via the path prefix.
Then in 1989 it has been adopted by FSF and at his time they started to
make it be called GNUtar and using up the 'prefix' space inside the tar
header in a way that is incompatible with the POSIX standard.

I did it the other way round:

Star has been written as 'mtar' in 1982 to be able to extract a tape
with modula compiler sources on UNOS (a real time UNIX clone).
At this time I only had the tape and needed to guess about the header fields.
In 1985 I made it a full blown tar to be able to transport files from UNOS
to SunOS. In 1985 I renamed it to 'star' (schily tar) and added a bit
(nonstard) code to archive all types of files (e.g. from /dev/*). In 1993
I renamed it to 'star' (Standard tar) and implemented POSIX compatibility.
I was in luck as my 1985 extensions do not give interoperability problems
with POSIX tar.

Unfortunately, in 2001 11 years after the POSIX standard has been accepted
GNU tar is still not able to read/write USTAR archives correctly.

Jörg

 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED]   (uni)  If you don't have iso-8859-1
   [EMAIL PROTECTED]   (work) chars I am J"org Schilling
 URL:  http://www.fokus.gmd.de/usr/schilling   ftp://ftp.fokus.gmd.de/pub/unix

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-11-29 Thread Nate Williams

> >> Of course, if you only know GNUtar Star's standard option handling
> >> _may_ look strange. But then why did FreBSD switch to GNUtar instead
> >> of keeping a real tar?
> 
> >Because there didn't exist a real tar at the time that FreeBSD was
> >created.
> 
> Well this is from BSD-4.3:

[ SNIP ]

> ... And it has no Copyright AT&T inside.
> 

That may be, but at the time FreeBSD was created (so many years ago),
there was no 'real' tar to choose from.  BSD-4.3 tar was not available
publically.  I'm not sure it's available even now publically.  (Is it
part of 4.4-Lite/Lite2?)

We tried a number of different versions of tar to distribute initially
(including the one from Minix, who Andrew Tanenbaum graciously gave us
permission to use), but we decided that GNU-tar was the best of the
available versions.



Nate

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-11-29 Thread Joerg Schilling

>From [EMAIL PROTECTED] Thu Nov 29 21:11:16 2001

>> Of course, if you only know GNUtar Star's standard option handling
>> _may_ look strange. But then why did FreBSD switch to GNUtar instead
>> of keeping a real tar?

>Because there didn't exist a real tar at the time that FreeBSD was
>created.

Well this is from BSD-4.3:

/*
 * Copyright (c) 1980 Regents of the University of California.
 * All rights reserved.  The Berkeley software License Agreement
 * specifies the terms and conditions for redistribution.
 */

#ifndef lint
char copyright[] =
"@(#) Copyright (c) 1980 Regents of the University of California.\n\
 All rights reserved.\n";
#endif not lint

#ifndef lint
static char sccsid[] = "@(#)tar.c   5.7 (Berkeley) 4/26/86";
#endif not lint

This _is_ a real tar.

... And it has no Copyright AT&T inside.

If you like to compare star against the standard, look
at:

http://www.opengroup.org/onlinepubs/7908799/xcu/tar.html

Jörg

 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED]   (uni)  If you don't have iso-8859-1
   [EMAIL PROTECTED]   (work) chars I am J"org Schilling
 URL:  http://www.fokus.gmd.de/usr/schilling   ftp://ftp.fokus.gmd.de/pub/unix

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-11-29 Thread Nate Williams

> Of course, if you only know GNUtar Star's standard option handling
> _may_ look strange. But then why did FreBSD switch to GNUtar instead
> of keeping a real tar?

Because there didn't exist a real tar at the time that FreeBSD was
created.


Nate

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



Re: tar and nodump flag (fwd)

2001-11-29 Thread Joerg Schilling

>From: fergus <[EMAIL PROTECTED]>

>> > Perhaps it makes sense to switch to star instead? The last version is
>> > Posix conform, supports extended headers and ACLs. According to the star
>> > developer (Joerg Schilling) GNU tar is severly broken.
>>
>> Unfortunately, star has it's own share of problems:
>>
>> - A highly idiosyncratic command syntax that is incompatible with
>>   traditional tar syntax.  I think this is a killer.

People who don't know the TAR command line syntax and only know the nonstandard
GNutar syntax are indeed the biggest problem. They don't know the right
syntax and tell other people star is not implementing the right
syntax! GNU programs usually hav a higly idiosyncratic command syntax and so does
GNutar.

Before you tell lies, please fist read the standard and compare it
with the behavior of star.

Star is close to 100% command line compatible to the POSIX standard and to
what 'tar' implemented in the beginning of the 80's.

Here is the only exception to the POSIX standard:

-   Star implements the 'l' option the oposite way as documented
by POSIX but I would call this a feature.


Of course, if you only know GNUtar Star's standard option handling _may_
look strange. But then why did FreBSD switch to GNUtar instead of keeping a real tar?



>> - It doesn't support incremental backups.  That isn't a problem in
>>   itself, but it's a feature our GNU tar currently has and people
>>   probably don't want to lose.

Do you know how much Free Software I am working on? Do you know how
much time cdrecord takes? If there was contribution from other
people there could be more features in star today.

This reminds me of a wish to a OS. Now that Solaris includes a fssnap driver
it is really nice to do a backup from a frozen version of the FS that has
been mounted read-only and this is fast because there is no need for 
an inode atime update. Fssnap also allows you to see files that are otherwise
hidden by a mount point.

There is only on wish left over: the Solaris ioctl(f, _FIOAI, ) that 
fetches the allocation info of a sparse file and allows to make
fast and correct backups of sparse files. With Solaris 6 where this
feature still exists, star was able to make a faster backup than with ufsdump
even for sparse files.

If FreeBSD implements _FIOAI and has a system similar to fssnap, TAR
is the best backup method...



>> - An idiosyncratic build system.

This is really funny

The *BSD make system is very very similar with the exception that it
is not portable. The Schily makefile system uses a modern aproach that
is 'make' based, orthogonal and structured. If you don't like the 
Schily makefile sysetem, you cannot like the *BSD make system too.

 but what is your problem with thi smake system? Is it the fact that
it allows real portability to > 30 different platforms and does not force
you to do manual interventions on all systems except Linux.

The Schily makefile system could even work with the *BSD make program if
the *BSD people would listen to me and fix a bug on the pattern matching
macro expansion that I filed to the maintainer about 4-5 years ago.

Jörg

 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED]   (uni)  If you don't have iso-8859-1
   [EMAIL PROTECTED]   (work) chars I am J"org Schilling
 URL:  http://www.fokus.gmd.de/usr/schilling   ftp://ftp.fokus.gmd.de/pub/unix

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message