diff options
Diffstat (limited to 'www/tdiary-devel/files')
-rw-r--r-- | www/tdiary-devel/files/pkg-message.in | 21 | ||||
-rw-r--r-- | www/tdiary-devel/files/tdiaryinst.rb.in | 316 |
2 files changed, 0 insertions, 337 deletions
diff --git a/www/tdiary-devel/files/pkg-message.in b/www/tdiary-devel/files/pkg-message.in deleted file mode 100644 index da4b6adc0e12..000000000000 --- a/www/tdiary-devel/files/pkg-message.in +++ /dev/null @@ -1,21 +0,0 @@ - -============================================================================= -There is a script to install tDiary in a user directory. -This script should be run manually. - - # ruby %%EXAMPLESDIR%%/tdiaryinst.rb --user=User - or - % ruby %%EXAMPLESDIR%%/tdiaryinst.rb - - * Option: --suexec Use suExec for CGI execution - --help Display Help information - ---- -There is a document by English in the following directories. - See ... - %%EXAMPLESDIR%%/misc/i18n/ - and - Explanation by English of a tDiary system can refer to the following page : - - http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?FrontPage_en -============================================================================= diff --git a/www/tdiary-devel/files/tdiaryinst.rb.in b/www/tdiary-devel/files/tdiaryinst.rb.in deleted file mode 100644 index ba909cbf0667..000000000000 --- a/www/tdiary-devel/files/tdiaryinst.rb.in +++ /dev/null @@ -1,316 +0,0 @@ -#!/usr/bin/env ruby -# -# tdiaryinstall.rb - tDiary user directory copy script -# Date created: 13 July 2003 -# Whom: KAMIYA Satosi <mimoriso@anet.ne.jp> -# -# $FreeBSD$ -# - -require 'getoptlong' -require 'etc.so' -require 'fileutils' -require 'find' -require 'tempfile' - -# -$OPT_TDIARYMASTER = "@@@@PREFIX@@@@/share/examples/tdiary" -$OPT_LANG = '@@@@LANG@@@@' - -module FileUtils16 - def FileUtils16.mkdir_p(dir, *options) - begin - FileUtils.mkdir_p(dir, *options) - rescue TypeError - optionhash = {} - options.each { |o| optionhash[o] = true } - FileUtils.mkdir_p(dir, optionhash) - end - end - def FileUtils16.cp(src, dest, *options) - begin - FileUtils.cp(src, dest, *options) - rescue TypeError - optionhash = {} - options.each { |o| optionhash[o] = true } - FileUtils.cp(src, dest, optionhash) - end - end - def FileUtils16.cp_r(src, dest, *options) - begin - FileUtils.cp_r(src, dest, *options) - rescue TypeError - optionhash = {} - options.each { |o| optionhash[o] = true } - FileUtils.cp_r(src, dest, optionhash) - end - end - def FileUtils16.rm(list, *options) - begin - FileUtils.rm(list, *options) - rescue TypeError - optionhash = {} - options.each { |o| optionhash[o] = true } - FileUtils.rm(list, optionhash) - end - end - def FileUtils16.ln_s(list, destdir, *options) - begin - FileUtils.ln_s(list, destdir, *options) - rescue TypeError - optionhash = {} - options.each { |o| optionhash[o] = true } - FileUtils.ln_s(list, destdir, optionhash) - end - end - def FileUtils16.chmod(mode, list, *options) - begin - FileUtils.chmod(mode, list, *options) - rescue TypeError - optionhash = {} - options.each { |o| optionhash[o] = true } - FileUtils.chmod(mode, list, optionhash) - end - end -end - -def usage - STDERR.print "Usage: #{File.basename($0)} [options]\n" - STDERR.print "Options:\n" - STDERR.print " --help Display this information\n" - STDERR.print " --user=<username> Specify user's login name\n" - STDERR.print " --diarydir=<diarydir> Specify tDiary data directory default: diary\n" - STDERR.print " --httpdir=<httpdir> Specify apache UserDirectory default: public_html\n" - STDERR.print " --name=<author_name> Specify author name\n" - STDERR.print " --mail=<author_mail> Specify author mail address\n" - STDERR.print " --tdiarymaster=<dir> Specify tDiary master directory default: @@@@PREFIX@@@@/share/examples/tdiary\n" - STDERR.print " --lang=<language> Specify your language ('en' or 'ja') default: @@@@LANG@@@@\n" - STDERR.print " --suexec Use suExec for CGI execution\n" - STDERR.print " --symlink Use symbolic link for tDiary master files\n" - STDERR.print " --quiet Do not display any information\n" - STDERR.print " --noop Do not install any file. Use this option with --verbose\n" - STDERR.print " --verbose Verbose; display verbose debugging messages.\n" - exit 1 -end - -parser = GetoptLong.new -parser.set_options( - ['--user', '-u', GetoptLong::REQUIRED_ARGUMENT], - ['--diarydir','-d', GetoptLong::REQUIRED_ARGUMENT], - ['--httpdir' ,'-h', GetoptLong::REQUIRED_ARGUMENT], - ['--name', '-n', GetoptLong::REQUIRED_ARGUMENT], - ['--mail', '-m', GetoptLong::REQUIRED_ARGUMENT], - ['--tdiarymaster' , GetoptLong::REQUIRED_ARGUMENT], - ['--lang' , GetoptLong::REQUIRED_ARGUMENT], - ['--suexec' , GetoptLong::NO_ARGUMENT], - ['--symlink', '-l', GetoptLong::NO_ARGUMENT], - ['--quiet', '-q', GetoptLong::NO_ARGUMENT], - ['--noop' , GetoptLong::NO_ARGUMENT], - ['--verbose' , GetoptLong::NO_ARGUMENT], - ['--help' , GetoptLong::NO_ARGUMENT]) -begin - parser.each_option do |name, arg| - eval "$OPT_#{name.sub(/^--/, '').gsub(/-/, '_').upcase} = '#{arg}'" - end -rescue - raise "getoptlong" -end -usage() if defined?($OPT_HELP) - -class TdiaryInstall - attr_accessor :tdiarymaster - attr_accessor :tdconfig - attr_accessor :lang - attr_reader :euid - attr_accessor :username - attr_accessor :diarydir - attr_accessor :httpdir - attr_reader :passwd - attr_accessor :fileutilOptions - attr_accessor :author_name - attr_accessor :author_mail - attr_reader :author_host - def initialize - @passwd = Etc.getpwuid() - @euid = @passwd.uid - @username =(@passwd.name) - @diarydir = 'diary' - @httpdir = 'public_html' - @fileutilOptions = [] - @author_name = @passwd.gecos - @author_host = "#{`hostname`.chomp}" - @author_mail = "#{@username}@#{`hostname`.chomp}" - end - - def username=(value) - @username = value - @passwd = Etc.getpwnam(@username) - @author_name = @passwd.gecos - @author_mail = "#{@username}@#{`hostname`.chomp}" - end - - def lang=(value) - case value - when 'tdiary.conf-en' , 'en' - @lang = 'en' - @tdconfig = 'tdiary.conf-en' - when 'tdiary.conf-ja' , 'ja' - @lang = 'ja' - @tdconfig = 'tdiary.conf-ja' - else - raise "Unknown Language : #{value}" - end - end - - def installAll - raise "You can not use tDiary for superuser." if @passwd.uid == 0 - - echo "************************************************************\n" - echo "Starting tDiary for FreeBSD user directory installation ...\n" - prepareDirs() - - echo "Copy tDiary ...\n" - if $OPT_SYMLINK then - linkBaseFile() - else - copyBaseFile() - end - - installConfig() - setPermissions() if ! defined?($OPT_NOOP) - - echo "***\n" - echo "You have to execute the following commands:\n" - echo " % /usr/local/sbin/htpasswd -c #{@passwd.dir}/.htpasswd #{@username}\n\n" - echo "Please read #{@tdiarymaster}/README\n" - echo " for additional information.\n" - echo "************************************************************\n" - end - - def prepareDirs - if ! FileTest.exist?("#{@passwd.dir}/#{@diarydir}") - FileUtils16.mkdir_p("#{@passwd.dir}/#{@diarydir}", *@fileutilOptions) - end - if ! FileTest.exist?("#{@passwd.dir}/#{@httpdir}/#{@diarydir}") - FileUtils16.mkdir_p("#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) - end - end - - def linkBaseFile - FileUtils16.cp_r("#{@tdiarymaster}/plugin", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.ln_s("#{@tdiarymaster}/theme", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) - FileUtils16.ln_s("#{@tdiarymaster}/doc", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) - tempfile = Tempfile.new("index.rb") - tempfile.write "#!/usr/local/bin/ruby\nrequire '#{@tdiarymaster}/index'\n" - tempfile.close - FileUtils16.cp(tempfile.path, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/index.rb", *@fileutilOptions) - FileUtils16.chmod(0755, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/index.rb", *@fileutilOptions) - tempfile = Tempfile.new("update.rb") - tempfile.write "#!/usr/local/bin/ruby\nrequire '#{@tdiarymaster}/update'\n" - tempfile.close - FileUtils16.cp(tempfile.path, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/update.rb", *@fileutilOptions) - FileUtils16.chmod(0755, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/update.rb", *@fileutilOptions) - end - - def copyBaseFile - FileUtils16.cp_r("#{@tdiarymaster}/doc", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.cp_r("#{@tdiarymaster}/erb", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.cp_r("#{@tdiarymaster}/misc", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.cp_r("#{@tdiarymaster}/plugin", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.cp_r("#{@tdiarymaster}/skel", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.cp_r("#{@tdiarymaster}/tdiary", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.cp_r("#{@tdiarymaster}/theme", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", :preserve, *@fileutilOptions) - FileUtils16.cp("#{@tdiarymaster}/index.rb", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) - FileUtils16.chmod(0755, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/index.rb", *@fileutilOptions) - FileUtils16.cp("#{@tdiarymaster}/update.rb", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) - FileUtils16.chmod(0755, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/update.rb", *@fileutilOptions) - FileUtils16.cp("#{@tdiarymaster}/tdiary.rb", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) - FileUtils16.cp("#{@tdiarymaster}/README", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) - end - - def installConfig - tempfile = Tempfile.new("tdiary.conf-ja") - tempfile.write tdiaryConfReplace("#{@tdiarymaster}/tdiary.conf.sample") - tempfile.close - FileUtils16.cp(tempfile.path, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/tdiary.conf-ja", *@fileutilOptions) - - tempfile = Tempfile.new("tdiary.conf-en") # sample configuration for English Environment - tempfile.write tdiaryConfReplace("#{@tdiarymaster}/misc/i18n/tdiary.conf.sample-en") - tempfile.close - FileUtils16.cp(tempfile.path, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/tdiary.conf-en", *@fileutilOptions) - - if ! FileTest.exist?("#{@passwd.dir}/#{@httpdir}/#{@diarydir}/tdiary.conf") - FileUtils16.cp("#{@passwd.dir}/#{@httpdir}/#{@diarydir}/#{@tdconfig}", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/tdiary.conf", *@fileutilOptions) - end - - tempfile = Tempfile.new("dot.htaccess") - tempfile.write dothtaccessReplace("#{@tdiarymaster}/dot.htaccess") - tempfile.close - FileUtils16.cp(tempfile.path, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/dot.htaccess", *@fileutilOptions) - if ! FileTest.exist?("#{@passwd.dir}/#{@httpdir}/#{@diarydir}/.htaccess") - FileUtils16.cp("#{@passwd.dir}/#{@httpdir}/#{@diarydir}/dot.htaccess", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}/.htaccess", *@fileutilOptions) - end - end - - def setPermissions - FileUtils16.chmod(0777, "#{@passwd.dir}/#{@diarydir}", *@fileutilOptions) if ! defined?($OPT_SUEXEC) - FileUtils16.chmod(0777, "#{@passwd.dir}/#{@httpdir}/#{@diarydir}", *@fileutilOptions) if ! defined?($OPT_SUEXEC) - FileUtils16.rm("#{@passwd.dir}/#{@httpdir}/#{@diarydir}/tdiary-FreeBSD.sh", :force, *@fileutilOptions) - - if @euid == 0 then - Find.find("#{@passwd.dir}/#{@diarydir}", "#{@passwd.dir}/#{@httpdir}/#{@diarydir}") do |f| - File.chown(@passwd.uid, @passwd.gid, f) - end - if File::Stat.new("#{@passwd.dir}/#{@httpdir}").uid == 0 - File.chown(@passwd.uid, @passwd.gid, "#{@passwd.dir}/#{@httpdir}") - end - end - end - - def echo(s) - STDOUT.print s if ! defined?($OPT_QUIET) - end - - def tdiaryConfReplace(filename) - s = '' - File.open(filename) { |fp| - fp.each { |line| - line = "@data_path = '#{@passwd.dir}/#{@diarydir}'\n" if line =~ /^\@data_path\s/ - line = "@author_name = '#{@author_name}'\n" if line =~ /^\@author_name\s/ - line = "@author_mail = '#{@author_mail}'\n" if line =~ /^\@author_mail\s/ - line = "@html_title = '#{@author_name} diary'\n" if line =~ /^\@html_title\s/ - line = "@index_page = 'http://#{@author_host}/~#{@username}\/'" if line =~ /^\@index_page\s/ - s += line - } - } - s - end - - def dothtaccessReplace(filename) - s = '' - File.open(filename) { |fp| - fp.each { |line| - line = "\tAuthUserFile #{@passwd.dir}/.htpasswd\n" if line =~ /^\s*AuthUserFile\s/ - line = "\tRequire user #{@username}\n" if line =~ /^\s*Require user\s/ - line = "Options +FollowSymLinks\n" if line =~ /^\#Options \+FollowSymLinks/ && $OPT_SYMLINK - s += line - } - } - s - end -end - -tdiaryinst = TdiaryInstall.new -tdiaryinst.tdiarymaster = $OPT_TDIARYMASTER -tdiaryinst.lang = $OPT_LANG -tdiaryinst.username = $OPT_USER if defined?($OPT_USER) -tdiaryinst.diarydir = $OPT_DIARYDIR if defined?($OPT_DIARYDIR) -tdiaryinst.httpdir = $OPT_HTTPDIR if defined?($OPT_HTTPDIR) -tdiaryinst.author_name = $OPT_NAME if defined?($OPT_NAME) -tdiaryinst.author_mail = $OPT_MAIL if defined?($OPT_MAIL) -tdiaryinst.fileutilOptions.push(:noop) if defined?($OPT_NOOP) -tdiaryinst.fileutilOptions.push(:verbose) if defined?($OPT_VERBOSE) - -tdiaryinst.installAll - -exit 0 |