Wiki2Go 1.22.0 → 1.22.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,9 +3,12 @@
3
3
  require 'etc'
4
4
  require 'fileutils'
5
5
  require 'optparse'
6
- require "uri"
6
+ require 'uri'
7
+ require 'rbconfig.rb'
7
8
 
8
- WIKI2GO_VERSION = '1.22.0'
9
+ include Config
10
+
11
+ WIKI2GO_VERSION = '1.22.1'
9
12
  gem "Wiki2Go","~>#{WIKI2GO_VERSION}"
10
13
 
11
14
  require 'Wiki2Go/Web.rb'
@@ -99,19 +102,19 @@ module Wiki2Go
99
102
  if uri.scheme.nil? then
100
103
  @server = url
101
104
  else
102
- @server = uri.host
103
- @subsite = uri.path
104
- @port = uri.port.to_s
105
- end
106
- end
107
-
108
- private
109
- def self.type_of(configuration)
110
- return 'public' if configuration.kind_of?(Wiki2Go::PublicWikiConfig)
111
- return 'private' if configuration.kind_of?(Wiki2Go::PrivateWikiConfig)
112
- return 'readwrite' if configuration.kind_of?(Wiki2Go::ReadWriteWikiConfig)
113
- return nil
114
- end
105
+ @server = uri.host
106
+ @subsite = uri.path
107
+ @port = uri.port.to_s
108
+ end
109
+ end
110
+
111
+ private
112
+ def self.type_of(configuration)
113
+ return 'public' if configuration.kind_of?(Wiki2Go::PublicWikiConfig)
114
+ return 'private' if configuration.kind_of?(Wiki2Go::PrivateWikiConfig)
115
+ return 'readwrite' if configuration.kind_of?(Wiki2Go::ReadWriteWikiConfig)
116
+ return nil
117
+ end
115
118
  end
116
119
 
117
120
  module Install
@@ -316,6 +319,8 @@ module Wiki2Go
316
319
  end
317
320
 
318
321
  def Install.copy_scripts(source,dest)
322
+ ruby = File.join(CONFIG['bindir'],CONFIG['ruby_install_name'])
323
+ executable = "#!#{ruby}"
319
324
  ensure_path_exists dest
320
325
  Dir.glob(File.join(source,'*')).each do |filename|
321
326
  name = File.basename(filename)
@@ -326,6 +331,7 @@ module Wiki2Go
326
331
  File.open(filename) do |f|
327
332
  content = f.readlines
328
333
  content.collect! { |line| line.chomp}
334
+ content[0] = executable
329
335
  destname = File.join(dest,name)
330
336
  File.open(destname,File::CREAT|File::TRUNC|File::RDWR,0775) do |d|
331
337
  d.puts content
@@ -336,6 +342,7 @@ module Wiki2Go
336
342
  end
337
343
  end
338
344
 
345
+
339
346
  def Install.make_executable(dir)
340
347
  cd dir do
341
348
  Dir['*.rb'].each do |file|
@@ -456,16 +463,8 @@ class CgiOptions < Wiki2Go::#{baseconfig}
456
463
  end
457
464
 
458
465
  end
459
- TEMPLATE_END
466
+ TEMPLATE_END
460
467
 
461
- dest = File.join(config.directory,'site','scripts','CgiOptions.rb')
462
- if File.exists?(dest) then
463
- dest += '.new'
464
- end
465
- File.open(dest,File::CREAT|File::TRUNC|File::RDWR,0664) do |f|
466
- f.puts template
467
- end
468
-
469
468
  logdir = File.join(config.directory,'logs')
470
469
  mkdir_p(logdir,{ :mode => 0775}) unless File.exists?(logdir)
471
470
 
@@ -473,18 +472,30 @@ TEMPLATE_END
473
472
  if !File.exists?(logfile) then
474
473
  touch logfile
475
474
  end
475
+
476
+ cgi_options = File.join(config.directory,'site','scripts','CgiOptions.rb')
477
+ if File.exists?(cgi_options) then
478
+ cgi_options += '.new'
479
+ end
480
+ File.open(cgi_options,File::CREAT|File::TRUNC|File::RDWR,0664) do |f|
481
+ f.puts template
482
+ end
476
483
 
477
484
  securedir = File.join(config.directory,'site','scripts','secure')
478
485
  if File.exists?(securedir) then
479
486
  secure = File.join(securedir,'CgiOptions.rb')
480
487
 
481
488
  begin
482
- ln_sf(dest,secure)
489
+ ln_sf(cgi_options,secure)
483
490
  rescue NotImplementedError
484
491
  #Symbolic links are not supported on Windows
492
+ if File.exists?(secure) then
493
+ secure += '.new'
494
+ end
495
+ cp(cgi_options,secure)
485
496
  end
486
497
  end
487
- return dest
498
+ return cgi_options
488
499
  end
489
500
 
490
501
  def Install.install_html(config)
@@ -569,42 +580,42 @@ TEMPLATE_END
569
580
  template = <<-END_TEMPLATE
570
581
  <VirtualHost *#{config.dotted_port}>
571
582
  ServerName #{config.server}
572
- DocumentRoot #{config.directory}/site
583
+ DocumentRoot "#{config.directory}/site"
573
584
  RedirectMatch ^/$ http://#{File.join(config.server_url,config.default_wiki,'FrontPage.html')}
574
585
  RedirectMatch ^$ http://#{File.join(config.server_url,config.default_wiki,'FrontPage.html')}
575
- ScriptAlias /scripts #{config.directory}/site/scripts
586
+ ScriptAlias /scripts "#{config.directory}/site/scripts"
576
587
  <Directory "#{config.directory}/site/scripts/secure">
577
588
  AuthType Basic
578
589
  AuthName "#{config.server} wiki site"
579
- AuthUserFile #{config.directory}/config/passwords
590
+ AuthUserFile "#{config.directory}/config/passwords"
580
591
  require valid-user
581
592
  Options ExecCGI FollowSymLinks
582
593
  </Directory>
583
594
  <Directory "#{config.directory}/site/scripts">
584
595
  Options ExecCGI FollowSymLinks
585
596
  </Directory>
586
- ErrorLog #{config.directory}/logs/error.log
587
- CustomLog #{config.directory}/logs/access.log combined
597
+ ErrorLog "#{config.directory}/logs/error.log"
598
+ CustomLog "#{config.directory}/logs/access.log" combined
588
599
 
589
600
  </VirtualHost>
590
- END_TEMPLATE
601
+ END_TEMPLATE
591
602
 
592
603
  subsite_template = <<-END_TEMPLATE
593
604
  RedirectMatch ^#{config.subsite}/$ http://#{File.join(config.server_url,config.subsite,config.default_wiki,'FrontPage.html')}
594
605
  RedirectMatch ^#{config.subsite}$ http://#{File.join(config.server_url,config.subsite,config.default_wiki,'FrontPage.html')}
595
- ScriptAlias #{config.subsite}/scripts #{config.directory}/site/scripts
606
+ ScriptAlias #{config.subsite}/scripts "#{config.directory}/site/scripts"
596
607
  Alias #{config.subsite} #{config.directory}/site
597
608
  <Directory "#{config.directory}/site/scripts/secure">
598
609
  AuthType Basic
599
610
  AuthName "#{config.server} wiki site"
600
- AuthUserFile #{config.directory}/config/passwords
611
+ AuthUserFile "#{config.directory}/config/passwords"
601
612
  require valid-user
602
613
  Options ExecCGI FollowSymLinks
603
614
  </Directory>
604
615
  <Directory "#{config.directory}/site/scripts">
605
616
  Options ExecCGI FollowSymLinks
606
617
  </Directory>
607
- END_TEMPLATE
618
+ END_TEMPLATE
608
619
 
609
620
  write_apache_config(config,(config.subsite.empty? ? template : subsite_template))
610
621
  end
@@ -665,7 +676,7 @@ auth.require = (
665
676
 
666
677
  # Include standard mime types
667
678
  include "mime.types.conf"
668
- END_OF_TEMPLATE
679
+ END_OF_TEMPLATE
669
680
 
670
681
  write_lighttpd_config(config,template)
671
682
  end
@@ -674,42 +685,42 @@ END_OF_TEMPLATE
674
685
  template = <<-END_TEMPLATE
675
686
  <VirtualHost *#{config.dotted_port}>
676
687
  ServerName #{config.server}
677
- DocumentRoot #{config.directory}/site
688
+ DocumentRoot "#{config.directory}/site"
678
689
  RedirectMatch ^/$ http://#{File.join(config.server_url,config.default_wiki,'FrontPage.html')}
679
690
  RedirectMatch ^$ http://#{File.join(config.server_url,config.default_wiki,'FrontPage.html')}
680
- ScriptAlias /scripts #{config.directory}/site/scripts
691
+ ScriptAlias /scripts "#{config.directory}/site/scripts"
681
692
  <Directory "#{config.directory}/site/scripts/secure">
682
693
  AuthType Basic
683
694
  AuthName "#{config.server} wiki site"
684
- AuthUserFile #{config.directory}/config/passwords
695
+ AuthUserFile "#{config.directory}/config/passwords"
685
696
  require valid-user
686
697
  Options ExecCGI FollowSymLinks
687
698
  </Directory>
688
699
  <Directory "#{config.directory}/site/scripts">
689
700
  Options ExecCGI FollowSymLinks
690
701
  </Directory>
691
- ErrorLog #{config.directory}/logs/error.log
692
- CustomLog #{config.directory}/logs/access.log combined
702
+ ErrorLog "#{config.directory}/logs/error.log"
703
+ CustomLog "#{config.directory}/logs/access.log" combined
693
704
 
694
705
  </VirtualHost>
695
- END_TEMPLATE
706
+ END_TEMPLATE
696
707
 
697
708
  subsite_template = <<-END_TEMPLATE
698
709
  RedirectMatch ^#{config.subsite}/$ http://#{File.join(config.server_url,config.subsite,config.default_wiki,'FrontPage.html')}
699
710
  RedirectMatch ^#{config.subsite}$ http://#{File.join(config.server_url,config.subsite,config.default_wiki,'FrontPage.html')}
700
- ScriptAlias #{config.subsite}/scripts #{config.directory}/site/scripts
711
+ ScriptAlias #{config.subsite}/scripts "#{config.directory}/site/scripts"
701
712
  Alias #{config.subsite} #{config.directory}/site
702
713
  <Directory "#{config.directory}/site/scripts/secure">
703
714
  AuthType Basic
704
715
  AuthName "#{config.server} wiki site"
705
- AuthUserFile #{config.directory}/config/passwords
716
+ AuthUserFile "#{config.directory}/config/passwords"
706
717
  require valid-user
707
718
  Options ExecCGI FollowSymLinks
708
719
  </Directory>
709
720
  <Directory "#{config.directory}/site/scripts">
710
721
  Options ExecCGI FollowSymLinks
711
722
  </Directory>
712
- END_TEMPLATE
723
+ END_TEMPLATE
713
724
 
714
725
  write_apache_config(config,(config.subsite.empty? ? template : subsite_template))
715
726
  end
@@ -770,7 +781,7 @@ auth.require = (
770
781
 
771
782
  # Include standard mime types
772
783
  include "mime.types.conf"
773
- END_OF_TEMPLATE
784
+ END_OF_TEMPLATE
774
785
 
775
786
  write_lighttpd_config(config,template)
776
787
  end
@@ -779,104 +790,104 @@ END_OF_TEMPLATE
779
790
  template = <<-END_TEMPLATE
780
791
  <VirtualHost *#{config.dotted_port}>
781
792
  ServerName #{config.server}
782
- DocumentRoot #{config.directory}/site
793
+ DocumentRoot "#{config.directory}/site"
783
794
  RedirectMatch ^/$ http://#{File.join(config.server_url,config.default_wiki,'FrontPage.html')}
784
795
  RedirectMatch ^$ http://#{File.join(config.server_url,config.default_wiki,'FrontPage.html')}
785
796
  ScriptAlias /scripts #{config.directory}/site/scripts
786
797
  <Directory "#{config.directory}/site/">
787
798
  AuthType Basic
788
799
  AuthName "#{config.server} wiki site"
789
- AuthUserFile #{config.directory}/config/passwords
800
+ AuthUserFile "#{config.directory}/config/passwords"
790
801
  require valid-user
791
802
  Options ExecCGI FollowSymLinks
792
803
  </Directory>
793
804
  <Directory "#{config.directory}/site/scripts/">
794
805
  Options ExecCGI FollowSymLinks
795
806
  </Directory>
796
- ErrorLog #{config.directory}/logs/error.log
797
- CustomLog #{config.directory}/logs/access.log combined
807
+ ErrorLog "#{config.directory}/logs/error.log"
808
+ CustomLog "#{config.directory}/logs/access.log" combined
798
809
 
799
810
  </VirtualHost>
800
- END_TEMPLATE
811
+ END_TEMPLATE
801
812
 
802
813
  subsite_template = <<-END_TEMPLATE
803
814
  RedirectMatch ^#{config.subsite}/$ http://#{File.join(config.server_url,config.subsite,config.default_wiki,'FrontPage.html')}
804
815
  RedirectMatch ^#{config.subsite}$ http://#{File.join(config.server_url,config.subsite,config.default_wiki,'FrontPage.html')}
805
- ScriptAlias #{config.subsite}/scripts #{config.directory}/site/scripts
806
- Alias #{config.subsite} #{config.directory}/site
807
- <Directory "#{config.directory}/site/">
808
- AuthType Basic
809
- AuthName "#{config.server} wiki site"
810
- AuthUserFile #{config.directory}/config/passwords
811
- require valid-user
812
- Options ExecCGI FollowSymLinks
813
- </Directory>
814
- <Directory "#{config.directory}/site/scripts/">
815
- Options ExecCGI FollowSymLinks
816
- </Directory>
817
-
818
- END_TEMPLATE
816
+ ScriptAlias #{config.subsite}/scripts #{config.directory}/site/scripts
817
+ Alias #{config.subsite} "#{config.directory}/site"
818
+ <Directory "#{config.directory}/site/">
819
+ AuthType Basic
820
+ AuthName "#{config.server} wiki site"
821
+ AuthUserFile #{config.directory}/config/passwords
822
+ require valid-user
823
+ Options ExecCGI FollowSymLinks
824
+ </Directory>
825
+ <Directory "#{config.directory}/site/scripts/">
826
+ Options ExecCGI FollowSymLinks
827
+ </Directory>
828
+
829
+ END_TEMPLATE
819
830
 
820
831
  write_apache_config(config,(config.subsite.empty? ? template : subsite_template))
821
832
  end
822
833
 
823
834
  def Install.make_private_lighttpd_config( config)
824
835
  template = <<-END_OF_TEMPLATE
825
- # Configuration generated by Wiki2Go
836
+ # Configuration generated by Wiki2Go
826
837
 
827
- # selecting modules
828
- server.modules = ( "mod_rewrite",
829
- "mod_redirect",
830
- "mod_alias",
831
- "mod_access",
832
- "mod_auth",
833
- "mod_status",
834
- "mod_fastcgi",
835
- "mod_cgi",
836
- "mod_compress",
837
- "mod_expire",
838
- "mod_accesslog" )
839
-
840
- server.port = #{config.port}
838
+ # selecting modules
839
+ server.modules = ( "mod_rewrite",
840
+ "mod_redirect",
841
+ "mod_alias",
842
+ "mod_access",
843
+ "mod_auth",
844
+ "mod_status",
845
+ "mod_fastcgi",
846
+ "mod_cgi",
847
+ "mod_compress",
848
+ "mod_expire",
849
+ "mod_accesslog" )
850
+
851
+ server.port = #{config.port}
841
852
 
842
- server.document-root = "#{config.directory}/site"
843
- server.errorlog = "#{config.directory}/logs/lighttpd.error.log"
844
- accesslog.filename = "#{config.directory}/logs/lighttpd.access.log"
845
-
846
- server.follow-symlink= "enable"
847
- debug.log-request-header= "enable"
848
- debug.log-response-header= "enable"
849
- debug.log-file-not-found= "enable"
850
-
851
- server.indexfiles = ( "index.html", "FrontPage.html" )
852
-
853
- # Execute .rb as Ruby
854
- cgi.assign = ( ".rb" => "/usr/local/bin/ruby" )
855
-
856
- # Redirect all scripts without extension to .rb equivalent
857
- url.rewrite-once = (
858
- "^/scripts/secure/([^\.\/]*)/(.*)$" => "/scripts/secure/$1.rb/$2",
859
- "^/scripts/secure/([^\.\/]*)$" => "/scripts/secure/$1.rb" ,
860
- "^/scripts/(?!secure)([^\.\/]*)/(.*)$" => "/scripts/$1.rb/$2" ,
861
- "^/scripts/(?!secure)([^\.\/]*)$" => "/scripts/$1.rb"
862
- )
863
-
864
- auth.debug = 2
865
- auth.backend = "htpasswd"
866
- auth.backend.htpasswd.userfile = "#{config.directory}/config/passwords"
867
- auth.require = (
868
- "/" =>
869
- (
870
- "method" => "basic",
871
- "realm" => "lighty wiki",
872
- "require" => "valid-user"
873
- )
874
- )
875
-
876
-
877
- # Include standard mime types
878
- include "mime.types.conf"
879
- END_OF_TEMPLATE
853
+ server.document-root = "#{config.directory}/site"
854
+ server.errorlog = "#{config.directory}/logs/lighttpd.error.log"
855
+ accesslog.filename = "#{config.directory}/logs/lighttpd.access.log"
856
+
857
+ server.follow-symlink= "enable"
858
+ debug.log-request-header= "enable"
859
+ debug.log-response-header= "enable"
860
+ debug.log-file-not-found= "enable"
861
+
862
+ server.indexfiles = ( "index.html", "FrontPage.html" )
863
+
864
+ # Execute .rb as Ruby
865
+ cgi.assign = ( ".rb" => "/usr/local/bin/ruby" )
866
+
867
+ # Redirect all scripts without extension to .rb equivalent
868
+ url.rewrite-once = (
869
+ "^/scripts/secure/([^\.\/]*)/(.*)$" => "/scripts/secure/$1.rb/$2",
870
+ "^/scripts/secure/([^\.\/]*)$" => "/scripts/secure/$1.rb" ,
871
+ "^/scripts/(?!secure)([^\.\/]*)/(.*)$" => "/scripts/$1.rb/$2" ,
872
+ "^/scripts/(?!secure)([^\.\/]*)$" => "/scripts/$1.rb"
873
+ )
874
+
875
+ auth.debug = 2
876
+ auth.backend = "htpasswd"
877
+ auth.backend.htpasswd.userfile = "#{config.directory}/config/passwords"
878
+ auth.require = (
879
+ "/" =>
880
+ (
881
+ "method" => "basic",
882
+ "realm" => "lighty wiki",
883
+ "require" => "valid-user"
884
+ )
885
+ )
886
+
887
+
888
+ # Include standard mime types
889
+ include "mime.types.conf"
890
+ END_OF_TEMPLATE
880
891
 
881
892
  write_lighttpd_config(config,template)
882
893
  end
data/test/TestInstall.rb CHANGED
@@ -125,8 +125,8 @@ class TestInstall < Test::Unit::TestCase
125
125
  changed = files.updated_files
126
126
  really_changed = changed.reject {|name| name =~ /\.new$/ || name =~/\.rb$/ }
127
127
  assert_equal 0,really_changed.length,"Update should NOT change files but updated : #{really_changed.join(' and ')}"
128
- assert !changed.find {|name| name =~ /CgiOptions\.rb$/ }
129
- assert changed.find {|name| name =~ /CgiOptions\.rb\.new$/ }
128
+ assert !changed.find {|name| name =~ /CgiOptions\.rb$/ },"CgiOptions.rb should not be updated"
129
+ assert changed.find {|name| name =~ /CgiOptions\.rb\.new$/ },"A new CgiOptions should be created"
130
130
 
131
131
  assert_wiki_structure_exists(wiki_dir,'Wiki2Go')
132
132
  end
@@ -153,6 +153,8 @@ class TestInstall < Test::Unit::TestCase
153
153
  assert(File.exists?(File.join(wiki_dir,'logs')))
154
154
  assert(File.exists?(File.join(wiki_dir,'texts',wiki_name)))
155
155
  assert(File.exists?(File.join(wiki_dir,'templates',wiki_name)))
156
+ assert(File.exists?(File.join(wiki_dir,'site','scripts','CgiOptions.rb')))
157
+ assert(File.exists?(File.join(wiki_dir,'site','scripts','secure','CgiOptions.rb')))
156
158
  end
157
159
 
158
160
  def assert_exists(wiki_dir,*dirs)
@@ -650,3 +650,7 @@ I, [2008-07-27 14:32:11#3304] INFO -- : >> perform_view(Bugs,FrontPage) {}
650
650
  I, [2008-07-27 14:32:12#3304] INFO -- : << perform_view 0.563 sec elapsed {}
651
651
  I, [2008-07-27 14:33:06#744] INFO -- : >> perform_view(Bugs,FrontPage) {}
652
652
  I, [2008-07-27 14:33:06#744] INFO -- : << perform_view 0.563 sec elapsed {}
653
+ I, [2008-08-23 19:35:13#1908] INFO -- : >> perform_view(Bugs,FrontPage) {}
654
+ I, [2008-08-23 19:35:14#1908] INFO -- : << perform_view 0.578 sec elapsed {}
655
+ I, [2008-08-23 21:30:08#756] INFO -- : >> perform_view(Bugs,FrontPage) {}
656
+ I, [2008-08-23 21:30:08#756] INFO -- : << perform_view 0.578 sec elapsed {}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Wiki2Go
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.22.0
4
+ version: 1.22.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pascal Van Cauwenberghe
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-29 00:00:00 +02:00
12
+ date: 2008-08-31 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -234,7 +234,7 @@ files:
234
234
  - test/UnitTestFiles.rb
235
235
  - test/Wiki2GoConfigForTest.rb
236
236
  has_rdoc: false
237
- homepage: http://wiki2go.rubyforge.org
237
+ homepage: http://wiki2go.nayima.be
238
238
  post_install_message:
239
239
  rdoc_options: []
240
240