[Red5commits] [1130] updated installer for next release

jbauch luke at codegent.com
Sun Jul 9 15:40:07 EDT 2006


updated installer for next release


Timestamp: 07/10/06 05:17:15 (less than one hour ago) 
Change: 1130 
Author: jbauch

Files (see diff or trac for details): 
build/trunk/conf
build/trunk/conf/wrapper.conf.in
build/trunk/installer.py
build/trunk/red5-setup.iss


Trac: http://mirror1.cvsdude.com/trac/osflash/red5/changeset/1130

Index: /build/trunk/installer.py
===================================================================
--- /build/trunk/installer.py (revision 773)
+++ /build/trunk/installer.py (revision 1130)
@@ -7,6 +7,6 @@
 
 # defaults
-ANT_CMD  = r'D:\Temp\apache-ant-1.6.5\bin\ant.bat'
-INNO_CMD = r'C:\Programme\InnoSe~2\ISCC.exe'
+ANT_CMD  = r'D:\Develop\osflash\apache-ant-1.6.5\bin\ant'
+INNO_CMD = r'C:\Programme\InnoSe~1\ISCC.exe'
 VERSION  = strftime('%Y%m%d')
 
@@ -30,4 +30,24 @@
         self.build_root = os.path.abspath(os.path.split(__file__)[0])
 
+    def prepareWrapperConf(self, src, dst):
+        fp = file(dst, 'wb')
+        jars = [x for x in os.listdir(os.path.join(self.build_root, '..', 'dist', 'lib')) if x.lower().endswith('.jar')]
+        added = False
+        for line in file(src, 'rb').readlines():
+            if not line.startswith('wrapper.java.classpath.'):
+                fp.write(line)
+                continue
+            
+            if added:
+                # skip line, setting will get overwritten
+                continue
+            
+            fp.write('wrapper.java.classpath.1=../lib/wrapper.jar\n')
+            fp.write('wrapper.java.classpath.2=../conf\n')
+            fp.write('wrapper.java.classpath.3=../lib/red5.jar\n')
+            for idx, filename in enumerate(jars):
+                fp.write('wrapper.java.classpath.%d=../lib/%s\n' % (idx+4, filename))
+            added = True
+
     def build(self, platform='windows'):
         log('Building from %s' % self.build_root)
@@ -35,4 +55,8 @@
         red5_root = os.path.abspath(os.path.join(self.build_root, '..', 'dist'))
         self.compile(self.ant_cmd, os.path.join(red5_root, '..', 'build.xml'), 'installerdist')
+        
+        # setup .jar files to wrapper.conf
+        self.prepareWrapperConf(os.path.join(self.build_root, 'conf', 'wrapper.conf.in'), 
+                                os.path.join(self.build_root, 'conf', 'wrapper.conf'))
         
         # build installer
Index: /build/trunk/conf/wrapper.conf.in
===================================================================
--- /build/trunk/conf/wrapper.conf.in (revision 1130)
+++ /build/trunk/conf/wrapper.conf.in (revision 1130)
@@ -0,0 +1,116 @@
+#********************************************************************
+# Wrapper Properties
+#********************************************************************
+# Java Application
+wrapper.java.command=java
+
+# Java Main class.  This class must implement the WrapperListener interface
+#  or guarantee that the WrapperManager class is initialized.  Helper
+#  classes are provided to do this for you.  See the Integration section
+#  of the documentation for details.
+wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
+
+# Java Classpath (include wrapper.jar)  Add class path elements as
+#  needed starting from 1
+wrapper.java.classpath.1=../lib/wrapper.jar
+wrapper.java.classpath.2=../lib/red5.jar
+wrapper.java.classpath.3=../conf
+wrapper.java.classpath.4=../lib/slf4j-log4j12.jar
+wrapper.java.classpath.5=../lib/cglib-nodep-2.1_2.jar
+wrapper.java.classpath.6=../lib/commons-beanutils.jar
+wrapper.java.classpath.7=../lib/commons-collections.jar
+wrapper.java.classpath.8=../lib/commons-logging.jar
+wrapper.java.classpath.9=../lib/jetty.jar
+wrapper.java.classpath.10=../lib/jpda.jar
+wrapper.java.classpath.11=../lib/js.jar
+wrapper.java.classpath.12=../lib/junit.jar
+wrapper.java.classpath.13=../lib/log4j-1.2.9.jar
+wrapper.java.classpath.14=../lib/mina-core-0.9.3.jar
+wrapper.java.classpath.15=../lib/servlet-api.jar
+wrapper.java.classpath.16=../lib/spring-scripting-support.jar
+wrapper.java.classpath.17=../lib/spring.jar
+wrapper.java.classpath.18=../lib/xbean_xpath.jar
+wrapper.java.classpath.19=../lib/quartz-1.5.2.jar
+wrapper.java.classpath.20=../lib/mina-integration-spring-0.9.3.jar
+wrapper.java.classpath.21=../lib/jetty-util.jar
+wrapper.java.classpath.22=../lib/xmlrpc-2.0.1.jar
+wrapper.java.classpath.23=../lib/commons-codec-1.3.jar
+wrapper.java.classpath.24=../lib/commons-httpclient-3.0.1.jar
+
+# Java Library Path (location of Wrapper.DLL or libwrapper.so)
+wrapper.java.library.path.1=../lib
+
+# Java Additional Parameters
+#wrapper.java.additional.1=
+
+# Initial Java Heap Size (in MB)
+#wrapper.java.initmemory=3
+
+# Maximum Java Heap Size (in MB)
+#wrapper.java.maxmemory=64
+
+# Application parameters.  Add parameters as needed starting from 1
+wrapper.app.parameter.1=org.red5.server.Standalone
+
+#********************************************************************
+# Wrapper Logging Properties
+#********************************************************************
+# Format of output for the console.  (See docs for formats)
+wrapper.console.format=PM
+
+# Log Level for console output.  (See docs for log levels)
+wrapper.console.loglevel=INFO
+
+# Log file to use for wrapper output logging.
+wrapper.logfile=../logs/red5.log
+
+# Format of output for the log file.  (See docs for formats)
+wrapper.logfile.format=LPTM
+
+# Log Level for log file output.  (See docs for log levels)
+wrapper.logfile.loglevel=INFO
+
+# Maximum size that the log file will be allowed to grow to before
+#  the log is rolled. Size is specified in bytes.  The default value
+#  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
+#  'm' (mb) suffix.  For example: 10m = 10 megabytes.
+wrapper.logfile.maxsize=0
+
+# Maximum number of rolled log files which will be allowed before old
+#  files are deleted.  The default value of 0 implies no limit.
+wrapper.logfile.maxfiles=0
+
+# Log Level for sys/event log output.  (See docs for log levels)
+wrapper.syslog.loglevel=NONE
+
+#********************************************************************
+# Wrapper Windows Properties
+#********************************************************************
+# Title to use when running as a console
+wrapper.console.title=Red5
+
+#********************************************************************
+# Wrapper Windows NT/2000/XP Service Properties
+#********************************************************************
+# WARNING - Do not modify any of these properties when an application
+#  using this configuration file has been installed as a service.
+#  Please uninstall the service before modifying this section.  The
+#  service can then be reinstalled.
+
+# Name of the service
+wrapper.ntservice.name=Red5
+
+# Display name of the service
+wrapper.ntservice.displayname=Red5
+
+# Description of the service
+wrapper.ntservice.description=Red5 Open Source Flash Server
+
+# Service dependencies.  Add dependencies as needed starting from 1
+wrapper.ntservice.dependency.1=
+
+# Mode in which the service is installed.  AUTO_START or DEMAND_START
+wrapper.ntservice.starttype=AUTO_START
+
+# Allow the service to interact with the desktop.
+wrapper.ntservice.interactive=false
Index: /ild/trunk/conf/wrapper.conf
===================================================================
--- /build/trunk/conf/wrapper.conf (revision 953)
+++  (revision )
@@ -1,116 +1,0 @@
-#********************************************************************
-# Wrapper Properties
-#********************************************************************
-# Java Application
-wrapper.java.command=java
-
-# Java Main class.  This class must implement the WrapperListener interface
-#  or guarantee that the WrapperManager class is initialized.  Helper
-#  classes are provided to do this for you.  See the Integration section
-#  of the documentation for details.
-wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
-
-# Java Classpath (include wrapper.jar)  Add class path elements as
-#  needed starting from 1
-wrapper.java.classpath.1=../lib/wrapper.jar
-wrapper.java.classpath.2=../lib/red5.jar
-wrapper.java.classpath.3=../conf
-wrapper.java.classpath.4=../lib/slf4j-log4j12.jar
-wrapper.java.classpath.5=../lib/cglib-nodep-2.1_2.jar
-wrapper.java.classpath.6=../lib/commons-beanutils.jar
-wrapper.java.classpath.7=../lib/commons-collections.jar
-wrapper.java.classpath.8=../lib/commons-logging.jar
-wrapper.java.classpath.9=../lib/jetty.jar
-wrapper.java.classpath.10=../lib/jpda.jar
-wrapper.java.classpath.11=../lib/js.jar
-wrapper.java.classpath.12=../lib/junit.jar
-wrapper.java.classpath.13=../lib/log4j-1.2.9.jar
-wrapper.java.classpath.14=../lib/mina-core-0.9.3.jar
-wrapper.java.classpath.15=../lib/servlet-api.jar
-wrapper.java.classpath.16=../lib/spring-scripting-support.jar
-wrapper.java.classpath.17=../lib/spring.jar
-wrapper.java.classpath.18=../lib/xbean_xpath.jar
-wrapper.java.classpath.19=../lib/quartz-1.5.2.jar
-wrapper.java.classpath.20=../lib/mina-integration-spring-0.9.3.jar
-wrapper.java.classpath.21=../lib/jetty-util.jar
-wrapper.java.classpath.22=../lib/xmlrpc-2.0.1.jar
-wrapper.java.classpath.23=../lib/commons-codec-1.3.jar
-wrapper.java.classpath.24=../lib/commons-httpclient-3.0.1.jar
-
-# Java Library Path (location of Wrapper.DLL or libwrapper.so)
-wrapper.java.library.path.1=../lib
-
-# Java Additional Parameters
-#wrapper.java.additional.1=
-
-# Initial Java Heap Size (in MB)
-#wrapper.java.initmemory=3
-
-# Maximum Java Heap Size (in MB)
-#wrapper.java.maxmemory=64
-
-# Application parameters.  Add parameters as needed starting from 1
-wrapper.app.parameter.1=org.red5.server.Standalone
-
-#********************************************************************
-# Wrapper Logging Properties
-#********************************************************************
-# Format of output for the console.  (See docs for formats)
-wrapper.console.format=PM
-
-# Log Level for console output.  (See docs for log levels)
-wrapper.console.loglevel=INFO
-
-# Log file to use for wrapper output logging.
-wrapper.logfile=../logs/red5.log
-
-# Format of output for the log file.  (See docs for formats)
-wrapper.logfile.format=LPTM
-
-# Log Level for log file output.  (See docs for log levels)
-wrapper.logfile.loglevel=INFO
-
-# Maximum size that the log file will be allowed to grow to before
-#  the log is rolled. Size is specified in bytes.  The default value
-#  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
-#  'm' (mb) suffix.  For example: 10m = 10 megabytes.
-wrapper.logfile.maxsize=0
-
-# Maximum number of rolled log files which will be allowed before old
-#  files are deleted.  The default value of 0 implies no limit.
-wrapper.logfile.maxfiles=0
-
-# Log Level for sys/event log output.  (See docs for log levels)
-wrapper.syslog.loglevel=NONE
-
-#********************************************************************
-# Wrapper Windows Properties
-#********************************************************************
-# Title to use when running as a console
-wrapper.console.title=Red5
-
-#********************************************************************
-# Wrapper Windows NT/2000/XP Service Properties
-#********************************************************************
-# WARNING - Do not modify any of these properties when an application
-#  using this configuration file has been installed as a service.
-#  Please uninstall the service before modifying this section.  The
-#  service can then be reinstalled.
-
-# Name of the service
-wrapper.ntservice.name=Red5
-
-# Display name of the service
-wrapper.ntservice.displayname=Red5
-
-# Description of the service
-wrapper.ntservice.description=Red5
-
-# Service dependencies.  Add dependencies as needed starting from 1
-wrapper.ntservice.dependency.1=
-
-# Mode in which the service is installed.  AUTO_START or DEMAND_START
-wrapper.ntservice.starttype=AUTO_START
-
-# Allow the service to interact with the desktop.
-wrapper.ntservice.interactive=false
Index: /build/trunk/red5-setup.iss
===================================================================
--- /build/trunk/red5-setup.iss (revision 830)
+++ /build/trunk/red5-setup.iss (revision 1130)
@@ -43,8 +43,9 @@
 RTMPT=RTMPT
 HTTP=HTTP servlet engine
-Remoting=Remoting
+Debug=Debug proxy
 PortWithDefault=port (default %1)
 PortWithNumber=port %1
 LimitService=You can limit a service to a single IP address by using the format "<ip>:<port>", e.g. "127.0.0.1:1935". If no ip is specified, the service will listen on all available interfaces.
+AdminUsernamePassword=To access the administration interface, use "admin" as username and "admin" as password when prompted for login credentials.
 
 [Components]
@@ -59,4 +60,5 @@
 [Files]
 ; Application files
+Source: "{#root_dir}\license.txt"; DestDir: "{app}"; Flags: ignoreversion
 Source: "{#root_dir}\red5.jar"; DestDir: "{app}\lib"; Flags: ignoreversion
 Source: "{#root_dir}\conf\*"; DestDir: "{app}\conf"; Excludes: "red5.properties"; Flags: onlyifdoesntexist recursesubdirs
@@ -97,7 +99,12 @@
 Name: "{group}\FAQ (Flash)"; Filename: "{app}\doc\Frequently Asked Questions.swf"
 Name: "{group}\HOWTO create new applications"; Filename: "{app}\doc\HOWTO-NewApplications.txt"
+Name: "{group}\Red5 migration guide"; Filename: "{app}\doc\MigrationGuide.txt"
 Name: "{group}\RTMPT Specification"; Filename: "{app}\doc\SPEC-RTMPT.txt"
 Name: "{group}\License"; Filename: "{app}\doc\licenseInfo\Red5LicenseInfo.txt"
 Name: "{group}\Team"; Filename: "{app}\doc\licenseInfo\team.txt"
+Name: "{group}\Mailing list"; Filename: "http://osflash.org/mailman/listinfo/red5_osflash.org"
+Name: "{group}\Administration Interface"; Filename: "{code:GetAdminUrl}"
+Name: "{group}\Welcome page"; Filename: "{code:GetWelcomeUrl}"
+
 Name: "{group}\{cm:UninstallProgram,Red5}"; Filename: "{uninstallexe}"
 Name: "{userdesktop}\Red5"; Filename: "{app}\bin\Red5.bat"; Tasks: desktopicon
@@ -126,6 +133,6 @@
   EnableHTTP: TCheckBox;
   PortHTTP: TEdit;
-  EnableRemoting: TCheckBox;
-  PortRemoting: TEdit;
+  EnableDebug: TCheckBox;
+  PortDebug: TEdit;
 
 function InitializeSetup(): Boolean;
@@ -214,7 +221,7 @@
   AddService(ServicesPage, X, 0, '{cm:RTMPT}', '8088', EnableRTMPT, PortRTMPT);
   
-  AddService(ServicesPage, 0, Pos + 16, '{cm:Remoting}', '5080', EnableRemoting, PortRemoting);
-  Pos := AddService(ServicesPage, X, Pos + 16, '{cm:HTTP}', '5080', EnableHTTP, PortHTTP);
-  
+  AddService(ServicesPage, 0, Pos + 16, '{cm:HTTP}', '5080', EnableHTTP, PortHTTP);
+  Pos := AddService(ServicesPage, X, Pos + 16, '{cm:Debug}', '1936', EnableDebug, PortDebug);
+
   Static := TNewStaticText.Create(ServicesPage);
   Static.Parent := ServicesPage.Surface;
@@ -226,4 +233,14 @@
   Static.WordWrap := True;
   Static.Caption := ExpandConstant('{cm:LimitService}');
+
+  Static := TNewStaticText.Create(ServicesPage);
+  Static.Parent := ServicesPage.Surface;
+  Static.Left := 0;
+  Static.Top := Pos + 64;
+  Static.Width := ServicesPage.SurfaceWidth;
+  Static.Height := Static.Height * 3;
+  Static.AutoSize := False;
+  Static.WordWrap := True;
+  Static.Caption := ExpandConstant('{cm:AdminUsernamePassword}');
 end;
 
@@ -266,8 +283,8 @@
   if (EnableRTMPT.Checked) then
     Result := Result + Space + ExpandConstant('{cm:RTMPT}') + ' ' + ExpandConstant('{cm:PortWithNumber,'+PortRTMPT.Text+'}') + NewLine;
-  if (EnableRemoting.Checked) then
-    Result := Result + Space + ExpandConstant('{cm:Remoting}') + ' ' + ExpandConstant('{cm:PortWithNumber,'+PortRemoting.Text+'}') + NewLine;
   if (EnableHTTP.Checked) then
     Result := Result + Space + ExpandConstant('{cm:HTTP}') + ' ' + ExpandConstant('{cm:PortWithNumber,'+PortHTTP.Text+'}') + NewLine;
+  if (EnableDebug.Checked) then
+    Result := Result + Space + ExpandConstant('{cm:Debug}') + ' ' + ExpandConstant('{cm:PortWithNumber,'+PortDebug.Text+'}') + NewLine;
 end;
 
@@ -324,7 +341,4 @@
     
     SplitHostPort(PortHTTP, Host, Port);
-    SaveStringToFile(Filename, Format('remoting.host_port = :%s', [Port]) + #13#10, True);
-    
-    SplitHostPort(PortHTTP, Host, Port);
     SaveStringToFile(Filename, Format('http.host = %s', [Host]) + #13#10, True);
     SaveStringToFile(Filename, Format('http.port = %s', [Port]) + #13#10, True);
@@ -333,4 +347,31 @@
     SaveStringToFile(Filename, Format('rtmpt.host = %s', [Host]) + #13#10, True);
     SaveStringToFile(Filename, Format('rtmpt.port = %s', [Port]) + #13#10, True);
+    
+    SaveStringToFile(Filename, Format('debug_proxy.host_port = %s', [PortDebug.Text]) + #13#10, True);
+    SplitHostPort(PortHTTP, Host, Port);
+    if (Host = '') or (Host = '0.0.0.0') then
+      Host := '127.0.0.1';
+    SaveStringToFile(Filename, Format('proxy_forward.host_port = %s:%s', [Host, Port]) + #13#10, True);
   end;
 end;
+
+function GetAdminUrl(Default: String): String;
+var
+  Host, Port: String;
+begin
+  SplitHostPort(PortHTTP, Host, Port);
+  if (Host = '') or (Host = '0.0.0.0') then
+    Host := '127.0.0.1';
+  Result := Format('http://%s:%s/admin', [Host, Port]);
+end;
+
+function GetWelcomeUrl(Default: String): String;
+var
+  Host, Port: String;
+begin
+  SplitHostPort(PortHTTP, Host, Port);
+  if (Host = '') or (Host = '0.0.0.0') then
+    Host := '127.0.0.1';
+  Result := Format('http://%s:%s/', [Host, Port]);
+end;
+


Note:
Diffs are chopped if more than 25k.
This is to get past the limit on the mailing list.



More information about the Red5commits mailing list