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