Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Aug 2010 23:01:14 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        freebsd-ports@freebsd.org
Cc:        Garrett Wollman <wollman@khavrinen.csail.mit.edu>, ehaupt@freebsd.org, Alex Goncharov <alex-goncharov@comcast.net>
Subject:   shells/bash and the libiconv dependency mess
Message-ID:  <20100817060114.GA86738@icarus.home.lan>

next in thread | raw e-mail | index | archive | help
Let me explain what transpired in chronological order:

On 2010/05/11, ehaupt committed the following patch:

http://www.freebsd.org/cgi/cvsweb.cgi/ports/shells/bash/files/patch-Makefile.in

And bumped PORTREVISION (from 0 to 1) in the Makefile.  This
unconditionally made bash require libiconv, and the only justification
is "fix statically linked version".

Those of us who use WITHOUT_NLS or who do not have libiconv already on
their systems (from another port) immediately notice the problem (bash
will no longer build):

http://www.freebsd.org/cgi/query-pr.cgi?pr=147747
http://www.freebsd.org/cgi/query-pr.cgi?pr=148329
http://www.freebsd.org/cgi/query-pr.cgi?pr=149218

Three months goes by and finally something is committed to fix the
problem on 2010/08/06.  Except the fix doesn't make any sense; all it
does is make libiconv a mandatory dependency (USE_ICONV):

http://www.freebsd.org/cgi/cvsweb.cgi/ports/shells/bash/Makefile#rev1.123

This, of course, means that WITHOUT_NLS is broken and doesn't work as
it's supposed to, since libiconv is now a mandatory requirement (it
doesn't need to be):

# make WITHOUT_NLS=true all-depends-list
/usr/ports/devel/bison
/usr/ports/converters/libiconv
/usr/ports/devel/m4
/usr/ports/devel/libtool22

Why was this done the way it was?  patch-Makefile.in should be removed
and instead replaced with a REINPLACE_CMD that handles the conditionals
(WITH_STATIC_BASIC, WITHOUT_NLS, etc.) in a more clean manner.

And where are the details of the supposed "statically linked version"
problem?

Sorry if I sound angry, but this whole situation is a mess, and
shells/bash is a very important port.  If someone wants me to put my
money where my mouth is and go + clean it up I'll be happy to.  Testing
all the different quirk combinations really isn't that complex.

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100817060114.GA86738>