Hello Boris, There are two distinct sets of constraints here:
- the build constraints, which you have manually created, - the runtime constraints, which are created during the build and injected as part of the ${maven:Depends} substitution variable. An easy solution would be to replace in your control file ${maven:Depends} with the exact list of dependencies and their constraints that you wish to have for your package. Another solution, more useful in my opinion, is to collaborate with the maintainers of the dependent packages. But first, you need to understand how ${maven:Depends} is constructed: ${maven:Depends} is build from the information provided by the POM files in your project. A list of external dependencies and their versions is constructed, then those dependencies are matched with the information stored in /usr/share/maven-repo and transformed into a list of packages. When a package signals that its Debian version (the major part of the version) matches its Maven version, then a constraint is added. For example, liblog4j-java has the Debian version 1.2.16-3, and in its POM the Maven version is 1.2.16. If you look at the packaging for liblog4j-java, then you will see in debian/liblog4j-java.poms this line: pom.xml --has-package-version --java-lib --usj-name=log4j-1.2 --artifact=dist/lib/log4j-*.jar Notice --has-package-version. This option tells maven-repo-helper that the Maven version is linked to the Debian version of the containing package. So to get back to your problem, you need to ask all dependent project where you wish to see a version constraint to add the --has-package-version option in their .poms file and to release a new version of their package. Ludovic On 08/28/2012 06:38 AM, Boris Ribalkin wrote: > Hi, > > I have maven based package which depends on other packages with version > restriction (libsqljet-java (>= 1.1.1)): > > Build-Depends-Indep: libmaven-replacer-plugin-java, libcommons-cli-java, > libcommons-codec-java, > libcommons-io-java, libcommons-lang-java, libgoogle-api-client-java, > libjetty-java, > libjson-java, liblog4j1.2-java (>= 1.2.16), libqtjambi-snapshot, > *libsqljet-java (>= 1.1.1)*, > libmaven-assembly-plugin-java > > but when I install the package only log4j version restriction is left: > > sudo apt-cache show libsyncloud-core-java > > Package: libsyncloud-core-java > Source: syncloud-core > Priority: optional > Section: java > Installed-Size: 423 > Maintainer: Debian Java Maintainers > <pkg-java-maintain...@lists.alioth.debian.org > <mailto:pkg-java-maintain...@lists.alioth.debian.org>> > Architecture: all > Version: 0.1-7~1~precise1 > Depends: libcommons-codec-java, libcommons-io-java, > libcommons-lang-java, libjetty-java, libjson-java, liblog4j1.2-java (>= > 1.2.16), *libsqljet-java*, libqtjambi-snapshot > > Could you help me? > > Pacakge: > bazaar.launchpad.net/~ribalkin/syncloud/syncloud-core-debian/view/ahead:/debian/control > <http://bazaar.launchpad.net/~ribalkin/syncloud/syncloud-core-debian/view/ahead:/debian/control> > > Thanks. > > -- > Boris Rybalkin > ribal...@gmail.com <mailto:ribal...@gmail.com> -- To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/503d494d.1040...@laposte.net