Porting PKI to Debian
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.
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.
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
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.