Bug 147747 - shells/bash: bash-4.1 stealthily depends on libiconv
shells/bash: bash-4.1 stealthily depends on libiconv
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: Emanuel Haupt
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-10 04:40 UTC by alex-goncharov
Modified: 2010-08-06 09:50 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description alex-goncharov 2010-06-10 04:40:03 UTC
For as much as I can remember, building `shells/bash' with WITHOUT_NLS=1 resulted in
/usr/local/bin/bash not being dependent on libiconv.so -- which is what I
want.

Let's look at the situation with `bash' built in 2010-01:

----------------------------------------
grep NLS /etc/make.conf
=>
WITHOUT_NLS=       1

--------------------
pkg_which /usr/local/bin/bash
=>
bash-4.0.35

--------------------
pkg_info -r bash-\*
=>
Information for bash-4.0.35:

Depends on:


--------------------
ls -l /usr/local/bin/bash
=>
-rwxr-xr-x  1 root  wheel  729376 Jan  4 21:10 /usr/local/bin/bash*

--------------------
ldd /usr/local/bin/bash
=>
/usr/local/bin/bash:
        libncurses.so.8 => /lib/libncurses.so.8 (0x8006df000)
        libc.so.7 => /lib/libc.so.7 (0x80082b000)

----------------------------------------

Can't argue with this -- the desired and logically consistent result.

Let's now look at the `bash' just built, on a different machine:

----------------------------------------
grep NLS /etc/make.conf
=>
WITHOUT_NLS=       1

--------------------
pkg_which /usr/local/bin/bash
=>
bash-4.1.5_2

--------------------
pkg_info -r bash-\*
=>
Information for bash-4.1.5_2:

Depends on:

ls -l /usr/local/bin/bash
=>
-rwxr-xr-x  1 root  wheel  632140 Jun  9 20:24 /usr/local/bin/bash*

--------------------
ldd /usr/local/bin/bash
=>
/usr/local/bin/bash:
        libncurses.so.8 => /lib/libncurses.so.8 (0x28120000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28160000)
        libc.so.7 => /lib/libc.so.7 (0x28256000)

        ^^^^^ libiconv is both undesirable and "unregistered" -- see the next example.
	
----------------------------------------

make -C /usr/ports/shells/bash run-depends-list| grep libiconv
=>

----------------------------------------

It would be ideal to be able to exclude libiconv from the build and
dependency, subject to a certain make variable setting, but this seems
to be difficult to do without the port surgery available only to the
port maintainer, so at least let's register the libiconv dependency
correctly, so that the installation from a package results in a
workable `bash'.

Applying a trivial patch (enclosed) I get now:

----------------------------------------
make -C /usr/ports/shells/bash run-depends-list| grep libiconv
=>
/usr/ports/converters/libiconv

--------------------
ldd /usr/local/bin/bash
=>
/usr/local/bin/bash:
        libncurses.so.8 => /lib/libncurses.so.8 (0x28120000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28160000)
        libc.so.7 => /lib/libc.so.7 (0x28256000)
----------------------------------------
Comment 1 alex-goncharov 2010-06-10 04:46:50 UTC
The patch:

========================================
diff -uw Makefile~ Makefile
--- Makefile~   2010-06-08 20:57:07.000000000 -0400
+++ Makefile    2010-06-09 23:03:00.000000000 -0400
@@ -45,6 +45,7 @@
 MAKE_JOBS_UNSAFE=      yes
 GNU_CONFIGURE=         yes
 USE_BISON=             build
+USE_ICONV=             yes
 
 .if !defined(NOPORTDOCS)
 .if !defined(WITH_INCLUDED_FAQ)
========================================

-- Alex -- alex-goncharov@comcast.net --
Comment 2 Mark Linimon freebsd_committer 2010-06-10 04:50:13 UTC
Responsible Changed
From-To: freebsd-ports-bugs->obrien

Fix synopsis and assign.
Comment 3 dfilter freebsd_committer 2010-08-06 09:49:00 UTC
ehaupt      2010-08-06 08:48:46 UTC

  FreeBSD ports repository

  Modified files:
    shells/bash          Makefile 
  Log:
  - Depend on libiconv in order to fix package installation
  - Bump PORTREVISION
  
  PR:             147747, 148329, 149218
  Submitted by:   Alex Goncharov <alex-goncharov@comcast.net>,
                  Garrett Wollman <wollman@khavrinen.csail.mit.edu>
                  yar
  Approved by:    obrien (maintainer timeout; > 50 days)
  
  Revision  Changes    Path
  1.123     +2 -1      ports/shells/bash/Makefile
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 4 Emanuel Haupt freebsd_committer 2010-08-06 09:49:22 UTC
Responsible Changed
From-To: obrien->ehaupt

I will take care of it.
Comment 5 Emanuel Haupt freebsd_committer 2010-08-06 09:49:56 UTC
State Changed
From-To: open->closed

Committed, thanks!