Bug#916772: pkg-config: missing Depends: dpkg-dev

2019-01-23 Thread Tollef Fog Heen
severity 916772 normal
thanks

]] Helmut Grohne 

> # i686-linux-gnu-pkg-config --libs libssl

This is a supported, but non-standard configuration, so I'm downgrading
this from serious.

> If adding dpkg-dev to Depends is not desired, the cross-wrapper could be
> extended to give a useful error message in case $multiarch is empty:
> 
> --- /usr/share/pkg-config-crosswrapper
> +++ /usr/share/pkg-config-crosswrapper
> @@ -11,6 +11,10 @@
>triplet="${basename%-pkg-config}"
># Normalized multiarch path if any, e.g. i386-linux-gnu for i386
>multiarch="`dpkg-architecture -t"${triplet}" -qDEB_HOST_MULTIARCH 
> 2>/dev/null`"
> +  if test "$?" != 0; then
> +echo "Please apt install dpkg-dev to use this program." 1>&2
> +exit 1
> +  fi
># Native multiarch path
>native_multiarch="$(cat /usr/lib/pkg-config.multiarch)"

This looks reasonable.

> dpkg-dev should be added to Recommends in that case.

Suggests seems more appropriate here.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are



Bug#916772: pkg-config: missing Depends: dpkg-dev

2018-12-18 Thread Helmut Grohne
Package: pkg-config
Version: 0.29-4+b1
Severity: serious
Justification: missing dependency

# i686-linux-gnu-pkg-config --libs libssl
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
# ls /usr/lib/i386-linux-gnu/pkgconfig/libssl.pc 
/usr/lib/i386-linux-gnu/pkgconfig/libssl.pc
# apt -y install dpkg-dev
...
# i686-linux-gnu-pkg-config --libs libssl
-lssl
#

In this case, i686-linux-gnu-pkg-config is a symlink to
/usr/share/pkg-config-crosswrapper and that script has the following
line:

  multiarch="`dpkg-architecture -t"${triplet}" -qDEB_HOST_MULTIARCH 
2>/dev/null`"

It calls dpkg-architecture (which is in dpkg-dev) and igores all errors.
In the absence of dpkg-architecture, the result will be empty and
pkg-config doesn't work.

If adding dpkg-dev to Depends is not desired, the cross-wrapper could be
extended to give a useful error message in case $multiarch is empty:

--- /usr/share/pkg-config-crosswrapper
+++ /usr/share/pkg-config-crosswrapper
@@ -11,6 +11,10 @@
   triplet="${basename%-pkg-config}"
   # Normalized multiarch path if any, e.g. i386-linux-gnu for i386
   multiarch="`dpkg-architecture -t"${triplet}" -qDEB_HOST_MULTIARCH 
2>/dev/null`"
+  if test "$?" != 0; then
+echo "Please apt install dpkg-dev to use this program." 1>&2
+exit 1
+  fi
   # Native multiarch path
   native_multiarch="$(cat /usr/lib/pkg-config.multiarch)"
 

dpkg-dev should be added to Recommends in that case.

Helmut