Wiki2Go 1.22.0 → 1.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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