Date: Thu, 22 Apr 2004 17:32:57 +0400 (MSD) From: Yar Tikhiy <yar@comp.chem.msu.su> To: FreeBSD-gnats-submit@FreeBSD.org Cc: udo.schweigert@siemens.com Subject: ports/65887: mutt and mutt-devel can silently depend on libiconv Message-ID: <200404221332.i3MDWvXl061778@comp.chem.msu.su> Resent-Message-ID: <200404221340.i3MDeJZT040141@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 65887 >Category: ports >Synopsis: mutt and mutt-devel can silently depend on libiconv >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Apr 22 06:40:19 PDT 2004 >Closed-Date: >Last-Modified: >Originator: Yar Tikhiy >Release: FreeBSD 4.9-RELEASE-p4 i386 >Organization: Moscow State University >Environment: The FreeBSD ports collection as of the 22nd of April, 2004. >Description: Mutt can make use of an iconv library installed in the system to perform conversions between mail charsets. While iconv is not a prerequisite for building the mail/mutt (or mail/mutt-devel) port, Mutt's configure script will try to locate a version of the library. In a FreeBSD-based system, it will typically find that provided by the converters/libiconv ports, or none at all. In the former case, the mutt port will fail to record dependency on libiconv upon installation because the dependency is weak and thus not listed in the Makefile. Among unpleasant consequences are broken recursive updates with portupgrade, possibility to delete libiconv leaving mutt non-functional, and the respective dependency of the package missing if the latter has been built with libiconv installed. The problem won't manifest itself by default because mutt defaults to require gettext, which in turn requires libiconv. However, setting WITHOUT_NLS for mutt is enough to reveal the problem. Some other ports using gettext and libiconv may suffer from this bug, too. >How-To-Repeat: (1) Install the libiconv port. (2) Set WITHOUT_NLS. (3) Install the mutt (or mutt-devel) port. (4) See the mutt binary linked to libiconv, but no respective dependency in /var/db/pkg/libiconv*/+REQUIRED_BY. >Fix: An easy way is to add ``USE_ICONV=yes'' to the mutt Makefiles. A harder approach is to implement conditional dependencies within the ports framework, that is to let ports tell, "I could use the port foo if it were installed already; never mind otherwise." >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404221332.i3MDWvXl061778>