rbcdio 0.04 → 0.05
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/ChangeLog +68 -0
- data/Makefile.am +6 -0
- data/Makefile.in +78 -37
- data/README +2 -3
- data/Rakefile +71 -154
- data/VERSION +1 -1
- data/config.guess +57 -50
- data/config.sub +51 -16
- data/configure +1182 -1459
- data/configure.ac +1 -1
- data/ext/cdio/Makefile +59 -87
- data/ext/cdio/extconf.rb +17 -14
- data/ext/cdio/rubycdio_wrap.c +101 -70
- data/ext/iso9660/Makefile +59 -87
- data/ext/iso9660/extconf.rb +14 -12
- data/ext/iso9660/rubyiso9660_wrap.c +87 -56
- data/install-sh +3 -2
- data/missing +29 -20
- data/test/isocopy.rb +32 -28
- metadata +15 -7
data/install-sh
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/bin/sh
|
2
2
|
# install - install a program, script, or datafile
|
3
3
|
|
4
|
-
scriptversion=
|
4
|
+
scriptversion=2009-04-28.21; # UTC
|
5
5
|
|
6
6
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
7
7
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
@@ -515,5 +515,6 @@ done
|
|
515
515
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
516
516
|
# time-stamp-start: "scriptversion="
|
517
517
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
518
|
-
# time-stamp-
|
518
|
+
# time-stamp-time-zone: "UTC"
|
519
|
+
# time-stamp-end: "; # UTC"
|
519
520
|
# End:
|
data/missing
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
#! /bin/sh
|
2
2
|
# Common stub for a few missing GNU programs while installing.
|
3
3
|
|
4
|
-
scriptversion=
|
4
|
+
scriptversion=2009-04-28.21; # UTC
|
5
5
|
|
6
|
-
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
|
7
|
-
#
|
6
|
+
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
|
7
|
+
# 2008, 2009 Free Software Foundation, Inc.
|
8
8
|
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
9
9
|
|
10
10
|
# This program is free software; you can redistribute it and/or modify
|
@@ -18,9 +18,7 @@ scriptversion=2006-05-10.23
|
|
18
18
|
# GNU General Public License for more details.
|
19
19
|
|
20
20
|
# You should have received a copy of the GNU General Public License
|
21
|
-
# along with this program
|
22
|
-
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
23
|
-
# 02110-1301, USA.
|
21
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
24
22
|
|
25
23
|
# As a special exception to the GNU General Public License, if you
|
26
24
|
# distribute this file as part of a program that contains a
|
@@ -89,6 +87,9 @@ Supported PROGRAM values:
|
|
89
87
|
tar try tar, gnutar, gtar, then tar without non-portable flags
|
90
88
|
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
91
89
|
|
90
|
+
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
|
91
|
+
\`g' are ignored when checking the name.
|
92
|
+
|
92
93
|
Send bug reports to <bug-automake@gnu.org>."
|
93
94
|
exit $?
|
94
95
|
;;
|
@@ -106,15 +107,22 @@ Send bug reports to <bug-automake@gnu.org>."
|
|
106
107
|
|
107
108
|
esac
|
108
109
|
|
110
|
+
# normalize program name to check for.
|
111
|
+
program=`echo "$1" | sed '
|
112
|
+
s/^gnu-//; t
|
113
|
+
s/^gnu//; t
|
114
|
+
s/^g//; t'`
|
115
|
+
|
109
116
|
# Now exit if we have it, but it failed. Also exit now if we
|
110
117
|
# don't have it and --version was passed (most likely to detect
|
111
|
-
# the program).
|
118
|
+
# the program). This is about non-GNU programs, so use $1 not
|
119
|
+
# $program.
|
112
120
|
case $1 in
|
113
|
-
lex
|
121
|
+
lex*|yacc*)
|
114
122
|
# Not GNU programs, they don't have --version.
|
115
123
|
;;
|
116
124
|
|
117
|
-
tar)
|
125
|
+
tar*)
|
118
126
|
if test -n "$run"; then
|
119
127
|
echo 1>&2 "ERROR: \`tar' requires --run"
|
120
128
|
exit 1
|
@@ -138,7 +146,7 @@ esac
|
|
138
146
|
|
139
147
|
# If it does not exist, or fails to run (possibly an outdated version),
|
140
148
|
# try to emulate it.
|
141
|
-
case $
|
149
|
+
case $program in
|
142
150
|
aclocal*)
|
143
151
|
echo 1>&2 "\
|
144
152
|
WARNING: \`$1' is $msg. You should only need it if
|
@@ -148,7 +156,7 @@ WARNING: \`$1' is $msg. You should only need it if
|
|
148
156
|
touch aclocal.m4
|
149
157
|
;;
|
150
158
|
|
151
|
-
autoconf)
|
159
|
+
autoconf*)
|
152
160
|
echo 1>&2 "\
|
153
161
|
WARNING: \`$1' is $msg. You should only need it if
|
154
162
|
you modified \`${configure_ac}'. You might want to install the
|
@@ -157,7 +165,7 @@ WARNING: \`$1' is $msg. You should only need it if
|
|
157
165
|
touch configure
|
158
166
|
;;
|
159
167
|
|
160
|
-
autoheader)
|
168
|
+
autoheader*)
|
161
169
|
echo 1>&2 "\
|
162
170
|
WARNING: \`$1' is $msg. You should only need it if
|
163
171
|
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
@@ -187,7 +195,7 @@ WARNING: \`$1' is $msg. You should only need it if
|
|
187
195
|
while read f; do touch "$f"; done
|
188
196
|
;;
|
189
197
|
|
190
|
-
autom4te)
|
198
|
+
autom4te*)
|
191
199
|
echo 1>&2 "\
|
192
200
|
WARNING: \`$1' is needed, but is $msg.
|
193
201
|
You might have modified some files without having the
|
@@ -210,7 +218,7 @@ WARNING: \`$1' is needed, but is $msg.
|
|
210
218
|
fi
|
211
219
|
;;
|
212
220
|
|
213
|
-
bison
|
221
|
+
bison*|yacc*)
|
214
222
|
echo 1>&2 "\
|
215
223
|
WARNING: \`$1' $msg. You should only need it if
|
216
224
|
you modified a \`.y' file. You may need the \`Bison' package
|
@@ -240,7 +248,7 @@ WARNING: \`$1' $msg. You should only need it if
|
|
240
248
|
fi
|
241
249
|
;;
|
242
250
|
|
243
|
-
lex
|
251
|
+
lex*|flex*)
|
244
252
|
echo 1>&2 "\
|
245
253
|
WARNING: \`$1' is $msg. You should only need it if
|
246
254
|
you modified a \`.l' file. You may need the \`Flex' package
|
@@ -263,7 +271,7 @@ WARNING: \`$1' is $msg. You should only need it if
|
|
263
271
|
fi
|
264
272
|
;;
|
265
273
|
|
266
|
-
help2man)
|
274
|
+
help2man*)
|
267
275
|
echo 1>&2 "\
|
268
276
|
WARNING: \`$1' is $msg. You should only need it if
|
269
277
|
you modified a dependency of a manual page. You may need the
|
@@ -277,11 +285,11 @@ WARNING: \`$1' is $msg. You should only need it if
|
|
277
285
|
else
|
278
286
|
test -z "$file" || exec >$file
|
279
287
|
echo ".ab help2man is required to generate this page"
|
280
|
-
exit
|
288
|
+
exit $?
|
281
289
|
fi
|
282
290
|
;;
|
283
291
|
|
284
|
-
makeinfo)
|
292
|
+
makeinfo*)
|
285
293
|
echo 1>&2 "\
|
286
294
|
WARNING: \`$1' is $msg. You should only need it if
|
287
295
|
you modified a \`.texi' or \`.texinfo' file, or any other file
|
@@ -310,7 +318,7 @@ WARNING: \`$1' is $msg. You should only need it if
|
|
310
318
|
touch $file
|
311
319
|
;;
|
312
320
|
|
313
|
-
tar)
|
321
|
+
tar*)
|
314
322
|
shift
|
315
323
|
|
316
324
|
# We have already tried tar in the generic part.
|
@@ -363,5 +371,6 @@ exit 0
|
|
363
371
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
364
372
|
# time-stamp-start: "scriptversion="
|
365
373
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
366
|
-
# time-stamp-
|
374
|
+
# time-stamp-time-zone: "UTC"
|
375
|
+
# time-stamp-end: "; # UTC"
|
367
376
|
# End:
|
data/test/isocopy.rb
CHANGED
@@ -17,35 +17,39 @@ CD_IMAGE_PATH = File.join(mypath, '..', 'data')
|
|
17
17
|
class ISO9660Tests < Test::Unit::TestCase
|
18
18
|
|
19
19
|
def test_fs()
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
statbuf = cd.stat(
|
26
|
-
|
27
|
-
|
28
|
-
|
20
|
+
cd_image_fname = File.join(CD_IMAGE_PATH, 'isofs-m1.cue')
|
21
|
+
cd = ISO9660::FS::new(cd_image_fname)
|
22
|
+
assert(cd != nil, "Open CD image %s" % cd_image_fname)
|
23
|
+
statbuf = cd.stat('/copying')
|
24
|
+
if nil == statbuf
|
25
|
+
statbuf = cd.stat('/COPYING')
|
26
|
+
expected_fn = 'COPYING'
|
27
|
+
else
|
28
|
+
expected_fn = 'COPYING.;1'
|
29
|
+
end
|
30
|
+
|
31
|
+
good_stat = { 'lsn' => 26, 'filename' => expected_fn, 'type' => 1,
|
32
|
+
'secsize' => 9, 'size' => 17992 }
|
33
|
+
|
34
|
+
assert_equal(good_stat, statbuf, 'CD 9660 file stats')
|
35
|
+
|
36
|
+
# Get file
|
37
|
+
buf_all =[]
|
38
|
+
blocks = (statbuf['size'].to_f / Rubycdio::ISO_BLOCKSIZE).ceil()
|
39
|
+
for i in 0 .. blocks - 1
|
40
|
+
lsn = statbuf['lsn'] + i
|
41
|
+
size, buf = cd.read_data_blocks(lsn)
|
29
42
|
|
30
|
-
assert_equal(
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
"Error reading ISO 9660 file %d" % lsn )
|
41
|
-
buf_all << buf
|
42
|
-
end
|
43
|
-
|
44
|
-
length=statbuf['size'];
|
45
|
-
test_file_contents=buf_all.join('')[0..length-1]
|
46
|
-
assert_equal(FILE_CONTENTS, test_file_contents,
|
47
|
-
'File contents comparison')
|
48
|
-
cd.close()
|
43
|
+
assert_equal( true, size >= 0,
|
44
|
+
"Error reading ISO 9660 file %d" % lsn )
|
45
|
+
buf_all << buf
|
46
|
+
end
|
47
|
+
|
48
|
+
length=statbuf['size'];
|
49
|
+
test_file_contents=buf_all.join('')[0..length-1]
|
50
|
+
assert_equal(FILE_CONTENTS, test_file_contents,
|
51
|
+
'File contents comparison')
|
52
|
+
cd.close()
|
49
53
|
end
|
50
54
|
end
|
51
55
|
|
metadata
CHANGED
@@ -1,19 +1,25 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbcdio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "0.
|
4
|
+
version: "0.05"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rocky Bernstein
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-10-27 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
16
|
-
description:
|
16
|
+
description: |
|
17
|
+
A library for CD-ROM and CD image access. Applications wishing to be
|
18
|
+
oblivious of the OS- and device-dependent properties of a CD-ROM or of
|
19
|
+
the specific details of various CD-image formats may benefit from
|
20
|
+
using this library. A library for working with ISO-9660 filesystems
|
21
|
+
is included.
|
22
|
+
|
17
23
|
email: rocky@gnu.org
|
18
24
|
executables: []
|
19
25
|
|
@@ -89,6 +95,8 @@ files:
|
|
89
95
|
- test/cdda.toc
|
90
96
|
has_rdoc: true
|
91
97
|
homepage: http://rubyforge.org/projects/rbcdio/
|
98
|
+
licenses: []
|
99
|
+
|
92
100
|
post_install_message:
|
93
101
|
rdoc_options: []
|
94
102
|
|
@@ -109,9 +117,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
117
|
requirements: []
|
110
118
|
|
111
119
|
rubyforge_project: rbcdio
|
112
|
-
rubygems_version: 1.3.
|
120
|
+
rubygems_version: 1.3.5
|
113
121
|
signing_key:
|
114
|
-
specification_version:
|
115
|
-
summary: Ruby
|
122
|
+
specification_version: 3
|
123
|
+
summary: Ruby binding for libcdio (CD Input and Control library)
|
116
124
|
test_files: []
|
117
125
|
|