Bug#808012: maven-debian-helper: mh_resolve_dependencies doesn't work with dh_auto_install -D

Emmanuel Bourg ebourg at apache.org
Tue Dec 15 10:39:32 UTC 2015


Package: maven-debian-helper
Version: 2.0.1
Severity: normal

I noticed a bug when building the uima-as package with the DH sequencer.
This package has its root pom in a subdirectory, this is usually handled
by adding the -D parameter specifying the subdirectory to the DH commands:

    override_dh_auto_build:
            dh_auto_build -Duima-as

    override_dh_auto_install:
            dh_auto_install -Duima-as

This works fine for the build phase, but the install phase fails.
mh_resolve_dependencies is executed in the subdirectory but it doesn't
find the debian directory and reverts to the interactive mode used by
mh_make (despite the --non-interactive parameter!). Eventually it
recreates a debian directory with the Maven rules in the subdirectory.

This can be worked around by adding the Maven -f parameter to dh_auto_install:

    override_dh_auto_install:
            dh_auto_install -- -f uima-as/pom.xml


Here is the log from the point mh_resolve_dependencies is invoked:


            mh_resolve_dependencies --non-interactive --offline -plibuima-as-java --javadoc --base-directory=/home/ebourg/packaging/uima-as --non-explore
    Analysing pom.xml...
    
    In pom.xml: The parent POM cannot be found in the Maven repository for Debian. Ignore it?  org.apache.uima:uima-as-parent:pom:2.3.1
    [Y/n] >
    Enter the upstream version for the package.
    [2.3.1] >
    
    Version of org.apache.uima:uima-as is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    This project contains modules. Include all modules?
    [Y/n] >
    Analysing ../uima-as-parent/pom.xml...
    
    Version of org.apache.uima:uima-as-parent is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    Analysing ../aggregate-uima-as/pom.xml...
    
    Version of org.apache.uima:aggregate-uima-as is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    Checking the parent dependency in the sub project ../aggregate-uima-as/pom.xml
    Analysing ../aggregate-uima-as/../uimaj-as-activemq/pom.xml...
    
    Version of org.apache.uima:uimaj-as-activemq is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    Checking the parent dependency in the sub project ../aggregate-uima-as/../uimaj-as-activemq/pom.xml
    Analysing ../aggregate-uima-as/../uimaj-as-core/pom.xml...
    
    Version of org.apache.uima:uimaj-as-core is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    Checking the parent dependency in the sub project ../aggregate-uima-as/../uimaj-as-core/pom.xml
    Analysing ../aggregate-uima-as/../uimaj-as-jms/pom.xml...
    
    Version of org.apache.uima:uimaj-as-jms is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    Checking the parent dependency in the sub project ../aggregate-uima-as/../uimaj-as-jms/pom.xml
    Analysing ../aggregate-uima-as/../aggregate-uima-as-eclipse-plugins/pom.xml...
    
    Version of org.apache.uima:aggregate-uima-as-eclipse-plugins is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    Checking the parent dependency in the sub project ../aggregate-uima-as/../aggregate-uima-as-eclipse-plugins/pom.xml
    Analysing ../aggregate-uima-as/../aggregate-uima-as-eclipse-plugins/../uimaj-as-osgi-runtime/pom.xml...
    
    Version of org.apache.uima:uimaj-as-osgi-runtime is 2.3.1
    Choose how the version will be transformed:
     0  - Replace all versions starting by 2. with 2.x
    [1] - Change the version to the symbolic 'debian' version
     2  - Keep the version
     3  - Custom rule
    >
    Checking the parent dependency in the sub project ../aggregate-uima-as/../aggregate-uima-as-eclipse-plugins/../uimaj-as-osgi-runtime/pom.xml
    
    In pom.xml: Documentation is turned off. Ignore this documentation plugin?  org.apache.maven.plugins:maven-javadoc-plugin:maven-plugin:2.10.3
    [Y/n] >
    
    In pom.xml: Tests are turned off. Ignore this test dependency?  org.apache.uima:uimaj-examples:jar:debian
    [Y/n] >
    
    In pom.xml: Tests are turned off. Ignore this test dependency?  org.apache.uima:uimaj-test-util:jar:debian
    [Y/n] >
    
    In pom.xml: Tests are turned off. Ignore this test plugin?  org.apache.maven.plugins:maven-surefire-plugin:maven-plugin:2.17
    [Y/n] >
    The list of POM files is now in debian/libuima-as-java.poms
    Analysing uima-as-parent/pom.xml...
    Analysing uima-as/pom.xml...
    Analysing uima-as-docbooks/pom.xml...
    Checking the parent dependency in the sub project uima-as-docbooks/pom.xml
    Analysing uimaj-as-jms/pom.xml...
    Checking the parent dependency in the sub project uimaj-as-jms/pom.xml
    Analysing uimaj-as-core/pom.xml...
    Checking the parent dependency in the sub project uimaj-as-core/pom.xml
    Analysing uimaj-as-osgi-runtime/pom.xml...
    Checking the parent dependency in the sub project uimaj-as-osgi-runtime/pom.xml
    Analysing uimaj-as-activemq/pom.xml...
    Checking the parent dependency in the sub project uimaj-as-activemq/pom.xml
    Analysing uimaj-as-camel/pom.xml...
    Checking the parent dependency in the sub project uimaj-as-camel/pom.xml
    Analysing uimaj-ep-runtime-deployeditor/pom.xml...
    Checking the parent dependency in the sub project uimaj-ep-runtime-deployeditor/pom.xml
    Analysing uimaj-ep-deployeditor/pom.xml...
    Checking the parent dependency in the sub project uimaj-ep-deployeditor/pom.xml
    Analysing uimaj-eclipse-feature-deployeditor/pom.xml...
    Checking the parent dependency in the sub project uimaj-eclipse-feature-deployeditor/pom.xml
    Analysing aggregate-uima-as/pom.xml...
    Checking the parent dependency in the sub project aggregate-uima-as/pom.xml
    Analysing aggregate-uima-as-eclipse-plugins/pom.xml...
    Checking the parent dependency in the sub project aggregate-uima-as-eclipse-plugins/pom.xml
    > dpkg --search /usr/share/maven-repo/org/apache/uima/uimaj-ep-runtime/*/*
    dpkg failed to execute successfully
    Offline mode. Give up looking for package containing /usr/share/maven-repo/org/apache/uima/uimaj-ep-runtime
    déc. 15, 2015 11:05:54 AM org.debian.maven.packager.DependenciesSolver$ToResolve resolve
    GRAVE: Cannot resolve dependencies in /home/ebourg/packaging/uima-as/uimaj-ep-runtime-deployeditor/pom.xml: Dependency not found org.apache.uima:uimaj-ep-runtime:jar:debian
    > dpkg --search /usr/share/maven-repo/org/apache/uima/uimaj-ep-configurator/*/*
    dpkg failed to execute successfully
    Offline mode. Give up looking for package containing /usr/share/maven-repo/org/apache/uima/uimaj-ep-configurator
    déc. 15, 2015 11:05:59 AM org.debian.maven.packager.DependenciesSolver$ToResolve resolve
    GRAVE: Cannot resolve dependencies in /home/ebourg/packaging/uima-as/uimaj-ep-deployeditor/pom.xml: Dependency not found org.apache.uima:uimaj-ep-configurator:jar:debian
    ERROR:
    pom.xml: dependency is not packaged in the Maven repository for Debian: org.apache.uima:uimaj-ep-runtime:debian
    pom.xml: dependency is not packaged in the Maven repository for Debian: org.apache.uima:uimaj-ep-configurator:debian
    --------
    Checking dependencies for documentation packages...
    > dpkg --search /usr/share/doc/glassfish-javaee/api/index.html
    dpkg failed to execute successfully
    Offline mode. Give up looking for package containing /usr/share/doc/glassfish-javaee/api/index.html
    > dpkg --search /usr/share/doc/glassfish-javaee-doc/api/index.html
    
    [...]
    
    > dpkg --search /usr/share/doc/libxstream-java/apidocs/index.html
    dpkg failed to execute successfully
    Offline mode. Give up looking for package containing /usr/share/doc/libxstream-java/apidocs/index.html
    > dpkg --search /usr/share/doc/libxstream-java-doc/apidocs/index.html
    dpkg failed to execute successfully
    Offline mode. Give up looking for package containing /usr/share/doc/libxstream-java-doc/apidocs/index.html
    Some problems were found in this project, exiting...
    Can't open debian/libuima-as-java.substvars: No such file or directory.
            rm -f target/apidocs/\*.sh target/apidocs/options
    make[1]: Leaving directory '/home/ebourg/packaging/uima-as'
       dh_install -O--buildsystem=maven
       dh_installdocs -O--buildsystem=maven
       dh_installchangelogs -O--buildsystem=maven
       dh_perl -O--buildsystem=maven
       dh_link -O--buildsystem=maven
       dh_strip_nondeterminism -O--buildsystem=maven
       dh_compress -O--buildsystem=maven
       dh_fixperms -O--buildsystem=maven
       dh_installdeb -O--buildsystem=maven
       dh_gencontrol -O--buildsystem=maven
    dpkg-gencontrol: erreur: fichier substvars debian/libuima-as-java.substvars : ligne 2 mal formée
    dh_gencontrol: dpkg-gencontrol -plibuima-as-java -ldebian/changelog -Tdebian/libuima-as-java.substvars -Pdebian/libuima-as-java returned exit code 25
    debian/rules:6: recipe for target 'binary' failed
    make: *** [binary] Error 2
    dpkg-buildpackage: erreur: fakeroot debian/rules binary a produit une erreur de sortie de type 2
    debuild: fatal error at line 1374:
    dpkg-buildpackage -rfakeroot -D -us -uc failed
    
    ebourg at icare:~/packaging/uima-as$ ll uima-as
    total 124
    drwxrwxr-x  6 ebourg ebourg  4096 déc 15 11:05 .
    drwxrwxr-x 19 ebourg ebourg  4096 déc 15 11:10 ..
    drwxr-xr-x  2 ebourg ebourg  4096 déc 15 11:05 debian
    -rw-r--r--  1 ebourg ebourg     0 déc 15 10:19 .debianVersion
    drwxrwxr-x  4 ebourg ebourg  4096 déc  7  2014 issuesFixed
    -rw-rw-r--  1 ebourg ebourg 34855 déc  7  2014 LICENSE
    -rw-rw-r--  1 ebourg ebourg   242 déc  7  2014 LicNoticeAnalysisActiveMQ.txt
    -rw-rw-r--  1 ebourg ebourg  1479 déc  7  2014 NOTICE
    -rw-r--r--  1 ebourg ebourg 11790 déc 15 11:05 pom.xml
    -rw-r--r--  1 ebourg ebourg 14977 déc 15 11:05 pom.xml.save
    -rw-rw-r--  1 ebourg ebourg 22337 déc  7  2014 README
    -rw-rw-r--  1 ebourg ebourg  3330 déc  7  2014 RELEASE_NOTES.html
    drwxrwxr-x  4 ebourg ebourg  4096 déc  7  2014 src
    drwxr-xr-x  5 ebourg ebourg  4096 déc 15 10:19 target
    
    ebourg at icare:~/packaging/uima-as$ ll uima-as/debian/
    total 24
    drwxr-xr-x 2 ebourg ebourg 4096 déc 15 11:05 .
    drwxrwxr-x 6 ebourg ebourg 4096 déc 15 11:05 ..
    -rw-r--r-- 1 ebourg ebourg    1 déc 15 11:05 maven.cleanIgnoreRules
    -rw-r--r-- 1 ebourg ebourg  189 déc 15 11:05 maven.ignoreRules
    -rw-r--r-- 1 ebourg ebourg    1 déc 15 11:05 maven.publishedRules
    -rw-r--r-- 1 ebourg ebourg 1088 déc 15 11:05 maven.rules



More information about the pkg-java-maintainers mailing list