r568 - in /packages/red5/trunk/debian: ant.properties changelog control patches/18_tomcat7-compatibility.patch patches/18_tomcat8-compatibility.patch patches/series red5-server.links

ebourg-guest at users.alioth.debian.org ebourg-guest at users.alioth.debian.org
Sat Nov 5 09:12:48 UTC 2016


Author: ebourg-guest
Date: Sat Nov  5 09:12:47 2016
New Revision: 568

URL: http://svn.debian.org/wsvn/pkg-flash/?sc=1&rev=568
Log:
Transition to Tomcat 8


Added:
    packages/red5/trunk/debian/patches/18_tomcat8-compatibility.patch
      - copied, changed from r567, packages/red5/trunk/debian/patches/18_tomcat7-compatibility.patch
Removed:
    packages/red5/trunk/debian/patches/18_tomcat7-compatibility.patch
Modified:
    packages/red5/trunk/debian/ant.properties
    packages/red5/trunk/debian/changelog
    packages/red5/trunk/debian/control
    packages/red5/trunk/debian/patches/series
    packages/red5/trunk/debian/red5-server.links

Modified: packages/red5/trunk/debian/ant.properties
URL: http://svn.debian.org/wsvn/pkg-flash/packages/red5/trunk/debian/ant.properties?rev=568&op=diff
==============================================================================
--- packages/red5/trunk/debian/ant.properties	(original)
+++ packages/red5/trunk/debian/ant.properties	Sat Nov  5 09:12:47 2016
@@ -25,8 +25,7 @@
 /usr/share/java/jaudiotagger.jar;\
 /usr/share/java/xmlrpc-server.jar;\
 /usr/share/java/xmlrpc-common.jar;\
-/usr/share/java/tomcat-catalina.jar;\
-/usr/share/java/tomcat-coyote.jar;\
+/usr/share/java/tomcat8-embed-core.jar;\
 /usr/share/java/glassfish-javaee.jar;\
 /usr/share/java/jython.jar;\
 /usr/share/java/xercesImpl.jar
@@ -37,10 +36,10 @@
 /usr/share/java/commons-logging.jar;\
 /usr/share/java/log4j-1.2.jar;\
 /usr/share/java/groboutils-testingjunit-core.jar;\
-/usr/share/java/tomcat-catalina.jar;\
-/usr/share/java/tomcat-juli.jar;\
-/usr/share/java/tomcat-annotations-api.jar;\
-/usr/share/java/el-api-2.2.jar
+/usr/share/java/tomcat8-catalina.jar;\
+/usr/share/java/tomcat8-embed-logging-juli.jar;\
+/usr/share/java/tomcat8-embed-el.jar;\
+/usr/share/java/tomcat8-embed-jasper.jar
 
 # For plugins
 red5.root = ../../

Modified: packages/red5/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-flash/packages/red5/trunk/debian/changelog?rev=568&op=diff
==============================================================================
--- packages/red5/trunk/debian/changelog	(original)
+++ packages/red5/trunk/debian/changelog	Sat Nov  5 09:12:47 2016
@@ -1,3 +1,10 @@
+red5 (1.0~svn4374-5) UNRELEASED; urgency=medium
+
+  * Team upload.
+  * Transition to Tomcat 8
+
+ -- Emmanuel Bourg <ebourg at apache.org>  Sat, 05 Nov 2016 10:11:24 +0100
+
 red5 (1.0~svn4374-4.2) unstable; urgency=medium
 
   * Non-maintainer upload.

Modified: packages/red5/trunk/debian/control
URL: http://svn.debian.org/wsvn/pkg-flash/packages/red5/trunk/debian/control?rev=568&op=diff
==============================================================================
--- packages/red5/trunk/debian/control	(original)
+++ packages/red5/trunk/debian/control	Sat Nov  5 09:12:47 2016
@@ -35,7 +35,7 @@
                      libspring-core-java,
                      libspring-test-java,
                      libspring-web-java,
-                     libtomcat7-java,
+                     libtomcat8-embed-java,
                      libxerces2-java,
                      libxmlrpc3-server-java
 Standards-Version: 3.9.6
@@ -95,7 +95,7 @@
 Depends: adduser (>= 3.11),
          default-jre-headless (>= 1:1.6) | java6-runtime-headless,
          libred5-java (= ${source:Version}),
-         libtomcat7-java,
+         libtomcat8-embed-java,
          ${misc:Depends}
 Conflicts: red5
 Description: flash streaming server

Copied: packages/red5/trunk/debian/patches/18_tomcat8-compatibility.patch (from r567, packages/red5/trunk/debian/patches/18_tomcat7-compatibility.patch)
URL: http://svn.debian.org/wsvn/pkg-flash/packages/red5/trunk/debian/patches/18_tomcat8-compatibility.patch?rev=568&op=diff
==============================================================================
--- packages/red5/trunk/debian/patches/18_tomcat7-compatibility.patch	(original)
+++ packages/red5/trunk/debian/patches/18_tomcat8-compatibility.patch	Sat Nov  5 09:12:47 2016
@@ -1,4 +1,4 @@
-Description: Use the Tomcat 7 API
+Description: Use the Tomcat 8 API
 Author: Emmanuel Bourg <ebourg at apache.org>
 Forwarded: no
 Bug-Debian: https://bugs.debian.org/686880
@@ -31,6 +31,15 @@
  }
 --- a/plugins/tomcat/src/org/red5/server/tomcat/TomcatVHostLoader.java
 +++ b/plugins/tomcat/src/org/red5/server/tomcat/TomcatVHostLoader.java
+@@ -305,7 +305,7 @@
+     		String prefix = servletContext.getRealPath("/");
+     		log.debug("Path: {}", prefix);
+     
+-			Loader cldr = cont.getLoader();
++			Loader cldr = ((Context) cont).getLoader();
+ 			log.debug("Loader type: {}", cldr.getClass().getName());
+ 			ClassLoader webClassLoader = cldr.getClassLoader();
+ 			log.debug("Webapp classloader: {}", webClassLoader);
 @@ -381,13 +381,13 @@
  			//seems to require that the domain be appended to the name
  			stdHost.setName(name + '.' + domain);
@@ -48,7 +57,15 @@
  		
  		return stdHost;
  	}
-@@ -454,7 +454,7 @@
+@@ -434,7 +434,6 @@
+ 	 */
+ 	public void addValve(Valve valve) {
+ 		log.debug("Adding valve: {}", valve);
+-		log.debug("Valve info: {}", valve.getInfo());
+ 		((StandardHost) host).addValve(valve);
+ 	}
+ 	
+@@ -454,10 +453,9 @@
  			log.error("", e);
  		}
  
@@ -56,8 +73,20 @@
 +		Valve[] valves = ((StandardHost) host).getPipeline().getValves();
  		for (Valve v : valves) {
  			log.debug("Valve: {}", v);
- 			log.debug("Valve info: {}", v.getInfo());
-@@ -567,4 +567,4 @@
+-			log.debug("Valve info: {}", v.getInfo());
+ 		}		
+ 		
+ 		//TODO: fix removing valves
+@@ -473,7 +471,7 @@
+ 	public void setContexts(Map<String, String> contexts) {
+ 		log.debug("setContexts: {}", contexts.size());
+ 		for (Map.Entry<String, String> entry : contexts.entrySet()) {
+-			host.addChild(embedded.createContext(entry.getKey(), webappRoot	+ entry.getValue()));
++			host.addChild(embedded.addContext(entry.getKey(), webappRoot	+ entry.getValue()));
+ 		}
+ 	}
+ 
+@@ -567,4 +565,4 @@
  	}
  
  	
@@ -66,7 +95,126 @@
 +}
 --- a/plugins/tomcat/src/org/red5/server/tomcat/TomcatLoader.java
 +++ b/plugins/tomcat/src/org/red5/server/tomcat/TomcatLoader.java
-@@ -521,7 +521,7 @@
+@@ -53,7 +53,7 @@
+ import org.apache.catalina.loader.WebappLoader;
+ import org.apache.catalina.realm.JAASRealm;
+ import org.apache.catalina.realm.RealmBase;
+-import org.apache.catalina.startup.Embedded;
++import org.apache.catalina.startup.Tomcat;
+ import org.apache.coyote.ProtocolHandler;
+ import org.apache.coyote.http11.Http11NioProtocol;
+ import org.apache.coyote.http11.Http11Protocol;
+@@ -143,7 +143,7 @@
+ 	/**
+ 	 * Embedded Tomcat service (like Catalina).
+ 	 */
+-	protected static Embedded embedded;
++	protected static Tomcat embedded;
+ 
+ 	/**
+ 	 * Tomcat engine.
+@@ -201,7 +201,7 @@
+ 	 */
+ 	public Context addContext(String path, String docBase, Host host) {
+ 		log.debug("Add context - path: {} docbase: {}", path, docBase);
+-		org.apache.catalina.Context c = embedded.createContext(path, docBase);
++		org.apache.catalina.Context c = embedded.addContext(path, docBase);
+ 		if (c != null) {
+ 			log.trace("Context name: {} docbase: {} encoded: {}", new Object[] { c.getName(), c.getDocBase(), c.getEncodedPath() });
+ 			ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+@@ -273,7 +273,7 @@
+ 	 * 
+ 	 * @return Embedded object
+ 	 */
+-	public Embedded getEmbedded() {
++	public Tomcat getEmbedded() {
+ 		return embedded;
+ 	}
+ 
+@@ -312,16 +312,16 @@
+ 		// set catalina's home property
+ 		System.setProperty("CATALINA_HOME", serverRoot);
+ 		// create one embedded (server) and use it everywhere
+-		embedded = new Embedded();
+-		embedded.createLoader(originalClassLoader);
+-		embedded.setCatalinaBase(serverRoot);
+-		embedded.setCatalinaHome(serverRoot);
+-		embedded.setName(serviceEngineName);
+-		log.trace("Classloader for embedded: {} TCL: {}", Embedded.class.getClassLoader(), originalClassLoader);
++		embedded = new Tomcat();
++		embedded.getServer().setParentClassLoader(originalClassLoader);
++		embedded.getServer().setCatalinaBase(new File(serverRoot));
++		embedded.getServer().setCatalinaHome(new File(serverRoot));
++		embedded.getService().setName(serviceEngineName);
++		log.trace("Classloader for embedded: {} TCL: {}", Tomcat.class.getClassLoader(), originalClassLoader);
+ 
+-		engine = embedded.createEngine();
++		engine = embedded.getEngine();
+ 		engine.setDefaultHost(host.getName());
+-		engine.setName(serviceEngineName);
++		//engine.setName(serviceEngineName);
+ 
+ 		if (webappFolder == null) {
+ 			// Use default webapps directory
+@@ -422,18 +422,22 @@
+ 		}
+ 		// set a realm on the "server" if specified
+ 		if (realm != null) {
+-			embedded.setRealm(realm);
++			embedded.getHost().setRealm(realm);
+ 		} else {
+ 			/*
+ 			realm = new MemoryRealm();
+ 			((MemoryRealm) realm).setPathname(confRoot + "/tomcat-users.xml");
+ 			*/
+ 			realm = new NoRealm();
+-			embedded.setRealm(realm);
++			embedded.getHost().setRealm(realm);
+ 		}
+ 		// use Tomcat jndi or not
+ 		if (System.getProperty("catalina.useNaming") != null) {
+-			embedded.setUseNaming(Boolean.valueOf(System.getProperty("catalina.useNaming")));
++			for (final Container cont : embedded.getHost().findChildren()) {
++				if (cont instanceof StandardContext) {
++					((StandardContext) cont).setUseNaming(Boolean.valueOf(System.getProperty("catalina.useNaming")));
++				}
++			}
+ 		}
+ 		// add the valves to the host
+ 		for (Valve valve : valves) {
+@@ -448,7 +452,7 @@
+ 			Container[] currentContexts = host.findChildren();
+ 			log.info("Adding {} additional hosts", hosts.size());
+ 			for (Host h : hosts) {
+-				log.debug("Host - name: {} appBase: {} info: {}", new Object[] { h.getName(), h.getAppBase(), h.getInfo() });
++				log.debug("Host - name: {} appBase: {} info: {}", new Object[] { h.getName(), h.getAppBase(), h });
+ 				//add the contexts to each host
+ 				for (Container cont : currentContexts) {
+ 					Context c = (Context) cont;
+@@ -459,7 +463,7 @@
+ 			}
+ 		}
+ 		// Add new Engine to set of Engine for embedded server
+-		embedded.addEngine(engine);
++		//embedded.addEngine(engine);
+ 		// whether or not ssl is enabled
+ 		boolean useSSL = false;
+ 		// set connection properties
+@@ -505,11 +509,11 @@
+ 			// Add new Connector to set of Connectors for embedded server,
+ 			// associated with Engine
+ 			if (connectors == null || connectors.isEmpty()) {
+-				embedded.addConnector(connector);
++				embedded.getService().addConnector(connector);
+ 				log.trace("Connector oName: {}", connector.getObjectName());
+ 			} else {
+ 				for (Connector ctr : connectors) {
+-					embedded.addConnector(ctr);
++					embedded.getService().addConnector(ctr);
+ 					log.trace("Connector oName: {}", ctr.getObjectName());
+ 				}
+ 			}
+@@ -521,7 +525,7 @@
  				if (cont instanceof StandardContext) {
  					if (log.isDebugEnabled()) {
  						ContainerBase cb = (ContainerBase) cont;
@@ -75,6 +223,56 @@
  					}
  					final StandardContext ctx = (StandardContext) cont;
  					final ServletContext servletContext = ctx.getServletContext();
+@@ -531,11 +535,11 @@
+ 					final String prefix = servletContext.getRealPath("/");
+ 					log.debug("Path: {}", prefix);
+ 					try {
+-						if (ctx.resourcesStart()) {
++						if (ctx.getState() == org.apache.catalina.LifecycleState.STARTED) {
+ 							log.debug("Resources started");
+ 						}
+ 						log.debug("Context - available: {} privileged: {}, start time: {}, reloadable: {}",
+-								new Object[] { ctx.getAvailable(), ctx.getPrivileged(), ctx.getStartTime(), ctx.getReloadable() });
++								new Object[] { ctx.getState().isAvailable(), ctx.getPrivileged(), ctx.getStartTime(), ctx.getReloadable() });
+ 						Loader cldr = ctx.getLoader();
+ 						log.debug("Loader delegate: {} type: {}", cldr.getDelegate(), cldr.getClass().getName());
+ 						if (log.isTraceEnabled()) {
+@@ -606,7 +610,7 @@
+ 											log.debug("Realm is JAAS type");
+ 											System.setProperty("java.security.auth.login.config", prefix + "WEB-INF/jaas.config");
+ 										}
+-										log.debug("Realm info: {} path: {}", contextRealm.getInfo(), ((RealmBase) contextRealm).getRealmPath());
++										log.debug("Realm info: {} path: {}", contextRealm, ((RealmBase) contextRealm).getRealmPath());
+ 									}
+ 								}
+ 							}
+@@ -700,7 +704,7 @@
+ 		log.debug("Path: {}", prefix);
+ 
+ 		try {
+-			Loader cldr = ctx.getLoader();
++			Loader cldr = ((Context) ctx).getLoader();
+ 			log.debug("Loader delegate: {} type: {}", cldr.getDelegate(), cldr.getClass().getName());
+ 			if (cldr instanceof WebappLoader) {
+ 				log.debug("WebappLoader class path: {}", ((WebappLoader) cldr).getClasspath());
+@@ -841,7 +845,7 @@
+ 	public void setContexts(Map<String, String> contexts) {
+ 		log.debug("setContexts: {}", contexts.size());
+ 		for (Map.Entry<String, String> entry : contexts.entrySet()) {
+-			host.addChild(embedded.createContext(entry.getKey(), webappFolder + entry.getValue()));
++			host.addChild(embedded.addContext(entry.getKey(), webappFolder + entry.getValue()));
+ 		}
+ 	}
+ 
+@@ -850,7 +854,7 @@
+ 	 * 
+ 	 * @param embedded Embedded object
+ 	 */
+-	public void setEmbedded(Embedded embedded) {
++	public void setEmbedded(Tomcat embedded) {
+ 		log.info("Setting embedded: {}", embedded.getClass().getName());
+ 		TomcatLoader.embedded = embedded;
+ 	}
 --- a/src/org/red5/server/war/WarLoaderServlet.java
 +++ b/src/org/red5/server/war/WarLoaderServlet.java
 @@ -172,11 +172,6 @@
@@ -89,3 +287,124 @@
  	/**
  	 * Clearing the in-memory configuration parameters, we will receive
  	 * notification that the servlet context is about to be shut down
+--- a/plugins/tomcat/src/org/red5/server/tomcat/TomcatApplicationLoader.java
++++ b/plugins/tomcat/src/org/red5/server/tomcat/TomcatApplicationLoader.java
+@@ -21,7 +21,7 @@
+ 
+ import org.apache.catalina.Context;
+ import org.apache.catalina.Host;
+-import org.apache.catalina.startup.Embedded;
++import org.apache.catalina.startup.Tomcat;
+ import org.red5.logging.Red5LoggerFactory;
+ import org.red5.server.LoaderBase;
+ import org.red5.server.api.IApplicationLoader;
+@@ -40,7 +40,7 @@
+ 	protected static Logger log = Red5LoggerFactory.getLogger(TomcatApplicationLoader.class);	
+ 	
+ 	/** Store reference to embedded Tomcat engine. */
+-	private Embedded embedded;
++	private Tomcat embedded;
+ 	
+ 	/** Store reference to host Tomcat is running on. */
+ 	private Host host;
+@@ -54,7 +54,7 @@
+ 	 * @param embedded
+ 	 * @param host
+ 	 */
+-	protected TomcatApplicationLoader(Embedded embedded, Host host, ApplicationContext rootCtx) {
++	protected TomcatApplicationLoader(Tomcat embedded, Host host, ApplicationContext rootCtx) {
+ 		this.embedded = embedded;
+ 		this.host = host;
+ 		this.rootCtx = rootCtx;
+@@ -74,7 +74,7 @@
+ 			directory = directory.substring(5);
+ 		}
+ 		if (host.findChild(contextPath) == null) {
+-			Context c = embedded.createContext(contextPath, directory);
++			Context c = embedded.addContext(contextPath, directory);
+ 			LoaderBase.setRed5ApplicationContext(contextPath, new TomcatApplicationContext(c));
+ 			host.addChild(c);
+ 			//add virtual hosts / aliases
+--- a/plugins/tomcat/src/org/red5/server/tomcat/rtmps/RTMPSLoader.java
++++ b/plugins/tomcat/src/org/red5/server/tomcat/rtmps/RTMPSLoader.java
+@@ -69,7 +69,7 @@
+ 	public void init() {
+ 		log.info("Loading RTMPS context");
+ 		
+-		rtmpsEngine = embedded.createEngine();
++		rtmpsEngine = embedded.getEngine();
+ 		rtmpsEngine.setDefaultHost(host.getName());
+ 		rtmpsEngine.setName("red5RTMPSEngine");
+ 
+@@ -82,7 +82,7 @@
+ 		// create and add root context
+ 		File appDirBase = new File(webappFolder);
+ 		String webappContextDir = FileUtil.formatPath(appDirBase.getAbsolutePath(), "/root");
+-		Context ctx = embedded.createContext("/", webappContextDir);
++		Context ctx = embedded.addContext("/", webappContextDir);
+ 		//no reload for now
+ 		ctx.setReloadable(false);
+ 		log.debug("Context name: {}", ctx.getName());
+@@ -117,7 +117,7 @@
+ 		rtmpsEngine.addChild(host);
+ 
+ 		// add new Engine to set of Engine for embedded server
+-		embedded.addEngine(rtmpsEngine);
++		//embedded.addEngine(rtmpsEngine);
+ 
+ 		//turn off native apr support
+ 		AprLifecycleListener listener = new AprLifecycleListener();
+@@ -151,13 +151,13 @@
+ 			connector.setProperty(key, connectionProperties.get(key));
+ 		}		
+ 		
+-		log.info("Connector info: {}", connector.getInfo());
++		log.info("Connector info: {}", connector);
+ 		
+ 		// start server
+ 		try {
+     		// add new Connector to set of Connectors for embedded server,
+     		// associated with Engine
+-    		embedded.addConnector(connector);
++    		embedded.getService().addConnector(connector);
+ 
+ 			log.info("Starting RTMPS engine");
+ 			connector.start();
+--- a/plugins/tomcat/src/org/red5/server/tomcat/rtmpt/RTMPTLoader.java
++++ b/plugins/tomcat/src/org/red5/server/tomcat/rtmpt/RTMPTLoader.java
+@@ -87,7 +87,7 @@
+ 	public void init() {
+ 		log.info("Loading RTMPT context");
+ 
+-		rtmptEngine = embedded.createEngine();
++		rtmptEngine = embedded.getEngine();
+ 		rtmptEngine.setDefaultHost(host.getName());
+ 		rtmptEngine.setName("red5RTMPTEngine");
+ 		
+@@ -100,7 +100,7 @@
+ 		// create and add root context
+ 		File appDirBase = new File(webappFolder);
+ 		String webappContextDir = FileUtil.formatPath(appDirBase.getAbsolutePath(), "/root");
+-		Context ctx = embedded.createContext("/", webappContextDir);
++		Context ctx = embedded.addContext("/", webappContextDir);
+ 		//no reload for now
+ 		ctx.setReloadable(false);
+ 		log.debug("Context name: {}", ctx.getName());
+@@ -138,7 +138,7 @@
+ 		rtmptEngine.addChild(host);
+ 
+ 		// add new Engine to set of Engine for embedded server
+-		embedded.addEngine(rtmptEngine);
++		//embedded.addEngine(rtmptEngine);
+ 
+ 		// set the bind address
+ 		if (address == null) {
+@@ -165,7 +165,7 @@
+ 		try {
+     		// add new Connector to set of Connectors for embedded server,
+     		// associated with Engine
+-    		embedded.addConnector(connector);
++    		embedded.getService().addConnector(connector);
+ 
+ 			log.info("Starting RTMPT engine");
+ 			connector.start();

Modified: packages/red5/trunk/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-flash/packages/red5/trunk/debian/patches/series?rev=568&op=diff
==============================================================================
--- packages/red5/trunk/debian/patches/series	(original)
+++ packages/red5/trunk/debian/patches/series	Sat Nov  5 09:12:47 2016
@@ -8,4 +8,4 @@
 14_document_removed_stuff.diff
 16_plugins_build_lib.diff
 17_beanutils-compatibility.patch
-18_tomcat7-compatibility.patch
+18_tomcat8-compatibility.patch

Modified: packages/red5/trunk/debian/red5-server.links
URL: http://svn.debian.org/wsvn/pkg-flash/packages/red5/trunk/debian/red5-server.links?rev=568&op=diff
==============================================================================
--- packages/red5/trunk/debian/red5-server.links	(original)
+++ packages/red5/trunk/debian/red5-server.links	Sat Nov  5 09:12:47 2016
@@ -54,14 +54,10 @@
 /usr/share/java/cglib.jar usr/share/red5/lib/com.springsource.net.sf.cglib.jar
 
 # Dependencies for Tomcat Plugin
-# libservlet3.0-java
-/usr/share/java/el-api-2.2.jar var/lib/red5/plugins/el-api.jar
-# libtomcat7-java
-/usr/share/java/tomcat-annotations-api.jar var/lib/red5/plugins/annotations-api.jar
-/usr/share/java/tomcat-catalina.jar        var/lib/red5/plugins/catalina.jar
-/usr/share/java/tomcat-jasper.jar          var/lib/red5/plugins/jasper.jar
-/usr/share/java/tomcat-jasper-el.jar       var/lib/red5/plugins/jasper-el.jar
-/usr/share/java/tomcat-coyote.jar          var/lib/red5/plugins/tomcat-coyote.jar
-/usr/share/java/tomcat-juli.jar            var/lib/red5/plugins/tomcat-juli-slf4j.jar
+# libtomcat8-embed-java
+/usr/share/java/tomcat8-embed-core.jar         var/lib/red5/plugins/tomcat-embed-core.jar
+/usr/share/java/tomcat8-embed-jasper.jar       var/lib/red5/plugins/tomcat-embed-jasper.jar
+/usr/share/java/tomcat8-embed-el.jar           var/lib/red5/plugins/tomcat-embed-el.jar
+/usr/share/java/tomcat8-embed-logging-juli.jar var/lib/red5/plugins/tomcat-embed-logging-juli.jar
 # libecj-java
 /usr/share/java/ecj.jar var/lib/red5/plugins/jasper-jdt.jar 




More information about the pkg-flash-devel mailing list