Difference between revisions of "Porting PKI to Debian"

From Dogtag
Jump to: navigation, search
(Dependencies)
(Dependencies)
Line 55: Line 55:
  
 
This list needs to be reviewed, as the dependencies have likely changed in the last year.  Once the list of unpackaged dependencies has been determined, we should track them in the sections below.
 
This list needs to be reviewed, as the dependencies have likely changed in the last year.  Once the list of unpackaged dependencies has been determined, we should track them in the sections below.
 +
 +
=== Rest Easy ===
 +
One large dependency of Dogtag is RESTEasy.  RESTEasy has a large number of it's own requirements, so porting/packaging RESTEasy for Debian is a good place to start.  The build requirements for RESTEasy (as delivered in Fedora 19) have been reviewed to see what is available in Debian Wheezy.  A good number of these dependencies exist in Wheezy, but there are quite a few that are not packaged.  The below list shows the package name mapping from Fedora->Debian for these build requirements.  Anything that appears to be missing is simply listed with a question mark.
 +
 +
apache-commons-lang = libcommons-lang-java (or libcommons-lang3-java?)
 +
apache-commons-cli libcommons-cli-java
 +
apache-commons-codec = libcommons-codec-java
 +
apache-commons-logging = libcommons-logging-java
 +
apache-commons-collections = libcommons-collections-java (or libcommons-collections3-java?)
 +
apache-mime4j = libapache-mime4j-java
 +
apache-james-project = ?
 +
bea-stax = libstax-java?
 +
bouncycastle = libbcpg-java? (or libbcpg-java-gcj? or libbcprov-java?, or libbcprov-java-gcj?)
 +
bouncycastle-mail = libbcmail-java (or libbcmail-java-gcj?)
 +
cglib = libcglib-java
 +
codehaus-parent = ?
 +
dnsjava = libdnsjava-java
 +
geronimo-annotation = libgeronimo-commonj-spec-java? (or one of the other libgeronimo-* packages?)
 +
glassfish-jaxb = ? (there are some glassfish-* packages, but not jaxb)
 +
glassfish-jaxb-ap = ? (there are some glassfish-* packages, but not jaxb)
 +
google-guice = libguice-java
 +
httpcomponents-client = libhttpclient-java
 +
httpcomponents-core = libhttpcore-java
 +
hsqldb = libhsqldb-java
 +
httpunit = libhttpunit-java
 +
jackson = libjackson-json-java
 +
jakarta-commons-httpclient = libcommons-httpclient-java
 +
javamail = libgnumail-java?
 +
javassist = libjavassist-java
 +
jandex = libannotation-indexer-java
 +
jboss-servlet-2.5-api = libservlet2.5-java
 +
jboss-servlet-3.0-api = libservlet3.0-java
 +
jcip-annotations = libjcip-annotations-java
 +
jettison = libjettison-java
 +
jetty = jetty (or libjetty-java?)
 +
junit4 = junit4
 +
scannotation = ?
 +
slf4j = libslf4j-java
 +
snakeyaml = ?
 +
glassfish-fastinfoset = ?
 +
tomcat-el-2.2-api = ? (might be covered by one of the tomcat* packages)
 +
cdi-api - libcdi-api-java
 +
xerces-j2 = libxerces2-java
 +
jetty-version-maven-plugin = ?
 +
maven-local = maven?
 +
maven-checkstyle-plugin = ?
 +
maven-compiler-plugin = libmaven-compiler-plugin-java
 +
maven-deploy-plugin = ?
 +
maven-install-plugin = libmaven-install-plugin-java
 +
maven-javadoc-plugin = libmaven-javadoc-plugin-java
 +
maven-jaxb2-plugin = ?
 +
maven-plugin-cobertura = libmaven-cobertura-plugin-java
 +
maven-pmd-plugin = ?
 +
maven-resources-plugin = libmaven-resources-plugin-java
 +
maven-site-plugin = libmaven-site-plugin-java
 +
maven-source-plugin = ?
 +
maven-surefire-plugin = libsurefire-java?
 +
maven-surefire-report-plugin = libsurefire-java?
 +
maven-surefire-provider-junit4 = libsurefire-java?
 +
jboss-annotations-1.1-api = ? (might be covered by one of the libjboss-* packages)
 +
jpackage-utils = ?
 +
java-devel = openjdk7-jdk
  
 
=== To Be Packaged ===
 
=== To Be Packaged ===

Revision as of 17:48, 18 September 2013

This page serves to track the overall effort to port Dogtag to Debian. Specifically, we would like to port Dogtag 10.x to Debian. We have no plans to port the 9.x version of Dogtag.

Dependencies

Dogtag has a large number of dependencies, which are not all packaged for Debian. Packaging all of the dependencies is the first step in porting Dogtag to Debian.

Timo Aaltonen worked on porting dependencies in Summer 2012 and generated the following list of dependencies that needs to be packaged:

codehaus-parent
keytool-maven-plugin
maven-help-plugin
maven-idea-plugin
maven-jarsigner-plugin
maven-jxr
maven-source-plugin
geronimo-parent-poms
geronimo-annotation
plexus-mail-sender
maven-release
plexus-resources
maven-checkstyle-plugin
maven-pmd-plugin
maven-anno-plugin
maven-reporting-api
maven-changes-plugin
maven-deploy-plugin
apache-james-project
javamail
base64coder
gdata-java
sonatype-oss-parent
forge-parent
mojo-parent
maven-plugin-build-helper
relaxngcc
xsom
glassfish-fastinfoset
jvnet-parent
glassfish-jaxb-api
glassfish-dtd-parser
stax-ex
istack-commons
rngom
glassfish-jaxb
maven-jaxb2-plugin
jboss-parent
jandex
jboss-specs-parent
jboss-annotations
jetty-parent
jetty-toolchain
jetty-version-maven-plugin
scannotation
snakeyml
resteasy

This list needs to be reviewed, as the dependencies have likely changed in the last year. Once the list of unpackaged dependencies has been determined, we should track them in the sections below.

Rest Easy

One large dependency of Dogtag is RESTEasy. RESTEasy has a large number of it's own requirements, so porting/packaging RESTEasy for Debian is a good place to start. The build requirements for RESTEasy (as delivered in Fedora 19) have been reviewed to see what is available in Debian Wheezy. A good number of these dependencies exist in Wheezy, but there are quite a few that are not packaged. The below list shows the package name mapping from Fedora->Debian for these build requirements. Anything that appears to be missing is simply listed with a question mark.

apache-commons-lang = libcommons-lang-java (or libcommons-lang3-java?)
apache-commons-cli libcommons-cli-java
apache-commons-codec = libcommons-codec-java
apache-commons-logging = libcommons-logging-java
apache-commons-collections = libcommons-collections-java (or libcommons-collections3-java?)
apache-mime4j = libapache-mime4j-java
apache-james-project = ?
bea-stax = libstax-java?
bouncycastle = libbcpg-java? (or libbcpg-java-gcj? or libbcprov-java?, or libbcprov-java-gcj?)
bouncycastle-mail = libbcmail-java (or libbcmail-java-gcj?)
cglib = libcglib-java
codehaus-parent = ?
dnsjava = libdnsjava-java
geronimo-annotation = libgeronimo-commonj-spec-java? (or one of the other libgeronimo-* packages?)
glassfish-jaxb = ? (there are some glassfish-* packages, but not jaxb)
glassfish-jaxb-ap = ? (there are some glassfish-* packages, but not jaxb)
google-guice = libguice-java
httpcomponents-client = libhttpclient-java
httpcomponents-core = libhttpcore-java
hsqldb = libhsqldb-java
httpunit = libhttpunit-java
jackson = libjackson-json-java
jakarta-commons-httpclient = libcommons-httpclient-java
javamail = libgnumail-java?
javassist = libjavassist-java
jandex = libannotation-indexer-java
jboss-servlet-2.5-api = libservlet2.5-java
jboss-servlet-3.0-api = libservlet3.0-java
jcip-annotations = libjcip-annotations-java
jettison = libjettison-java
jetty = jetty (or libjetty-java?)
junit4 = junit4
scannotation = ?
slf4j = libslf4j-java
snakeyaml = ?
glassfish-fastinfoset = ?
tomcat-el-2.2-api = ? (might be covered by one of the tomcat* packages)
cdi-api - libcdi-api-java
xerces-j2 = libxerces2-java
jetty-version-maven-plugin = ?
maven-local = maven?
maven-checkstyle-plugin = ?
maven-compiler-plugin = libmaven-compiler-plugin-java
maven-deploy-plugin = ?
maven-install-plugin = libmaven-install-plugin-java
maven-javadoc-plugin = libmaven-javadoc-plugin-java
maven-jaxb2-plugin = ?
maven-plugin-cobertura = libmaven-cobertura-plugin-java
maven-pmd-plugin = ?
maven-resources-plugin = libmaven-resources-plugin-java
maven-site-plugin = libmaven-site-plugin-java
maven-source-plugin = ?
maven-surefire-plugin = libsurefire-java?
maven-surefire-report-plugin = libsurefire-java?
maven-surefire-provider-junit4 = libsurefire-java?
jboss-annotations-1.1-api = ? (might be covered by one of the libjboss-* packages)
jpackage-utils = ?
java-devel = openjdk7-jdk

To Be Packaged

In Progress

Packaging Completed

Porting

The Dogtag code and packaging will likely need some changes for Debian. The specifics still need to be determined, but path differences between distributions and deployment of servlets to Tomcat are areas that will most likely require some work. This section should be filled in as we do the investigation.