tarruby 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. data/README.txt +99 -0
  2. data/ext/extconf.rb +19 -0
  3. data/ext/libtar/COPYRIGHT +35 -0
  4. data/ext/libtar/ChangeLog +243 -0
  5. data/ext/libtar/ChangeLog-1.0.x +141 -0
  6. data/ext/libtar/INSTALL +183 -0
  7. data/ext/libtar/Makefile.in +51 -0
  8. data/ext/libtar/README +121 -0
  9. data/ext/libtar/TODO +10 -0
  10. data/ext/libtar/autoconf/ac_path_generic.m4 +136 -0
  11. data/ext/libtar/autoconf/aclocal.m4 +199 -0
  12. data/ext/libtar/autoconf/encap.m4 +133 -0
  13. data/ext/libtar/autoconf/install-sh +251 -0
  14. data/ext/libtar/autom4te.cache/output.0 +8102 -0
  15. data/ext/libtar/autom4te.cache/requests +112 -0
  16. data/ext/libtar/autom4te.cache/traces.0 +382 -0
  17. data/ext/libtar/compat/ChangeLog +31 -0
  18. data/ext/libtar/compat/README +12 -0
  19. data/ext/libtar/compat/TODO +4 -0
  20. data/ext/libtar/compat/basename.c +91 -0
  21. data/ext/libtar/compat/compat.h +260 -0
  22. data/ext/libtar/compat/dirname.c +96 -0
  23. data/ext/libtar/compat/fnmatch.c +237 -0
  24. data/ext/libtar/compat/gethostbyname_r.c +41 -0
  25. data/ext/libtar/compat/gethostname.c +36 -0
  26. data/ext/libtar/compat/getservbyname_r.c +41 -0
  27. data/ext/libtar/compat/glob.c +898 -0
  28. data/ext/libtar/compat/inet_aton.c +27 -0
  29. data/ext/libtar/compat/module.ac +591 -0
  30. data/ext/libtar/compat/snprintf.c +788 -0
  31. data/ext/libtar/compat/strdup.c +62 -0
  32. data/ext/libtar/compat/strlcat.c +72 -0
  33. data/ext/libtar/compat/strlcpy.c +68 -0
  34. data/ext/libtar/compat/strmode.c +199 -0
  35. data/ext/libtar/compat/strrstr.c +40 -0
  36. data/ext/libtar/compat/strsep.c +87 -0
  37. data/ext/libtar/config.h.in +187 -0
  38. data/ext/libtar/configure +8102 -0
  39. data/ext/libtar/configure.ac +114 -0
  40. data/ext/libtar/doc/Makefile.in +152 -0
  41. data/ext/libtar/doc/tar_append_file.3 +50 -0
  42. data/ext/libtar/doc/tar_block_read.3 +24 -0
  43. data/ext/libtar/doc/tar_extract_all.3 +43 -0
  44. data/ext/libtar/doc/tar_extract_file.3 +84 -0
  45. data/ext/libtar/doc/tar_open.3 +97 -0
  46. data/ext/libtar/doc/th_get_pathname.3 +63 -0
  47. data/ext/libtar/doc/th_print_long_ls.3 +22 -0
  48. data/ext/libtar/doc/th_read.3 +34 -0
  49. data/ext/libtar/doc/th_set_from_stat.3 +45 -0
  50. data/ext/libtar/lib/Makefile.in +92 -0
  51. data/ext/libtar/lib/append.c +272 -0
  52. data/ext/libtar/lib/block.c +384 -0
  53. data/ext/libtar/lib/decode.c +130 -0
  54. data/ext/libtar/lib/encode.c +237 -0
  55. data/ext/libtar/lib/extract.c +656 -0
  56. data/ext/libtar/lib/handle.c +150 -0
  57. data/ext/libtar/lib/internal.h +46 -0
  58. data/ext/libtar/lib/libtar.h +311 -0
  59. data/ext/libtar/lib/output.c +146 -0
  60. data/ext/libtar/lib/util.c +153 -0
  61. data/ext/libtar/lib/wrapper.c +175 -0
  62. data/ext/libtar/libtar/Makefile.in +73 -0
  63. data/ext/libtar/libtar/libtar.c +363 -0
  64. data/ext/libtar/listhash/ChangeLog +15 -0
  65. data/ext/libtar/listhash/TODO +21 -0
  66. data/ext/libtar/listhash/hash.c.in +344 -0
  67. data/ext/libtar/listhash/hash_new.3.in +74 -0
  68. data/ext/libtar/listhash/list.c.in +458 -0
  69. data/ext/libtar/listhash/list_new.3.in +86 -0
  70. data/ext/libtar/listhash/listhash.h.in +196 -0
  71. data/ext/libtar/listhash/module.ac +21 -0
  72. data/ext/libtar/win32/config.h +190 -0
  73. data/ext/libtar/win32/dirent.c +115 -0
  74. data/ext/libtar/win32/dirent.h +24 -0
  75. data/ext/libtar/win32/grp.h +4 -0
  76. data/ext/libtar/win32/listhash/libtar_hash.c +344 -0
  77. data/ext/libtar/win32/listhash/libtar_list.c +458 -0
  78. data/ext/libtar/win32/listhash/libtar_listhash.h +196 -0
  79. data/ext/libtar/win32/pwd.h +4 -0
  80. data/ext/libtar/win32/sys/param.h +8 -0
  81. data/ext/libtar/win32/tar.h +35 -0
  82. data/ext/libtar/win32/utime.h +6 -0
  83. data/ext/libtar/win32/win32/types.h +10 -0
  84. data/ext/tarruby.c +648 -0
  85. metadata +150 -0
data/README.txt ADDED
@@ -0,0 +1,99 @@
1
+ = TAR/Ruby
2
+
3
+ Copyright (c) 2008 SUGAWARA Genki <sgwr_dts@yahoo.co.jp>
4
+
5
+ == Description
6
+
7
+ Ruby bindings for libtar.
8
+
9
+ libtar is a C library for manipulating POSIX tar files.
10
+
11
+ == Project Page
12
+
13
+ http://rubyforge.org/projects/tarruby
14
+
15
+ == Install
16
+
17
+ gem install tarruby
18
+
19
+ == Example
20
+ === reading tar archive
21
+
22
+ require 'tarruby'
23
+
24
+ Tar.open('foo.tar', File::RDONLY) do |tar|
25
+ while tar.read # or 'tar.each do ...'
26
+ puts tar.pathname
27
+ tar.print_long_ls
28
+
29
+ if tar.reg? # regular file
30
+ tar.extract_file('bar.txt')
31
+
32
+ ##if extract buffer
33
+ #puts tar.extract_buffer
34
+ end
35
+ end
36
+
37
+ ##if extract all files
38
+ #tar.extract_all
39
+ end
40
+
41
+ ##for gzip archive
42
+ #Tar.gzopen('foo.tar.gz', ...
43
+
44
+ ##for bzip2 archive
45
+ #Tar.bzopen('foo.tar.bz2', ...
46
+
47
+ === creating tar archive
48
+
49
+ require 'tarruby'
50
+
51
+ Tar.open('bar.tar', File::CREAT | File::WRONLY) do |tar|
52
+ Dir.glob('**/*.c').each do |filename|
53
+ tar.append_file(filename)
54
+ end
55
+
56
+ ##if append directory
57
+ #tar.append_tree('dirname')
58
+ end
59
+
60
+ ##for gzip archive
61
+ #Tar.gzopen('foo.tar.gz', ...
62
+
63
+ ##for bzip2 archive
64
+ #Tar.bzopen('foo.tar.bz2', ...
65
+
66
+ == License
67
+ Copyright (c) 2008 SUGAWARA Genki <sgwr_dts@yahoo.co.jp>
68
+ All rights reserved.
69
+
70
+ Redistribution and use in source and binary forms, with or without modification,
71
+ are permitted provided that the following conditions are met:
72
+
73
+ * Redistributions of source code must retain the above copyright notice,
74
+ this list of conditions and the following disclaimer.
75
+ * Redistributions in binary form must reproduce the above copyright notice,
76
+ this list of conditions and the following disclaimer in the documentation
77
+ and/or other materials provided with the distribution.
78
+ * The names of its contributors may be used to endorse or promote products
79
+ derived from this software without specific prior written permission.
80
+
81
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
82
+ ANY EXPRESS OR IMPLIED WARRANTIES,
83
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
84
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
85
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
86
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
87
+ OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
88
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
89
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
90
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
91
+ DAMAGE.
92
+
93
+ === libtar
94
+ TAR/Ruby contains libtar.
95
+
96
+ * libtar is a C library for manipulating POSIX tar files.
97
+ * http://www.feep.net/libtar/
98
+ * patches
99
+ * https://lists.feep.net:8080/pipermail/libtar/2007-July/000240.html
data/ext/extconf.rb ADDED
@@ -0,0 +1,19 @@
1
+ require 'mkmf'
2
+
3
+ def make_libtar
4
+ Dir.chdir('libtar')
5
+
6
+ begin
7
+ system('sh configure') and system('make')
8
+ ensure
9
+ Dir.chdir('..')
10
+ end
11
+ end
12
+
13
+ if make_libtar and have_header('zlib.h') and have_library('z')
14
+ have_header('bzlib.h')
15
+ have_library('bz2')
16
+ $CPPFLAGS << '-Ilibtar/lib -Ilibtar/listhash'
17
+ $objs = %w(tarruby.o libtar/lib/libtar.a)
18
+ create_makefile('tarruby')
19
+ end
@@ -0,0 +1,35 @@
1
+ Copyright (c) 1998-2003 University of Illinois Board of Trustees
2
+ Copyright (c) 1998-2003 Mark D. Roth
3
+ All rights reserved.
4
+
5
+ Developed by: Campus Information Technologies and Educational Services,
6
+ University of Illinois at Urbana-Champaign
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining
9
+ a copy of this software and associated documentation files (the
10
+ ``Software''), to deal with the Software without restriction, including
11
+ without limitation the rights to use, copy, modify, merge, publish,
12
+ distribute, sublicense, and/or sell copies of the Software, and to
13
+ permit persons to whom the Software is furnished to do so, subject to
14
+ the following conditions:
15
+
16
+ * Redistributions of source code must retain the above copyright
17
+ notice, this list of conditions and the following disclaimers.
18
+
19
+ * Redistributions in binary form must reproduce the above copyright
20
+ notice, this list of conditions and the following disclaimers in the
21
+ documentation and/or other materials provided with the distribution.
22
+
23
+ * Neither the names of Campus Information Technologies and Educational
24
+ Services, University of Illinois at Urbana-Champaign, nor the names
25
+ of its contributors may be used to endorse or promote products derived
26
+ from this Software without specific prior written permission.
27
+
28
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
29
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
31
+ IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR
32
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
33
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
34
+ OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
35
+
@@ -0,0 +1,243 @@
1
+ libtar 1.2.11 - 3/2/03
2
+ -------------
3
+
4
+ - updated autoconf macros, compat code, and listhash code
5
+ - fixed tar_extract_regfile() to pass mode argument to open()
6
+ (caused EPERM on Solaris NFS clients)
7
+ - updated README
8
+
9
+ ------------------------------------------------------------------------------
10
+
11
+ libtar 1.2.10 - 12/15/02
12
+ -------------
13
+
14
+ - updated README
15
+ - minor Makefile fixes
16
+ - fixed TH_ISREG() macro to not return true for hard links
17
+
18
+ ------------------------------------------------------------------------------
19
+
20
+ libtar 1.2.9 - 11/19/02
21
+ ------------
22
+
23
+ - fixed th_read() to return 1 on EOF
24
+ (thanks to Yves Crespin <Crespin.Quartz@WANADOO.FR> for the bug report)
25
+ - minor portability fixes
26
+ (thanks to Yves Crespin <Crespin.Quartz@WANADOO.FR> for the bug report)
27
+ - fixed segfault on extracting filenames with 8-bit ASCII characters
28
+ (thanks to Per Liden <per@FUKT.BTH.SE> for the patch)
29
+ - fixed TH_ISDIR() macro and th_get_mode() function to handle old
30
+ archives that don't set the typeflag field right for directories
31
+ - use 0777 instead of 0755 in mkdirhier()
32
+ (thanks to Yves Crespin <Crespin.Quartz@WANADOO.FR> for the bug report)
33
+
34
+ ------------------------------------------------------------------------------
35
+
36
+ libtar 1.2.8 - 9/13/02
37
+ ------------
38
+
39
+ - added "-I../listhash" to CPPFLAGS in libtar/Makefile.in
40
+ (thanks to Kris Warkentin <kewarken@QNX.COM> for the bug report)
41
+ - added .PHONY target to Makefile.in
42
+ (thanks to Steven Engelhardt <sengelha@YAHOO.COM> for the bug report)
43
+
44
+ ------------------------------------------------------------------------------
45
+
46
+ libtar 1.2.7 - 9/12/02
47
+ ------------
48
+
49
+ - fixed minor bugs in listhash code
50
+ (thanks to Jim Knoble <jmknoble@pobox.com> for the bug reports)
51
+
52
+ ------------------------------------------------------------------------------
53
+
54
+ libtar 1.2.6 - 9/10/02
55
+ ------------
56
+
57
+ - updated COPYRIGHT file
58
+ - do not check magic field by default
59
+ (replaced TAR_IGNORE_MAGIC option with TAR_CHECK_MAGIC to enable check)
60
+ - fixed th_get_mode() not to modify S_IFMT bits if they were already set
61
+ - fixed TH_IS*() macros to check the S_IFMT mode bits in addition to typeflag
62
+ (this allows us to handle old tar archives that set mode bits but not
63
+ typeflag field for directories and other special files)
64
+ - updated to autoconf-2.53
65
+ - restructured autoconf macros
66
+ - added "b" to gzoflags in gzopen_frontend() for win32 compatibility
67
+ (thanks to Kris Eric Warkentin <kewarken@QNX.COM> for reporting this)
68
+ - if O_BINARY is defined (as on win32), set that bit in oflags in tar_open()
69
+ (thanks to Kris Eric Warkentin <kewarken@QNX.COM> for reporting this)
70
+ - also use O_BINARY in when calling open() from tar_extract_regfile()
71
+ (based on patch from Graeme Peterson <gp@qnx.com>)
72
+ - added COMPAT_FUNC_MAKEDEV macro to handle 3-arg version of makedev()
73
+ (based on patch from Graeme Peterson <gp@qnx.com>)
74
+
75
+ ------------------------------------------------------------------------------
76
+
77
+ libtar 1.2.5 - 2/20/02
78
+ ------------
79
+
80
+ - updated to autoconf-2.52
81
+ - improved Makefile portability
82
+ - fixed memory leak in hard-link detection code
83
+ (thanks to Michael Kamp <kamp@HITT.NL> for the bug report)
84
+ - fixed memory leak in symlink handling code
85
+ (thanks to Michael Kamp <kamp@HITT.NL> for the bug report)
86
+ - fixed memory leak in GNU long filename code
87
+
88
+ ------------------------------------------------------------------------------
89
+
90
+ libtar 1.2.4 - 7/24/01
91
+ ------------
92
+
93
+ - code cleanups to make gcc -Wall happy
94
+ (thanks to Jim Knoble <jmknoble@POBOX.COM> for the patch)
95
+ - call utime() before chmod() in tar_set_file_perms() for cygwin
96
+ (thanks to Kris Eric Warkentin <kewarken@QNX.COM> for reporting this)
97
+ - added "-g" flag to trigger GNU extensions in libtar binary
98
+ - fixed buffer termination bugs in POSIX filename prefix encoding
99
+ (thanks to Joerg Schilling <schilling@fokus.gmd.de> for reporting this)
100
+ - fixed bug in th_crc_calc() for filenames with 8-bit ASCII characters
101
+ (thanks to Hamdouni El Bachir <bach@zehc.net> for reporting the bug
102
+ and Antoniu-George SAVU <santoniu@libertysurf.fr> for the patch)
103
+ - fixed backwards conditional expression in th_read()
104
+ (thanks to Antoniu-George SAVU <santoniu@LIBERTYSURF.FR> for the patch)
105
+ - added new tar_open() options to replace compile-time settings:
106
+ TAR_IGNORE_EOT, TAR_IGNORE_MAGIC, TAR_CHECK_VERSION, TAR_IGNORE_CRC
107
+ (based on feedback from Kris Eric Warkentin <kewarken@QNX.COM>)
108
+
109
+ ------------------------------------------------------------------------------
110
+
111
+ libtar 1.2.3 - 6/26/01
112
+ ------------
113
+
114
+ - misc portability fixes for OpenBSD
115
+ - fixed libtar.h to work with C++ programs
116
+ - fixed tar_extract_file() to properly check for pre-existing symlinks
117
+ (based on patch from Per Lid?n <per@fukt.hk-r.se>)
118
+ - fixed hash creation in tar_init()
119
+ - replaced mkdirhier() with non-recursive version
120
+ - updated autoconf macros, compat code, and listhash code
121
+ - reformatted code for readability
122
+
123
+ ------------------------------------------------------------------------------
124
+
125
+ libtar 1.2.2 - 1/12/01
126
+ ------------
127
+
128
+ - fixed th_print_long_ls() to not truncate user and group names
129
+ - code cleanups to make -Wall happy
130
+
131
+ ------------------------------------------------------------------------------
132
+
133
+ libtar 1.2.1 - 1/8/01
134
+ ------------
135
+
136
+ - updated WSG_ENCAP autoconf macro
137
+ - fixed autoconf macros to behave properly when a config.cache file
138
+ is present
139
+ - fixed doc/Makefile.in to create links during compilation, not
140
+ installation
141
+ - fixed listhash manpage .so link lists
142
+
143
+ ------------------------------------------------------------------------------
144
+
145
+ libtar 1.2 - 1/4/01
146
+ ----------
147
+
148
+ - minor code cleanups
149
+
150
+ ------------------------------------------------------------------------------
151
+
152
+ libtar 1.1.b8 - 1/2/01
153
+ -------------
154
+
155
+ - updated WSG_ENCAP autoconf macro
156
+
157
+ ------------------------------------------------------------------------------
158
+
159
+ libtar 1.1.b7 - 12/13/00
160
+ -------------
161
+
162
+ - fixed autoconf snprintf() test to make sure it NUL-terminates
163
+
164
+ ------------------------------------------------------------------------------
165
+
166
+ libtar 1.1.b6 - 11/30/00
167
+ -------------
168
+
169
+ - added $(DESTDIR) to Makefiles
170
+ - Makefile changes to support WSG_PKG and WSG_ENCAP autoconf macros
171
+ - changed lib/output.c to use strftime() where available
172
+
173
+ ------------------------------------------------------------------------------
174
+
175
+ libtar 1.1.b5 - 10/29/00
176
+ -------------
177
+
178
+ - Makefile fix
179
+
180
+ ------------------------------------------------------------------------------
181
+
182
+ libtar 1.1.b4 - 10/29/00
183
+ -------------
184
+
185
+ - more directory reorganization
186
+ - minor Makefile cleanups
187
+ - minor portability fixes
188
+ - added function typecasting to avoid compiler warnings
189
+
190
+ ------------------------------------------------------------------------------
191
+
192
+ libtar 1.1.b3 - 10/26/00
193
+ -------------
194
+
195
+ - updated aclocal.m4
196
+ - updated README
197
+ - updated manpages
198
+ - minor directory structure changes because of CVS setup
199
+
200
+ ------------------------------------------------------------------------------
201
+
202
+ libtar 1.1.b2 - 10/5/00
203
+ -------------
204
+
205
+ - added --without-zlib configure option
206
+ - minor portability fixes
207
+
208
+ ------------------------------------------------------------------------------
209
+
210
+ libtar 1.1.b1 - 8/21/00
211
+ -------------
212
+
213
+ - API changes:
214
+ - implemented tar_fdopen()
215
+ - implemented tar_fd()
216
+ - added TAR **t argument to tar_open() instead of returning dynamic memory
217
+ - if TAR_NOOVERWRITE is set in options and O_CREAT is set in oflags,
218
+ tar_open() automatically sets O_EXCL as well
219
+
220
+ ------------------------------------------------------------------------------
221
+
222
+ libtar 1.1.b0 - 7/10/00
223
+ -------------
224
+
225
+ - API changes:
226
+ - replaced internal table of tar file types with a tartype_t passed to
227
+ tar_open() by the caller
228
+ (allows file access methods to be defined dynamically)
229
+ - fixed tar_append_tree() to grok normal files as well as directories
230
+ - replaced mk_dirs_for_file() with mkdirhier() from epkg
231
+ - replaced strtok_r() with strsep()
232
+ - updated list/hash code to new interface
233
+
234
+ - autoconf changes:
235
+ - added aclocal.m4 to clean up configure.in
236
+ - minor portability fixes related to lib/fnmatch.c
237
+
238
+ - fixed a bug in tar_open() where the result of open() was being
239
+ checked for 0 instead of -1 to detect error
240
+
241
+ - updated libtar driver program to handle both .tar.gz and ordinary .tar
242
+ via the -z option
243
+
@@ -0,0 +1,141 @@
1
+ libtar 1.0.2 - 6/21/00
2
+ ------------
3
+
4
+ - tar_set_file_perms() now calls chown() only if the effective user ID is 0
5
+ (workaround for IRIX and HP-UX, which allow file giveaways)
6
+
7
+ - tar_set_file_perms() now calls chmod() or lchmod() after chown()
8
+ (this fixes a problem with extracting setuid files under Linux)
9
+
10
+ - removed calls to fchown() and fchmod() from tar_extract_regfile()
11
+
12
+ - fixed bugs in th_read() which didn't set errno properly
13
+
14
+ - removed various unused variables
15
+
16
+ ----------------------------------------------------------------------
17
+
18
+ libtar 1.0.1 - 4/1/00
19
+ ------------
20
+
21
+ - removed libgen.h include from dirname and basename compat code
22
+
23
+ - added lib/fnmatch.c compatability module from OpenBSD
24
+
25
+ - fixed several objdirs bugs in libtar/Makefile.in
26
+
27
+ - misc Makefile changes (added $CPPFLAGS support, added -o flag to compile
28
+ commands, use $CFLAGS on link line, etc)
29
+
30
+ - removed "inline" keyword from all source files to prevent portability
31
+ problems
32
+
33
+ - updated README
34
+
35
+ ----------------------------------------------------------------------
36
+
37
+ libtar 1.0 - 1/2/00
38
+ ----------
39
+
40
+ - various portability fixes
41
+
42
+ - "make install" now runs mkencap and epkg if they're available
43
+
44
+ - libmisc is now integrated into libtar
45
+
46
+ ----------------------------------------------------------------------
47
+
48
+ libtar 0.5.6 beta - 12/16/99
49
+ -----------------
50
+
51
+ - changed API to allow better error reporting via errno
52
+
53
+ - added manpages to document libtar API
54
+
55
+ - replaced symbolic_mode() call with strmode() compatibility code
56
+
57
+ ----------------------------------------------------------------------
58
+
59
+ libtar 0.5.5 beta - 11/16/99
60
+ -----------------
61
+
62
+ - fixed conditional expression in extract.c to check if we're overwriting
63
+ a pre-existing file
64
+
65
+ - many improvements to libtar.c driver program (better error checking,
66
+ added -C and -v options, etc)
67
+
68
+ - changed API to include list of canned file types, instead of passing
69
+ function pointers to tar_open()
70
+
71
+ - fixed tar_set_file_perms() to not complain about chown() if not root
72
+ and not to call utime() on a symlink
73
+
74
+ - added hash code for extracting hard links in other directory paths
75
+
76
+ - fixed tar_extract_glob() to only print filenames if TAR_VERBOSE option
77
+ is set
78
+
79
+ - replaced GNU basename(), dirname(), and strdup() compatibility code
80
+ with OpenBSD versions
81
+
82
+ - configure performs super-anal checking of basename() and dirname()
83
+
84
+ ----------------------------------------------------------------------
85
+
86
+ libtar 0.5.4 beta - 11/13/99
87
+ -----------------
88
+
89
+ - portability fix: use ranlib instead of ar -s
90
+
91
+ - misc fixes in append.c, extract.c, and wrapper.c to do error checking
92
+
93
+ - fixed a bug in tar_append_file() in append.c which added some garbage
94
+ characters to encoded symlink names (wasn't NULL-terminating the result
95
+ of readlink())
96
+
97
+ - fixed a bug in symbolic_mode() in output.c concerning setuid and setgid
98
+ bit displaying
99
+
100
+ - fixed tar_extract_all() in wrapper.c to only call print_long_ls() if
101
+ the TAR_VERBOSE option is set
102
+
103
+ - added libtar_version constant string to handle.c for external configure
104
+ scripts to detect what version of libtar is installed
105
+
106
+ ----------------------------------------------------------------------
107
+
108
+ libtar 0.5.3 beta - 09/27/99
109
+ -----------------
110
+
111
+ - fixed mk_dirs_for_file() to avoid broken dirname() implementations
112
+
113
+ - misc portability fixes
114
+
115
+ - merged old "compat" and "libds" directories into new "misc" directory
116
+ and cleaned up Makefiles
117
+
118
+ ----------------------------------------------------------------------
119
+
120
+ libtar 0.5.2 beta - 09/10/99
121
+ -----------------
122
+
123
+ - use calloc() instead of malloc() in tar_open() to fix a bounds-checking
124
+ bug in tar_extract_all()
125
+
126
+ - fix tar_extract_all() to properly honor the prefix argument
127
+
128
+ ----------------------------------------------------------------------
129
+
130
+ libtar 0.5.1 beta - 08/27/99
131
+ -----------------
132
+
133
+ - misc portability fixes
134
+
135
+ ----------------------------------------------------------------------
136
+
137
+ libtar 0.5 beta - 07/05/99
138
+ ---------------
139
+
140
+ - first public release
141
+