Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jan 1999 16:03:34 +0100
From:      Dirk Froemberg <dirk@FreeBSD.ORG>
To:        Satoshi Asami <asami@FreeBSD.ORG>
Cc:        cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: ports/www/apache12-php3/scripts configure.php ports/www/apache13-php3/scripts configure.php ports/databases/gmysql Makefile ports/databases/p5-Mysql Makefile ports/databases/xmysql Makefile ports/databases/xmysqladmin Makefile
Message-ID:  <19990115160333.A4815@physik.TU-Berlin.DE>
In-Reply-To: <199901150320.TAA20843@silvia.hip.berkeley.edu>; from Satoshi Asami on Thu, Jan 14, 1999 at 07:20:31PM -0800
References:  <199901142122.NAA17271@freefall.freebsd.org> <199901150320.TAA20843@silvia.hip.berkeley.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Satoshi!

I knew you wouldn't like it. ;-)

There is another reason for trying to detect, which mysql version
is installed:  You can't have mysql321 and mysql322 installed both.
They share almost the same files. So if mysql321 is installed on
a system and someone installs e. g. gmysql having a simple library
dependency to mysql322 only, the installation of mysql321 will be
overwritten. If the old mysql321 is deleted then mysql322 will be
blewed up, since the PLISTs are nearly the same.

So the if-construct tries to ensure that only one version of mysql
is or will be installed. I was going to commit a patch which sets
NO_PACKAGE for mysql321 to address the package side of the problem.

I am not really happy with the patches I committed yesterday, but
I think it doesn't introduce anything really awful. IMHO it is
better to have this kind of "autodetection" in there than just a
simple library dependency to mysql322. bsd.port.mk is lacking some
CONFLICTS-system which take care of such situtions in which different
ports/packages install the same files. We have about 390 ports
(about 20%) installing files being used by one or more other ports.

So you are the one to decide whether it can stay as it is or if I
should change it to a simple LIB_DEPENDS on mysql322. 8-)

	Best regards Dirk

On Thu, Jan 14, 1999 at 07:20:31PM -0800, Satoshi Asami wrote:
>  *   The default is mysql322 now, but take mysql321 if it is installed.
>  *   
>  *   (mysql321 installs a static libmysqlclient.a only, mysql322 installs a
>  *   static and shared version of the library. Note that the build dependency
>  *   to mysql321 is a no op actually. It is in there to improve understanding(?).)
> 
> ===
> LIB_DEPENDS=   gtk11.1:${PORTSDIR}/x11-toolkits/gtk11
> .if !exists(${PREFIX}/lib/mysql/libmysqlclient.a) || exists(${PREFIX}/lib/mysql/libmysqlclient.so)
> LIB_DEPENDS+=  mysqlclient.5:${PORTSDIR}/databases/mysql322
> .else
> BUILD_DEPENDS= ${PREFIX}/lib/mysql/libmysqlclient.a:${PORTSDIR}/databases/mysql321
> .endif
> ===
> 
> Eek.
> 
> You really don't have to go this far.  It could screw up package and
> INDEX building, and we can't guarantee that we'll ship packages with
> correct dependency information if you use variable dependency lists
> like this.
> 
> I recommend you to change it to a simple LIB_DEPENDS on mysql322.

-- 
e-mail: dirk@FreeBSD.ORG

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message



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