From owner-freebsd-questions@FreeBSD.ORG Fri Feb 13 09:40:30 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 CDB5C16A4CE for ; Fri, 13 Feb 2004 09:40:30 -0800 (PST) Received: from hauptpostamt.charite.de (hauptpostamt.charite.de [193.175.66.220]) by mx1.FreeBSD.org (Postfix) with ESMTP id 70A0A43D2F for ; Fri, 13 Feb 2004 09:40:30 -0800 (PST) (envelope-from alexander.haderer@charite.de) Received: from hauptpostamt.charite.de ([127.0.0.1]) by localhost (hauptpostamt.charite.de [127.0.0.1]) (amavisd-new, port 10025) with LMTP id 14368-03; Fri, 13 Feb 2004 18:40:25 +0100 (CET) Received: from postamt1.charite.de (postamt1.charite.de [193.175.66.246]) by hauptpostamt.charite.de (Postfix) with ESMTP id 9A7BE15C020; Fri, 13 Feb 2004 18:40:18 +0100 (CET) Received: from chaplin.charite.de (chaplin.str.charite.de [192.168.202.88]) by postamt1.charite.de (Postfix) with ESMTP id D217C633B4; Fri, 13 Feb 2004 18:40:17 +0100 (CET) Message-Id: <5.2.0.9.1.20040213180532.019e0058@postamt1.charite.de> X-Sender: afrika@postamt1.charite.de X-Mailer: QUALCOMM Windows Eudora Version 5.2.0.9 Date: Fri, 13 Feb 2004 18:41:32 +0100 To: "Wayne Sierke" , "Kris Kennaway" From: Alexander Haderer In-Reply-To: References: <20040209072343.GA3277@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: by amavisd-new at charite.de cc: freebsd-questions@FreeBSD.org Subject: RE: How to deal with package conflicts (apache)? 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: Fri, 13 Feb 2004 17:40:31 -0000 At 03:21 14.02.2004 +1030, Wayne Sierke wrote: >Kris Kennaway wrote: > > On Mon, Feb 09, 2004 at 05:24:32PM +1030, W. Sierke wrote: > > > How should I deal with package conflicts such as > > > apache13/apache13-mod_ssl... > > > > > > I've installed apache13-mod_ssl but a couple of other ports I want >to > > > install want apache13 (specifically apache-1.3.29_1) which > > complains of a > > > package conflict (with apache+mod_ssl-1.3.29+2.8.16) so I'll > > have to force > > > the installation. Is there a way of convincing the new packages that > > > apache13-mod_ssl is an adequate substitute for apache13? > > > > Set the APACHE_PORT variable (to www/apachewhatever) in > > /etc/make.conf. This will only work with ports, not packages, for > > which one can only use the default settings. > >Ok, does it matter that the port I want to install doesn't have any >references to APACHE_PORT in its Makefile? Grepping through /usr/ports I >can see that many ports do, but the port I want to install >(mail/squirrelmail) doesn't. If squirrelmail has a direct dependecy like BUILD_DEPEND=...www/apache13 then it does matter. If squirrelmail depends on other ports that have this kind of dependency then it does matter too, if these other ports have their dependency set via APACHE_PORT then it does not matter. Here we had a similar problem with apache13 packages: We have different setups for workstations/servers, some have mod_ssl apache some have apache13 only. All setup is done via packages, not ports. We have a compile workstation that creates the packages to install. Our solution: Ports may have subversions, which allows dependend packages to refer to the port and accept all subversions as a valid dependency (with a warning). Example: You can install the popular postgresql database either as server or as client only. All deps to postgres client will be fullfilled by both packages. To build mod-ssl apache13 package as a "variant" of the apache13 I renamed www/apache13-modssl to www/apache13 (necessary for pkg-database) and modified the Makefile like this: diff Makefile.orig Makefile 8,9c8,9 < PORTNAME= apache+mod_ssl < PORTVERSION= ${VERSION_APACHE}+${VERSION_MODSSL} --- > PORTNAME= apache > PORTVERSION= ${VERSION_APACHE} 16a17 > PKGNAMESUFFIX= -modssl The last line make the variant of apache13: apache13-modssl. Well, this is of course a hack, because modifications of the ports usually are not such a good idea: If you cvsup all modifications will be lost. Our focus was to have precompiled packages for automated setup. We modified the ports Makefiles because we believe that we know what we are doing (and others will know better and roll the eyes :-). Most probably there is a better solution for this scenario but I didn't found one and I wanted to learn more about the ports system so I did it this way. Alexander