@Markus and @Wookey. Thanks for the pointers. I knew that there would be some good places too look just wasn't sure I was finding the correct / most appropriate things.
Thanks again... I'll keep in touch. David On Tue, Oct 4, 2016 at 5:55 PM, Markus Koschany <a...@debian.org> wrote: > [Dropping debian-devel from CC. debian-java is the right place to ask > these questions] > > On 04.10.2016 06:23, David Myers wrote: > [...] > > So my initial questions are : > > > > Is there a preference for which plugin should be used for gradle builds > > within the debian project ? > > We recommend to use gradle-debian-helper[1] for packaging new gradle > projects. It depends on gradle and simplifies some packaging steps. > > > > > As I / we would like the package to be available for the largest number > > of debian derivatives as possible are there any special considerations I > > should be aware of ? > > If your package works on Debian, it will also work on other Debian > derivatives. It's mainly a matter of what distribution releases you are > targeting. For instance Ubuntu 16.04 has a different set of Java > libraries than Debian Jessie or Debian Sid. Best practice is to package > for Debian Sid and then to adjust library versions for older > distributions if needed. That's a process generally referred to as > backporting. > > > > > Are there any 'Gothas' I should be aware of for converting from an > > existing rpm gradle build to a deb gradle build ? > > > > Any Java specific items I should be aware of > > > > * preference for a certain Java application server ~ currently set to > > use apache tomcat or an embeded application server (not sure which). > > * particular JVM (I personally use OpenJava, not sure for the main > > project) > > * preference for specific Database (currently uses MySQL or an > > 'embeded' DB (again not sure which), has an 'extension' for > Postgres). > > > > I'm bound to have more questions as I go along. > > Debian packaging is quite different from rpm. I suggest to study Debian > packages that make use of the Gradle build system like apktool, > freeplane or openjfx. In Debian we have a default-jre package that > depends on OpenJDK 8 currently. You would just declare a dependency on > it. You can also declare alternative dependencies like default-jre | > java8-runtime which enables users to choose another Java 8 compatible JVM. > > We provide many different database libraries like hsqldb, h2, mongodb > etc. It's just a matter of declaring the correct build-dependencies. > > > > > Final note: > > > > I'm not a newbie to linux, but this is going to be my first attempt at > > linux packaging, I did have a go at using the JNLP a while back, but > > definitely a first for building a deb package. > > > > If all goes well I / We (the project) may want to be included in the > > main repos, so again if there are any things I should be aware of to > > more easily make the transition from simple published deb available for > > download, to a ppa and then onto 'official deb package' now may be a > > good moment ;) > > There are various online resources which might help you on your way to > create an official Debian package. I suggest to read > > https://mentors.debian.net/intro-maintainers > > Especially point 3 contains some useful links to general Debian > documentation about packaging. I would also embrace Lintian, a package > checker which can help you to spot packaging mistakes. Of course your > package must only contain free software to be included in main. > > [1] https://tracker.debian.org/pkg/gradle-debian-helper > > Regards, > > Markus > >