diff -ur tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/init.rb tar2rubyscript-0.4.2.tar.gz/tar2rubyscript/init.rb
--- tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/init.rb 2004-12-18 14:58:32.000000000 +0100
+++ tar2rubyscript-0.4.2.tar.gz/tar2rubyscript/init.rb 2004-12-27 11:16:27.000000000 +0100
@@ -42,6 +42,8 @@
script = File.open(scriptfile){|f| f.read}
if File.file?(tarfile)
+ $stderr.puts "Found archive..."
+
archive = File.open(tarfile, "rb"){|f| [f.read].pack("m").split("\n").collect{|s| "# " + s}.join("\n")}
end
@@ -51,15 +53,19 @@
Dir.chdir(tarfile)
if File.file?("tar2rubyscript.bat")
- $stderr.puts "\".\\tar2rubyscript.bat\""
+ $stderr.puts "Running tar2rubyscript.bat ..."
+
system(".\\tar2rubyscript.bat")
end
if File.file?("tar2rubyscript.sh")
- $stderr.puts "\". ./tar2rubyscript.sh\""
+ $stderr.puts "Running tar2rubyscript.sh ..."
+
system("sh -c \". ./tar2rubyscript.sh\"")
end
+ $stderr.puts "Creating archive..."
+
Dir.chdir("..")
begin
@@ -74,6 +80,8 @@
end
if not licensefile.nil? and not licensefile.empty?
+ $stderr.puts "Adding license..."
+
lic = File.open(licensefile){|f| f.readlines}
lic.collect! do |line|
@@ -87,6 +95,8 @@
rbfile = tarfile.gsub(/\.tar$/, "") + ".rb" if (rbfile.nil? or File.basename(rbfile) == "-")
+$stderr.puts "Creating #{File.basename(rbfile)} ..."
+
File.open(rbfile, "wb") do |f|
f.write script
f.write "\n"
diff -ur tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/tarrubyscript.rb tar2rubyscript-0.4.2.tar.gz/tar2rubyscript/tarrubyscript.rb
--- tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/tarrubyscript.rb 2004-12-18 12:29:29.000000000 +0100
+++ tar2rubyscript-0.4.2.tar.gz/tar2rubyscript/tarrubyscript.rb 2004-12-26 22:15:10.000000000 +0100
@@ -21,9 +21,11 @@
# Tar2RubyScript constants
-ShowContent = ARGV.include?("--tar2rubyscript-list")
-JustExtract = ARGV.include?("--tar2rubyscript-justextract")
-ToTar = ARGV.include?("--tar2rubyscript-totar")
+unless defined?(BLOCKSIZE)
+ ShowContent = ARGV.include?("--tar2rubyscript-list")
+ JustExtract = ARGV.include?("--tar2rubyscript-justextract")
+ ToTar = ARGV.include?("--tar2rubyscript-totar")
+end
ARGV.concat []
@@ -33,35 +35,37 @@
# Tar constants
-BLOCKSIZE = 512
+unless defined?(BLOCKSIZE)
+ BLOCKSIZE = 512
-NAMELEN = 100
-MODELEN = 8
-UIDLEN = 8
-GIDLEN = 8
-CHKSUMLEN = 8
-SIZELEN = 12
-MAGICLEN = 8
-MODTIMELEN = 12
-UNAMELEN = 32
-GNAMELEN = 32
-DEVLEN = 8
-
-TMAGIC = "ustar"
-GNU_TMAGIC = "ustar "
-SOLARIS_TMAGIC = "ustar\00000"
-
-MAGICS = [TMAGIC, GNU_TMAGIC, SOLARIS_TMAGIC]
-
-LF_OLDFILE = ´\0´
-LF_FILE = ´0´
-LF_LINK = ´1´
-LF_SYMLINK = ´2´
-LF_CHAR = ´3´
-LF_BLOCK = ´4´
-LF_DIR = ´5´
-LF_FIFO = ´6´
-LF_CONTIG = ´7´
+ NAMELEN = 100
+ MODELEN = 8
+ UIDLEN = 8
+ GIDLEN = 8
+ CHKSUMLEN = 8
+ SIZELEN = 12
+ MAGICLEN = 8
+ MODTIMELEN = 12
+ UNAMELEN = 32
+ GNAMELEN = 32
+ DEVLEN = 8
+
+ TMAGIC = "ustar"
+ GNU_TMAGIC = "ustar "
+ SOLARIS_TMAGIC = "ustar\00000"
+
+ MAGICS = [TMAGIC, GNU_TMAGIC, SOLARIS_TMAGIC]
+
+ LF_OLDFILE = ´\0´
+ LF_FILE = ´0´
+ LF_LINK = ´1´
+ LF_SYMLINK = ´2´
+ LF_CHAR = ´3´
+ LF_BLOCK = ´4´
+ LF_DIR = ´5´
+ LF_FIFO = ´6´
+ LF_CONTIG = ´7´
+end
class Dir
def self.rm_rf(entry)
@@ -221,11 +225,13 @@
end
class Content
+ @@count = 0 unless defined?(@@count)
+
def initialize
@archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
temp = ENV["TEMP"]
temp = "/tmp" if temp.nil?
- @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}"
+ @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count += 1}"
end
def list
@@ -247,17 +253,29 @@
end
class TempSpace
+ @@count = 0 unless defined?(@@count)
+
def initialize
@archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
@olddir = Dir.pwd
temp = ENV["TEMP"]
temp = "/tmp" if temp.nil?
- @tempdir = "#{temp}/tar2rubyscript.d.#{Process.pid}"
- @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}"
+ @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count += 1}"
+ @tempdir = "#{temp}/tar2rubyscript.d.#{Process.pid}.#{@@count}"
@@tempspace = self
@newdir = @tempdir
+
+ @touchthread =
+ Thread.new do
+ loop do
+ sleep 60*60
+
+ touch(@tempdir)
+ touch(@tempfile)
+ end
+ end
end
def extract
@@ -292,6 +310,7 @@
end
at_exit do
+ @touchthread.kill
# Close all File objects, opened in init.rb .
@@ -316,6 +335,32 @@
self
end
+ def touch(entry)
+ entry = entry.gsub!(/[\/\\]*$/, "") unless entry.nil?
+
+ return unless File.exists?(entry)
+
+ if File.directory?(entry)
+ pdir = Dir.pwd
+
+ begin
+ Dir.chdir(entry)
+
+ begin
+ Dir.new(".").each do |e|
+ touch(e) unless [".", ".."].include?(e)
+ end
+ ensure
+ Dir.chdir(pdir)
+ end
+ rescue Errno::EACCES => error
+ puts error
+ end
+ else
+ File.utime(Time.now, File.mtime(entry), entry)
+ end
+ end
+
def oldlocation(file="")
if block_given?
pdir = Dir.pwd
@@ -362,11 +407,13 @@
end
class Extract
+ @@count = 0 unless defined?(@@count)
+
def initialize
@archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
temp = ENV["TEMP"]
temp = "/tmp" if temp.nil?
- @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}"
+ @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}.#{@@count += 1}"
end
def extract
@@ -432,6 +479,7 @@
TempSpace.new.extract.cleanup
$:.unshift(newlocation)
+ $:.push(oldlocation)
newlocation do
if __FILE__ == $0