• dh_missing and arch/indep

    From PICCA Frederic-Emmanuel@21:1/5 to All on Thu Dec 14 11:30:01 2023
    Hello, I am working on the bornagain package

    the arch all build failed with this error mesage

    dh_missing: warning: usr/bin/bornagain exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/bornagain/__init__.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/bornagain/ba_fitmonitor.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/bornagain/ba_plot.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/bornagain/sample_tools.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/bornagain/std_samples.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/bornagain/std_simulations.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/libBornAgainBase.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/libBornAgainDevice.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/libBornAgainFit.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/libBornAgainParam.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/libBornAgainResample.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/libBornAgainSample.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/python3/dist-packages/libBornAgainSim.py exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainBase.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainDevice.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainFit.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainGUI.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainParam.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainPyCore.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainResample.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainSample.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/lib/x86_64-linux-gnu/bornagain/_libBornAgainSim.so exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/share/BornAgain/Images/BornAgain.icns exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/share/BornAgain/Images/BornAgain.ico exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/share/BornAgain/Images/BornAgain_48x48.png exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/share/BornAgain/Images/BornAgain_64x64.png exists in debian/tmp but is not installed to anywhere
    dh_missing: warning: usr/share/man/man1/bornagain.1 exists in debian/tmp but is not installed to anywhere
    dh_missing: error: missing files, aborting
    The following debhelper tools have reported what they installed (with files per package)
    * dh_install: bornagain (0), bornagain-doc (39), python3-bornagain (0)
    * dh_installdocs: bornagain (0), bornagain-doc (0), python3-bornagain (0)
    If the missing files are installed by another tool, please file a bug against it.
    When filing the report, if the tool is not part of debhelper itself, please reference the
    "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+).
    (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.md.gz)
    Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built
    If the omission is intentional or no other helper can take care of this consider adding the
    paths to debian/not-installed.

    Remember to be careful with paths containing "x86_64-linux-gnu", where you might need to
    use a wildcard or (assuming compat 13+) e.g. ${DEB_HOST_MULTIARCH} in debian/not-installed
    to ensure it works on all architectures (see #961104).
    make: *** [debian/rules:37: binary-indep] Error 25
    dpkg-buildpackage: error: debian/rules binary-indep subprocess returned exit status 2


    The install target in the rules files does this

    override_dh_install:
    # bornagain-doc
    dh_install -p bornagain-doc usr/share/BornAgain/bornagain_build.log usr/share/doc/bornagain/
    dh_install -p bornagain-doc usr/share/BornAgain/Examples/* usr/share/doc/bornagain/examples/
    dh_install -p bornagain-doc hugo/public/* usr/share/doc/bornagain/html

    # bornagain
    dh_install -p bornagain usr/bin/bornagain
    dh_install -p bornagain usr/lib/*/bornagain/_libBornAgainGUI.so
    dh_install -p bornagain usr/share/BornAgain/Images/* usr/share/bornagain/images/
    dh_install -p bornagain usr/share/man/

    # python3-bornagain
    dh_install -p python3-bornagain -X_libBornAgainGUI.so usr/lib/*/bornagain/*.so
    dh_install -p python3-bornagain usr/lib/python3/*


    So my question is why dh_missing does not understand that the remaining are not installed because they are part of arch packages (bornagain and python3-bornagain) ?

    Thanks for your help

    Frederic

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Thu Dec 14 13:40:01 2023
    El 14/12/23 a las 11:07, PICCA Frederic-Emmanuel escribió:
    So my question is why dh_missing does not understand that the remaining are not installed because they are part of arch packages (bornagain and python3-bornagain) ?

    Hi. Have you tried splitting override_dh_auto_install into override_dh_auto_install-arch
    and override_dh_auto_install-indep? (and maybe also with dh_installdocs)

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From PICCA Frederic-Emmanuel@21:1/5 to All on Thu Dec 14 14:50:01 2023
    Hi. Have you tried splitting override_dh_auto_install into override_dh_auto_install-arch
    and override_dh_auto_install-indep?

    no effect at all..., it is especially difficult to deal with the
    nopython, nodoc, nocheck profiles if dh_missing does not take into account all the
    dh_install targets

    (and maybe also with dh_installdocs)

    No, I need to rename the targets, so I can not use dh_installdocs

    Fred

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Thu Dec 14 15:50:01 2023
    El 14/12/23 a las 14:31, PICCA Frederic-Emmanuel escribió:
    Hi. Have you tried splitting override_dh_auto_install into
    override_dh_auto_install-arch
    and override_dh_auto_install-indep?

    no effect at all..., it is especially difficult to deal with the
    nopython, nodoc, nocheck profiles if dh_missing does not take into account all the
    dh_install targets

    Well, if the -arch and -indep targets really do not help, maybe the
    next logical thing would be to use dh-exec scripts.

    The gettext package uses such scripts. See how debian/gettext.install
    and debian/not-installed complement at each other regarding supported architectures and "nojava" profile (the first script does a logical AND,
    the second one does a logical OR).

    Also, if you check that dpkg-buildpackage -A, dpkg-buildpackage -B
    and dpkg-buildpackage -b do all three the right thing, then it
    would be acceptable to disable dh_missing by using an
    override_dh_missing which does nothing, at least until you find
    the way to do it "right".

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Thu Dec 14 16:00:01 2023
    Hmm, wait a moment.

    I see you are currently using a bunch of "dh_install -p"
    calls in your execute_before_dh_install target.

    Maybe the next logical step would be to use debian/*.install
    files.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From PICCA Frederic-Emmanuel@21:1/5 to All on Thu Dec 14 16:20:01 2023
    I see you are currently using a bunch of "dh_install -p"
    calls in your execute_before_dh_install target.

    When I update a package I prefer a lot to edit one file (rules) instead of opening multiples files...


    Maybe the next logical step would be to use debian/*.install
    files.

    maybe...

    Fred

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From PICCA Frederic-Emmanuel@21:1/5 to All on Thu Dec 14 17:20:01 2023
    I found this solution.


    execute_before_dh_missing-arch:
    # rm remaining files (workaround FTBFS...)
    rm -rf debian/tmp/usr/share

    execute_before_dh_missing-indep:
    # rm remaining files (workaround FTBFS...)
    rm -f debian/tmp/usr/bin/bornagain
    rm -rf debian/tmp/usr/lib
    rm -rf debian/tmp/usr/share/BornAgain/
    rm -f debian/tmp/usr/share/man/man1/bornagain.1

    thanks for your help

    Fred

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrey Rakhmatullin@21:1/5 to PICCA Frederic-Emmanuel on Thu Dec 14 19:20:01 2023
    On Thu, Dec 14, 2023 at 04:53:50PM +0100, PICCA Frederic-Emmanuel wrote:
    I found this solution.


    execute_before_dh_missing-arch:
    # rm remaining files (workaround FTBFS...)
    rm -rf debian/tmp/usr/share

    execute_before_dh_missing-indep:
    # rm remaining files (workaround FTBFS...)
    rm -f debian/tmp/usr/bin/bornagain
    rm -rf debian/tmp/usr/lib
    rm -rf debian/tmp/usr/share/BornAgain/
    rm -f debian/tmp/usr/share/man/man1/bornagain.1
    Just skipping dh_missing sounds easier and just as bad.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)