My karaf debian package is now in a state where it does what I need for my own use. I'm serving it from my own unofficial APT repository (which I will discontinue if the RFP results in an official karaf package).
I don't plan to do any more work on this packaging, except what is needed to make new stable karaf releases run (ie. I will roll a new version of the package when karaf 4.1.5 is out). I'm leaving some notes on the current state of the packaging here (ie. in the mailing list archives) in case someone wants to use this package as a starter for an official package. I will send a message to the RFP with the same information. The current state of the karaf debian package, is: 1. The package is created using native debian packaging tools 2. The package is built from the source tarball of karaf releases 3. The source is built with maven and openjdk-8 4. lintian no longer gives any warnings on the package (I have only run lintian with "lintian karaf_xxx.deb", I haven't tried with any arguments) 5. The package creates a system user named karaf, with group karaf, and home directory /var/lib/karaf 6. A karaf service is added to systemd, running as user karaf and logging to /var/log/syslog and using the following directories: KARAF_ETC = /etc/karaf/ KARAF_HOME = /usr/share/karaf/ KARAF_DATA = /var/lib/karaf/data/ all directories are owned by user karaf, group karaf 7. The karaf package works with "apt-get dist-upgrade", config changes in KARAF_ETC gets the usual APT dialog on modified config change (ie. "user the package maintainer's version or the modified file from the old version?), the karaf cache is flushed during an upgrade, which means that all installed features are lost and must be reinstalled, contents in KARAF_ETC not installed by the karaf package is untouched 8. Those karaf boot requirements that could be satisfied by current debian stable (debian 9, stretch) uses debian dependencies: - Java 8 RE - OSGi core 6 - libjna-java (not strictly needed, but part of the boot directory) - libjansi-java - This one can be used as a pattern for how to setup startup.properties dependencies, the changes are a. Add a debian dependency to the control file b. Replace the jansi version number with "debian" in $KARAF_ETC/startup.properties c. Remove jansi from the $KARAF_HOME/system maven repository d. Symlink the "debian" version from debian's maven repository into the $KARAF_HOME/system repository 9. The jar files that make up karaf are structured as a maven repository under $KARAF_HOME/system 10. The initial boot is done from the jar files found in $KARAF_HOME/lib/boot/ (I have replaced non-karaf dependencies here with symlinks to the jar files of debian packages) 11. The jar files needed to boot to a state where karaf can start downloading dependencies from maven central (or other maven repositories), are listed in $KARAF_ETC/startup.properties 12. The $KARAF_HOME/system maven repository has been cleaned for files not built by source that aren't needed for karaf boot. The non-karaf jar files currently in there are needed for boot, and cannot be satisfied by existing debian java packages I believe the following steps are needed to make this an official package: 1. Replace the remaining non-karaf boot jars with debian packages, these packages are: a. apache felix framework 5.6.10 - Already a debian package, but currently in version 4.6.12 in stretch, testing and unstable  b. apache felix metatype 1.1.6  c. apache felix configadmin 1.8.16  d. apache felix file install 3.6.4  e. OPS4J PAX URL Aether 2.5.3  f. OPS4J PAX Logging API 1.10.1  g. OPS4J PAX Logging Log4J2 1.10.1  2. Restructure karaf into two packages, karaf and libkaraf-java, with libkaraf-java containing the jar files structured like debian java packages (ie. in /usr/share/maven-repo both with their actual version and with the "debian" version). IMO I'm not sure if this is worth the effort, because the karaf jar files aren't really meaningful outside of karaf, or in a version independent manner Thanks in advance to anyone who will create an official debian package, whether it is based on my package or not! :-) - Steinar References:  <https://github.com/steinarb/karaf-debian>  <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881297>  <https://github.com/steinarb/karaf-debian/commit/17eee1e83e7d391cf79760eca1990187eefa2838>  <https://packages.debian.org/stretch/libfelix-framework-java>  <http://felix.apache.org/documentation/subprojects/apache-felix-metatype-service.html>  <http://felix.apache.org/documentation/subprojects/apache-felix-config-admin.html>  <http://felix.apache.org/documentation/subprojects/apache-felix-file-install.html>  <https://github.com/ops4j/org.ops4j.pax.url>  <https://github.com/ops4j/org.ops4j.pax.logging/tree/master/pax-logging-api>  <https://github.com/ops4j/org.ops4j.pax.logging/tree/master/pax-logging-log4j2>