behavioural differences between GNU tar and BB tar

Robert P. J. Day rpjday at mindspring.com
Tue Apr 18 13:33:10 UTC 2006


  as a first test, i created a little tarball with contents:

	./
	./d1/
	./d1/f1
	./d2/
	./d2/f2

then used "tar t" to list the table of contents using both GNU and BB
tar and a number of "--exclude" variations.  you can see the results
below.

  aesthetically, two differences are

  1) GNU tar maps UIDs to usernames, BB tar doesn't.
  2) GNU tar seems to like appending "/" to dirs, BB tar doesn't.

more seriously, in some cases, "--exclude" clearly is processed
differently in some cases, as you can see.  so, the aesthetic fixes
should be easy if it's decided they should be done.

  the more serious differences, well ... let's think about that.




--exclude="d1"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x 500/500         0 2006-04-18 08:55:00 ./d1
-rw-r--r-- 500/500         0 2006-04-18 08:55:00 ./d1/f1

--exclude="d1/"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:00 ./d1/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:00 ./d1/f1
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x 500/500         0 2006-04-18 08:55:00 ./d1
-rw-r--r-- 500/500         0 2006-04-18 08:55:00 ./d1/f1

--exclude="d1/*"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:00 ./d1/
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x 500/500         0 2006-04-18 08:55:00 ./d1
-rw-r--r-- 500/500         0 2006-04-18 08:55:00 ./d1/f1

--exclude="d1*"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x 500/500         0 2006-04-18 08:55:00 ./d1
-rw-r--r-- 500/500         0 2006-04-18 08:55:00 ./d1/f1

--exclude="./d1"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2
-rw-r--r-- 500/500         0 2006-04-18 08:55:00 ./d1/f1

--exclude="./d1/"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:00 ./d1/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:00 ./d1/f1
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x 500/500         0 2006-04-18 08:55:00 ./d1
-rw-r--r-- 500/500         0 2006-04-18 08:55:00 ./d1/f1

--exclude="./d1/*"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:00 ./d1/
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2
drwxr-xr-x 500/500         0 2006-04-18 08:55:00 ./d1

--exclude="./d1*"

GNU tar
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:23 ./
drwxr-xr-x rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/
-rw-r--r-- rpjday/rpjday     0 2006-04-18 08:55:04 ./d2/f2
BB tar
drwxr-xr-x 500/500         0 2006-04-18 08:55:23 .
drwxr-xr-x 500/500         0 2006-04-18 08:55:04 ./d2
-rw-r--r-- 500/500         0 2006-04-18 08:55:04 ./d2/f2



More information about the busybox mailing list