Date: Tue, 12 Sep 2006 19:33:14 +0400 From: Eygene Ryabinkin <rea-fbsd@codelabs.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/103195: archivers/rpm4 fails to build python libs for python 2.4 Message-ID: <E1GNAGA-000D4U-Im@pobox.codelabs.ru> Resent-Message-ID: <200609121540.k8CFeLrg041296@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 103195 >Category: ports >Synopsis: archivers/rpm4 fails to build python libs for python 2.4 >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Sep 12 15:40:21 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Eygene A. Ryabinkin >Release: FreeBSD 6.1-STABLE i386 >Organization: Code Labs >Environment: System: FreeBSD XXXXX 6.1-STABLE FreeBSD 6.1-STABLE #2: Mon Sep 11 09:56:59 MSD 2006 root@XXXXX:/usr/src/sys/i386/compile/XXXXXX i386 >Description: Port archivers/rpm4 fails to recognize python 2.4, because its configure script is rather old. So no python bindings are build when WITH_PYTHON knob is on and deinstallation reports broken package list. >How-To-Repeat: Build and install archivers/rpm4 with WITH_PYTHON defined and python 2.4 installed. You will not get python bindings in /usr/local/share/python2.4/site-packages and 'make deinstall' will shout that package list is broken. >Fix: Add recognition of python 2.4 to the configure script. It is done in a same manner that for python 2.3 (it was also added by patch, as I see). The new file 'files/patch-configure' follows (it is no a patch for a patch, it is just the new patchfile; weird, heh?) --- configure.orig Thu Feb 14 02:03:27 2002 +++ configure Tue Sep 12 10:54:53 2006 @@ -186,6 +186,8 @@ ac_help="$ac_help --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib" ac_help="$ac_help + --with-popt-prefix=DIR search for popt in DIR/include and DIR/lib" +ac_help="$ac_help --disable-nls do not use Native Language Support" ac_help="$ac_help --with-included-gettext use the GNU gettext library included here" @@ -7381,6 +7383,8 @@ # AC_DEFINE(HAVE_GZSEEK) #fi +WITH_POPT_INCLUDE=$ac_default_prefix/include +WITH_POPT_LIB=-L$ac_default_prefix/lib -lpopt @@ -8335,6 +8339,47 @@ DBLIBSRCS="$DBLIBSRCS db3.c"; libdb3="-ldb" else echo "$ac_t""no" 1>&6 +echo $ac_n "checking for db_create in -ldb3""... $ac_c" 1>&6 +echo "configure:8188: checking for db_create in -ldb3" >&5 +ac_lib_var=`echo db3'_'db_create | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldb3 $libthread $LIBS" +cat > conftest.$ac_ext <<EOF +#line 8196 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char db_create(); + +int main() { +db_create() +; return 0; } +EOF +if { (eval echo configure:8207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + DBLIBSRCS="$DBLIBSRCS db3.c"; libdb3="-ldb3" +else + echo "$ac_t""no" 1>&6 +fi + + fi @@ -8659,6 +8704,100 @@ fi +# Check whether --with-popt-prefix or --without-popt-prefix was given. +if test "${with_popt_prefix+set}" = set; then + withval="$with_popt_prefix" + + for dir in `echo "$withval" | tr : ' '`; do + if test -d $dir/include; then + CPPFLAGS="$CPPFLAGS -I$dir/include"; + WITH_POPT_INCLUDE="-I$dir/include"; + fi + if test -d $dir/lib; then + LDFLAGS="$LDFLAGS -L$dir/lib"; + WITH_POPT_LIB="-L$dir/lib -lpopt"; + fi + done +fi + +echo $ac_n "checking for popt.h""... $ac_c" 1>&6 +echo "configure:8724: checking for popt.h" >&5 +ac_lib_var=`echo popt'_'h | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="${WITH_POPT_INCLUDE} $CPPFLAGS" +cat > conftest.$ac_ext <<EOF +#line 8494 "configure" +#include "confdefs.h" +#include <popt.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + +int main() { +return 0; } +EOF +if { (eval echo configure:8505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +CPPFLAGS="$ac_save_CPPFLAGS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 +else + echo "$ac_t""no" 1>&6 + echo "configure: error: sorry rpm requires popt.h" 1>&2; exit 1; +fi + +echo $ac_n "checking for poptGetOptArg in -lpopt""... $ac_c" 1>&6 +echo "configure:8724: checking for poptGetOptArg in -lpopt" >&5 +ac_lib_var=`echo popt'_'poptGetOptArg | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="${WITH_POPT_LIB} $LIBS" +cat > conftest.$ac_ext <<EOF +#line 8494 "configure" +#include "confdefs.h" +#include <popt.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + +int main() { +const char *foo = poptGetNextOpt(NULL); +return 0; } +EOF +if { (eval echo configure:8505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 +else + echo "$ac_t""no" 1>&6 + echo "configure: error: sorry rpm requires libpopt" 1>&2; exit 1; +fi for ac_func in personality @@ -12512,6 +12651,68 @@ WITH_PYTHON_VERSION= if test $withval = auto ; then + echo $ac_n "checking for python 2.4""... $ac_c" 1>&6 +echo "configure:12517: checking for python 2.4" >&5 + if test "$cross_compiling" = yes; then + withval=yes +else + cat > conftest.$ac_ext <<EOF +#line 12522 "configure" +#include "confdefs.h" + +#include <python2.4/Python.h> +main() { + exit(strncmp("2.4", PY_VERSION, 3)); +} +EOF +if { (eval echo configure:12530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + withval=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + withval=no +fi +rm -fr conftest* +fi + + echo "$ac_t""$withval" 1>&6 + if test $withval = yes ; then + WITH_PYTHON_VERSION="2.4" + else + + echo $ac_n "checking for python 2.3""... $ac_c" 1>&6 +echo "configure:12517: checking for python 2.3" >&5 + if test "$cross_compiling" = yes; then + withval=yes +else + cat > conftest.$ac_ext <<EOF +#line 12522 "configure" +#include "confdefs.h" + +#include <python2.3/Python.h> +main() { + exit(strncmp("2.3", PY_VERSION, 3)); +} +EOF +if { (eval echo configure:12530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + withval=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + withval=no +fi +rm -fr conftest* +fi + + echo "$ac_t""$withval" 1>&6 + if test $withval = yes ; then + WITH_PYTHON_VERSION="2.3" + else + echo $ac_n "checking for python 2.2""... $ac_c" 1>&6 echo "configure:12517: checking for python 2.2" >&5 if test "$cross_compiling" = yes; then @@ -12577,6 +12778,10 @@ fi +fi + +fi + if test -n "$WITH_PYTHON_VERSION" ; then WITH_PYTHON_SUBDIR=python WITH_PYTHON_SUBPACKAGE=1 @@ -13130,21 +13335,7 @@ echo "$ac_t""$ROOT_GROUP" 1>&6 - -if test "x$varprefix" = "x"; then - # For /usr and /usr/local, we want the 'var' directory to go - # in /var and /var/local respectively. For everything else, - # just put the 'var' directory in prefix/var. - case $prefix in - /usr | /usr/local ) - varprefix=`echo $prefix | sed 's/usr/var/'` ;; - NONE) - varprefix=`echo $ac_default_prefix | sed 's/usr/var/'` ;; - *) - varprefix=$prefix/var ;; - esac -fi - +varprefix=/var if test "x$tmpdir" = "x"; then if test -d $varprefix/tmp; then @@ -13349,7 +13540,7 @@ -subdirs="popt beecrypt zlib $WITH_DB_SUBDIR" +subdirs="beecrypt $WITH_DB_SUBDIR" trap '' 1 2 15 @@ -13578,6 +13769,8 @@ s%@WITH_ZLIB_SUBDIR@%$WITH_ZLIB_SUBDIR%g s%@WITH_ZLIB_INCLUDE@%$WITH_ZLIB_INCLUDE%g s%@WITH_ZLIB_LIB@%$WITH_ZLIB_LIB%g +s%@WITH_POPT_INCLUDE@%$WITH_POPT_INCLUDE%g +s%@WITH_POPT_LIB@%$WITH_POPT_LIB%g s%@WITH_DB_SUBDIR@%$WITH_DB_SUBDIR%g s%@WITH_INTERNAL_DB@%$WITH_INTERNAL_DB%g s%@DBLIBSRCS@%$DBLIBSRCS%g @@ -13889,7 +14082,6 @@ ;; esac done - echo timestamp > popt/stamp-h.in echo timestamp > beecrypt/stamp-h.in echo timestamp > stamp-h.in @@ -13925,7 +14117,7 @@ esac done - for ac_config_dir in popt beecrypt zlib $WITH_DB_SUBDIR; do + for ac_config_dir in beecrypt $WITH_DB_SUBDIR; do # Do not complain, so a configure script can configure whichever # parts of a large source tree are present. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1GNAGA-000D4U-Im>