pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/25437: Proposed improvements to configure scripts for pkgsrc tools



>Number:         25437
>Category:       pkg
>Synopsis:       Proposed improvements to configure scripts for pkgsrc tools
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun May 02 18:28:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     David Gutteridge
>Release:        N/A
>Organization:
>Environment:
N/A
>Description:
Hello,

I submitted this under pkg/24045, but that PR was already closed, so I thought 
I'd resubmit this as a new PR.  To summarize pkg/24045, I experienced problems 
bootstrapping the pkgsrc tools on a machine that didn't have any shared library 
installed with termcap/ncurses functions available.  The configure scripts for 
tnftp and pkg_install didn't have any error handling for this possibility 
(instead the compilation would fail when there were no libraries found to link 
against).

I've modified the autoconf input files for both of them and have attached my 
suggested revisions below.  (I guess this check could be  done once in the 
bootstrap script, but that wouldn't help if these packages were ever installed 
separately.)  These are of course merely a non-NetBSD developer's suggestions.

A few points I should note:

 - I'm not sure why the pertinent tnftp configure.in file used AC_CHECK_LIB 
recursively when the pkg_install configure.ac file used AC_SEARCH_LIBS.  Under 
the assumption the latter is the simpler choice, I used it for both files.

 - tnftp and pkg_install are looking for the same function, but each had one 
unique library name they queried against in addition to those they shared.  I 
added to both so they now check against five different library names.  (Those 
names being: termcap, curses, ncurses, tinfo, and termlib.)

 - I noticed there were other linking tests that had no action specified on 
failure (util for tnftp and db1 for pkg_install).  I added warning code for 
those as well, but I didn't add an exit on error, but that is a simple matter 
to add.

 - In the bootstrap script, there's a Debian specific item added by Mr. 
Schaumann (in response to my original query).  I don't think this is actually 
necessary, since if ncurses is installed on a Debian machine it will be picked 
up and added as -lncurses anyway.
>How-To-Repeat:
(Try bootstrapping pkgsrc on a machine without termcap or ncurses installed.)
>Fix:
Here are the diffs:
 
configure.in for tnftp:

--- configure.in.orig   Mon Apr 12 18:10:26 2004
+++ configure.in        Mon Apr 12 18:27:32 2004
@@ -37,12 +37,12 @@


dnl Checks for libraries.
dnl
-AC_CHECK_LIB(util, fparseln)
+AC_CHECK_LIB(util, fparseln, ,[echo "No util library is available to " \
+       "link against."])
if test $opt_editcomplete = yes; then
-       AC_CHECK_LIB(tinfo, tgetent, ,
-           AC_CHECK_LIB(termcap, tgetent, ,
-           AC_CHECK_LIB(curses, tgetent, ,
-           AC_CHECK_LIB(ncurses, tgetent))))
+       AC_SEARCH_LIBS(tgetent, [termcap termlib curses ncurses tinfo], ,[\
+               echo "No curses library is available to link against.  "\
+               "Please install termcap or ncurses or similar library."; exit])
        AC_SEARCH_LIBS(el_init, edit, have_libedit=yes, have_libedit=no)
fi
AC_LIBRARY_NET


configure.ac for pkg_install:
 
--- configure.ac.orig   Mon Apr 12 18:12:32 2004
+++ configure.ac        Mon Apr 12 18:23:54 2004
@@ -68,8 +68,11 @@
AC_SUBST(mtree)


dnl Checks for libraries.
-AC_CHECK_LIB(db1, dbopen)
-AC_SEARCH_LIBS(tgetent, [termcap termlib curses ncurses])
+AC_CHECK_LIB(db1, dbopen, ,[echo "No db1 library is available to link " \
+       "against."])
+AC_SEARCH_LIBS(tgetent, [termcap termlib curses ncurses tinfo], ,[\
+       echo "No curses library is available to link against.  "\
+       "Please install termcap or ncurses or similar library."; exit])


dnl Checks for header files.

>Release-Note:
>Audit-Trail:
>Unformatted:



Home | Main Index | Thread Index | Old Index