>>>>> Emmanuel Bourg <[email protected]>: > The rules file disables most of the targets, that looks wrong. Did you > generate the package with mh_make from maven-debian-helper?
No, I startet with creating files as in this article https://vincent.bernat.im/en/blog/2016-pragmatic-debian-packaging I can try running mh_make, but as this is a multi-module project with lots of non-standard maven stuff, most of the examples I've been able to google up hasn't. But the problem I have isn't really related to the structure of the rules file, I think. The problem is that dpkg-buildpackage thinks $HOME is "/root" and that user "sb" doesn't have write access to root. > If you share the repository on GitHub I'll get a look. I will share it on github eventually but I'm still working on my first commit. :-) > I suggest running mh_make and selecting only the first core karaf > modules, and then enabling more modules gradually as needed. Actually I planned to go the other way: first build karaf, and then move the files where they should go. Outline of the plan 1. Download the sources and build them with maven (this is where I'm now) 2. Create the directories that will receive the built karaf stuff: mkdir -p /etc/karaf mkdir -p /usr/share/karaf mkdir -p /var/lib/karaf 3. Move the built stuff in unpacked-src/assemblies/apache-karaf/target/assembly to the appropriate places the final structure a. mv unpacked-src/assemblies/apache-karaf/target/assembly/bin to /usr/share/karaf b. mv unpacked-src/assemblies/apache-karaf/target/assembly/data to /var/lib/karaf c. mv unpacked-src/assemblies/apache-karaf/target/assembly/deploy to /var/lib/karaf d. mv unpacked-src/assemblies/apache-karaf/target/assembly/etc/* to /etc/karaf e. mv unpacked-src/assemblies/apache-karaf/target/assembly/lib to /usr/share/karaf f. mv unpacked-src/assemblies/apache-karaf/target/assembly/system to /usr/share/karaf 4. Create a systemd config that sets up the appropriate environment variables before starting the karaf daemon KARAF_BASE=/usr/share/karaf KARAF_ETC=/etc/karaf KARAF_DATA=/var/lib/karaf/data 5. Create postinst and postrm scripts that creates/removes a karaf user (and group) and sets up and removes the systemd daemon 6. Replace all of the non org.apache.karaf.*.jar needed for boot with deb dependencies 7. Move the org.apache.karaf.*.jar part of /usr/share/karaf/system to /usr/share/maven-repository and use this as the system repo in karaf After point 5 in this, there will hopefully be a running non-debian-package compliant karaf that's installable by a debian package (ie. about the same level of functionality as my current fpm based package, but built from sources instead of the binary tar-ball and using the debian tools). Point 6 and 7 are for moving this to a more debian-package-compliant structure. There are 34 org.apache.karaf.*.jar files built from the karaf sources, and creating individual .deb packages for all of them seems like a lot of work.

