From owner-freebsd-questions@FreeBSD.ORG Tue May 4 02:36:38 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AE9A916A4CE for ; Tue, 4 May 2004 02:36:38 -0700 (PDT) Received: from smtp.infracaninophile.co.uk (ns0.infracaninophile.co.uk [81.2.69.218]) by mx1.FreeBSD.org (Postfix) with ESMTP id C7E2E43D1F for ; Tue, 4 May 2004 02:36:37 -0700 (PDT) (envelope-from m.seaman@infracaninophile.co.uk) Received: from happy-idiot-talk.infracaninophile.co.uk (localhost.infracaninophile.co.uk [IPv6:::1])i449aVdx015824 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 4 May 2004 10:36:31 +0100 (BST) (envelope-from matthew@happy-idiot-talk.infracaninophile.co.uk) Received: (from matthew@localhost)id i449aUFK015819; Tue, 4 May 2004 10:36:30 +0100 (BST) (envelope-from matthew) Date: Tue, 4 May 2004 10:36:30 +0100 From: Matthew Seaman To: Brent Macnaughton Message-ID: <20040504093630.GB13744@happy-idiot-talk.infracaninophile.co.uk> Mail-Followup-To: Matthew Seaman , Brent Macnaughton , freebsd-questions@freebsd.org References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="p4qYPpj5QlsIQJ0K" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.6i X-Virus-Scanned: clamd / ClamAV version devel-20040420, clamav-milter version 0.70k X-Spam-Status: No, hits=-4.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on happy-idiot-talk.infracaninophile.co.uk cc: freebsd-questions@freebsd.org Subject: Re: Installing port - skip required port X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 May 2004 09:36:38 -0000 --p4qYPpj5QlsIQJ0K Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, May 03, 2004 at 04:42:07PM -0600, Brent Macnaughton wrote: > Is there any way to install a port and tell it NOT to install one or more= of > it's required ports? For example: I installed the mysqlcc port, and it > wanted to install mysql-client. I already have mysql-client installed, bu= t I > did not do it from the ports tree. Another port wanted to install Apache = as > a requirement. I already have Apache installed, but I did so from source.= Is > there some command line option to tell the system not to install certain > ports? Or better yet, a config file I where can list ports not to install. This should happen automatically. When you go to install a port it doesn't look in the database of installed ports to see if its dependencies have been met. Rather it checks directly that particular files or shlibs are installed on the system. For instance, in the mysqlcc port, the line: BUILD_DEPENDS=3D qmake:${PORTSDIR}/devel/qmake says that the devel/gmake port should be installed if the qmake program is not available at build time. Dealing with MySQL itself is rather harder since there are 4 different versions available in the ports and most of the mysql dependent software will work just fine with any of them. That's what the 'USE_MYSQL' line in the Makefile is for. If you look at /usr/ports/Mk/bsd.port.mk you will find the following words of wisdom: # USE_MYSQL - Add MySQL client dependency. # If no version is given (by th= e maintainer via the port or # by the user via defined varia= ble), try to find the # currently installed version. = Fall back to default if # necessary (MySQL4.0 =3D 40). # and later on in the file you'll see that it eventually resolves down to a dependency statement like: LIB_DEPENDS+=3D mysqlclient.${MYSQL${MYSQL_VER}_LIBVER}:${PORTSDIR}/d= atabases/mysql${MYSQL_VER}-client with all the version numbers filled in. This tests for the existance of libmysqlclient.so.X (where X is either 10, 12 or 14) and that it is known to ld.so -- so long as you get output from % ldconfig -r | grep mysqlclient then you should be OK. If not, you should add whatever directory you've installed the MySQL client lib to the shared library search path: # ldconfig -m /usr/local/lib/mysql and use the 'ldconfig_paths' variable in /etc/rc.conf to make that persistent across reboots. Similarly for the programs you have that depend on apache. =20 > Is there also a way to tell portupgrade to skip certain ports? Next time I > do a portupgrade -aRr i do not want it to install mysql-client or Apache. You need to run 'pkgdb -F' -- this will find that the dependent ports (like mysqlcc) claim to depend on whichever mysql-client port, but there's no record of that port being installed. In this case, just hit Ctrl-D to delete that listed dependency -- if you're curious as to what actually happens, take a before and after look at the +CONTENTS file in /var/db/pkg/{portname}. On the whole though, it's much easier just to install everything via ports. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK --p4qYPpj5QlsIQJ0K Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAl2QddtESqEQa7a0RAgTHAKCITnvY9vqNMafRBMS4EH/o19aWoACfQW0U KhvpFQbjlhgLSh8EuwWexMA= =8i6N -----END PGP SIGNATURE----- --p4qYPpj5QlsIQJ0K--