Hi Chris, TL;DR: I suggest ignoring Multi-Arch: foreign packages for the purpose of this tag to remove false positives.
Explanation: On Sat, Dec 09, 2017 at 10:44:26PM +0000, Chris Lamb wrote: > I've implemented this in Git: > > > https://anonscm.debian.org/git/lintian/lintian.git/commit/?id=fc226826c81a5642779e422d927aa334e2ff1587 > > I hope it's useful :) Thank you! In the mean time, I gained a bit more experience with these issues and wonder whether there should be an additional restriction: some libraries are header-only or split their tools into separate Multi-Arch: foreign packages. A quick grep-dctrl -F Section libdevel -a -F Multi-Arch foreign -sPackage -n suggests that this is true for 130 packages. Now the question is: How many of these ship ELF executables? Hard to answer, but the following ship some (not necessarily ELF) executables: libkf5akonadi-dev: /usr/bin/akonadi2xml libkf5akonadi-dev: /usr/bin/akonaditest libkf5akonadi-dev-bin: /usr/bin/akonadi_knut_resource libboost1.61-tools-dev: /usr/bin/b2 libboost1.61-tools-dev: /usr/bin/bcp libboost1.61-tools-dev: /usr/bin/bjam libboost1.61-tools-dev: /usr/bin/inspect libboost1.61-tools-dev: /usr/bin/quickbook libboost1.62-tools-dev: /usr/bin/b2 libboost1.62-tools-dev: /usr/bin/bcp libboost1.62-tools-dev: /usr/bin/bjam libboost1.62-tools-dev: /usr/bin/inspect libboost1.62-tools-dev: /usr/bin/quickbook libboost1.63-tools-dev: /usr/bin/b2 libboost1.63-tools-dev: /usr/bin/bcp libboost1.63-tools-dev: /usr/bin/bjam libboost1.63-tools-dev: /usr/bin/inspect libboost1.63-tools-dev: /usr/bin/quickbook libglib2.0-dev-bin: /usr/bin/gdbus-codegen libglib2.0-dev-bin: /usr/bin/glib-genmarshal libglib2.0-dev-bin: /usr/bin/glib-gettextize libglib2.0-dev-bin: /usr/bin/glib-mkenums libglib2.0-dev-bin: /usr/bin/gobject-query libglib2.0-dev-bin: /usr/bin/gtester libglib2.0-dev-bin: /usr/bin/gtester-report libc-dev-bin: /usr/bin/gencat libc-dev-bin: /usr/bin/mtrace libc-dev-bin: /usr/bin/rpcgen libc-dev-bin: /usr/bin/sotruss libc-dev-bin: /usr/bin/sprof icu-devtools: /usr/bin/derb icu-devtools: /usr/bin/genbrk icu-devtools: /usr/bin/gencfu icu-devtools: /usr/bin/gencnval icu-devtools: /usr/bin/gendict icu-devtools: /usr/bin/genrb icu-devtools: /usr/bin/icuinfo icu-devtools: /usr/bin/makeconv icu-devtools: /usr/bin/pkgdata icu-devtools: /usr/bin/uconv icu-devtools: /usr/sbin/escapesrc icu-devtools: /usr/sbin/genccode icu-devtools: /usr/sbin/gencmn icu-devtools: /usr/sbin/gennorm2 icu-devtools: /usr/sbin/gensprep icu-devtools: /usr/sbin/icupkg libkf5coreaddons-bin-dev: /usr/bin/desktoptojson lib3ds-dev: /usr/bin/3dsdump libmikmod-config: /usr/bin/libmikmod-config libpng-tools: /usr/bin/png-fix-itxt libpng-tools: /usr/bin/pngfix libvncserver-config: /usr/bin/libvncserver-config qtchooser: /usr/bin/assistant qtchooser: /usr/bin/designer qtchooser: /usr/bin/lconvert qtchooser: /usr/bin/linguist qtchooser: /usr/bin/lrelease qtchooser: /usr/bin/lupdate qtchooser: /usr/bin/moc qtchooser: /usr/bin/pixeltool qtchooser: /usr/bin/qcollectiongenerator qtchooser: /usr/bin/qdbus qtchooser: /usr/bin/qdbuscpp2xml qtchooser: /usr/bin/qdbusviewer qtchooser: /usr/bin/qdbusxml2cpp qtchooser: /usr/bin/qdoc qtchooser: /usr/bin/qdoc3 qtchooser: /usr/bin/qgltf qtchooser: /usr/bin/qhelpconverter qtchooser: /usr/bin/qhelpgenerator qtchooser: /usr/bin/qlalr qtchooser: /usr/bin/qmake qtchooser: /usr/bin/qml qtchooser: /usr/bin/qml1plugindump qtchooser: /usr/bin/qmlbundle qtchooser: /usr/bin/qmlcachegen qtchooser: /usr/bin/qmleasing qtchooser: /usr/bin/qmlimportscanner qtchooser: /usr/bin/qmljs qtchooser: /usr/bin/qmllint qtchooser: /usr/bin/qmlmin qtchooser: /usr/bin/qmlplugindump qtchooser: /usr/bin/qmlprofiler qtchooser: /usr/bin/qmlscene qtchooser: /usr/bin/qmltestrunner qtchooser: /usr/bin/qmlviewer qtchooser: /usr/bin/qtchooser qtchooser: /usr/bin/qtconfig qtchooser: /usr/bin/qtdiag qtchooser: /usr/bin/qtpaths qtchooser: /usr/bin/qtplugininfo qtchooser: /usr/bin/qvkgen qtchooser: /usr/bin/rcc qtchooser: /usr/bin/repc qtchooser: /usr/bin/uic qtchooser: /usr/bin/uic3 qtchooser: /usr/bin/xmlpatterns qtchooser: /usr/bin/xmlpatternsvalidator libsimage-dev: /usr/bin/simage-config libkf5sonnet-dev-bin: /usr/bin/gentrigrams libkf5sonnet-dev-bin: /usr/bin/parsetrigrams uwsgi-dev: /usr/bin/dh_uwsgi libwayland-bin: /usr/bin/wayland-scanner wine64-tools: /usr/bin/widl-stable wine64-tools: /usr/bin/winebuild-stable wine64-tools: /usr/bin/winecpp-stable wine64-tools: /usr/bin/winedump-stable wine64-tools: /usr/bin/wineg++-stable wine64-tools: /usr/bin/winegcc-stable wine64-tools: /usr/bin/winemaker-stable wine64-tools: /usr/bin/wmc-stable wine64-tools: /usr/bin/wrc-stable wine64-development-tools: /usr/bin/widl-development wine64-development-tools: /usr/bin/winebuild-development wine64-development-tools: /usr/bin/winecpp-development wine64-development-tools: /usr/bin/winedump-development wine64-development-tools: /usr/bin/wineg++-development wine64-development-tools: /usr/bin/winegcc-development wine64-development-tools: /usr/bin/winemaker-development wine64-development-tools: /usr/bin/wmc-development wine64-development-tools: /usr/bin/wrc-development I guess icu-devtools *-dev-bin *-tools-dev and more will be false positives. Some of these certainly are wrongly marked Multi-Arch: foreign. (KDE is prone to abusing that, e.g. #872207.) Thus I suggest ignoring Multi-Arch: foreign packages for the purpose of this tag to remove false positives. Helmut