Package: debianutils
Version: 5.4-3
Severity: important

Dear Maintainer,

The deprecation of the "which" command is breaking other packages.

For example when compiling WeeChat wich CMake (please note WeeChat itself does
not call the "which" command, but CMake does somewhere, and I didn't find where
exactly):

==========
-- The C compiler identification is GNU 10.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for include file langinfo.h
-- Looking for include file langinfo.h - found
-- Looking for include file sys/resource.h
-- Looking for include file sys/resource.h - found
-- Looking for mallinfo
-- Looking for mallinfo - found
-- Looking for mallinfo2
-- Looking for mallinfo2 - not found
-- Looking for eat_newline_glitch
-- Looking for eat_newline_glitch - found
-- Looking for include file libintl.h
-- Looking for include file libintl.h - found
-- Looking for dgettext
-- Looking for dgettext - found
-- Found Intl: /usr/include  
-- Found GCRYPT: /usr/bin/which: this version of `which' is deprecated; use 
`command -v' in scripts instead.
-L/usr/lib/x86_64-linux-gnu -lgcrypt  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Looking for iconv_open
-- Looking for iconv_open - found
-- Performing Test ICONV_2ARG_IS_CONST
-- Performing Test ICONV_2ARG_IS_CONST - Failed
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.74.0")  
-- Looking for flock
-- Looking for flock - found
-- Looking for backtrace
-- Looking for backtrace - found
CMake Warning (dev) at 
/usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (Python).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/FindPkgConfig.cmake:41 (find_package_handle_standard_args)
  cmake/FindPython.cmake:31 (include)
  src/plugins/CMakeLists.txt:103 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'python3-embed'
--   Found python3-embed, version 3.9
-- Checking for one of the modules 
'ruby-2.7;ruby-2.6;ruby-2.5;ruby-2.4;ruby-2.3;ruby-2.2;ruby-2.1;ruby-2.0;ruby-1.9'
-- Checking for one of the modules 
'lua5.3;lua-5.3;lua53;lua5.2;lua-5.2;lua52;lua5.1;lua-5.1;lua51;lua-5.0;lua5.0;lua50;lua'
-- Found Tclsh: /usr/bin/tclsh8.6 (found version "8.6") 
-- Found TCL: /usr/lib/x86_64-linux-gnu/libtcl8.6.so  
-- Could NOT find TCLTK (missing: TK_LIBRARY TK_INCLUDE_PATH) 
-- Could NOT find TK (missing: TK_LIBRARY TK_INCLUDE_PATH) 
-- Checking for one of the modules 'guile-3.0;guile-2.2;guile-2.0'
-- Looking for scm_install_gmp_memory_functions
-- Looking for scm_install_gmp_memory_functions - found
-- Checking for one of the modules 'php8;php7'
-- Looking for aspell_version_string
-- Looking for aspell_version_string - found
-- Checking for one of the modules 'ncursesw'
-- Looking for include file ncursesw/ncurses.h
-- Looking for include file ncursesw/ncurses.h - found
-- Configuring done
CMake Warning:
  Value of irc_LIB_DEPENDS contained a newline; truncating


CMake Warning:
  Value of relay_LIB_DEPENDS contained a newline; truncating


CMake Warning:
  Value of xfer_LIB_DEPENDS contained a newline; truncating


CMake Error at src/plugins/irc/CMakeLists.txt:20 (add_library):
  Target "irc" links to item " use `command -v' in scripts instead.

  -L/usr/lib/x86_64-linux-gnu -lgcrypt" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


CMake Error at src/plugins/relay/CMakeLists.txt:20 (add_library):
  Target "relay" links to item " use `command -v' in scripts instead.

  -L/usr/lib/x86_64-linux-gnu -lgcrypt" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


CMake Error at src/plugins/xfer/CMakeLists.txt:20 (add_library):
  Target "xfer" links to item " use `command -v' in scripts instead.

  -L/usr/lib/x86_64-linux-gnu -lgcrypt" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


CMake Error at src/gui/curses/normal/CMakeLists.txt:55 (add_executable):
  Target "weechat" links to item " use `command -v' in scripts instead.

  -L/usr/lib/x86_64-linux-gnu -lgcrypt" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


CMake Error at src/gui/curses/headless/CMakeLists.txt:49 (add_executable):
  Target "weechat-headless" links to item " use `command -v' in scripts
  instead.

  -L/usr/lib/x86_64-linux-gnu -lgcrypt" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
==========

Due to the message displayed by which on stderr, the CMake command fails.

I'm aware of Debian bugs #992401, #992383, #992402 and #992411, but they have
all been closed without a "clean" solution.

I would ask you to reconsider the deprecation of such a widely used command, or
at least fix or ensure all packages using "which" are fixed (to at least ignore
the warning displayed on stderr). This might be a huge work.

I understand you want to deprecate it but please don't break tens or hundreds
or packages just by closing this bug as "Resolved".

Thank you.

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-6-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: unable to detect

Versions of packages debianutils depends on:
ii  libc6  2.31-17

debianutils recommends no packages.

debianutils suggests no packages.

-- no debconf information

Reply via email to