diff -ur tar2rubyscript-0.2.tar.gz/tar2rubyscript/README tar2rubyscript-0.3.tar.gz/tar2rubyscript/README
--- tar2rubyscript-0.2.tar.gz/tar2rubyscript/README	2003-08-18 18:54:13.000000000 +0200
+++ tar2rubyscript-0.3.tar.gz/tar2rubyscript/README	2003-09-21 18:01:58.000000000 +0200
@@ -1,5 +1,3 @@
 Usage: ruby tar2rubyscript.rb tarrubyscript.rb application.tar application.rb [licence.txt]
 
-Just ignore the existance of init.rb ...
-
 For more information, see http://www.erikveen.dds.nl/tar2rubyscript/ .
diff -ur tar2rubyscript-0.2.tar.gz/tar2rubyscript/init.rb tar2rubyscript-0.3.tar.gz/tar2rubyscript/init.rb
--- tar2rubyscript-0.2.tar.gz/tar2rubyscript/init.rb	2003-09-14 12:32:14.000000000 +0200
+++ tar2rubyscript-0.3.tar.gz/tar2rubyscript/init.rb	2003-10-10 19:28:25.000000000 +0200
@@ -1,29 +0,0 @@
-scriptfile	= "tarrubyscript.rb"
-tarfile		= oldlocation(ARGV.shift)
-outfile		= oldlocation(ARGV.shift)
-licensefile	= oldlocation(ARGV.shift)
-
-if outfile.nil?
-  puts "Usage: ruby tar2rubyscript.rb application.tar application.rb [license.txt]"
-
-  exit 1
-end
-
-raise "#{tarfile} doesn´t exist."	if not FileTest.file?(tarfile)
-raise "#{licensefile} doesn´t exist."	if (not licensefile.nil? and not FileTest.file?(licensefile))
-
-script	= nil	; File.open(scriptfile)		{|f| script	= f.read}
-archive	= nil	; File.open(tarfile, "rb")	{|f| archive	= [f.read].pack("m").split("\n").collect{|s| "# " + s}.join("\n")}
-
-if not licensefile.nil?
-  lic	= nil	; File.open(licensefile)	{|f| lic	= f.read}
-
-  script	= "# License, not of this script, but of the application it contains:\n\n" + lic + "\n" + script
-end
-
-File.open(outfile, "wb") do |f|
-  f.write script
-  f.write "\n"
-  f.write "\n"
-  f.write archive
-end
diff -ur tar2rubyscript-0.2.tar.gz/tar2rubyscript/tar2rubyscript.rb tar2rubyscript-0.3.tar.gz/tar2rubyscript/tar2rubyscript.rb
--- tar2rubyscript-0.2.tar.gz/tar2rubyscript/tar2rubyscript.rb	2003-09-14 12:32:14.000000000 +0200
+++ tar2rubyscript-0.3.tar.gz/tar2rubyscript/tar2rubyscript.rb	2003-09-21 19:15:48.000000000 +0200
@@ -1,19 +1,49 @@
-scriptfile	= ARGV.shift
+scriptfile	= "tarrubyscript.rb"
 tarfile		= ARGV.shift
 outfile		= ARGV.shift
 licensefile	= ARGV.shift
 
 if outfile.nil?
   puts "Usage: ruby tar2rubyscript.rb application.tar application.rb [license.txt]"
+  puts "       or"
+  puts "       ruby tar2rubyscript.rb application/ application.rb [license.txt]"
+  puts ""
+  puts "The second option needs the external program ´tar´ for creating"
+  puts "the archive internally."
 
   exit 1
 end
 
-raise "#{tarfile} doesn´t exist."	if not FileTest.file?(tarfile)
+raise "#{tarfile} doesn´t exist."	if not FileTest.exist?(tarfile)
 raise "#{licensefile} doesn´t exist."	if (not licensefile.nil? and not FileTest.file?(licensefile))
 
-script	= nil	; File.open(scriptfile)		{|f| script	= f.read}
-archive	= nil	; File.open(tarfile, "rb")	{|f| archive	= [f.read].pack("m").split("\n").collect{|s| "# " + s}.join("\n")}
+script	= nil
+archive	= nil
+
+File.open(scriptfile)			{|f| script	= f.read}
+
+if FileTest.file?(tarfile)
+  File.open(tarfile, "rb")		{|f| archive	= [f.read].pack("m").split("\n").collect{|s| "# " + s}.join("\n")}
+end
+
+tardir	= tarfile.gsub(/[\/\\]$/, "")
+
+if FileTest.directory?(tardir)
+  orgdir	= Dir.pwd
+
+  Dir.chdir(tardir)
+
+  if FileTest.file?("tar2rubyscript.sh")
+    puts "\". ./tar2rubyscript.sh\""
+    system(". ./tar2rubyscript.sh")
+  end
+
+  Dir.chdir("..")
+
+  IO.popen("tar ch #{tardir.sub(/.*[\/\\]/, "")}", "rb")	{|f| archive	= [f.read].pack("m").split("\n").collect{|s| "# " + s}.join("\n")}
+
+  Dir.chdir(orgdir)
+end
 
 if not licensefile.nil?
   lic	= nil	; File.open(licensefile)	{|f| lic	= f.read}
diff -ur tar2rubyscript-0.2.tar.gz/tar2rubyscript/tarrubyscript.rb tar2rubyscript-0.3.tar.gz/tar2rubyscript/tarrubyscript.rb
--- tar2rubyscript-0.2.tar.gz/tar2rubyscript/tarrubyscript.rb	2003-09-14 12:32:14.000000000 +0200
+++ tar2rubyscript-0.3.tar.gz/tar2rubyscript/tarrubyscript.rb	2003-09-21 19:15:48.000000000 +0200
@@ -257,7 +257,7 @@
     end
   end
 
-  def oldlocation(file)
+  def oldlocation(file="")
     res	= file
 
     if not file.nil?