diff options
| -rw-r--r-- | README | 52 | ||||
| l--------- | Rakefile | 2 | ||||
| l--------- | Rantfile | 2 | ||||
| -rw-r--r-- | rbuild (renamed from rinstall) | 236 | 
4 files changed, 172 insertions, 120 deletions
| @@ -138,16 +138,22 @@ They may be downloaded from:  Otherwise to install SiSU from source, check information at:    <http://www.jus.uio.no/sisu/SiSU/download.html#current> -two alternative modes of installation from source are provided, -setup.rb (by Minero Aoki) and a rant(by Stefan Lang) built install file, -in either case: the first steps are the same, download and unpack the -source file: +alternative modes of installation from source are provided, +setup.rb (by Minero Aoki), +rake (by Jim Weirich) built install file, +rant (by Stefan Lang) built install file, + +Ruby is the essential dependency for the basic operation of SiSU  1. Download the latest source (information available) from:    <http://www.jus.uio.no/sisu/SiSU/download.html#current>  2. Unpack the source +Note however, that additional external package dependencies, +such as texlive or postgresql should you desire to use it +are not taken care of for you. +  %% to use setup.rb  ---------------  this is a three step process, @@ -162,8 +168,30 @@ in the root directory of the unpacked SiSU as root type:      <http://i.loveruby.net/en/projects/setup/>      <http://i.loveruby.net/en/projects/setup/doc/usage.html> +%% to use install (prapared with "Rake") +--------------- +Rake must be installed on your system: +  <http://rake.rubyforge.org/> +  <http://rubyforge.org/frs/?group_id=50> + +in the root directory of the unpacked SiSU as root type: +  rake + +or +  rake base + +This makes use of Rake (by Jim Weirich) and the provided Rakefile + +For a list of alternative actions you may type: +  rake help +  rake -T +  %% to use install (prapared with "Rant")  --------------- +(you may use the instructions above for rake substituting rant if rant is +installed on your system, or you may use an independent installer created using +rant as follows:) +  in the root directory of the unpacked SiSU as root type:    ruby ./sisu-install @@ -198,19 +226,23 @@ SiSU can make use of if available, (the use/requirement of some of which are  interdependent for specific actions by SiSU):  Package: sisu -Depends: ruby (>= 1.8.4), libwebrick-ruby +Architecture: all +Depends: ruby (>= 1.8.2), libwebrick-ruby, unzip, zip +Conflicts: vim-sisu, sisu-vim, sisu-remote +Replaces: vim-sisu, sisu-vim  Recommends: sisu-pdf, sisu-sqlite, sisu-postgresql, librmagick-ruby, trang, -  tidy, librexml-ruby, zip, unzip, openssl, rsync, openssh-client | lsh-client, -  keychain, hyperestraier, kdissert -Suggests: libfcgi-ruby1.8, rcs | cvs, lv, texinfo, pinfo, rename +tidy, librexml-ruby, openssl, rsync, openssh-client | lsh-client, keychain, +hyperestraier, kdissert, vim-addon-manager +Suggests: rcs | cvs, lv, texinfo, pinfo  Package: sisu-complete  Depends: ruby (>= 1.8.4), sisu, sisu-pdf, sisu-postgresql, sisu-sqlite  Recommends: hyperestraier  Package: sisu-pdf -Depends: sisu, tetex-bin | texlive-base-bin, tetex-extra | texlive-latex-extra, -  texlive-latex-extra, latex-ucs +Architecture: all +Depends: sisu, texlive-latex-base, texlive-fonts-recommended, +texlive-latex-recommended, texlive-latex-extra  Suggests: evince, xpdf  Package: sisu-postgresql @@ -1 +1 @@ -rinstall
\ No newline at end of file +rbuild
\ No newline at end of file @@ -1 +1 @@ -rinstall
\ No newline at end of file +rbuild
\ No newline at end of file @@ -1,7 +1,9 @@  #!/usr/bin/env ruby  raise 'Please, use ruby1.8.4 or later.' if RUBY_VERSION < '1.8.4'  =begin - Rantfile installer for SiSU + Common Rakefile, Rantfile installer for SiSU +   softlink Rakefile and Rantfile to this file +   * Homepage: <http://www.jus.uio.no/sisu/SiSU>               <http://search.sisudoc.org>   * Download: <http://www.jus.uio.no/sisu/download> @@ -14,12 +16,21 @@ raise 'Please, use ruby1.8.4 or later.' if RUBY_VERSION < '1.8.4'   * Ralph Amissah <ralph@amissah.com>     Ralph Amissah <ralph.amissah@gmail.com> - Rant is a Ruby 'ant' by Stefan Lang + Rake is a Ruby build program by Jim Weirich + * Rake may be downloaded and installed from: +     <http://rake.rubyforge.org/> + + Rant is a Ruby build program by Stefan Lang   * Rant may be downloaded and installed from: -     http://make.rubyforge.org/ +     <http://make.rubyforge.org/>   Notes on use: +   [if rake is preferred and installed] +     rake -T +   [if rant is preferred and installed]       rant -T +   [else [if sisu-install is present]] +     ruby sisu-install -T   SiSU can also be Setup/Installation using:   * Minero Aoki's setup.rb, provided along with SiSU, or @@ -38,60 +49,63 @@ class Project_details    def name      'SiSU'    end -  def rant -    "Rantfile for the installation/setup of #{name}" +  def rake_rant +    "Rakefile/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'] +  def dir +    def proj +      'sisu' +    end +    def arch +      env['archdir'] +    end +    def sitearch +      env['sitearchdir'] +    end +    def bin +      env['bindir'] +    end +    def lib +      env['sitelibdir'] +    end +    def data +      env['datadir'] +    end +    def share +      "#{env['datadir']}/sisu" +    end +    def conf +      env['sysconfdir'] +    end +    def man +      env['mandir'] +    end +    def vim +      "#{env['datadir']}/sisu/vim" +    end +    def out +      "#{env['localstatedir']}/#{proj}" +    end +    def rubylib +      env['LIBRUBYARG_SHARED'] +    end +    def pwd +      Dir.pwd #ENV['PWD'] +    end +    self    end    def version      stamp={} -    v="#{dir_pwd}/conf/sisu/version.yml" +    v="#{dir.pwd}/conf/sisu/version.yml"      version=if File.exist?(v)        stamp=YAML::load(File::open(v))        stamp[:version] @@ -113,9 +127,14 @@ def answer?(ask)    end  end  def default_notice -  ans= %{#{@p.rant} +  ans= %{#{@p.rake_rant}    Information on alternative actions is available using: +  [if rake is installed:] +    "rake help" or "rake -T" +  [if rant is installed:]      "rant help" or "rant -T" +  [else [if sisu-install is present]:] +    "sisu-install help" or "sisu-install -T"    Default action selected - "install and to setup #{@p.name}" proceed? }    resp=answer?(ans)    exit unless resp @@ -135,8 +154,8 @@ def chmod_util(place)  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 +  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) @@ -152,8 +171,8 @@ def setup_find_create(dir_get,dir_put)                     #primary,    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 +  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) @@ -164,66 +183,67 @@ def setup_find_cp_r(dir_get,dir_put)                       #secondary, using rec      end    end  end -def rant_system_info +def system_info    puts <<WOK    #{@p.platform_notice}    Host      host:             #{@p.host} -    arch:             #{@p.dir_arch} -    sitearch:         #{@p.dir_sitearch} +    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 +    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} +    rubylib:          #{@p.dir.rubylib}  WOK  end -def rant_project_help +def project_help    puts <<WOK  #{@p.name} -  #{@p.rant} +  #{@p.rake_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 +  #{@p.name} Rake/Rant Help: (This Rakefile or Rantfile uses the same directory structure as setup.rb) +    rake -T or rant -T          # a task list, (generated by Rake or Rant) for more complete and up to date help +    rake system or rant system  # system info used    Quick start install and remove project #{@p.name}     as root: -    rant                   # install #{@p.name} +    rake or rant                                # install #{@p.name} -    rant setup             # install #{@p.name} (without additonal configuration and generating of test file) +    rake setup or rant setup                    # install #{@p.name} (without additonal configuration and generating of test file) -    rant reinstall         # reinstall #{@p.name} +    rake install or rant reinstall              # reinstall #{@p.name} -    rant remove            # clobber/remove #{@p.name}, current version: #{@p.version} -    rant remove_package    # clobber/remove #{@p.name}, all versions +    rake remove or rant remove                  # clobber/remove #{@p.name}, current version: #{@p.version} +    rake remove_package or rant remove_package  # clobber/remove #{@p.name}, all versions  For a more detailed and up to date list of command options use +  rake -T    rant -T  WOK  end -def rant_tasks +def tasks    sys('rant -T')  end                                                             #%% tasks -desc "rant (as root type 'rant' for default action)" +desc "rake/rant (as root type 'rake' or 'rant' for default action)"  task :default => [:default_notice,:project]  #task :default => [:help,:notice,:project]  desc "Setup/Install #{@p.name} and try generate a file" @@ -327,18 +347,18 @@ 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] +task :help => [:project_help,:system_info,:tasks]  #desc "Setup/Install #{@p.name} (uses filelist)"  task :install => [:default_notice,:project]  task :install_bin => [:setup_bin] -desc '[make rant install file]' +desc '[make rant independent 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} +    print %{#{@p.rake_rant}    Create a rant dependency independent file    provide filename default name is "install"      [Warning, will overwrite file of name provided @@ -357,60 +377,60 @@ 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') +task :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') +  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') +  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') +  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') +  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') +  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 +  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 +  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}") +  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}") +  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}") +  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}") +  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}") +  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}") +  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 @@ -425,14 +445,14 @@ task :post_install_note do  WOK  end  task :system_info do                                       #%% system info -  rant_system_info +  system_info  end  task :system_param do    @env.each {|c| puts c.inspect }  end  task :project_help do                                       #%% help -  rant_project_help +  project_help  end -task :rant_tasks do                                       #%% help -  rant_tasks +task :tasks do                                       #%% help +  tasks  end | 
