Bug 127256

Summary: [PATCH] devel/libtool15 hardcodes autodetected textproc/gsed
Product: Ports & Packages Reporter: Alexey Shuvaev <shuvaev>
Component: Individual Port(s)Assignee: Ade Lovett <ade>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Alexey Shuvaev 2008-09-09 22:00:05 UTC
If one installs/rebuilds devel/libtool15 while textproc/gsed is
installed, libtool autodetects it and hardcodes gsed in itself.
If later one removes gsed (and nothing prevents him from doing this),
libtool is left in a broken state. Other ports using libtool for building
can fail with error 'gsed not found' or similar (in my case it was x11/libX11).

FWIW, textproc/gsed is a BUILD_DEPENDS of some ports.

This bug does not affect building packages on build clusters for
6.4/7.1 releases, but it will be in the ports tree bundled with them.

The attached patch was provided by Dmitry Marakasov.

Fix: Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2008-09-09 22:00:15 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ade

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Ade Lovett freebsd_committer freebsd_triage 2008-10-13 22:40:42 UTC
State Changed
From-To: open->closed

After careful consideration, I will be leaving the port as is. 

Firstly, the packaged version of devel/libtool15 gets built prior to 
textproc/gsed, and thus will not be 'broken', as the submitter suggests 
in email conversation. 

Secondly, the number of folks that install textproc/gsed before 
devel/libtool15, _and then remove gsed_, are an exceptionally tiny 
proportion of the FreeBSD population. 

Thirdly, this would absolutely have to be maintained as a FreeBSD-specific 
patch (ie: it wouldn't go upstream, since most Linux distributions do 
in fact have a gsed lying around) -- significant effort has been expended 
making the autotools as patch-free as possible, and this goes counter to 
that work. 

Finally, the tree as a whole is littered with such random autodetections 
(ie: install port A, install port B which finds port A 'by accident', remove 
port A, port B stops working).  I see no reason to single out libtool for 
such hackery, especially as it is an infrastructural port.