From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Aug 3 13:20:07 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3791337B401 for ; Sun, 3 Aug 2003 13:20:07 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9A27A43FB1 for ; Sun, 3 Aug 2003 13:20:05 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h73KK5Up013274 for ; Sun, 3 Aug 2003 13:20:05 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h73KK5to013273; Sun, 3 Aug 2003 13:20:05 -0700 (PDT) Resent-Date: Sun, 3 Aug 2003 13:20:05 -0700 (PDT) Resent-Message-Id: <200308032020.h73KK5to013273@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ulrich Spoerlein Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 521A537B401 for ; Sun, 3 Aug 2003 13:19:00 -0700 (PDT) Received: from wrzx28.rz.uni-wuerzburg.de (wrzx28.rz.uni-wuerzburg.de [132.187.3.28]) by mx1.FreeBSD.org (Postfix) with ESMTP id 635A543FB1 for ; Sun, 3 Aug 2003 13:18:57 -0700 (PDT) (envelope-from q@uni.de) Received: from wrzx34.rz.uni-wuerzburg.de (wrzx34.rz.uni-wuerzburg.de [132.187.3.34]) by wrzx28.rz.uni-wuerzburg.de (Postfix) with ESMTP id 17C2B1E33 for ; Sun, 3 Aug 2003 22:18:56 +0200 (CEST) Received: from virusscan (localhost [127.0.0.1]) by wrzx34.rz.uni-wuerzburg.de (Postfix) with ESMTP id 7CE9A1C1B for ; Sun, 3 Aug 2003 22:18:55 +0200 (CEST) Received: from wrzx28.rz.uni-wuerzburg.de (wrzx28.rz.uni-wuerzburg.de [132.187.3.28]) by wrzx34.rz.uni-wuerzburg.de (Postfix) with ESMTP id 4B8DE1BFC for ; Sun, 3 Aug 2003 22:18:55 +0200 (CEST) Received: from frodo.galgenberg.net (wwsx14.win-screen.uni-wuerzburg.de [132.187.253.14]) by wrzx28.rz.uni-wuerzburg.de (Postfix) with SMTP id AF3D81E33 for ; Sun, 3 Aug 2003 22:18:55 +0200 (CEST) Received: (qmail 96206 invoked from network); 3 Aug 2003 20:18:55 -0000 Received: from gb-21-237.galgenberg.net (HELO coyote.local) (172.16.21.237) by frodo.galgenberg.net with SMTP; 3 Aug 2003 20:18:55 -0000 Received: from roadrunner.local (roadrunner [192.168.0.147]) by coyote.local (8.12.9/8.12.8) with ESMTP id h73KItdZ093309; Sun, 3 Aug 2003 22:18:55 +0200 (CEST) (envelope-from q@roadrunner.local) Received: from roadrunner.local (localhost [127.0.0.1]) by roadrunner.local (8.12.9/8.12.9) with ESMTP id h73KIs1N058437; Sun, 3 Aug 2003 22:18:54 +0200 (CEST) (envelope-from q@roadrunner.local) Received: (from q@localhost) by roadrunner.local (8.12.9/8.12.9/Submit) id h73KIr2D058436; Sun, 3 Aug 2003 22:18:53 +0200 (CEST) Message-Id: <200308032018.h73KIr2D058436@roadrunner.local> Date: Sun, 3 Aug 2003 22:18:53 +0200 (CEST) From: Ulrich Spoerlein To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 cc: ade@FreeBSD.org Subject: ports/55216: devel/{automake,autoconf}: Wrong code in bsd.port.mk X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Ulrich Spoerlein List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Aug 2003 20:20:07 -0000 >Number: 55216 >Category: ports >Synopsis: devel/{automake,autoconf}: Wrong code in bsd.port.mk >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Aug 03 13:20:05 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Ulrich Spoerlein >Release: FreeBSD 5.1-RELEASE i386 >Organization: >Environment: System: FreeBSD roadrunner 5.1-RELEASE FreeBSD 5.1-RELEASE #5: Thu Jul 17 17:32:28 CEST 2003 root@roadrunner:/usr/obj/usr/src/sys/ROADRUNNER i386 >Description: The logic, determining the path to automake/aclocal is br0ken OR devel/automake17 installs in the wrong directory. You decide. >How-To-Repeat: Use USE_AUTOMAKE=17 in any port, watch it fail: env: /usr/local/libexec/automake17/automake: No such file or directory devel/automake14 installs bin/{aclocal14,automake14} and libexec/automake14/{aclocal,automake} devel/automake15 installs bin/{aclocal,automake} devel/automake17 installs bin/{aclocal17,bin/automake17} devel/automake is duplicate of devel/automake bsd.port.mk has the following code (around line 1173): .if ${use_amver} == 14 || ${use_amver} == 17} ACLOCAL_DIR= ${LOCALBASE}/share/aclocal${use_amver} AUTOMAKE_DIR= ${LOCALBASE}/share/automake${use_amver} ampath= ${LOCALBASE}/libexec/automake${use_amver}: BUILD_DEPENDS+= ${ampath:S/://}/automake:${PORTSDIR}/devel/automake${use_amver} ... .if !defined(ampath) ACLOCAL?= aclocal AUTOMAKE?= automake .else # defined(ampath) ACLOCAL?= ${ampath:S/://}/aclocal AUTOMAKE?= ${ampath:S/://}/automake .endif # !defined(ampath) This works for automake14, but fails for automake17. I found other inconsistencies in bsd.port.mk >Fix: !! THIS HAS NOT BEEN TESTED !! This only works when ${AUTOMAKE} and ${AUTOCONF} are invoked via Makefile. If configure scripts blindy want to run "automake" they will fail if automake{14,17} is installed. They will only work with automake15 == automake. What is the correct fix? Patch all configure scripts? Or install the old_ and dev_ versions into different paths and set $PATH accordingly? --- bsd.port.mk.orig Sun Aug 3 21:54:24 2003 +++ bsd.port.mk Sun Aug 3 22:17:12 2003 @@ -222,7 +222,7 @@ # WANT_AUTOCONF_VER (PORT MAY SET THIS VALUE) # - Implies GNU_CONFIGURE=yes. # - Says that the port wants autoconf; legal values -# are: 213, 253, 254. +# are: 213, 253, 257. # - Each specify a version of autoconf to use # and appropriatly set AUTOCONF{,_DIR} and other # autoconf-related program paths. @@ -1151,7 +1151,7 @@ dev_amver= 17 old_acver= 213 cur_acver= 253 -dev_acver= 254 +dev_acver= 257 ########## automake setup .if defined(USE_AUTOMAKE_VER) @@ -1173,8 +1173,7 @@ .elif ${use_amver} == ${old_amver} || ${use_amver} == ${dev_amver} ACLOCAL_DIR= ${LOCALBASE}/share/aclocal${use_amver} AUTOMAKE_DIR= ${LOCALBASE}/share/automake${use_amver} -ampath= ${LOCALBASE}/libexec/automake${use_amver}: -BUILD_DEPENDS+= ${ampath:S/://}/automake:${PORTSDIR}/devel/automake${use_amver} +BUILD_DEPENDS+= ${LOCALBASE}/bin/automake${use_amver}:${PORTSDIR}/devel/automake${use_amver} .if ${use_amver} == ${old_amver} AUTOMAKE_ARGS+= -i WANT_AUTOCONF_VER?=${old_acver} @@ -1205,20 +1204,12 @@ BUILD_DEPENDS+= ${LOCALBASE}/bin/autoconf:${PORTSDIR}/devel/autoconf .elif ${use_acver} == ${old_acver} || ${use_acver} == ${dev_acver} AUTOCONF_DIR= ${LOCALBASE}/share/autoconf${use_acver} -acpath= ${LOCALBASE}/libexec/autoconf${use_acver} -BUILD_DEPENDS+= ${acpath}/autoconf:${PORTSDIR}/devel/autoconf${use_acver} +BUILD_DEPENDS+= ${LOCALBASE}/bin/autoconf${use_acver}:${PORTSDIR}/devel/autoconf${use_acver} .else # bad autoconf version BROKEN="unknown AUTOCONF version: ${USE_AUTOCONF_VER}" .endif # ${use_acver} == ${cur_acver} .endif # defined(WANT_AUTOCONF_VER) -########## set up paths to tools -.if defined(ampath) -autotools_path=${ampath}${acpath} -.elif defined(acpath) -autotools_path=${acpath} -.endif # defined(ampath) - ########## prefix to path, add to env vars .if defined(autotools_path) MAKE_ENV+= PATH=${autotools_path}:${PATH} @@ -1232,32 +1223,32 @@ ########## set up automake "names" .if defined(use_amver) -.if !defined(ampath) +.if ${use_amver} == ${cur_amver} ACLOCAL?= aclocal AUTOMAKE?= automake -.else # defined(ampath) -ACLOCAL?= ${ampath:S/://}/aclocal -AUTOMAKE?= ${ampath:S/://}/automake -.endif # !defined(ampath) +.elif ${use_amver} == ${old_amver} || ${use_amver} == ${dev_amver} +ACLOCAL?= aclocal${use_amver} +AUTOMAKE?= automake${use_amver} +.endif # unknown use_amver value .endif # defined(use_amver) ########## set up autoconf "names" .if defined(use_acver) -.if !defined(acpath) +.if ${use_acver} == ${cur_acver} AUTOCONF?= autoconf AUTOHEADER?= autoheader AUTOIFNAMES?= ifnames AUTORECONF?= autoreconf AUTOSCAN?= autoscan AUTOUPDATE?= autoupdate -.else # defined(acpath) -AUTOCONF?= ${acpath}/autoconf -AUTOHEADER?= ${acpath}/autoheader -AUTOIFNAMES?= ${acpath}/ifnames -AUTORECONF?= ${acpath}/autoreconf -AUTOSCAN?= ${acpath}/autoscan -AUTOUPDATE?= ${acpath}/autoupdate -.endif # !defined(acpath) +.elif ${use_acver} == ${old_acver} || ${use_acver} == ${dev_acver} +AUTOCONF?= autoconf${use_acver} +AUTOHEADER?= autoheader${use_acver} +AUTOIFNAMES?= ifnames${use_acver} +AUTORECONF?= autoreconf${use_acver} +AUTOSCAN?= autoscan${use_acver} +AUTOUPDATE?= autoupdate${use_acver} +.endif # unkown use_acver value .endif # defined(use_acver) ########## stupid port error checking >Release-Note: >Audit-Trail: >Unformatted: