Hi, One more question on mh_make. I am trying to package google-http-client ( https://google-http-java-client.googlecode.com/hg/google-http-client/pom.xml) which depends on com.google.code.gson ( http://google-gson.googlecode.com/svn/tags/gson-2.1/). So I packaged gson first and it was fine, but when I run mh_make on google-http-client it says the following:
This dependency cannot be found in the Debian Maven repository. Ignore this > dependency? > com.google.code.gson:gson:jar:null > y/[n] > > > dpkg --search /usr/share/maven-repo/com/google/code/gson/gson > *Found libgson-java* > > dpkg --status libgson-java > [error] Package libgson-java (2.1-1) is already installed and contains a > possible match, > but I cannot resolve library com.google.code.gson:gson:jar:*null* in it. > [error] Please check manually that the library is up to date, otherwise it > may be necessary to package version null in Debian. > Try again to resolve the dependency? > [y]/n > > Rescanning /usr/share/maven-repo... > Resolving com.google.code.gson:gson:jar:null of scope runtime... > In pom.xml, cannot find the version for dependency > com.google.code.gson:gson:jar:null from this POM or its parent POMs > [warning] Option --no-parent has been set for POM file pom.xml, maybe it > was not a good idea and you should first package the parent POM > __super__:__pom__:pom:null > [check dependency with bundle type] > > dpkg --status libgson-java > [error] Package libgson-java (2.1-1) is already installed and contains a > possible match, > but I cannot resolve library com.google.code.gson:gson:jar:null in it. > [error] Please check manually that the library is up to date, otherwise it > may be necessary to package version null in Debian. > Try again to resolve the dependency? > [y]/n > > Is this because dependency has no version, but how then junit dependency is found if it has no version as well? What is the proper way of fixing this? Thanks. On Thu, Dec 8, 2011 at 9:17 PM, Boris Ribalkin <ribal...@gmail.com> wrote: > Hi Ludovic, > > Actually I am the owner of the ucloud project on github :) so I can make > any changes you suggested. Wil let you know if it will work. > > Thanks! > On Dec 8, 2011 4:58 PM, "Ludovic Claude" <ludovic.cla...@laposte.net> > wrote: > >> Hello Boris, >> >> It looks like you are almost there. Your project is hosted on Github, >> but I don't support yet Git, so the debian/watch used to find the latest >> version and get the upstream code is not generated by mh_make. >> >> However there are lots of other packages which get their sources from >> Github (basex, plexus-cipher, junit4, libjdom1-java), so you can study >> their packaging using apt-get source <package>. >> >> This watch file should in theory get the latest release of uCloud, >> expect that it does not... >> >> cat <<EOF > debian/watch >> version=3 >> http://githubredir.debian.net/github/cyberb/uCloud/ (.*).tar.gz >> EOF >> >> You should ask the project owner to tag in Git the latest release, >> otherwise it's not possible to know what to download. Or better, he >> should use maven-release-plugin to create a release of the project. >> >> After you get this detail sorted, then you should add those lines to >> debian/rules: >> >> get-orig-source: >> uscan --download-version $(DEB_UPSTREAM_VERSION) >> --force-download --rename >> >> Finally, if you work on Ubuntu and use Launchpad, then you should store >> your packaging in bzr: >> >> sudo apt-get install bzr-builddeb >> bzr init >> mkdir .bzr-builddeb/ >> echo -e '[BUILDDEB]\nmerge = True' > .bzr-builddeb/default.conf >> bzr add . >> >> and you can build your package with >> >> bzr bd >> >> Well that's the usual procedure. In your case, since it's difficult to >> get the upstream sources, you need to download them yourself and put >> them in a tar.gz file which you should call ucloud_1.0.0.orig.tar.gz and >> copy it in the parent directory. Doing so will make bzr bd / debuild >> happy since they don't have to download the sources. >> >> Consider also joining the Debian Java team, as it's full of active and >> knowledgable developers (http://wiki.debian.org/Teams/JavaPackaging). >> Once your package is ready, you can ask to include it in Debian and it >> will land some time later into Ubuntu. >> >> Cheers, >> Ludovic >> >> On 08/12/2011 07:31, Boris Ribalkin wrote: >> > Hi, >> > >> > Thanks for the info, your new package is much better. >> > After running mh_make in the root of my project, looks like everything >> > went fine, just one exception at the end: >> > >> >> Cannot recognize the download url >> > (scm:git:https://github.com/cyberb/uCloud.git). >> > I've tried different scm urls, but it is always the same, is it OK? >> > >> > than I ran debuild and got the following error: >> > >> >> This package has a Debian revision number but there does not seem to be >> > an appropriate original tar file or .orig directory in the parent >> directory; >> > (expected one of ucloud_1.0.0.orig.tar.gz, ucloud_1.0.0.orig.tar.bz2, >> > ucloud_1.0.0.orig.tar.lzma, ucloud_1.0.0.orig.tar.xz or ucloud.orig) >> > continue anyway? (y/n) y >> > >> > and then >> > >> >> dpkg-source: error: can't build with source format '3.0 (quilt)': no >> > orig.tar file found >> > dpkg-buildpackage: error: dpkg-source -b ucloud gave error exit status >> 255 >> > debuild: fatal error at line 1348: >> > dpkg-buildpackage -rfakeroot -D -us -uc failed >> > >> > Do you have any idea what is wrong? >> > >> > Thanks again for the help! >> > >> > On Tue, Dec 6, 2011 at 6:09 PM, Ludovic Claude >> > <ludovic.cla...@laposte.net <mailto:ludovic.cla...@laposte.net>> wrote: >> > >> > Privet Boris, >> > >> > Packaging a multi-module Maven project should be quite easy now, as >> you >> > can run Maven itself for the build and use maven-debian-helper to >> > install the jars at the proper location. Of course you need to have >> all >> > dependencies already packaged in Debian/Ubuntu. >> > >> > I have written a tool which should assist you create the packaging >> for a >> > Maven project, it's called mh_make and can be found in the >> > maven-debian-helper package. Here's an old wiki page which explains >> how >> > to use it. >> > >> > http://wiki.debian.org/Java/MavenDebianHelper >> > >> > As it's still work in progress, there might be bugs but if you're >> lucky >> > it will do most of the work for you. I'm interested in your >> feedback of >> > course. You should install at least the latest maven-repo-helper and >> > maven-debian-helper packages from my PPA with the command >> > sudo apt-add-repository ppa:ludovicc/ppa && sudo apt-get update >> > sudo apt-get upgrade >> > >> > Ludovic >> > >> > On 06/12/2011 08:22, Boris Rybalkin wrote: >> > > Hi, >> > > >> > > As I see you are supporting multiple java packages on launchpad, >> but I >> > > am trying to create my first. >> > > Could you help me a little with multi module maven based project? >> > > Just may be with some advices on where to go. >> > > >> > > I used to run "mvn package" which gives me (using assembly plugin) >> > ready >> > > to use distribution folder with all the JARs and run scripts. But >> > now I >> > > am thinking of creating PPA so I can share the app and here I have >> > some >> > > problems >> > > My package recipe: >> > >> > https://code.launchpad.net/~ribalkin/+recipe/ucloud-<https://code.launchpad.net/%7Eribalkin/+recipe/ucloud-> >> > <https://code.launchpad.net/%7Eribalkin/+recipe/ucloud-> >> > > imported-daily >> > > I've red http://developer.ubuntu.com/packaging/html and >> > > http://wiki.debian.org/Java/MavenBuilder but it has no details. >> > > >> > > Am I right that every maven module should be installed as a >> separate >> > > java library during the build process >> (mh_installpoms/mh_installjar)? >> > > Also even if I do so, I do not see in launchpad build log that mvn >> > > package actually started for any of my module. >> > > >> > > Thank for any help! >> > >> > >> > >> > >> > -- >> > Boris Rybalkin >> > ribal...@gmail.com <mailto:ribal...@gmail.com> >> > -- Boris Rybalkin ribal...@gmail.com