maintain rinstall as a common rant (Rantfile), rake (Rakefile)
authorRalph Amissah <ralph@amissah.com>
Fri, 27 Jul 2007 20:08:44 +0000 (21:08 +0100)
committerRalph Amissah <ralph@amissah.com>
Fri, 27 Jul 2007 20:08:44 +0000 (21:08 +0100)
CHANGELOG
Rakefile [new symlink]
Rantfile [changed from file to symlink]
rinstall [new file with mode: 0644]

index f7cad6b7502aabddd5f9c9946e4d6e6fc4f99618..216580498410d21db80fe2f45b48409cbc159b06 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -20,7 +20,9 @@ http://www.jus.uio.no/sisu/pkg/src/sisu_0.55.6.orig.tar.gz
     Dublin Core, XML output available (-O), decide use later (filenames, output
     dir etc.)
 
-  * rant installer, minor adjustments
+  * rinstall as both a rant and rake installer for sisu
+   * Rakefile softlink to rinstall
+   * Rantfile softlink to rinstall
 
   * debian vim
     * moved installation of syntax and ftplugin back to vim/addons
diff --git a/Rakefile b/Rakefile
new file mode 120000 (symlink)
index 0000000..0bae78d
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1 @@
+rinstall
\ No newline at end of file
deleted file mode 100644 (file)
index d12388223188f240da1870cab27a1cce031686d9..0000000000000000000000000000000000000000
--- a/Rantfile
+++ /dev/null
@@ -1,443 +0,0 @@
-#!/usr/bin/env ruby
-raise 'Please, use ruby1.8.4 or later.' if RUBY_VERSION < '1.8.4'
-=begin
- Rantfile installer for SiSU
- * Homepage: <http://www.jus.uio.no/sisu/SiSU>
-             <http://search.sisudoc.org>
- * Download: <http://www.jus.uio.no/sisu/download>
-
- Copyright (C) 2007 Ralph Amissah
-
- * License: LGPL - GNU Lesser General Public License
-     [same license as Rant provided within the Rant package]
-
- * Ralph Amissah <ralph@amissah.com>
-   Ralph Amissah <ralph.amissah@gmail.com>
-
- Rant is a Ruby 'ant' by Stefan Lang
- * Rant may be downloaded and installed from:
-     http://make.rubyforge.org/
-
- Notes on use:
-     rant -T
-
- SiSU can also be Setup/Installation using:
- * Minero Aoki's setup.rb, provided along with SiSU, or
-
-=end
-#%% produce a makefile suitable for the target platform
-#require 'mkmf'
-#create_makefile("sisu")
-require 'find'
-require 'fileutils'
-#require 'ftools'
-require 'rbconfig.rb'
-require 'yaml'
-include FileUtils
-class Project_details
-  def name
-    'SiSU'
-  end
-  def rant
-    "Rantfile for the installation/setup of #{name}"
-  end
-  def platform_notice
-    "[#{name} is for the Linux/Unix Platforms]"
-  end
-  def dir_proj
-    'sisu'
-  end
-  def env
-    Config::CONFIG
-  end
-  def host
-    env['host']
-  end
-  def dir_arch
-    env['archdir']
-  end
-  def dir_sitearch
-    env['sitearchdir']
-  end
-  def dir_bin
-    env['bindir']
-  end
-  def dir_lib
-    env['sitelibdir']
-  end
-  def dir_data
-    env['datadir']
-  end
-  def dir_share
-    "#{env['datadir']}/sisu"
-  end
-  def dir_conf
-    env['sysconfdir']
-  end
-  def dir_man
-    env['mandir']
-  end
-  def dir_vim
-    "#{env['datadir']}/sisu/vim"
-  end
-  def dir_out
-    "#{env['localstatedir']}/#{dir_proj}"
-  end
-  def dir_rubylib
-    env['LIBRUBYARG_SHARED']
-  end
-  def dir_pwd
-    Dir.pwd #ENV['PWD']
-  end
-  def version
-    stamp={}
-    v="#{dir_pwd}/conf/sisu/version.yml"
-    version=if File.exist?(v)
-      stamp=YAML::load(File::open(v))
-      stamp[:version]
-    else ''
-    end
-  end
-end
-@p=Project_details.new
-def answer?(ask)
-  resp='redo'
-  print ask + " ['yes', 'no' or 'quit']: "
-  resp=File.new('/dev/tty').gets.strip
-  #resp=gets.strip
-  ans=if resp == 'yes'; true
-  elsif resp == 'no'; false
-  elsif resp =~/^quit|exit$/; exit
-  else puts "[please type: 'yes', 'no' or 'quit']"
-    answer?(ask)
-  end
-end
-def default_notice
-    ans= %{#{@p.rant}
-  Information on alternative actions is available using:
-    "rant help" or "rant -T"
-  Default action selected - "install and to setup #{@p.name}" proceed? }
-    resp=answer?(ans)
-    exit unless resp
-end
-def get_username
-  gets.strip
-end
-def chmod_file(place)
-  if place =~/\/bin/; File.chmod(0755,place)
-  else                File.chmod(0644,place)
-  end
-end
-def chmod_util(place)
-  if place =~/\/bin/; chmod(0755,place)
-  else                chmod(0644,place)
-  end
-end
-                                                           #%% using a directory and its mapping
-def setup_find_create(dir_get,dir_put)                     #primary,
-  Find.find("#{@p.dir_pwd}/#{dir_get}") do |f|
-    stub=f.scan(/#{@p.dir_pwd}\/#{dir_get}\/(\S+)/).join
-    place="#{dir_put}/#{stub}"
-    action=case
-    when File.file?(f)
-      cp(f,place)
-      chmod_file(place)
-      "->  #{dir_put}/"
-    when File.directory?(f)
-      FileUtils.mkpath(place) unless FileTest.directory?(place)
-      "./#{dir_get}/"
-    else '?'
-    end
-    puts "#{action}#{stub}"
-  end
-end
-def setup_find_cp_r(dir_get,dir_put)                       #secondary, using recursive copy
-  Find.find("#{@p.dir_pwd}/#{dir_get}") do |f|
-    stub=f.scan(/#{@p.dir_pwd}\/#{dir_get}\/(\S+)/).join
-    place="#{dir_put}/#{stub}"
-    case
-    when File.file?(f)
-      cp_r(f,place)
-      chmod_util(place)
-    when File.directory?(f)
-      mkdir(place) unless FileTest.directory?(place)
-    end
-  end
-end
-def rant_system_info
-  puts <<WOK
-  #{@p.platform_notice}
-
-  Host
-    host:             #{@p.host}
-    arch:             #{@p.dir_arch}
-    sitearch:         #{@p.dir_sitearch}
-
-  Directories for installation
-    bin:                                          #{@p.dir_bin}
-    lib (site-ruby):                              #{@p.dir_lib}/#{@p.dir_proj}/v*
-    conf [etc]:                                   #{@p.dir_conf}/#{@p.dir_proj}
-    data (odf, shared images):                    #{@p.dir_share}
-    vim  (vim syntax, highlighting, ftplugin):    #{@p.dir_data}/sisu/vim
-    data (README, version_manifest):              #{@p.dir_data}/doc/#{@p.dir_proj}
-    man (manual pages):                           #{@p.dir_man}
-    output:                                       #{@p.dir_out}
-      processing:                                 #{@p.dir_out}/processing
-      www:                                        #{@p.dir_out}/www
-
-    rubylib:          #{@p.dir_rubylib}
-
-WOK
-end
-def rant_project_help
-  puts <<WOK
-
-#{@p.name}
-  #{@p.rant}
-  #{@p.platform_notice}
-
-Commands quick start list
-
-  #{@p.name} Rant Help:          (This Rantfile uses the same directory structure as setup.rb)
-    rant -T                # a task list, (generated by Rant) for more complete and up to date help
-    rant system            # system info used
-
-  Quick start install and remove project #{@p.name}
-   as root:
-    rant                   # install #{@p.name}
-
-    rant setup             # install #{@p.name} (without additonal configuration and generating of test file)
-
-    rant reinstall         # reinstall #{@p.name}
-
-    rant remove            # clobber/remove #{@p.name}, current version: #{@p.version}
-    rant remove_package    # clobber/remove #{@p.name}, all versions
-
-For a more detailed and up to date list of command options use
-
-  rant -T
-
-WOK
-end
-def rant_tasks
-  sys('rant -T')
-end
-                                                           #%% tasks
-desc "rant (as root type 'rant' for default action)"
-task :default => [:default_notice,:project]
-#task :default => [:help,:notice,:project]
-desc "Setup/Install #{@p.name} and try generate a file"
-task :project=> [:setup_bin,:setup_lib,:setup_conf,:setup_share,:setup_data,:setup_man,:setup_vim,:post_install_note]
-desc "Setup/Install #{@p.name}"
-task :setup=> [:setup_bin, :setup_lib,:setup_conf,:setup_share,:setup_data] #, :help]
-desc "Setup/Install #{@p.name}: bin, lib and conf (no data)"
-task :setup_base=> [:setup_bin,:setup_lib,:setup_conf,:setup_share,:setup_man,:setup_vim]
-desc "Setup/Install #{@p.name} bin, lib and conf (no data and no attempt to do postinstall setup)"
-task :base=> [:setup_base]
-if File.directory?('bin')                                       #bin
-  desc "Setup #{@p.name} bin only, synonym :bin"
-  task :setup_bin => [:setup_bin]
-  task :bin => [:setup_bin]
-end
-if File.directory?('lib')                                       #lib
-  desc "Setup #{@p.name} lib only, synonym :lib"
-  task :setup_lib => [:setup_lib]
-  task :lib => [:setup_lib]
-end
-if File.directory?('conf')                                      #conf or etc
-  desc "Setup #{@p.name} conf only, synonyms :conf & :etc"
-  task :setup_conf => [:setup_conf]
-  task :conf => [:setup_conf]
-  task :setup_etc => [:setup_conf]
-  task :etc => [:setup_conf]
-end
-if File.directory?('data')                                      #data
-  desc "Setup #{@p.name} data only, synonyms :data & :examples"
-  task :setup_data => [:setup_data]
-  task :data => [:setup_data]
-  task :setup_examples => [:setup_data]
-  task :examples => [:setup_data]
-end
-if File.directory?('data/sisu')                                      #share (odf shared-images)
-  desc "Setup #{@p.name} shared data only (odf & shared images)"
-  task :setup_share => [:setup_share]
-  task :share => [:setup_share]
-end
-if File.directory?('man')                                  #man pages
-  desc "Setup #{@p.name} man pages only, synonyms :man"
-  task :setup_man => [:setup_man]
-  task :man => [:setup_man]
-end
-if File.directory?('data/vim')                                  #man pages
-  desc "Setup #{@p.name} vim config files only, synonyms :vim"
-  task :setup_vim => [:setup_vim]
-  task :vim => [:setup_vim]
-end
-desc "Setup/Install #{@p.name}: bin, lib, conf and data (no attempt to do postinstall setup)"
-task :setup_only=> [:setup_bin,:setup_lib,:setup_conf,:setup_share,:setup_data,:help]
-desc "Remove #{@p.name} (all versions)"                   #remove project
-task :remove_package => [:remove_bin, :remove_lib, :remove_conf]
-if File.directory?('bin')                                       #bin
-  desc "Remove #{@p.name} bin only"                       #remove bin
-  task :remove_bin => [:remove_bin]
-end
-if File.directory?('lib')                                       #lib
-  desc "Remove #{@p.name} lib only"                       #remove lib
-  task :remove_lib => [:remove_lib]
-end
-if File.directory?('conf')                                      #conf
-  desc "Remove #{@p.name} conf only"                      #remove conf
-  task :remove_conf => [:remove_conf]
-end
-#if File.directory?('data')                                      #data
-#  desc "Remove #{@p.name} data only"                      #remove data
-#  task :remove_data => [:remove_data]
-#end
-desc "Re-setup #{@p.name}, synonym :reinstall"            #resetup reinstall
-task :resetup => [:remove, :setup]
-task :reinstall => [:remove, :setup]
-desc "Re-setup #{@p.name}: bin, lib, conf (ignore data), synonym :reinstall"  #partial reinstall
-task :resetup_base => [:remove, :setup_base]
-task :reinstall_base => [:remove, :setup_base]
-if File.directory?('bin')                                       #bin
-  desc "Re-setup #{@p.name} bin, synonym :reinstall"
-  task :resetup_bin => [:remove_bin, :setup_bin]
-  task :reinstall_bin => [:remove_bin, :setup_bin]
-end
-if File.directory?('lib')                                       #lib
-  desc "Re-setup #{@p.name} lib, synonym :reinstall_lib"
-  task :resetup_lib => [:remove_lib, :setup_lib]
-  task :reinstall_lib => [:remove_lib, :setup_lib]
-end
-if File.directory?('conf')                                       #conf
-  desc "Re-setup #{@p.name} conf, synonyms :reinstall_conf & :resetup_etc"
-  task :resetup_conf => [:remove_conf, :setup_conf]
-  task :reinstall_conf => [:remove_conf, :setup_conf]
-  task :resetup_etc => [:remove_conf, :setup_conf]
-  task :reinstall_etc => [:remove_conf, :setup_conf]
-end
-if File.directory?('data/sisu')                                       #share
-  desc "Re-setup #{@p.name} shared data, (odf & images)"
-  task :resetup_share => [:remove_share, :setup_share]
-  task :reinstall_share => [:remove_share, :setup_share]
-end
-if File.directory?('man')                                    #man
-  desc "Re-setup #{@p.name} man, synonym :reinstall_man"
-  task :resetup_man => [:remove_man, :setup_man]
-  task :reinstall_man => [:remove_man, :setup_man]
-end
-desc 'Setup Note'
-task :setup_note => [:help]
-desc "System information used by #{@p.name}"
-task :system => [:system_info,:project_help,:post_install_note]
-desc "show all system info available - parameters found"
-task :system_param => [:system_param]
-desc 'Help'
-task :help => [:project_help,:system_info,:rant_tasks]
-#desc "Setup/Install #{@p.name} (uses filelist)"
-task :install => [:default_notice,:project]
-task :install_bin => [:setup_bin]
-desc '[make rant install file]'
-task :create_rant_independent_task_file => [:rant_independence]
-                                                           #%% setup/install tasks
-task :rant_independence do                                 #notice
-  resp=''
-  while resp.length < 4
-    resp='sisu-install'                                     #default name install
-    print %{#{@p.rant}
-  Create a rant dependency independent file
-  provide filename default name is "install"
-    [Warning, will overwrite file of name provided
-      provide name or "quit" to exit]: }
-    exit if resp =~/^(?:n|quit|exit)$/
-  end
-  remove='y' #remove='n'
- if remove =~/y/
-   system("rant-import --force --auto #{resp};
-     chmod 755 #{resp}
-   ")
- else #puts "#{resp} not replaced"
- end
-end
-
-task :default_notice do                                    #notice
-  default_notice
-end
-task :rant_default2 do                                     #secondary
-  setup_find_cp_r('bin',@p.dir_bin) if File.directory?('bin')
-  setup_find_cp_r('lib',@p.dir_lib) if File.directory?('lib')
-  setup_find_cp_r('conf',@p.dir_conf) if File.directory?('conf')
-  setup_find_cp_r('data/sisu',@p.dir_share) if File.directory?('data/sisu') #
-  setup_find_cp_r('data',@p.dir_data) if File.directory?('data')
-  setup_find_cp_r('data/vim',"#{@p.dir_data}/vim") if File.directory?('data/vim')
-  setup_find_cp_r('man',@p.dir_man) if File.directory?('man')
-end
-task :setup_bin do                                         #bin
-  setup_find_create('bin',@p.dir_bin) if File.directory?('bin')
-end
-task :setup_lib do                                         #lib
-  setup_find_create('lib',@p.dir_lib) if File.directory?('lib')
-end
-task :setup_conf do                                        #conf
-  setup_find_create('conf',@p.dir_conf) if File.directory?('conf')
-end
-task :setup_share do                                        #share
-  setup_find_create('data/sisu',@p.dir_share) if File.directory?('data/sisu')
-end
-task :setup_data do                                        #data
-  setup_find_create('data',@p.dir_data) if File.directory?('data')
-end
-task :setup_man do                                         #man
-  setup_find_create('man',@p.dir_man) if File.directory?('man') #man pages
-  setup_find_create('man.deb/man',@p.dir_man) if File.directory?('man.deb/man') #man pages
-end
-task :setup_vim do                                         #man
-  setup_find_create('data/vim',@p.dir_vim) if File.directory?('data/vim') #man pages
-end
-                                                           #%% post install
-                                                           #%% clobber/remove tasks
-task :remove_bin do
-  rm_r "#{@p.dir_bin}/#{@p.dir_proj}" if FileTest.file?("#{@p.dir_bin}/#{@p.dir_proj}")
-end
-task :remove_lib do
-  rm_r "#{@p.dir_lib}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_lib}/#{@p.dir_proj}")
-end
-task :remove_conf do
-  rm_r "#{@p.dir_conf}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_conf}/#{@p.dir_proj}")
-end
-task :remove_man do
-  rm_r "#{@p.dir_man}/**/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_man}/man1/#{@p.dir_proj}")
-end
-task :remove_version do
-  rm_r "#{@p.dir_bin}/#{@p.dir_proj}" if FileTest.file?("#{@p.dir_bin}/#{@p.dir_proj}")
-  rm_r "#{@p.dir_lib}/#{@p.dir_proj}/#{@p.version}" if FileTest.directory?("#{@p.dir_lib}/#{@p.dir_proj}/#{@p.version}")
-  rm_r "#{@p.dir_conf}/#{@p.dir_proj} if FileTest.directory?("#{@p.dir_conf}/#{@p.dir_proj}")
-end
-task :remove_package do
-  rm_r "#{@p.dir_bin}/#{@p.dir_proj}" if FileTest.file?("#{@p.dir_bin}/#{@p.dir_proj}")
-  rm_r "#{@p.dir_lib}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_lib}/#{@p.dir_proj}")
-  rm_r "#{@p.dir_conf}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_conf}/#{@p.dir_proj}")
-end
-task :post_install_note do
-  puts <<WOK
-
-  sisu markup samples are now packaged separately in sisu-markup-samples
-    visit:
-      http://www.jus.uio.no/sisu
-    and:
-      http://www.jus.uio.no/sisu/SiSU/download
-
-WOK
-end
-task :system_info do                                       #%% system info
-  rant_system_info
-end
-task :system_param do
-  @env.each {|c| puts c.inspect }
-end
-task :project_help do                                       #%% help
-  rant_project_help
-end
-task :rant_tasks do                                       #%% help
-  rant_tasks
-end
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..0bae78d7cd7a1c754744ff0dda6ad54e97cf6073
--- /dev/null
+++ b/Rantfile
@@ -0,0 +1 @@
+rinstall
\ No newline at end of file
diff --git a/rinstall b/rinstall
new file mode 100644 (file)
index 0000000..3fd3147
--- /dev/null
+++ b/rinstall
@@ -0,0 +1,438 @@
+#!/usr/bin/env ruby
+raise 'Please, use ruby1.8.4 or later.' if RUBY_VERSION < '1.8.4'
+=begin
+ Rantfile installer for SiSU
+ * Homepage: <http://www.jus.uio.no/sisu/SiSU>
+             <http://search.sisudoc.org>
+ * Download: <http://www.jus.uio.no/sisu/download>
+
+ Copyright (C) 2007 Ralph Amissah
+
+ * License: LGPL - GNU Lesser General Public License
+     [same license as Rant provided within the Rant package]
+
+ * Ralph Amissah <ralph@amissah.com>
+   Ralph Amissah <ralph.amissah@gmail.com>
+
+ Rant is a Ruby 'ant' by Stefan Lang
+ * Rant may be downloaded and installed from:
+     http://make.rubyforge.org/
+
+ Notes on use:
+     rant -T
+
+ SiSU can also be Setup/Installation using:
+ * Minero Aoki's setup.rb, provided along with SiSU, or
+
+=end
+#%% produce a makefile suitable for the target platform
+#require 'mkmf'
+#create_makefile("sisu")
+require 'find'
+require 'fileutils'
+#require 'ftools'
+require 'rbconfig.rb'
+require 'yaml'
+include FileUtils
+class Project_details
+  def name
+    'SiSU'
+  end
+  def rant
+    "Rantfile for the installation/setup of #{name}"
+  end
+  def platform_notice
+    "[#{name} is for the Linux/Unix Platforms]"
+  end
+  def dir_proj
+    'sisu'
+  end
+  def env
+    Config::CONFIG
+  end
+  def host
+    env['host']
+  end
+  def dir_arch
+    env['archdir']
+  end
+  def dir_sitearch
+    env['sitearchdir']
+  end
+  def dir_bin
+    env['bindir']
+  end
+  def dir_lib
+    env['sitelibdir']
+  end
+  def dir_data
+    env['datadir']
+  end
+  def dir_share
+    "#{env['datadir']}/sisu"
+  end
+  def dir_conf
+    env['sysconfdir']
+  end
+  def dir_man
+    env['mandir']
+  end
+  def dir_vim
+    "#{env['datadir']}/sisu/vim"
+  end
+  def dir_out
+    "#{env['localstatedir']}/#{dir_proj}"
+  end
+  def dir_rubylib
+    env['LIBRUBYARG_SHARED']
+  end
+  def dir_pwd
+    Dir.pwd #ENV['PWD']
+  end
+  def version
+    stamp={}
+    v="#{dir_pwd}/conf/sisu/version.yml"
+    version=if File.exist?(v)
+      stamp=YAML::load(File::open(v))
+      stamp[:version]
+    else ''
+    end
+  end
+end
+@p=Project_details.new
+def answer?(ask)
+  resp='redo'
+  print ask + " ['yes', 'no' or 'quit']: "
+  resp=File.new('/dev/tty').gets.strip
+  #resp=gets.strip
+  ans=if resp == 'yes'; true
+  elsif resp == 'no'; false
+  elsif resp =~/^quit|exit$/; exit
+  else puts "[please type: 'yes', 'no' or 'quit']"
+    answer?(ask)
+  end
+end
+def default_notice
+  ans= %{#{@p.rant}
+  Information on alternative actions is available using:
+    "rant help" or "rant -T"
+  Default action selected - "install and to setup #{@p.name}" proceed? }
+  resp=answer?(ans)
+  exit unless resp
+end
+def get_username
+  gets.strip
+end
+def chmod_file(place)
+  if place =~/\/bin/; File.chmod(0755,place)
+  else                File.chmod(0644,place)
+  end
+end
+def chmod_util(place)
+  if place =~/\/bin/; chmod(0755,place)
+  else                chmod(0644,place)
+  end
+end
+                                                           #%% using a directory and its mapping
+def setup_find_create(dir_get,dir_put)                     #primary,
+  Find.find("#{@p.dir_pwd}/#{dir_get}") do |f|
+    stub=f.scan(/#{@p.dir_pwd}\/#{dir_get}\/(\S+)/).join
+    place="#{dir_put}/#{stub}"
+    action=case
+    when File.file?(f)
+      cp(f,place)
+      chmod_file(place)
+      "->  #{dir_put}/"
+    when File.directory?(f)
+      FileUtils.mkpath(place) unless FileTest.directory?(place)
+      "./#{dir_get}/"
+    else '?'
+    end
+    puts "#{action}#{stub}"
+  end
+end
+def setup_find_cp_r(dir_get,dir_put)                       #secondary, using recursive copy
+  Find.find("#{@p.dir_pwd}/#{dir_get}") do |f|
+    stub=f.scan(/#{@p.dir_pwd}\/#{dir_get}\/(\S+)/).join
+    place="#{dir_put}/#{stub}"
+    case
+    when File.file?(f)
+      cp_r(f,place)
+      chmod_util(place)
+    when File.directory?(f)
+      mkdir(place) unless FileTest.directory?(place)
+    end
+  end
+end
+def rant_system_info
+  puts <<WOK
+  #{@p.platform_notice}
+
+  Host
+    host:             #{@p.host}
+    arch:             #{@p.dir_arch}
+    sitearch:         #{@p.dir_sitearch}
+
+  Directories for installation
+    bin:                                          #{@p.dir_bin}
+    lib (site-ruby):                              #{@p.dir_lib}/#{@p.dir_proj}/v*
+    conf [etc]:                                   #{@p.dir_conf}/#{@p.dir_proj}
+    data (odf, shared images):                    #{@p.dir_share}
+    vim  (vim syntax, highlighting, ftplugin):    #{@p.dir_data}/sisu/vim
+    data (README, version_manifest):              #{@p.dir_data}/doc/#{@p.dir_proj}
+    man (manual pages):                           #{@p.dir_man}
+    output:                                       #{@p.dir_out}
+      processing:                                 #{@p.dir_out}/processing
+      www:                                        #{@p.dir_out}/www
+
+    rubylib:          #{@p.dir_rubylib}
+
+WOK
+end
+def rant_project_help
+  puts <<WOK
+
+#{@p.name}
+  #{@p.rant}
+  #{@p.platform_notice}
+
+Commands quick start list
+
+  #{@p.name} Rant Help:          (This Rantfile uses the same directory structure as setup.rb)
+    rant -T                # a task list, (generated by Rant) for more complete and up to date help
+    rant system            # system info used
+
+  Quick start install and remove project #{@p.name}
+   as root:
+    rant                   # install #{@p.name}
+
+    rant setup             # install #{@p.name} (without additonal configuration and generating of test file)
+
+    rant reinstall         # reinstall #{@p.name}
+
+    rant remove            # clobber/remove #{@p.name}, current version: #{@p.version}
+    rant remove_package    # clobber/remove #{@p.name}, all versions
+
+For a more detailed and up to date list of command options use
+
+  rant -T
+
+WOK
+end
+def rant_tasks
+  sys('rant -T')
+end
+                                                           #%% tasks
+desc "rant (as root type 'rant' for default action)"
+task :default => [:default_notice,:project]
+#task :default => [:help,:notice,:project]
+desc "Setup/Install #{@p.name} and try generate a file"
+task :project=> [:setup_bin,:setup_lib,:setup_conf,:setup_share,:setup_data,:setup_man,:setup_vim,:post_install_note]
+desc "Setup/Install #{@p.name}"
+task :setup=> [:setup_bin, :setup_lib,:setup_conf,:setup_share,:setup_data] #, :help]
+desc "Setup/Install #{@p.name}: bin, lib and conf (no data)"
+task :setup_base=> [:setup_bin,:setup_lib,:setup_conf,:setup_share,:setup_man,:setup_vim]
+desc "Setup/Install #{@p.name} bin, lib and conf (no data and no attempt to do postinstall setup)"
+task :base=> [:setup_base]
+if File.directory?('bin')                                       #bin
+  desc "Setup #{@p.name} bin only, synonym :bin"
+  task :bin => [:setup_bin]
+end
+if File.directory?('lib')                                       #lib
+  desc "Setup #{@p.name} lib only, synonym :lib"
+  task :lib => [:setup_lib]
+end
+if File.directory?('conf')                                      #conf or etc
+  desc "Setup #{@p.name} conf only, synonyms :conf & :etc"
+  task :conf => [:setup_conf]
+  task :setup_etc => [:setup_conf]
+  task :etc => [:setup_conf]
+end
+if File.directory?('data')                                      #data
+  desc "Setup #{@p.name} data only, synonyms :data & :examples"
+  task :data => [:setup_data]
+  task :setup_examples => [:setup_data]
+  task :examples => [:setup_data]
+end
+if File.directory?('data/sisu')                                      #share (odf shared-images)
+  desc "Setup #{@p.name} shared data only (odf & shared images)"
+  task :share => [:setup_share]
+end
+if File.directory?('man')                                  #man pages
+  desc "Setup #{@p.name} man pages only, synonyms :man"
+  task :man => [:setup_man]
+end
+if File.directory?('data/vim')                                  #man pages
+  desc "Setup #{@p.name} vim config files only, synonyms :vim"
+  task :setup_vim => [:setup_vim]
+  task :vim => [:setup_vim]
+end
+desc "Setup/Install #{@p.name}: bin, lib, conf and data (no attempt to do postinstall setup)"
+task :setup_only=> [:setup_bin,:setup_lib,:setup_conf,:setup_share,:setup_data,:help]
+desc "Remove #{@p.name} (all versions)"                   #remove project
+task :remove_package => [:remove_bin, :remove_lib, :remove_conf]
+if File.directory?('bin')                                       #bin
+  desc "Remove #{@p.name} bin only"                       #remove bin
+  task :remove_bin => [:remove_bin]
+end
+if File.directory?('lib')                                       #lib
+  desc "Remove #{@p.name} lib only"                       #remove lib
+  task :remove_lib => [:remove_lib]
+end
+if File.directory?('conf')                                      #conf
+  desc "Remove #{@p.name} conf only"                      #remove conf
+  task :remove_conf => [:remove_conf]
+end
+#if File.directory?('data')                                      #data
+#  desc "Remove #{@p.name} data only"                      #remove data
+#  task :remove_data => [:remove_data]
+#end
+desc "Re-setup #{@p.name}, synonym :reinstall"            #resetup reinstall
+task :resetup => [:remove, :setup]
+task :reinstall => [:remove, :setup]
+desc "Re-setup #{@p.name}: bin, lib, conf (ignore data), synonym :reinstall"  #partial reinstall
+task :resetup_base => [:remove, :setup_base]
+task :reinstall_base => [:remove, :setup_base]
+if File.directory?('bin')                                       #bin
+  desc "Re-setup #{@p.name} bin, synonym :reinstall"
+  task :resetup_bin => [:remove_bin, :setup_bin]
+  task :reinstall_bin => [:remove_bin, :setup_bin]
+end
+if File.directory?('lib')                                       #lib
+  desc "Re-setup #{@p.name} lib, synonym :reinstall_lib"
+  task :resetup_lib => [:remove_lib, :setup_lib]
+  task :reinstall_lib => [:remove_lib, :setup_lib]
+end
+if File.directory?('conf')                                       #conf
+  desc "Re-setup #{@p.name} conf, synonyms :reinstall_conf & :resetup_etc"
+  task :resetup_conf => [:remove_conf, :setup_conf]
+  task :reinstall_conf => [:remove_conf, :setup_conf]
+  task :resetup_etc => [:remove_conf, :setup_conf]
+  task :reinstall_etc => [:remove_conf, :setup_conf]
+end
+if File.directory?('data/sisu')                                       #share
+  desc "Re-setup #{@p.name} shared data, (odf & images)"
+  task :resetup_share => [:remove_share, :setup_share]
+  task :reinstall_share => [:remove_share, :setup_share]
+end
+if File.directory?('man')                                    #man
+  desc "Re-setup #{@p.name} man, synonym :reinstall_man"
+  task :resetup_man => [:remove_man, :setup_man]
+  task :reinstall_man => [:remove_man, :setup_man]
+end
+desc 'Setup Note'
+task :setup_note => [:help]
+desc "System information used by #{@p.name}"
+task :system => [:system_info,:project_help,:post_install_note]
+desc "show all system info available - parameters found"
+task :system_param => [:system_param]
+desc 'Help'
+task :help => [:project_help,:system_info,:rant_tasks]
+#desc "Setup/Install #{@p.name} (uses filelist)"
+task :install => [:default_notice,:project]
+task :install_bin => [:setup_bin]
+desc '[make rant install file]'
+task :create_rant_independent_task_file => [:rant_independence]
+                                                           #%% setup/install tasks
+task :rant_independence do                                 #notice
+  resp=''
+  while resp.length < 4
+    resp='sisu-install'                                     #default name install
+    print %{#{@p.rant}
+  Create a rant dependency independent file
+  provide filename default name is "install"
+    [Warning, will overwrite file of name provided
+      provide name or "quit" to exit]: }
+    exit if resp =~/^(?:n|quit|exit)$/
+  end
+  remove='y' #remove='n'
+ if remove =~/y/
+   system("rant-import --force --auto #{resp};
+     chmod 755 #{resp}
+   ")
+ else #puts "#{resp} not replaced"
+ end
+end
+
+task :default_notice do                                    #notice
+  default_notice
+end
+task :rant_default2 do                                     #secondary
+  setup_find_cp_r('bin',@p.dir_bin) if File.directory?('bin')
+  setup_find_cp_r('lib',@p.dir_lib) if File.directory?('lib')
+  setup_find_cp_r('conf',@p.dir_conf) if File.directory?('conf')
+  setup_find_cp_r('data/sisu',@p.dir_share) if File.directory?('data/sisu') #
+  setup_find_cp_r('data',@p.dir_data) if File.directory?('data')
+  setup_find_cp_r('data/vim',"#{@p.dir_data}/vim") if File.directory?('data/vim')
+  setup_find_cp_r('man',@p.dir_man) if File.directory?('man')
+end
+task :setup_bin do                                         #bin
+  setup_find_create('bin',@p.dir_bin) if File.directory?('bin')
+end
+task :setup_lib do                                         #lib
+  setup_find_create('lib',@p.dir_lib) if File.directory?('lib')
+end
+task :setup_conf do                                        #conf
+  setup_find_create('conf',@p.dir_conf) if File.directory?('conf')
+end
+task :setup_share do                                        #share
+  setup_find_create('data/sisu',@p.dir_share) if File.directory?('data/sisu')
+end
+task :setup_data do                                        #data
+  setup_find_create('data',@p.dir_data) if File.directory?('data')
+end
+task :setup_man do                                         #man
+  setup_find_create('man',@p.dir_man) if File.directory?('man') #man pages
+  setup_find_create('man.deb/man',@p.dir_man) if File.directory?('man.deb/man') #man pages
+end
+task :setup_vim do                                         #man
+  setup_find_create('data/vim',@p.dir_vim) if File.directory?('data/vim') #man pages
+end
+                                                           #%% post install
+                                                           #%% clobber/remove tasks
+task :remove_bin do
+  rm_r "#{@p.dir_bin}/#{@p.dir_proj}" if FileTest.file?("#{@p.dir_bin}/#{@p.dir_proj}")
+end
+task :remove_lib do
+  rm_r "#{@p.dir_lib}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_lib}/#{@p.dir_proj}")
+end
+task :remove_conf do
+  rm_r "#{@p.dir_conf}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_conf}/#{@p.dir_proj}")
+end
+task :remove_man do
+  rm_r "#{@p.dir_man}/**/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_man}/man1/#{@p.dir_proj}")
+end
+task :remove_version do
+  rm_r "#{@p.dir_bin}/#{@p.dir_proj}" if FileTest.file?("#{@p.dir_bin}/#{@p.dir_proj}")
+  rm_r "#{@p.dir_lib}/#{@p.dir_proj}/#{@p.version}" if FileTest.directory?("#{@p.dir_lib}/#{@p.dir_proj}/#{@p.version}")
+  rm_r "#{@p.dir_conf}/#{@p.dir_proj} if FileTest.directory?("#{@p.dir_conf}/#{@p.dir_proj}")
+end
+task :remove_package do
+  rm_r "#{@p.dir_bin}/#{@p.dir_proj}" if FileTest.file?("#{@p.dir_bin}/#{@p.dir_proj}")
+  rm_r "#{@p.dir_lib}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_lib}/#{@p.dir_proj}")
+  rm_r "#{@p.dir_conf}/#{@p.dir_proj}" if FileTest.directory?("#{@p.dir_conf}/#{@p.dir_proj}")
+end
+task :post_install_note do
+  puts <<WOK
+
+  sisu markup samples are now packaged separately in sisu-markup-samples
+    visit:
+      <http://www.jus.uio.no/sisu>
+      <http://search.sisudoc.org>
+    and:
+      <http://www.jus.uio.no/sisu/SiSU/download>
+
+WOK
+end
+task :system_info do                                       #%% system info
+  rant_system_info
+end
+task :system_param do
+  @env.each {|c| puts c.inspect }
+end
+task :project_help do                                       #%% help
+  rant_project_help
+end
+task :rant_tasks do                                       #%% help
+  rant_tasks
+end