From owner-freebsd-questions@FreeBSD.ORG Mon Dec 27 03:21:27 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 1263F16A4CE for ; Mon, 27 Dec 2004 03:21:27 +0000 (GMT) Received: from makeworld.com (makeworld.com [198.92.228.38]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A76A43D31 for ; Mon, 27 Dec 2004 03:21:26 +0000 (GMT) (envelope-from racerx@makeworld.com) Received: from localhost (localhost.com [127.0.0.1]) by makeworld.com (Postfix) with ESMTP id 839E4610E; Sun, 26 Dec 2004 21:21:25 -0600 (CST) Received: from makeworld.com ([127.0.0.1]) by localhost (makeworld.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 59324-08; Sun, 26 Dec 2004 21:21:11 -0600 (CST) Received: from [198.92.228.34] (racerx.makeworld.com [198.92.228.34]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by makeworld.com (Postfix) with ESMTP id 468F560EA; Sun, 26 Dec 2004 21:21:11 -0600 (CST) Message-ID: <41CF7FDC.4000302@makeworld.com> Date: Sun, 26 Dec 2004 21:22:04 -0600 From: Chris User-Agent: Mozilla Thunderbird 1.0 (X11/20041218) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Kris Kennaway References: <20041227005634.GA57788@xor.obsecurity.org> <20041227025309.2398C54829@minnie.everett.org> <20041227030927.GA99115@xor.obsecurity.org> In-Reply-To: <20041227030927.GA99115@xor.obsecurity.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by ClamAV 0.75.1/amavisd-new-2.2.0 (20041102) at makeworld.com - Isn't it ironic cc: Harlan Stenn cc: questions@freebsd.org cc: harlan@everett.org Subject: Re: portupgrade -P and local changes 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: Mon, 27 Dec 2004 03:21:27 -0000 Kris Kennaway wrote: > On Sun, Dec 26, 2004 at 06:53:09PM -0800, Harlan Stenn wrote: > >>Neither -x nor HOLD_PKGS is what I want. >> >>I *want* to upgrade the software, I just do not want to FETCH prebuilt >>packages for any package that has a Makefile.local file in the tree, as >>a Makefile.local file means I want to build that package with local changes. > > > That's a very specific requirement, then, and I don't think > portupgrade can do it. > > Kris A snippet from the portupgrade manpage. Note the execution model... Pay close attention to item 1 (-P). I dunno - it's seems fairly clear to me that the manpage does a fine job detailing just what parm does when. Again, to me at least - this thread should have halted by telling the user to view the manpage. Just my slice of cheescake. Now read below from the manpage... TECHNICAL DETAILS portupgrade upgrades installed packages via ports or packages without necessarily having to reinstall required or dependent packages by adjust- ing the package registry database. The procedures it takes are briefly shown as below: 1. If -P is not given, jump to 4. Otherwise search the local directories listed in PKG_PATH for a newer package tarball. If found, jump to 5. 2. Fetch the latest package from a remote site using pkg_fetch(1). If the fetched package is the latest, jump to 5. If -P is given twice (i.e. -PP) and the fetched package is not the latest but at least newer than the current instal- lation, jump to 5. 3. If -P is given twice (i.e. -PP), stop the task. 4. Build the corresponding port of the given installed package. 5. Fix the dependency information of the packages that depend on the given package. 6. Back up the current installation of the given package using pkg_create(1). Note that the backup tarball will be very large if the package is a big monster like XFree86. Please ensure you have sufficient disk space (refer to the ENVIRON- MENT section to know where) to save the backup tarball. (Per- haps a new option to omit backups will be added in the future) 7. Back up the current package registration files of the given package. 8. Uninstall the given package forcibly, preserving shared libraries unless -u is specified. 9. Install the new version via ports or packages, depending on the conditions in 1, 2 and 3. 10. If the installation fails, 10.1. Restore the old installation backed up in 6. 10.2. Restore the old package registration files backed up in 7. 10.3. Revert the dependency information fixed in 5. 11. Remove the dependencies obsoleted in this upgrade. 12. Run ``portsclean -L'' to delete duplicate libraries and put away old libraries. 13. Run ``pkgdb -aF'' to fix up stale dependencies and reconstruct +REQUIRED_BY files. -- Best regards, Chris To erase a line you've written at the command prompt, use "Ctrl-U". -- Dru