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.
- data/README.txt +99 -0
- data/ext/extconf.rb +19 -0
- data/ext/libtar/COPYRIGHT +35 -0
- data/ext/libtar/ChangeLog +243 -0
- data/ext/libtar/ChangeLog-1.0.x +141 -0
- data/ext/libtar/INSTALL +183 -0
- data/ext/libtar/Makefile.in +51 -0
- data/ext/libtar/README +121 -0
- data/ext/libtar/TODO +10 -0
- data/ext/libtar/autoconf/ac_path_generic.m4 +136 -0
- data/ext/libtar/autoconf/aclocal.m4 +199 -0
- data/ext/libtar/autoconf/encap.m4 +133 -0
- data/ext/libtar/autoconf/install-sh +251 -0
- data/ext/libtar/autom4te.cache/output.0 +8102 -0
- data/ext/libtar/autom4te.cache/requests +112 -0
- data/ext/libtar/autom4te.cache/traces.0 +382 -0
- data/ext/libtar/compat/ChangeLog +31 -0
- data/ext/libtar/compat/README +12 -0
- data/ext/libtar/compat/TODO +4 -0
- data/ext/libtar/compat/basename.c +91 -0
- data/ext/libtar/compat/compat.h +260 -0
- data/ext/libtar/compat/dirname.c +96 -0
- data/ext/libtar/compat/fnmatch.c +237 -0
- data/ext/libtar/compat/gethostbyname_r.c +41 -0
- data/ext/libtar/compat/gethostname.c +36 -0
- data/ext/libtar/compat/getservbyname_r.c +41 -0
- data/ext/libtar/compat/glob.c +898 -0
- data/ext/libtar/compat/inet_aton.c +27 -0
- data/ext/libtar/compat/module.ac +591 -0
- data/ext/libtar/compat/snprintf.c +788 -0
- data/ext/libtar/compat/strdup.c +62 -0
- data/ext/libtar/compat/strlcat.c +72 -0
- data/ext/libtar/compat/strlcpy.c +68 -0
- data/ext/libtar/compat/strmode.c +199 -0
- data/ext/libtar/compat/strrstr.c +40 -0
- data/ext/libtar/compat/strsep.c +87 -0
- data/ext/libtar/config.h.in +187 -0
- data/ext/libtar/configure +8102 -0
- data/ext/libtar/configure.ac +114 -0
- data/ext/libtar/doc/Makefile.in +152 -0
- data/ext/libtar/doc/tar_append_file.3 +50 -0
- data/ext/libtar/doc/tar_block_read.3 +24 -0
- data/ext/libtar/doc/tar_extract_all.3 +43 -0
- data/ext/libtar/doc/tar_extract_file.3 +84 -0
- data/ext/libtar/doc/tar_open.3 +97 -0
- data/ext/libtar/doc/th_get_pathname.3 +63 -0
- data/ext/libtar/doc/th_print_long_ls.3 +22 -0
- data/ext/libtar/doc/th_read.3 +34 -0
- data/ext/libtar/doc/th_set_from_stat.3 +45 -0
- data/ext/libtar/lib/Makefile.in +92 -0
- data/ext/libtar/lib/append.c +272 -0
- data/ext/libtar/lib/block.c +384 -0
- data/ext/libtar/lib/decode.c +130 -0
- data/ext/libtar/lib/encode.c +237 -0
- data/ext/libtar/lib/extract.c +656 -0
- data/ext/libtar/lib/handle.c +150 -0
- data/ext/libtar/lib/internal.h +46 -0
- data/ext/libtar/lib/libtar.h +311 -0
- data/ext/libtar/lib/output.c +146 -0
- data/ext/libtar/lib/util.c +153 -0
- data/ext/libtar/lib/wrapper.c +175 -0
- data/ext/libtar/libtar/Makefile.in +73 -0
- data/ext/libtar/libtar/libtar.c +363 -0
- data/ext/libtar/listhash/ChangeLog +15 -0
- data/ext/libtar/listhash/TODO +21 -0
- data/ext/libtar/listhash/hash.c.in +344 -0
- data/ext/libtar/listhash/hash_new.3.in +74 -0
- data/ext/libtar/listhash/list.c.in +458 -0
- data/ext/libtar/listhash/list_new.3.in +86 -0
- data/ext/libtar/listhash/listhash.h.in +196 -0
- data/ext/libtar/listhash/module.ac +21 -0
- data/ext/libtar/win32/config.h +190 -0
- data/ext/libtar/win32/dirent.c +115 -0
- data/ext/libtar/win32/dirent.h +24 -0
- data/ext/libtar/win32/grp.h +4 -0
- data/ext/libtar/win32/listhash/libtar_hash.c +344 -0
- data/ext/libtar/win32/listhash/libtar_list.c +458 -0
- data/ext/libtar/win32/listhash/libtar_listhash.h +196 -0
- data/ext/libtar/win32/pwd.h +4 -0
- data/ext/libtar/win32/sys/param.h +8 -0
- data/ext/libtar/win32/tar.h +35 -0
- data/ext/libtar/win32/utime.h +6 -0
- data/ext/libtar/win32/win32/types.h +10 -0
- data/ext/tarruby.c +648 -0
- 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
|
+
|