From owner-freebsd-ports@FreeBSD.ORG Wed Jul 18 22:50:37 2007 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 42AC016A403; Wed, 18 Jul 2007 22:50:37 +0000 (UTC) (envelope-from fbsd-hackers@mawer.org) Received: from webmail.icp-qv1-irony2.iinet.net.au (webmail.icp-qv1-irony2.iinet.net.au [203.59.1.107]) by mx1.freebsd.org (Postfix) with ESMTP id 8496213C4C4; Wed, 18 Jul 2007 22:50:36 +0000 (UTC) (envelope-from fbsd-hackers@mawer.org) Received: from 203-206-173-235.perm.iinet.net.au (HELO [10.24.1.1]) ([203.206.173.235]) by outbound.icp-qv1-irony-out2.iinet.net.au with ESMTP; 19 Jul 2007 06:50:34 +0800 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAPQ1nkbLzq3r/2dsb2JhbAAN X-IronPort-AV: i="4.16,552,1175443200"; d="scan'208"; a="162237212:sNHT9140826" Message-ID: <469E990C.4030007@mawer.org> Date: Thu, 19 Jul 2007 08:49:48 +1000 From: Antony Mawer User-Agent: Thunderbird 2.0.0.4 (Windows/20070604) MIME-Version: 1.0 To: Garrett Cooper References: <469D62D3.70908@math.missouri.edu> <469DAC63.3020708@mawer.org> <469DC4D7.5050102@u.washington.edu> In-Reply-To: <469DC4D7.5050102@u.washington.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: ports@freebsd.org, freebsd-hackers@freebsd.org Subject: Re: Slight problem with make actual-package-depends with ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Jul 2007 22:50:37 -0000 On 18/07/2007 5:44 PM, Garrett Cooper wrote: > Antony Mawer wrote: >> On 18/07/2007 10:46 AM, Stephen Montgomery-Smith wrote: >>> I appreciate that most people won't have this problem, but it has >>> bitten me. >>> >>> After you have made and installed a port, but don't clean it, and >>> then made a bunch of other ports, if you go back to the original port >>> and then do "make package", then +CONTENTS can be a bit messed up for >>> the package. This is because the creation of other ports might >>> disturb _LIB_RUN_DEPENDS and might put in some extra entries in >>> +CONTENTS. >>> >>> This happens to me because I make all my ports on one machine and >>> then copy them as packages to other machines. Then on the other >>> machines, the structure of /var/db/pkg gets a bit messed up and >>> pkg_delete -r malfunctions. >>> >>> It seems to me that the cure is to slightly change "make >>> actual-package-depends" so that if the port is already installed, it >>> just uses +CONTENTS. >> >> I can't comment on the particular approach taken in your patch, but >> can certainly attest to experiencing the same problem and it being >> frustrating to identify what was going on. It was only after much >> hair-pulling that I discovered that doing a 'make clean' at the >> appropriate time before package building fixed the problem. >> >> Otherwise I was winding up with plenty of seemingly OK packages that >> were missing critical files (in this instance, various PHP5 extension >> ports that were "installing" but missing the actual .so files!) >> >> --Antony > > Installing ports registers them on the machine as packages, by > simulating a package install via stdin. Was that forgotten? > -Garrett The packages were definitely installed, by working through and doing "make install" on the desired ports... I was aiming to uninstall existing PHP5 packages on deployed servers, and then install from a freshly updated set. The new ports were successfully installed, but for whatever reason some of the packages created were missing the .so files. I removed all the installed packages, make clean'd everything, then started again and the next respin worked fine (without updating the ports tree). Unfortunately I can't recall the exact thing that solved it; I seem to recall a "make clean" was involved, but don't recall whether it was explicitly running one before or after a "make package", or whether it was *avoiding* running one...! --Antony