D
denmat
Hi List,
I have ruby-1.8.6.114-1.fc7 and archive-tar-minitar (0.5.2).
If I run this script on windowsXP (ruby1.8.6.26 archive-tar-minitar
(0.5.2)) it completes without a problem
def tar_and_gzip(destination, paths)
Zlib::GzipWriter.new(File.open(destination, 'wb')) do |gzip|
begin
out = Archive::Tar::Minitar::Output.new(gzip)
paths.each do |f|
Find.find(f) do |files|
if FileTest.file?(files)
Minitar.pack_file(files, out)
$logger.info('tar_and_gzip') { "Packing file:
#{files}" }
Find.prune
elsif FileTest.directory?(files)
Minitar.pack_file(files, out)
$logger.info('tar_and_gzip') { "Packing
directory: #{files}" }
else
$logger.info('tar_and_gzip') { "Finished packing
files." }
Find.prune
end
end
end
ensure
gzip.finish # same result with gzip.close
end
end
end
destination = '../buildspace'
tar_me = [ "control", "postinst", "md5sum" ]
tar_and_gzip("#{destination}/control.tar.gz", tar_me )
(* only changes to above script on the different boxes is the file
paths)
Yet the same script on my linux box produces:
zlib(finalizer): Zlib::GzipWriter object must be closed explicitly.
zlib(finalizer): the stream was freed prematurely.
zlib(finalizer): Zlib::GzipWriter object must be closed explicitly.
zlib(finalizer): the stream was freed prematurely.
Anyone seen this before or should I submit as a bug?
denmat
I have ruby-1.8.6.114-1.fc7 and archive-tar-minitar (0.5.2).
If I run this script on windowsXP (ruby1.8.6.26 archive-tar-minitar
(0.5.2)) it completes without a problem
def tar_and_gzip(destination, paths)
Zlib::GzipWriter.new(File.open(destination, 'wb')) do |gzip|
begin
out = Archive::Tar::Minitar::Output.new(gzip)
paths.each do |f|
Find.find(f) do |files|
if FileTest.file?(files)
Minitar.pack_file(files, out)
$logger.info('tar_and_gzip') { "Packing file:
#{files}" }
Find.prune
elsif FileTest.directory?(files)
Minitar.pack_file(files, out)
$logger.info('tar_and_gzip') { "Packing
directory: #{files}" }
else
$logger.info('tar_and_gzip') { "Finished packing
files." }
Find.prune
end
end
end
ensure
gzip.finish # same result with gzip.close
end
end
end
destination = '../buildspace'
tar_me = [ "control", "postinst", "md5sum" ]
tar_and_gzip("#{destination}/control.tar.gz", tar_me )
(* only changes to above script on the different boxes is the file
paths)
Yet the same script on my linux box produces:
zlib(finalizer): Zlib::GzipWriter object must be closed explicitly.
zlib(finalizer): the stream was freed prematurely.
zlib(finalizer): Zlib::GzipWriter object must be closed explicitly.
zlib(finalizer): the stream was freed prematurely.
Anyone seen this before or should I submit as a bug?
denmat